From 95b92ec36a06bcbb8c02197a0abf64f98b5b15e4 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Tue, 22 Sep 2020 13:43:42 -0400 Subject: [PATCH 01/17] Added REQUEST_HOOK and RESPONSE_HOOK to OpenAPI. --- src/templates/core/OpenAPI.hbs | 6 ++++- src/templates/core/request.ts | 11 +++++++-- test/__snapshots__/index.spec.js.snap | 34 ++++++++++++++++++++++----- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index a2dbfef5b..bc51815f2 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -2,12 +2,16 @@ /* tslint:disable */ /* eslint-disable */ +import { Result } from './Result'; + interface Config { BASE: string; VERSION: string; CLIENT: 'fetch' | 'xhr'; WITH_CREDENTIALS: boolean; TOKEN: string; + REQUEST_HOOK?(request: RequestInit): Promise; + RESPONSE_HOOK?(result: Result): Promise } export const OpenAPI: Config = { @@ -15,5 +19,5 @@ export const OpenAPI: Config = { VERSION: '{{{version}}}', CLIENT: '{{{httpClient}}}', WITH_CREDENTIALS: false, - TOKEN: '', + TOKEN: '' }; diff --git a/src/templates/core/request.ts b/src/templates/core/request.ts index 1d17662b8..1fd30a6b1 100644 --- a/src/templates/core/request.ts +++ b/src/templates/core/request.ts @@ -71,13 +71,20 @@ export async function request(options: Readonly): Promise; + RESPONSE_HOOK?(result: Result): Promise } export const OpenAPI: Config = { @@ -78,7 +82,7 @@ export const OpenAPI: Config = { VERSION: '9.0', CLIENT: 'fetch', WITH_CREDENTIALS: false, - TOKEN: '', + TOKEN: '' };" `; @@ -263,13 +267,20 @@ export async function request(options: Readonly): Promise; + RESPONSE_HOOK?(result: Result): Promise } export const OpenAPI: Config = { @@ -2568,7 +2583,7 @@ export const OpenAPI: Config = { VERSION: '1', CLIENT: 'fetch', WITH_CREDENTIALS: false, - TOKEN: '', + TOKEN: '' };" `; @@ -2753,13 +2768,20 @@ export async function request(options: Readonly): Promise Date: Tue, 22 Sep 2020 14:00:45 -0400 Subject: [PATCH 02/17] Add prepare --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d64a801c9..5ceafe891 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,8 @@ "prettier": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --check", "prettier:fix": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --write", "prepublish": "yarn run clean && yarn run release", - "codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b" + "codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b", + "prepare": "yarn run release" }, "dependencies": { "camelcase": "6.0.0", From 271ff5baec4469f7b58f2684e0d69e4750ca9d1d Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Tue, 22 Sep 2020 14:01:56 -0400 Subject: [PATCH 03/17] npm for our builds --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ceafe891..6dbea970b 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "prettier:fix": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --write", "prepublish": "yarn run clean && yarn run release", "codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b", - "prepare": "yarn run release" + "prepare": "npm run release" }, "dependencies": { "camelcase": "6.0.0", From 1a8eedf595c57338137ad7910f8445faf59d29e9 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Tue, 22 Sep 2020 14:38:08 -0400 Subject: [PATCH 04/17] Refactor Hooks --- src/templates/core/OpenAPI.hbs | 15 +++++++++++++-- src/templates/core/Result.ts | 1 + src/templates/core/request.ts | 14 ++++++-------- src/templates/core/requestUsingFetch.ts | 3 ++- src/templates/core/requestUsingXHR.ts | 3 ++- 5 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index bc51815f2..62afa63cf 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -4,14 +4,25 @@ import { Result } from './Result'; +export interface RequestHookParams { + url: string; + request: RequestInit; + responseHeader: string|undefined; +} + +export interface ResponseHookParams { + url: string; + result: Result; +} + interface Config { BASE: string; VERSION: string; CLIENT: 'fetch' | 'xhr'; WITH_CREDENTIALS: boolean; TOKEN: string; - REQUEST_HOOK?(request: RequestInit): Promise; - RESPONSE_HOOK?(result: Result): Promise + REQUEST_HOOK?(params: RequestHookParams): Promise; + RESPONSE_HOOK?(result: ResponseHookParams): Promise } export const OpenAPI: Config = { diff --git a/src/templates/core/Result.ts b/src/templates/core/Result.ts index 330d5416f..5875d7efd 100644 --- a/src/templates/core/Result.ts +++ b/src/templates/core/Result.ts @@ -8,4 +8,5 @@ export interface Result { status: number; statusText: string; body: any; + response?: Response|XMLHttpRequest; } diff --git a/src/templates/core/request.ts b/src/templates/core/request.ts index 1fd30a6b1..3acea58fb 100644 --- a/src/templates/core/request.ts +++ b/src/templates/core/request.ts @@ -4,7 +4,7 @@ import { getFormData } from './getFormData'; import { getQueryString } from './getQueryString'; -import { OpenAPI } from './OpenAPI'; +import { OpenAPI, RequestHookParams, ResponseHookParams } from './OpenAPI'; import { RequestOptions } from './RequestOptions'; import { requestUsingFetch } from './requestUsingFetch'; import { requestUsingXHR } from './requestUsingXHR'; @@ -73,18 +73,16 @@ export async function request(options: Readonly): Promise, responseHeader?: string): Promise { +export async function requestUsingFetch(url: string, request: Readonly, responseHeader?: string, includeResponse?: boolean): Promise { // Fetch response using fetch API. const response = await fetch(url, request); @@ -68,5 +68,6 @@ export async function requestUsingFetch(url: string, request: Readonly, responseHeader?: string): Promise { +export async function requestUsingXHR(url: string, request: Readonly, responseHeader?: string, includeResponse?: boolean): Promise { return new Promise(resolve => { const xhr = new XMLHttpRequest(); @@ -88,6 +88,7 @@ export async function requestUsingXHR(url: string, request: Readonly Date: Wed, 18 Nov 2020 13:53:34 -0500 Subject: [PATCH 05/17] UPdate from Fork and impleneht hooks --- src/templates/core/ApiResult.hbs | 1 + src/templates/core/OpenAPI.hbs | 9 ++-- src/templates/core/fetch/request.hbs | 19 +++++-- src/templates/core/node/request.hbs | 12 ++++- src/templates/core/xhr/request.hbs | 16 ++++-- test/__snapshots__/index.spec.js.snap | 72 ++++++++++++++++++++++++--- 6 files changed, 111 insertions(+), 18 deletions(-) diff --git a/src/templates/core/ApiResult.hbs b/src/templates/core/ApiResult.hbs index 1a9f8533b..cd1a9f1ec 100644 --- a/src/templates/core/ApiResult.hbs +++ b/src/templates/core/ApiResult.hbs @@ -6,4 +6,5 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; + readonly response?: any; } diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index 97a4a611c..cabab9a69 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -3,17 +3,18 @@ type Resolver = () => Promise; type Headers = Record; -import { Result } from './Result'; +import { ApiResult } from './ApiResult'; +import { ApiRequestOptions } from './ApiRequestOptions'; export interface RequestHookParams { url: string; - request: RequestInit; + request: ApiRequestOptions; responseHeader: string|undefined; } export interface ResponseHookParams { url: string; - result: Result; + result: ApiResult; } interface Config { @@ -21,7 +22,7 @@ interface Config { VERSION: string; WITH_CREDENTIALS: boolean; REQUEST_HOOK?(params: RequestHookParams): Promise; - RESPONSE_HOOK?(result: ResponseHookParams): Promise + RESPONSE_HOOK?(result: ResponseHookParams): Promise TOKEN?: string | Resolver; USERNAME?: string | Resolver; PASSWORD?: string | Resolver; diff --git a/src/templates/core/fetch/request.hbs b/src/templates/core/fetch/request.hbs index 5e6f47e23..ffb36828d 100644 --- a/src/templates/core/fetch/request.hbs +++ b/src/templates/core/fetch/request.hbs @@ -55,18 +55,31 @@ import { OpenAPI } from './OpenAPI'; */ export async function request(options: ApiRequestOptions): Promise { const url = getUrl(options); - const response = await sendRequest(options, url); + + // Pre-hook on request if a function is provided. + const requestHookResult = OpenAPI.REQUEST_HOOK ? + (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + { url, options, responseHeader: options.responseHeader}; + + + const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); + - const result: ApiResult = { + let result: ApiResult = { url, ok: response.ok, status: response.status, statusText: response.statusText, body: responseHeader || responseBody, + response }; + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + catchErrors(options, result); + + return result; } diff --git a/src/templates/core/node/request.hbs b/src/templates/core/node/request.hbs index 2c3a52478..78e3baf7f 100644 --- a/src/templates/core/node/request.hbs +++ b/src/templates/core/node/request.hbs @@ -59,9 +59,15 @@ import { OpenAPI } from './OpenAPI'; */ export async function request(options: ApiRequestOptions): Promise { const url = getUrl(options); - const response = await sendRequest(options, url); + + // Pre-hook on request if a function is provided. + const requestHookResult = OpenAPI.REQUEST_HOOK ? + (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + { url, options, responseHeader: options.responseHeader}; + + const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); const result: ApiResult = { url, @@ -69,7 +75,9 @@ export async function request(options: ApiRequestOptions): Promise { status: response.status, statusText: response.statusText, body: responseHeader || responseBody, + response }; + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; catchErrors(options, result); return result; diff --git a/src/templates/core/xhr/request.hbs b/src/templates/core/xhr/request.hbs index 88f05c6df..87f3aa5c7 100644 --- a/src/templates/core/xhr/request.hbs +++ b/src/templates/core/xhr/request.hbs @@ -58,9 +58,16 @@ import { OpenAPI } from './OpenAPI'; */ export async function request(options: ApiRequestOptions): Promise { const url = getUrl(options); - const response = await sendRequest(options, url); - const responseBody = getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + + // Pre-hook on request if a function is provided. + const requestHookResult = OpenAPI.REQUEST_HOOK ? + (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + { url, options, responseHeader: options.responseHeader}; + + const response = await sendRequest(requestHookResult.options, requestHookResult.url); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); + const result: ApiResult = { url, @@ -68,8 +75,11 @@ export async function request(options: ApiRequestOptions): Promise { status: response.status, statusText: response.statusText, body: responseHeader || responseBody, + response }; + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + catchErrors(options, result); return result; } diff --git a/test/__snapshots__/index.spec.js.snap b/test/__snapshots__/index.spec.js.snap index 8e8eb9e24..ef90a5bc3 100644 --- a/test/__snapshots__/index.spec.js.snap +++ b/test/__snapshots__/index.spec.js.snap @@ -50,6 +50,7 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; + readonly response?: any; }" `; @@ -60,10 +61,26 @@ exports[`v2 should generate: ./test/generated/v2/core/OpenAPI.ts 1`] = ` type Resolver = () => Promise; type Headers = Record; +import { ApiResult } from './ApiResult'; +import { ApiRequestOptions } from './ApiRequestOptions'; + +export interface RequestHookParams { + url: string; + request: ApiRequestOptions; + responseHeader: string|undefined; +} + +export interface ResponseHookParams { + url: string; + result: ApiResult; +} + interface Config { BASE: string; VERSION: string; WITH_CREDENTIALS: boolean; + REQUEST_HOOK?(params: RequestHookParams): Promise; + RESPONSE_HOOK?(result: ResponseHookParams): Promise TOKEN?: string | Resolver; USERNAME?: string | Resolver; PASSWORD?: string | Resolver; @@ -268,19 +285,32 @@ function catchErrors(options: ApiRequestOptions, result: ApiResult): void { */ export async function request(options: ApiRequestOptions): Promise { const url = getUrl(options); - const response = await sendRequest(options, url); + + // Pre-hook on request if a function is provided. + const requestHookResult = OpenAPI.REQUEST_HOOK ? + (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + { url, options, responseHeader: options.responseHeader}; + + + const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); + - const result: ApiResult = { + let result: ApiResult = { url, ok: response.ok, status: response.status, statusText: response.statusText, body: responseHeader || responseBody, + response }; + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + catchErrors(options, result); + + return result; } @@ -2394,6 +2424,7 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; + readonly response?: any; }" `; @@ -2404,10 +2435,26 @@ exports[`v3 should generate: ./test/generated/v3/core/OpenAPI.ts 1`] = ` type Resolver = () => Promise; type Headers = Record; +import { ApiResult } from './ApiResult'; +import { ApiRequestOptions } from './ApiRequestOptions'; + +export interface RequestHookParams { + url: string; + request: ApiRequestOptions; + responseHeader: string|undefined; +} + +export interface ResponseHookParams { + url: string; + result: ApiResult; +} + interface Config { BASE: string; VERSION: string; WITH_CREDENTIALS: boolean; + REQUEST_HOOK?(params: RequestHookParams): Promise; + RESPONSE_HOOK?(result: ResponseHookParams): Promise TOKEN?: string | Resolver; USERNAME?: string | Resolver; PASSWORD?: string | Resolver; @@ -2612,19 +2659,32 @@ function catchErrors(options: ApiRequestOptions, result: ApiResult): void { */ export async function request(options: ApiRequestOptions): Promise { const url = getUrl(options); - const response = await sendRequest(options, url); + + // Pre-hook on request if a function is provided. + const requestHookResult = OpenAPI.REQUEST_HOOK ? + (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + { url, options, responseHeader: options.responseHeader}; + + + const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); + - const result: ApiResult = { + let result: ApiResult = { url, ok: response.ok, status: response.status, statusText: response.statusText, body: responseHeader || responseBody, + response }; + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + catchErrors(options, result); + + return result; } From 8685b67a5e24c6ea1342713cd2f7b4f3d1e9262a Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Wed, 18 Nov 2020 14:04:29 -0500 Subject: [PATCH 06/17] Fic issue with field names in request --- src/templates/core/OpenAPI.hbs | 2 +- src/templates/core/fetch/request.hbs | 2 +- src/templates/core/node/request.hbs | 2 +- src/templates/core/xhr/request.hbs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index cabab9a69..e9812cf00 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -8,7 +8,7 @@ import { ApiRequestOptions } from './ApiRequestOptions'; export interface RequestHookParams { url: string; - request: ApiRequestOptions; + options: ApiRequestOptions; responseHeader: string|undefined; } diff --git a/src/templates/core/fetch/request.hbs b/src/templates/core/fetch/request.hbs index ffb36828d..e3b665ded 100644 --- a/src/templates/core/fetch/request.hbs +++ b/src/templates/core/fetch/request.hbs @@ -58,7 +58,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : { url, options, responseHeader: options.responseHeader}; diff --git a/src/templates/core/node/request.hbs b/src/templates/core/node/request.hbs index 78e3baf7f..e932a2fbe 100644 --- a/src/templates/core/node/request.hbs +++ b/src/templates/core/node/request.hbs @@ -62,7 +62,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : { url, options, responseHeader: options.responseHeader}; const response = await sendRequest(requestHookResult.options, requestHookResult.url); diff --git a/src/templates/core/xhr/request.hbs b/src/templates/core/xhr/request.hbs index 87f3aa5c7..6ae47503b 100644 --- a/src/templates/core/xhr/request.hbs +++ b/src/templates/core/xhr/request.hbs @@ -61,7 +61,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : + (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : { url, options, responseHeader: options.responseHeader}; const response = await sendRequest(requestHookResult.options, requestHookResult.url); From daaea3a6c9b35f1c2742220f9d3f1a38b5092eb9 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Thu, 19 Nov 2020 09:56:42 -0500 Subject: [PATCH 07/17] Move response to hook only --- src/templates/core/ApiResult.hbs | 1 - src/templates/core/OpenAPI.hbs | 2 +- src/templates/core/fetch/request.hbs | 9 ++++----- src/templates/core/node/request.hbs | 10 +++++----- src/templates/core/xhr/request.hbs | 9 ++++----- test/__snapshots__/index.spec.js.snap | 28 ++++++++++++--------------- 6 files changed, 26 insertions(+), 33 deletions(-) diff --git a/src/templates/core/ApiResult.hbs b/src/templates/core/ApiResult.hbs index cd1a9f1ec..1a9f8533b 100644 --- a/src/templates/core/ApiResult.hbs +++ b/src/templates/core/ApiResult.hbs @@ -6,5 +6,4 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; - readonly response?: any; } diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index e9812cf00..ed4286ffb 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -9,12 +9,12 @@ import { ApiRequestOptions } from './ApiRequestOptions'; export interface RequestHookParams { url: string; options: ApiRequestOptions; - responseHeader: string|undefined; } export interface ResponseHookParams { url: string; result: ApiResult; + response?: any; } interface Config { diff --git a/src/templates/core/fetch/request.hbs b/src/templates/core/fetch/request.hbs index e3b665ded..03721670d 100644 --- a/src/templates/core/fetch/request.hbs +++ b/src/templates/core/fetch/request.hbs @@ -58,8 +58,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : - { url, options, responseHeader: options.responseHeader}; + (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options }; const response = await sendRequest(requestHookResult.options, requestHookResult.url); @@ -72,11 +71,11 @@ export async function request(options: ApiRequestOptions): Promise { ok: response.ok, status: response.status, statusText: response.statusText, - body: responseHeader || responseBody, - response + body: responseHeader || responseBody }; - result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + // Post-request Hook if provided + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result; catchErrors(options, result); diff --git a/src/templates/core/node/request.hbs b/src/templates/core/node/request.hbs index e932a2fbe..18532dfd4 100644 --- a/src/templates/core/node/request.hbs +++ b/src/templates/core/node/request.hbs @@ -62,8 +62,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : - { url, options, responseHeader: options.responseHeader}; + (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options }; const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); @@ -74,10 +73,11 @@ export async function request(options: ApiRequestOptions): Promise { ok: response.ok, status: response.status, statusText: response.statusText, - body: responseHeader || responseBody, - response + body: responseHeader || responseBody }; - result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + + // Post-request Hook if provided + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result; catchErrors(options, result); return result; diff --git a/src/templates/core/xhr/request.hbs b/src/templates/core/xhr/request.hbs index 6ae47503b..5755f2da7 100644 --- a/src/templates/core/xhr/request.hbs +++ b/src/templates/core/xhr/request.hbs @@ -61,8 +61,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, options, responseHeader: options.responseHeader})) : - { url, options, responseHeader: options.responseHeader}; + (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options }; const response = await sendRequest(requestHookResult.options, requestHookResult.url); const responseBody = await getResponseBody(response); @@ -74,11 +73,11 @@ export async function request(options: ApiRequestOptions): Promise { ok: isSuccess(response.status), status: response.status, statusText: response.statusText, - body: responseHeader || responseBody, - response + body: responseHeader || responseBody }; - result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + // Post-request Hook if provided + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result; catchErrors(options, result); return result; diff --git a/test/__snapshots__/index.spec.js.snap b/test/__snapshots__/index.spec.js.snap index ef90a5bc3..dba8ee31f 100644 --- a/test/__snapshots__/index.spec.js.snap +++ b/test/__snapshots__/index.spec.js.snap @@ -50,7 +50,6 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; - readonly response?: any; }" `; @@ -66,13 +65,13 @@ import { ApiRequestOptions } from './ApiRequestOptions'; export interface RequestHookParams { url: string; - request: ApiRequestOptions; - responseHeader: string|undefined; + options: ApiRequestOptions; } export interface ResponseHookParams { url: string; result: ApiResult; + response?: any; } interface Config { @@ -288,8 +287,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : - { url, options, responseHeader: options.responseHeader}; + (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options }; const response = await sendRequest(requestHookResult.options, requestHookResult.url); @@ -302,11 +300,11 @@ export async function request(options: ApiRequestOptions): Promise { ok: response.ok, status: response.status, statusText: response.statusText, - body: responseHeader || responseBody, - response + body: responseHeader || responseBody }; - result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + // Post-request Hook if provided + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result; catchErrors(options, result); @@ -2424,7 +2422,6 @@ export interface ApiResult { readonly status: number; readonly statusText: string; readonly body: any; - readonly response?: any; }" `; @@ -2440,13 +2437,13 @@ import { ApiRequestOptions } from './ApiRequestOptions'; export interface RequestHookParams { url: string; - request: ApiRequestOptions; - responseHeader: string|undefined; + options: ApiRequestOptions; } export interface ResponseHookParams { url: string; result: ApiResult; + response?: any; } interface Config { @@ -2662,8 +2659,7 @@ export async function request(options: ApiRequestOptions): Promise { // Pre-hook on request if a function is provided. const requestHookResult = OpenAPI.REQUEST_HOOK ? - (await OpenAPI.REQUEST_HOOK({ url, request: options, responseHeader: options.responseHeader})) : - { url, options, responseHeader: options.responseHeader}; + (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options }; const response = await sendRequest(requestHookResult.options, requestHookResult.url); @@ -2676,11 +2672,11 @@ export async function request(options: ApiRequestOptions): Promise { ok: response.ok, status: response.status, statusText: response.statusText, - body: responseHeader || responseBody, - response + body: responseHeader || responseBody }; - result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result}) : result; + // Post-request Hook if provided + result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result; catchErrors(options, result); From 9e18865a1ad69bcf5df887184a3b4bc446c1ca13 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Thu, 19 Nov 2020 10:26:01 -0500 Subject: [PATCH 08/17] Revert changes to package.json --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 8ff5bd499..b8ac76ca5 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,7 @@ "prettier": "prettier \"./src/**/*.ts\" \"./bin/index.js\" \"./types/index.d.ts\" --check", "prettier:fix": "prettier \"./src/**/*.ts\" \"./bin/index.js\" \"./types/index.d.ts\" --write", "prepublish": "yarn run clean && yarn run release", - "codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b", - "prepare": "npm run release" + "codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b" }, "dependencies": { "camelcase": "6.2.0", From cace20c261f6aad08104cf188237e3820f4e7120 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Thu, 19 Nov 2020 14:50:57 -0500 Subject: [PATCH 09/17] Update snapshot --- test/__snapshots__/index.spec.js.snap | 443 +++++++++++++------------- 1 file changed, 221 insertions(+), 222 deletions(-) diff --git a/test/__snapshots__/index.spec.js.snap b/test/__snapshots__/index.spec.js.snap index b54765f73..102287987 100644 --- a/test/__snapshots__/index.spec.js.snap +++ b/test/__snapshots__/index.spec.js.snap @@ -27,7 +27,7 @@ exports[`v2 should generate: ./test/generated/v2/core/ApiRequestOptions.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export interface ApiRequestOptions { +export type ApiRequestOptions = { readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; readonly path: string; readonly cookies?: Record; @@ -44,7 +44,7 @@ exports[`v2 should generate: ./test/generated/v2/core/ApiResult.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export interface ApiResult { +export type ApiResult = { readonly url: string; readonly ok: boolean; readonly status: number; @@ -74,7 +74,7 @@ export interface ResponseHookParams { response?: any; } -interface Config { +type Config = { BASE: string; VERSION: string; WITH_CREDENTIALS: boolean; @@ -644,11 +644,10 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model that extends another model */ -export interface ModelThatExtends extends ModelWithString { - propExtendsA?: string; - propExtendsB?: ModelWithString; -} -" +export type ModelThatExtends = (ModelWithString & { + propExtendsA?: string, + propExtendsB?: ModelWithString, +});" `; exports[`v2 should generate: ./test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` @@ -662,11 +661,10 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model that extends another model */ -export interface ModelThatExtendsExtends extends ModelWithString, ModelThatExtends { - propExtendsC?: string; - propExtendsD?: ModelWithString; -} -" +export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { + propExtendsC?: string, + propExtendsD?: ModelWithString, +});" `; exports[`v2 should generate: ./test/generated/v2/models/ModelWithArray.ts 1`] = ` @@ -679,7 +677,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one property containing an array */ -export interface ModelWithArray { +export type ModelWithArray = { prop?: Array; propWithFile?: Array; propWithNumber?: Array; @@ -695,7 +693,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithBoolean.ts 1`] /** * This is a model with one boolean property */ -export interface ModelWithBoolean { +export type ModelWithBoolean = { /** * This is a simple boolean property */ @@ -712,7 +710,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithCircularReferen /** * This is a model with one property containing a circular reference */ -export interface ModelWithCircularReference { +export type ModelWithCircularReference = { prop?: ModelWithCircularReference; } " @@ -726,7 +724,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithDictionary.ts 1 /** * This is a model with one property containing a dictionary */ -export interface ModelWithDictionary { +export type ModelWithDictionary = { prop?: Record; } " @@ -742,7 +740,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with duplicated imports */ -export interface ModelWithDuplicateImports { +export type ModelWithDuplicateImports = { propA?: ModelWithString; propB?: ModelWithString; propC?: ModelWithString; @@ -760,7 +758,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with duplicated properties */ -export interface ModelWithDuplicateProperties { +export type ModelWithDuplicateProperties = { prop?: ModelWithString; } " @@ -774,7 +772,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnum.ts 1`] = ` /** * This is a model with one enum */ -export interface ModelWithEnum { +export type ModelWithEnum = { /** * This is a simple enum with strings */ @@ -821,7 +819,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnumFromDescrip /** * This is a model with one enum */ -export interface ModelWithEnumFromDescription { +export type ModelWithEnumFromDescription = { /** * Success=1,Warning=2,Error=3 */ @@ -852,7 +850,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithInteger.ts 1`] /** * This is a model with one number property */ -export interface ModelWithInteger { +export type ModelWithInteger = { /** * This is a simple number property */ @@ -869,7 +867,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedEnums.ts /** * This is a model with nested enums */ -export interface ModelWithNestedEnums { +export type ModelWithNestedEnums = { dictionaryWithEnum?: Record; dictionaryWithEnumFromDescription?: Record; arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; @@ -886,7 +884,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedPropertie /** * This is a model with one nested property */ -export interface ModelWithNestedProperties { +export type ModelWithNestedProperties = { readonly first: { readonly second: { readonly third: string, @@ -904,7 +902,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithNullableString. /** * This is a model with one string property */ -export interface ModelWithNullableString { +export type ModelWithNullableString = { /** * This is a simple string property */ @@ -925,7 +923,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithOrderedProperti /** * This is a model with ordered properties */ -export interface ModelWithOrderedProperties { +export type ModelWithOrderedProperties = { zebra?: string; apple?: string; hawaii?: string; @@ -941,7 +939,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithPattern.ts 1`] /** * This is a model that contains a some patterns */ -export interface ModelWithPattern { +export type ModelWithPattern = { key: string; name: string; readonly enabled?: boolean; @@ -962,7 +960,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one nested property */ -export interface ModelWithProperties { +export type ModelWithProperties = { required: string; readonly requiredAndReadOnly: string; string?: string; @@ -985,7 +983,7 @@ import type { ModelWithProperties } from './ModelWithProperties'; /** * This is a model with one property containing a reference */ -export interface ModelWithReference { +export type ModelWithReference = { prop?: ModelWithProperties; } " @@ -999,7 +997,7 @@ exports[`v2 should generate: ./test/generated/v2/models/ModelWithString.ts 1`] = /** * This is a model with one string property */ -export interface ModelWithString { +export type ModelWithString = { /** * This is a simple string property */ @@ -1094,7 +1092,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithArray.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithArray = { type: 'array', contains: { @@ -1110,7 +1107,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithBooleans.ts 1 "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithBooleans = { type: 'array', contains: { @@ -1123,7 +1119,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithNumbers.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithNumbers = { type: 'array', contains: { @@ -1136,7 +1131,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithProperties.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithProperties = { type: 'array', contains: { @@ -1156,7 +1150,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithReferences.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithReferences = { type: 'array', contains: { @@ -1169,7 +1162,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithStrings.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithStrings = { type: 'array', contains: { @@ -1182,7 +1174,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$Date.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $Date = { type: 'string', };" @@ -1192,7 +1183,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithArray.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithArray = { type: 'dictionary', contains: { @@ -1208,7 +1198,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithDictiona "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithDictionary = { type: 'dictionary', contains: { @@ -1224,7 +1213,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithProperti "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithProperties = { type: 'dictionary', contains: { @@ -1244,7 +1232,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithReferenc "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithReference = { type: 'dictionary', contains: { @@ -1257,7 +1244,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithString.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithString = { type: 'dictionary', contains: { @@ -1270,7 +1256,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$EnumFromDescription.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumFromDescription = { type: 'Enum', };" @@ -1280,7 +1265,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithExtensions.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithExtensions = { type: 'Enum', };" @@ -1290,7 +1274,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithNumbers.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithNumbers = { type: 'Enum', };" @@ -1300,7 +1283,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithStrings.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithStrings = { type: 'Enum', };" @@ -1310,19 +1292,20 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtends.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - -import { $ModelWithString } from './$ModelWithString'; - export const $ModelThatExtends = { - properties: { - ...$ModelWithString.properties, - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', + type: 'all-of', + contains: [{ + type: 'ModelWithString', + }, { + properties: { + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, }, - }, + }], };" `; @@ -1330,21 +1313,22 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtendsExtend "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - -import { $ModelWithString } from './$ModelWithString'; -import { $ModelThatExtends } from './$ModelThatExtends'; - export const $ModelThatExtendsExtends = { - properties: { - ...$ModelWithString.properties, - ...$ModelThatExtends.properties, - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', + type: 'all-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelThatExtends', + }, { + properties: { + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, }, - }, + }], };" `; @@ -1352,7 +1336,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithArray.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithArray = { properties: { prop: { @@ -1381,7 +1364,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithBoolean.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithBoolean = { properties: { prop: { @@ -1395,7 +1377,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithCircularRefer "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithCircularReference = { properties: { prop: { @@ -1409,7 +1390,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDictionary.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDictionary = { properties: { prop: { @@ -1426,7 +1406,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateImpo "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDuplicateImports = { properties: { propA: { @@ -1446,7 +1425,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateProp "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDuplicateProperties = { properties: { prop: { @@ -1460,7 +1438,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnum.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithEnum = { properties: { test: { @@ -1477,7 +1454,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnumFromDescr "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithEnumFromDescription = { properties: { test: { @@ -1491,7 +1467,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithInteger.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithInteger = { properties: { prop: { @@ -1505,7 +1480,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedEnums.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithNestedEnums = { properties: { dictionaryWithEnum: { @@ -1540,7 +1514,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedPropert "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithNestedProperties = { properties: { first: { @@ -1568,7 +1541,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNullableStrin "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithNullableString = { properties: { nullableProp: { @@ -1588,7 +1560,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithOrderedProper "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithOrderedProperties = { properties: { zebra: { @@ -1608,7 +1579,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithPattern.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithPattern = { properties: { key: { @@ -1647,7 +1617,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithProperties.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithProperties = { properties: { required: { @@ -1687,7 +1656,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithReference.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithReference = { properties: { prop: { @@ -1701,7 +1669,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithString.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithString = { properties: { prop: { @@ -1715,7 +1682,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$MultilineComment.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $MultilineComment = { type: 'number', };" @@ -1725,7 +1691,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleBoolean.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleBoolean = { type: 'boolean', };" @@ -1735,7 +1700,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleFile.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleFile = { type: 'File', };" @@ -1745,7 +1709,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleInteger.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleInteger = { type: 'number', };" @@ -1755,7 +1718,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleReference.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleReference = { type: 'ModelWithString', };" @@ -1765,7 +1727,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleString.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleString = { type: 'string', };" @@ -1775,7 +1736,6 @@ exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleStringWithPatter "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleStringWithPattern = { type: 'string', maxLength: 64, @@ -2336,7 +2296,7 @@ exports[`v3 should generate: ./test/generated/v3/core/ApiRequestOptions.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export interface ApiRequestOptions { +export type ApiRequestOptions = { readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; readonly path: string; readonly cookies?: Record; @@ -2353,7 +2313,7 @@ exports[`v3 should generate: ./test/generated/v3/core/ApiResult.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export interface ApiResult { +export type ApiResult = { readonly url: string; readonly ok: boolean; readonly status: number; @@ -2383,7 +2343,7 @@ export interface ResponseHookParams { response?: any; } -interface Config { +type Config = { BASE: string; VERSION: string; WITH_CREDENTIALS: boolean; @@ -2826,10 +2786,10 @@ import type { ModelWithEnum } from './ModelWithEnum'; /** * This is a model with one property with a 'all of' relationship */ -export interface CompositionWithAllOfAndNullable { - propA?: { +export type CompositionWithAllOfAndNullable = { + propA?: ({ boolean?: boolean, - } | null; + } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; } " `; @@ -2847,8 +2807,8 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one property with a 'any of' relationship */ -export interface CompositionWithAnyOf { - propA?: ModelWithArray | ModelWithDictionary | ModelWithEnum | ModelWithString; +export type CompositionWithAnyOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); } " `; @@ -2865,8 +2825,10 @@ import type { ModelWithEnum } from './ModelWithEnum'; /** * This is a model with one property with a 'any of' relationship */ -export interface CompositionWithAnyOfAndNullable { - propA?: ModelWithArray | ModelWithDictionary | ModelWithEnum | null; +export type CompositionWithAnyOfAndNullable = { + propA?: ({ + boolean?: boolean, + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; } " `; @@ -2879,8 +2841,10 @@ exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOfAnon /** * This is a model with one property with a 'any of' relationship where the options are not $ref */ -export interface CompositionWithAnyOfAnonymous { - propA?: ; +export type CompositionWithAnyOfAnonymous = { + propA?: ({ + propA?: any, + } | string | number); } " `; @@ -2898,8 +2862,8 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one property with a 'one of' relationship */ -export interface CompositionWithOneOf { - propA?: ModelWithArray | ModelWithDictionary | ModelWithEnum | ModelWithString; +export type CompositionWithOneOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); } " `; @@ -2916,8 +2880,10 @@ import type { ModelWithEnum } from './ModelWithEnum'; /** * This is a model with one property with a 'one of' relationship */ -export interface CompositionWithOneOfAndNullable { - propA?: ModelWithArray | ModelWithDictionary | ModelWithEnum | null; +export type CompositionWithOneOfAndNullable = { + propA?: ({ + boolean?: boolean, + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; } " `; @@ -2930,8 +2896,10 @@ exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAnon /** * This is a model with one property with a 'one of' relationship where the options are not $ref */ -export interface CompositionWithOneOfAnonymous { - propA?: ; +export type CompositionWithOneOfAnonymous = { + propA?: ({ + propA?: any, + } | string | number); } " `; @@ -3077,11 +3045,10 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model that extends another model */ -export interface ModelThatExtends extends ModelWithString { - propExtendsA?: string; - propExtendsB?: ModelWithString; -} -" +export type ModelThatExtends = (ModelWithString & { + propExtendsA?: string, + propExtendsB?: ModelWithString, +});" `; exports[`v3 should generate: ./test/generated/v3/models/ModelThatExtendsExtends.ts 1`] = ` @@ -3095,11 +3062,10 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model that extends another model */ -export interface ModelThatExtendsExtends extends ModelWithString, ModelThatExtends { - propExtendsC?: string; - propExtendsD?: ModelWithString; -} -" +export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { + propExtendsC?: string, + propExtendsD?: ModelWithString, +});" `; exports[`v3 should generate: ./test/generated/v3/models/ModelWithArray.ts 1`] = ` @@ -3112,7 +3078,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one property containing an array */ -export interface ModelWithArray { +export type ModelWithArray = { prop?: Array; propWithFile?: Array; propWithNumber?: Array; @@ -3128,7 +3094,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithBoolean.ts 1`] /** * This is a model with one boolean property */ -export interface ModelWithBoolean { +export type ModelWithBoolean = { /** * This is a simple boolean property */ @@ -3145,7 +3111,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithCircularReferen /** * This is a model with one property containing a circular reference */ -export interface ModelWithCircularReference { +export type ModelWithCircularReference = { prop?: ModelWithCircularReference; } " @@ -3159,7 +3125,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithDictionary.ts 1 /** * This is a model with one property containing a dictionary */ -export interface ModelWithDictionary { +export type ModelWithDictionary = { prop?: Record; } " @@ -3175,7 +3141,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with duplicated imports */ -export interface ModelWithDuplicateImports { +export type ModelWithDuplicateImports = { propA?: ModelWithString; propB?: ModelWithString; propC?: ModelWithString; @@ -3193,7 +3159,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with duplicated properties */ -export interface ModelWithDuplicateProperties { +export type ModelWithDuplicateProperties = { prop?: ModelWithString; } " @@ -3207,7 +3173,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnum.ts 1`] = ` /** * This is a model with one enum */ -export interface ModelWithEnum { +export type ModelWithEnum = { /** * This is a simple enum with strings */ @@ -3254,7 +3220,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnumFromDescrip /** * This is a model with one enum */ -export interface ModelWithEnumFromDescription { +export type ModelWithEnumFromDescription = { /** * Success=1,Warning=2,Error=3 */ @@ -3285,7 +3251,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithInteger.ts 1`] /** * This is a model with one number property */ -export interface ModelWithInteger { +export type ModelWithInteger = { /** * This is a simple number property */ @@ -3302,7 +3268,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedEnums.ts /** * This is a model with nested enums */ -export interface ModelWithNestedEnums { +export type ModelWithNestedEnums = { dictionaryWithEnum?: Record; dictionaryWithEnumFromDescription?: Record; arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; @@ -3319,7 +3285,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedPropertie /** * This is a model with one nested property */ -export interface ModelWithNestedProperties { +export type ModelWithNestedProperties = { readonly first: { readonly second: { readonly third: string | null, @@ -3337,7 +3303,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithOrderedProperti /** * This is a model with ordered properties */ -export interface ModelWithOrderedProperties { +export type ModelWithOrderedProperties = { zebra?: string; apple?: string; hawaii?: string; @@ -3353,7 +3319,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithPattern.ts 1`] /** * This is a model that contains a some patterns */ -export interface ModelWithPattern { +export type ModelWithPattern = { key: string; name: string; readonly enabled?: boolean; @@ -3374,7 +3340,7 @@ import type { ModelWithString } from './ModelWithString'; /** * This is a model with one nested property */ -export interface ModelWithProperties { +export type ModelWithProperties = { required: string; readonly requiredAndReadOnly: string; requiredAndNullable: string | null; @@ -3398,7 +3364,7 @@ import type { ModelWithProperties } from './ModelWithProperties'; /** * This is a model with one property containing a reference */ -export interface ModelWithReference { +export type ModelWithReference = { prop?: ModelWithProperties; } " @@ -3412,7 +3378,7 @@ exports[`v3 should generate: ./test/generated/v3/models/ModelWithString.ts 1`] = /** * This is a model with one string property */ -export interface ModelWithString { +export type ModelWithString = { /** * This is a simple string property */ @@ -3507,7 +3473,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithArray.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithArray = { type: 'array', contains: { @@ -3523,7 +3488,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithBooleans.ts 1 "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithBooleans = { type: 'array', contains: { @@ -3536,7 +3500,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithNumbers.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithNumbers = { type: 'array', contains: { @@ -3549,7 +3512,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithProperties.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithProperties = { type: 'array', contains: { @@ -3569,7 +3531,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithReferences.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithReferences = { type: 'array', contains: { @@ -3582,7 +3543,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithStrings.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ArrayWithStrings = { type: 'array', contains: { @@ -3595,18 +3555,23 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAllOfAn "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithAllOfAndNullable = { properties: { propA: { - properties: { - ...$ModelWithEnum.properties, - ...$ModelWithArray.properties, - ...$ModelWithDictionary.properties, - boolean: { - type: 'boolean', + type: 'all-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, }, - }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], isNullable: true, }, }, @@ -3617,11 +3582,19 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOf.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithAnyOf = { properties: { propA: { - type: 'ModelWithArray | ModelWithDictionary | ModelWithEnum | ModelWithString', + type: 'any-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], }, }, };" @@ -3631,11 +3604,23 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAn "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithAnyOfAndNullable = { properties: { propA: { - type: 'ModelWithArray | ModelWithDictionary | ModelWithEnum', + type: 'any-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], isNullable: true, }, }, @@ -3646,10 +3631,22 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAn "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithAnyOfAnonymous = { properties: { propA: { + type: 'any-of', + contains: [{ + properties: { + propA: { + properties: { + }, + }, + }, + }, { + type: 'string', + }, { + type: 'number', + }], }, }, };" @@ -3659,11 +3656,19 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOf.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithOneOf = { properties: { propA: { - type: 'ModelWithArray | ModelWithDictionary | ModelWithEnum | ModelWithString', + type: 'one-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], }, }, };" @@ -3673,11 +3678,23 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAn "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithOneOfAndNullable = { properties: { propA: { - type: 'ModelWithArray | ModelWithDictionary | ModelWithEnum', + type: 'one-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], isNullable: true, }, }, @@ -3688,10 +3705,22 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAn "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $CompositionWithOneOfAnonymous = { properties: { propA: { + type: 'one-of', + contains: [{ + properties: { + propA: { + properties: { + }, + }, + }, + }, { + type: 'string', + }, { + type: 'number', + }], }, }, };" @@ -3701,7 +3730,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithArray.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithArray = { type: 'dictionary', contains: { @@ -3717,7 +3745,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithDictiona "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithDictionary = { type: 'dictionary', contains: { @@ -3733,7 +3760,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithProperti "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithProperties = { type: 'dictionary', contains: { @@ -3753,7 +3779,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithReferenc "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithReference = { type: 'dictionary', contains: { @@ -3766,7 +3791,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithString.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $DictionaryWithString = { type: 'dictionary', contains: { @@ -3779,7 +3803,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$EnumFromDescription.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumFromDescription = { type: 'Enum', };" @@ -3789,7 +3812,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithExtensions.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithExtensions = { type: 'Enum', };" @@ -3799,7 +3821,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithNumbers.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithNumbers = { type: 'Enum', };" @@ -3809,7 +3830,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithStrings.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $EnumWithStrings = { type: 'Enum', };" @@ -3819,19 +3839,20 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtends.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - -import { $ModelWithString } from './$ModelWithString'; - export const $ModelThatExtends = { - properties: { - ...$ModelWithString.properties, - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', + type: 'all-of', + contains: [{ + type: 'ModelWithString', + }, { + properties: { + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, }, - }, + }], };" `; @@ -3839,21 +3860,22 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtendsExtend "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - -import { $ModelWithString } from './$ModelWithString'; -import { $ModelThatExtends } from './$ModelThatExtends'; - export const $ModelThatExtendsExtends = { - properties: { - ...$ModelWithString.properties, - ...$ModelThatExtends.properties, - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', + type: 'all-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelThatExtends', + }, { + properties: { + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, }, - }, + }], };" `; @@ -3861,7 +3883,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithArray.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithArray = { properties: { prop: { @@ -3890,7 +3911,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithBoolean.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithBoolean = { properties: { prop: { @@ -3904,7 +3924,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithCircularRefer "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithCircularReference = { properties: { prop: { @@ -3918,7 +3937,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDictionary.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDictionary = { properties: { prop: { @@ -3935,7 +3953,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateImpo "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDuplicateImports = { properties: { propA: { @@ -3955,7 +3972,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateProp "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithDuplicateProperties = { properties: { prop: { @@ -3969,7 +3985,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnum.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithEnum = { properties: { test: { @@ -3986,7 +4001,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnumFromDescr "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithEnumFromDescription = { properties: { test: { @@ -4000,7 +4014,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithInteger.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithInteger = { properties: { prop: { @@ -4014,7 +4027,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedEnums.t "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithNestedEnums = { properties: { dictionaryWithEnum: { @@ -4049,7 +4061,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedPropert "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithNestedProperties = { properties: { first: { @@ -4080,7 +4091,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithOrderedProper "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithOrderedProperties = { properties: { zebra: { @@ -4100,7 +4110,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithPattern.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithPattern = { properties: { key: { @@ -4139,7 +4148,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithProperties.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithProperties = { properties: { required: { @@ -4184,7 +4192,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithReference.ts "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithReference = { properties: { prop: { @@ -4198,7 +4205,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithString.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $ModelWithString = { properties: { prop: { @@ -4212,7 +4218,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$MultilineComment.ts 1` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $MultilineComment = { type: 'number', };" @@ -4222,7 +4227,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleBoolean.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleBoolean = { type: 'boolean', };" @@ -4232,7 +4236,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleFile.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleFile = { type: 'File', };" @@ -4242,7 +4245,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleInteger.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleInteger = { type: 'number', };" @@ -4252,7 +4254,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleReference.ts 1`] "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleReference = { type: 'ModelWithString', };" @@ -4262,7 +4263,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleString.ts 1`] = "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleString = { type: 'string', };" @@ -4272,7 +4272,6 @@ exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleStringWithPatter "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export const $SimpleStringWithPattern = { type: 'string', isNullable: true, @@ -4340,7 +4339,7 @@ export class ComplexService { readonly type: 'Monkey' | 'Horse' | 'Bird', listOfModels?: Array | null, listOfStrings?: Array | null, - parameters: ModelWithArray | ModelWithDictionary | ModelWithEnum | ModelWithString, + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary), readonly user?: { readonly id?: number, readonly name?: string | null, @@ -4906,13 +4905,13 @@ import { OpenAPI } from '../core/OpenAPI'; export class TypesService { /** + * @param parameterObject This is an object parameter * @param parameterArray This is an array parameter * @param parameterDictionary This is a dictionary parameter * @param parameterEnum This is an enum parameter * @param parameterNumber This is a number parameter * @param parameterString This is a string parameter * @param parameterBoolean This is a boolean parameter - * @param parameterObject This is an object parameter * @param id This is a number parameter * @result number Response is a simple number * @result string Response is a simple string @@ -4921,26 +4920,26 @@ export class TypesService { * @throws ApiError */ public static async types( + parameterObject: any, parameterArray: Array | null, parameterDictionary: any, parameterEnum: 'Success' | 'Warning' | 'Error' | null, parameterNumber: number = 123, parameterString: string | null = 'default', parameterBoolean: boolean | null = true, - parameterObject: any = null, id?: number, ): Promise { const result = await __request({ method: 'GET', path: \`/api/v\${OpenAPI.VERSION}/types\`, query: { + 'parameterObject': parameterObject, 'parameterArray': parameterArray, 'parameterDictionary': parameterDictionary, 'parameterEnum': parameterEnum, 'parameterNumber': parameterNumber, 'parameterString': parameterString, 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, }, }); return result.body; From 1d08cd1072731294e75f3681cba26252a966b0a8 Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Mon, 23 Nov 2020 20:47:20 -0500 Subject: [PATCH 10/17] Define type of Response, per implementation --- src/templates/core/OpenAPI.hbs | 7 ++++++- src/templates/core/fetch/responseType.hbs | 2 ++ src/templates/core/node/responseType.hbs | 1 + src/templates/core/xhr/responseType.hbs | 1 + src/utils/registerHandlebarTemplates.ts | 6 ++++++ 5 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/templates/core/fetch/responseType.hbs create mode 100644 src/templates/core/node/responseType.hbs create mode 100644 src/templates/core/xhr/responseType.hbs diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index 019c9b851..3f9113697 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -1,5 +1,10 @@ {{>header}} + +{{#equals @root.httpClient 'fetch'}}{{>fetch/responseType}}{{/equals}} +{{#equals @root.httpClient 'xhr'}}{{>xhr/responseType}}{{/equals}} +{{#equals @root.httpClient 'node'}}{{>node/responseType}}{{/equals}} + type Resolver = () => Promise; type Headers = Record; @@ -14,7 +19,7 @@ export interface RequestHookParams { export interface ResponseHookParams { url: string; result: ApiResult; - response?: any; + response?: ResponseImplementation; } type Config = { diff --git a/src/templates/core/fetch/responseType.hbs b/src/templates/core/fetch/responseType.hbs new file mode 100644 index 000000000..c9cf71bbe --- /dev/null +++ b/src/templates/core/fetch/responseType.hbs @@ -0,0 +1,2 @@ +type ResponseImplementation = Response; + diff --git a/src/templates/core/node/responseType.hbs b/src/templates/core/node/responseType.hbs new file mode 100644 index 000000000..556ef6d1f --- /dev/null +++ b/src/templates/core/node/responseType.hbs @@ -0,0 +1 @@ +import { Response as ResponseImplementation } from 'node-fetch'; diff --git a/src/templates/core/xhr/responseType.hbs b/src/templates/core/xhr/responseType.hbs new file mode 100644 index 000000000..5d12c9f2f --- /dev/null +++ b/src/templates/core/xhr/responseType.hbs @@ -0,0 +1 @@ +type ResponseImplementation = XMLHttpRequest; diff --git a/src/utils/registerHandlebarTemplates.ts b/src/utils/registerHandlebarTemplates.ts index febe94f1f..f6fabae84 100644 --- a/src/utils/registerHandlebarTemplates.ts +++ b/src/utils/registerHandlebarTemplates.ts @@ -9,6 +9,7 @@ import fetchGetResponseBody from '../templates/core/fetch/getResponseBody.hbs'; import fetchGetResponseHeader from '../templates/core/fetch/getResponseHeader.hbs'; import fetchRequest from '../templates/core/fetch/request.hbs'; import fetchSendRequest from '../templates/core/fetch/sendRequest.hbs'; +import fetchResponseType from '../templates/core/fetch/responseType.hbs'; import functionCatchErrors from '../templates/core/functions/catchErrors.hbs'; import functionGetFormData from '../templates/core/functions/getFormData.hbs'; import functionGetQueryString from '../templates/core/functions/getQueryString.hbs'; @@ -26,6 +27,7 @@ import nodeGetResponseBody from '../templates/core/node/getResponseBody.hbs'; import nodeGetResponseHeader from '../templates/core/node/getResponseHeader.hbs'; import nodeRequest from '../templates/core/node/request.hbs'; import nodeSendRequest from '../templates/core/node/sendRequest.hbs'; +import nodeResponseType from '../templates/core/node/responseType.hbs'; import templateCoreSettings from '../templates/core/OpenAPI.hbs'; import templateCoreRequest from '../templates/core/request.hbs'; import xhrGetHeaders from '../templates/core/xhr/getHeaders.hbs'; @@ -34,6 +36,7 @@ import xhrGetResponseBody from '../templates/core/xhr/getResponseBody.hbs'; import xhrGetResponseHeader from '../templates/core/xhr/getResponseHeader.hbs'; import xhrRequest from '../templates/core/xhr/request.hbs'; import xhrSendRequest from '../templates/core/xhr/sendRequest.hbs'; +import xhrResponseType from '../templates/core/xhr/responseType.hbs'; import templateExportModel from '../templates/exportModel.hbs'; import templateExportSchema from '../templates/exportSchema.hbs'; import templateExportService from '../templates/exportService.hbs'; @@ -154,6 +157,7 @@ export function registerHandlebarTemplates(): Templates { Handlebars.registerPartial('fetch/getResponseHeader', Handlebars.template(fetchGetResponseHeader)); Handlebars.registerPartial('fetch/sendRequest', Handlebars.template(fetchSendRequest)); Handlebars.registerPartial('fetch/request', Handlebars.template(fetchRequest)); + Handlebars.registerPartial('fetch/responseType', Handlebars.template(fetchResponseType)); // Specific files for the xhr client implementation Handlebars.registerPartial('xhr/getHeaders', Handlebars.template(xhrGetHeaders)); @@ -162,6 +166,7 @@ export function registerHandlebarTemplates(): Templates { Handlebars.registerPartial('xhr/getResponseHeader', Handlebars.template(xhrGetResponseHeader)); Handlebars.registerPartial('xhr/sendRequest', Handlebars.template(xhrSendRequest)); Handlebars.registerPartial('xhr/request', Handlebars.template(xhrRequest)); + Handlebars.registerPartial('xhr/responseType', Handlebars.template(xhrResponseType)); // Specific files for the node client implementation Handlebars.registerPartial('node/getHeaders', Handlebars.template(nodeGetHeaders)); @@ -170,6 +175,7 @@ export function registerHandlebarTemplates(): Templates { Handlebars.registerPartial('node/getResponseHeader', Handlebars.template(nodeGetResponseHeader)); Handlebars.registerPartial('node/sendRequest', Handlebars.template(nodeSendRequest)); Handlebars.registerPartial('node/request', Handlebars.template(nodeRequest)); + Handlebars.registerPartial('node/responseType', Handlebars.template(nodeResponseType)); return templates; } From 866f8efec91c94175546ac8288fbd6b2385d2e1a Mon Sep 17 00:00:00 2001 From: Richard Goldstein Date: Mon, 23 Nov 2020 21:00:09 -0500 Subject: [PATCH 11/17] Updated to support implementation-specific Response type in Reponse hook --- test/__snapshots__/index.spec.js.snap | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/__snapshots__/index.spec.js.snap b/test/__snapshots__/index.spec.js.snap index 102287987..3b210cae1 100644 --- a/test/__snapshots__/index.spec.js.snap +++ b/test/__snapshots__/index.spec.js.snap @@ -57,6 +57,11 @@ exports[`v2 should generate: ./test/generated/v2/core/OpenAPI.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ + +type ResponseImplementation = Response; + + + type Resolver = () => Promise; type Headers = Record; @@ -71,7 +76,7 @@ export interface RequestHookParams { export interface ResponseHookParams { url: string; result: ApiResult; - response?: any; + response?: ResponseImplementation; } type Config = { @@ -2326,6 +2331,11 @@ exports[`v3 should generate: ./test/generated/v3/core/OpenAPI.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ + +type ResponseImplementation = Response; + + + type Resolver = () => Promise; type Headers = Record; @@ -2340,7 +2350,7 @@ export interface RequestHookParams { export interface ResponseHookParams { url: string; result: ApiResult; - response?: any; + response?: ResponseImplementation; } type Config = { From 68d45b2e59628232d970bd5f9a2be785cf690152 Mon Sep 17 00:00:00 2001 From: Mark Gabriel Date: Tue, 24 Nov 2020 17:19:45 +1100 Subject: [PATCH 12/17] Push dist --- .gitignore | 1 - dist/index.js | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 dist/index.js diff --git a/.gitignore b/.gitignore index 2b7422568..bf314f756 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ junit.xml .idea .vscode *.iml -dist coverage test/generated test/e2e/generated diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 000000000..b4068fb8a --- /dev/null +++ b/dist/index.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("os"),n=require("camelcase"),t=require("js-yaml"),r=require("path"),a=require("fs"),o=require("mkdirp"),l=require("rimraf"),i=require("util"),s=require("http"),u=require("https"),p=require("handlebars/runtime");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=c(n),d=c(o),f=c(l);function h(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}function y(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function v(e){return null!=e&&""!==e}function P(e){return Array.isArray(e)?e.filter(((e,n,t)=>t.indexOf(e)===n)).filter(v).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]}function g(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}function b(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function O(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const x=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function k(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function R(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=R(k(e[1])),r=R(k(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=r.type,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,x.has(a)){const e=function(e){return x.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=k(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function w(e,n,t=!1,r=""){var a;const o={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n["x-nullable"],isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(n.enum){const e=h(P(n.enum),n);if(e.length)return o.export="enum",o.type="string",o.base="string",o.enum.push(...e),o}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return o.export="enum",o.type="number",o.base="number",o.enum.push(...e),o}if("array"===n.type&&n.items){if(n.items.$ref){const e=R(n.items.$ref);return o.export="array",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.items);return o.export="array",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=R(n.additionalProperties.$ref);return o.export="dictionary",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.additionalProperties);return o.export="dictionary",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if(null===(a=n.allOf)||void 0===a?void 0:a.length){const t=function(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}(e,n.allOf,"all-of",w);return o.export=t.type,o.imports.push(...t.imports),o.enums.push(...t.enums),o.properties.push(...t.properties),o}if("object"===n.type){if(o.export="interface",o.type="any",o.base="any",n.properties){(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=R(l.$ref);a.push({name:b(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:b(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,w).forEach((e=>{o.imports.push(...e.imports),o.properties.push(e),"enum"===e.export&&o.enums.push(e)}))}return o}if(n.type){const e=R(n.type);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o}function q(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==n.export&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function C(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function j(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function A(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function I(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=j(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:C(n.name),type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n["x-nullable"],format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.enum){const e=h(P(n.enum),n);if(e.length)return t.export="enum",t.type="string",t.base="string",t.enum.push(...e),t.default=q(n,t),t}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return t.export="enum",t.type="number",t.base="number",t.enum.push(...e),t.default=q(n,t),t}if("array"===n.type&&n.items){const e=R(n.items.type);return t.export="array",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if("object"===n.type&&n.items){const e=R(n.items.type);return t.export="dictionary",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}{const r=w(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t.default=q(n,t),t}}if(n.type){const e=R(n.type);return t.export="generic",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}return t}(e,r);if("api-version"!==a.prop)switch(a.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"body":t.parametersBody=a,t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(A),t.parametersPath=t.parametersPath.sort(A),t.parametersQuery=t.parametersQuery.sort(A),t.parametersForm=t.parametersForm.sort(A),t.parametersCookie=t.parametersCookie.sort(A),t.parametersHeader=t.parametersHeader.sort(A),t}function E(e,n,t){const r={in:"response",name:"",code:t,description:y(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const t=w(e,n.schema);return r.export=t.export,r.type=t.type,r.base=t.base,r.template=t.template,r.link=t.link,r.isReadOnly=t.isReadOnly,r.isRequired=t.isRequired,r.isNullable=t.isNullable,r.format=t.format,r.maximum=t.maximum,r.exclusiveMaximum=t.exclusiveMaximum,r.minimum=t.minimum,r.exclusiveMinimum=t.exclusiveMinimum,r.multipleOf=t.multipleOf,r.maxLength=t.maxLength,r.minLength=t.minLength,r.maxItems=t.maxItems,r.minItems=t.minItems,r.uniqueItems=t.uniqueItems,r.maxProperties=t.maxProperties,r.minProperties=t.minProperties,r.pattern=O(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}return r}function H(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function D(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?D(e.link,n.link):t}function S(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>D(n,e)))===n))}function $(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${C(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:y(r.summary),description:y(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=I(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=j(e,n[r]),o=H(r);if(o){const n=E(e,a,o);t.push(n)}}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=S(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function N(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=(null===(n=e.schemes)||void 0===n?void 0:n[0])||"http",r=e.host,a=e.basePath||"";return r?`${t}://${r}${a}`:a}(e),models:function(e){const n=[];for(const t in e.definitions)if(e.definitions.hasOwnProperty(t)){const r=w(e,e.definitions[t],!0,R(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=I(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=$(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}function B(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function T(e){return null!=e&&""!==e}function L(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}function M(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==(null==n?void 0:n.export)&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function U(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function F(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const _=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function W(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function V(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=V(W(e[1])),r=V(W(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=`${r.type}`,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,_.has(a)){const e=function(e){return _.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=W(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function Q(e,n,t=!1,r=""){var a,o,l;const i={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n.nullable,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:F(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return i.export="reference",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}if(n.enum){const e=function(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}((s=n.enum,Array.isArray(s)?s.filter(((e,n,t)=>t.indexOf(e)===n)).filter(T).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]),n);if(e.length)return i.export="enum",i.type="string",i.base="string",i.enum.push(...e),i.default=M(n,i),i}var s;if(("int"===n.type||"integer"===n.type)&&n.description){const e=function(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}(n.description);if(e.length)return i.export="enum",i.type="number",i.base="number",i.enum.push(...e),i.default=M(n,i),i}if("array"===n.type&&n.items){if(n.items.$ref){const e=V(n.items.$ref);return i.export="array",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.items);return i.export="array",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=V(n.additionalProperties.$ref);return i.export="dictionary",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.additionalProperties);return i.export="dictionary",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if(null===(a=n.oneOf)||void 0===a?void 0:a.length){const t=L(e,n.oneOf,"one-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(o=n.anyOf)||void 0===o?void 0:o.length){const t=L(e,n.anyOf,"any-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(l=n.allOf)||void 0===l?void 0:l.length){const t=L(e,n.allOf,"all-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if("object"===n.type){if(i.export="interface",i.type="any",i.base="any",n.properties){i.default=M(n,i);(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=V(l.$ref);a.push({name:U(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:U(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,Q).forEach((e=>{i.imports.push(...e.imports),i.properties.push(e),"enum"===e.export&&i.enums.push(e)}))}return i}if(n.type){const e=V(n.type);return i.export="generic",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}return i}function z(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function K(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function J(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function Z(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=K(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:z(n.name),type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}if(n.schema){if(n.schema.$ref){const e=V(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=M(n.schema),t}{const r=Q(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.isReadOnly=r.isReadOnly,t.isRequired=t.isRequired||r.isRequired,t.isNullable=t.isNullable||r.isNullable,t.format=r.format,t.maximum=r.maximum,t.exclusiveMaximum=r.exclusiveMaximum,t.minimum=r.minimum,t.exclusiveMinimum=r.exclusiveMinimum,t.multipleOf=r.multipleOf,t.maxLength=r.maxLength,t.minLength=r.minLength,t.maxItems=r.maxItems,t.minItems=r.minItems,t.uniqueItems=r.uniqueItems,t.maxProperties=r.maxProperties,t.minProperties=r.minProperties,t.pattern=F(r.pattern),t.default=r.default,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t}}return t}(e,r);if("api-version"!==a.prop)switch(r.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"cookie":t.parametersCookie.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(J),t.parametersPath=t.parametersPath.sort(J),t.parametersQuery=t.parametersQuery.sort(J),t.parametersForm=t.parametersForm.sort(J),t.parametersCookie=t.parametersCookie.sort(J),t.parametersHeader=t.parametersHeader.sort(J),t}function G(e,n){return n["application/json-patch+json"]&&n["application/json-patch+json"].schema||n["application/json"]&&n["application/json"].schema||n["text/json"]&&n["text/json"].schema||n["text/plain"]&&n["text/plain"].schema||n["multipart/mixed"]&&n["multipart/mixed"].schema||n["multipart/related"]&&n["multipart/related"].schema||n["multipart/batch"]&&n["multipart/batch"].schema||null}function X(e,n,t){const r={in:"response",name:"",code:t,description:B(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.content){const t=G(0,n.content);if(t){if(null==t?void 0:t.$ref){const e=V(t.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const n=Q(e,t);return r.export=n.export,r.type=n.type,r.base=n.base,r.template=n.template,r.link=n.link,r.isReadOnly=n.isReadOnly,r.isRequired=n.isRequired,r.isNullable=n.isNullable,r.format=n.format,r.maximum=n.maximum,r.exclusiveMaximum=n.exclusiveMaximum,r.minimum=n.minimum,r.exclusiveMinimum=n.exclusiveMinimum,r.multipleOf=n.multipleOf,r.maxLength=n.maxLength,r.minLength=n.minLength,r.maxItems=n.maxItems,r.minItems=n.minItems,r.uniqueItems=n.uniqueItems,r.maxProperties=n.maxProperties,r.minProperties=n.minProperties,r.pattern=F(n.pattern),r.imports.push(...n.imports),r.enum.push(...n.enum),r.enums.push(...n.enums),r.properties.push(...n.properties),r}}}return r}function Y(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function ee(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?ee(e.link,n.link):t}function ne(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>ee(n,e)))===n))}function te(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${z(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:B(r.summary),description:B(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=Z(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.requestBody){const n=function(e,n){const t={in:"body",prop:"body",export:"interface",name:"requestBody",type:"any",base:"any",template:null,link:null,description:B(n.description),default:void 0,isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.content){const r=G(0,n.content);if(r){if(null==r?void 0:r.$ref){const e=V(r.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}{const n=Q(e,r);return t.export=n.export,t.type=n.type,t.base=n.base,t.template=n.template,t.link=n.link,t.isReadOnly=n.isReadOnly,t.isRequired=t.isRequired||n.isRequired,t.isNullable=t.isNullable||n.isNullable,t.format=n.format,t.maximum=n.maximum,t.exclusiveMaximum=n.exclusiveMaximum,t.minimum=n.minimum,t.exclusiveMinimum=n.exclusiveMinimum,t.multipleOf=n.multipleOf,t.maxLength=n.maxLength,t.minLength=n.minLength,t.maxItems=n.maxItems,t.minItems=n.minItems,t.uniqueItems=n.uniqueItems,t.maxProperties=n.maxProperties,t.minProperties=n.minProperties,t.pattern=F(n.pattern),t.imports.push(...n.imports),t.enum.push(...n.enum),t.enums.push(...n.enums),t.properties.push(...n.properties),t}}}return t}(e,K(e,r.requestBody));p.imports.push(...n.imports),p.parameters.push(n),p.parameters=p.parameters.sort(J),p.parametersBody=n}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=K(e,n[r]),o=Y(r);o&&t.push(X(e,a,o))}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=ne(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function re(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=null===(n=e.servers)||void 0===n?void 0:n[0],r=(null==t?void 0:t.variables)||{};let a=(null==t?void 0:t.url)||"";for(const e in r)r.hasOwnProperty(e)&&(a=a.replace(`{${e}}`,r[e].default));return a}(e),models:function(e){const n=[];if(e.components)for(const t in e.components.schemas)if(e.components.schemas.hasOwnProperty(t)){const r=Q(e,e.components.schemas[t],!0,V(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=Z(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=te(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}const ae=i.promisify(a.readFile),oe=i.promisify(a.writeFile),le=(i.promisify(a.copyFile),i.promisify(a.exists)),ie=d.default,se=e=>new Promise(((n,t)=>{f.default(e,(e=>{e?t(e):n()}))}));async function ue(e){return e.startsWith("https://")?await async function(e){return new Promise(((n,t)=>{u.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):e.startsWith("http://")?await async function(e){return new Promise(((n,t)=>{s.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):await async function(e){const n=r.resolve(process.cwd(),e);if(await le(n))try{return(await ae(n,"utf8")).toString()}catch(e){throw new Error(`Could not read OpenApi spec: "${n}"`)}throw new Error(`Could not find OpenApi spec: "${n}"`)}(e)}var pe;function ce(e){return e.enum.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function me(e){return e.enums.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function de(e,n){const t=e.toLowerCase(),r=n.toLowerCase();return t.localeCompare(r,"en")}function fe(e,n,t){return t.indexOf(e)===n}function he(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}function ye(e,n){const t=[];return e.map(n).forEach((e=>{t.push(...e)})),t}function ve(e){const n=Object.assign({},e);return n.operations=function(e){const n=new Map;return e.operations.map((e=>{const t=Object.assign({},e);t.imports.push(...ye(t.parameters,(e=>e.imports))),t.imports.push(...ye(t.results,(e=>e.imports)));const r=t.name,a=n.get(r)||0;return a>0&&(t.name=`${r}${a}`),n.set(r,a+1),t}))}(n),n.operations.forEach((e=>{n.imports.push(...e.imports)})),n.imports=function(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}(n),n}function Pe(e){return Object.assign(Object.assign({},e),{models:e.models.map((e=>function(e){return Object.assign(Object.assign({},e),{imports:he(e),enums:me(e),enum:ce(e)})}(e))),services:e.services.map((e=>ve(e)))})}!function(e){e[e.V2=2]="V2",e[e.V3=3]="V3"}(pe||(pe={}));var ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}"},usePartial:!0,useData:!0},be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiRequestOptions = {\n readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n readonly path: string;\n readonly cookies?: Record;\n readonly headers?: Record;\n readonly query?: Record;\n readonly formData?: Record;\n readonly body?: any;\n readonly responseHeader?: string;\n readonly errors?: Record;\n}"},usePartial:!0,useData:!0},Oe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiResult = {\n readonly url: string;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly body: any;\n}"},usePartial:!0,useData:!0},xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},ke={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Re={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},we={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getRequestBody"),n,{name:"fetch/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/sendRequest"),n,{name:"fetch/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseHeader"),n,{name:"fetch/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseBody"),n,{name:"fetch/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n\n\n return result;\n}"},usePartial:!0,useData:!0},Ce={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = Response;"},useData:!0},Ae={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}"},useData:!0},Ie={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getFormData(params: Record): FormData {\n const formData = new FormData();\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n formData.append(key, value);\n }\n });\n return formData;\n}"},useData:!0},Ee={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getQueryString(params: Record): string {\n const qs: string[] = [];\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(value => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n });\n } else {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n return '';\n}"},useData:!0},He={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getUrl(options: ApiRequestOptions): string {\n const path = options.path.replace(/[:]/g, '_');\n const url = `${OpenAPI.BASE}${path}`;\n\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n}"},useData:!0},De={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {\n const isBuffer = Buffer.isBuffer(value);\n const isArrayBuffer = types.isArrayBuffer(value);\n const isArrayBufferView = types.isArrayBufferView(value);\n return isBuffer || isArrayBuffer || isArrayBufferView;\n}"},useData:!0},Se={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}"},useData:!0},$e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}"},useData:!0},Ne={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isString(value: any): value is string {\n return typeof value === 'string';\n}"},useData:!0},Be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}"},useData:!0},Te={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isSuccess(status: number): boolean {\n return status >= 200 && status < 300;\n}"},useData:!0},Le={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type Resolver = () => Promise;\n\nasync function resolve(resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)();\n }\n return resolver;\n}"},useData:!0},Me={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = Buffer.from(`${username}:${password}`).toString('base64');\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBinary(options.body)) {\n headers.append('Content-Type', 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ue={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBinary(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Fe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},_e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},We={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport FormData from 'form-data';\nimport fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';\nimport { types } from 'util';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBinary"),n,{name:"functions/isBinary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getHeaders"),n,{name:"node/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getRequestBody"),n,{name:"node/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/sendRequest"),n,{name:"node/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseHeader"),n,{name:"node/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseBody"),n,{name:"node/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n* Request using node-fetch client\n* @param options The request options from the the service\n* @result ApiResult\n* @throws ApiError\n*/\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},Ve={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},Qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"import { Response as ResponseImplementation } from 'node-fetch';"},useData:!0},ze={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/responseType"),n,{name:"fetch/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/responseType"),n,{name:"xhr/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/responseType"),n,{name:"node/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(u(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:66}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:6,column:68}}}))?o:"")+"\n\ntype Resolver = () => Promise;\ntype Headers = Record;\n\nimport { ApiResult } from './ApiResult';\nimport { ApiRequestOptions } from './ApiRequestOptions';\n\nexport interface RequestHookParams {\n url: string;\n options: ApiRequestOptions;\n}\n\nexport interface ResponseHookParams {\n url: string;\n result: ApiResult;\n response?: ResponseImplementation;\n}\n\ntype Config = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n REQUEST_HOOK?(params: RequestHookParams): Promise;\n RESPONSE_HOOK?(result: ResponseHookParams): Promise\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n}\n\nexport const OpenAPI: Config = {\n BASE: '"+(null!=(o=s(i(n,"server",{start:{line:38,column:14},end:{line:38,column:20}}),n))?o:"")+"',\n VERSION: '"+(null!=(o=s(i(n,"version",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n WITH_CREDENTIALS: false,\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n};"},usePartial:!0,useData:!0},Ke={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/request"),n,{name:"fetch/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/request"),n,{name:"xhr/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/request"),n,{name:"node/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:65}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:61}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:63}}}))?o:"")},usePartial:!0,useData:!0},Je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ze={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): any {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseBody(xhr: XMLHttpRequest): any {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},Xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(xhr: XMLHttpRequest, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},Ye={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isSuccess"),n,{name:"functions/isSuccess",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getRequestBody"),n,{name:"xhr/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/sendRequest"),n,{name:"xhr/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseHeader"),n,{name:"xhr/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseBody"),n,{name:"xhr/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using XHR client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},en={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n\n const xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = OpenAPI.WITH_CREDENTIALS;\n\n const headers = await getHeaders(options);\n headers.forEach((value: string, key: string) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise(resolve => {\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n resolve(xhr);\n }\n };\n xhr.send(getRequestBody(options));\n });\n}"},useData:!0},nn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = XMLHttpRequest;"},useData:!0},tn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:9}}}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from './"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportInterface"),n,{name:"exportInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:12,column:0},end:{line:22,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportComposition"),n,{name:"exportComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(10,a,0),data:a,loc:{start:{line:14,column:0},end:{line:22,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:16,column:0},end:{line:22,column:0}}}))?o:""},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(12,a,0),inverse:e.program(14,a,0),data:a,loc:{start:{line:18,column:0},end:{line:22,column:0}}}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportEnum"),n,{name:"exportEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportType"),n,{name:"exportType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:8,column:7}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:10,column:0},end:{line:22,column:11}}}))?o:"")},usePartial:!0,useData:!0},rn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport const $"+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:3,column:17},end:{line:3,column:21}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},an={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from '../models/"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){return"import { OpenAPI } from '../core/OpenAPI';\n"},6:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" /**\n"+(null!=(o=u(t,"if").call(l,u(n,"deprecated"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:4},end:{line:19,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"summary"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:4},end:{line:22,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"description"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:4},end:{line:25,column:11}}}))?o:"")+(null!=(o=u(t,"unless").call(l,u(u(a,"root"),"useOptions"),{name:"unless",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:4},end:{line:32,column:15}}}))?o:"")+(null!=(o=u(t,"each").call(l,u(n,"results"),{name:"each",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:33,column:4},end:{line:35,column:13}}}))?o:"")+" * @throws ApiError\n */\n public static async "+(null!=(o=s(i(n,"name",{start:{line:38,column:27},end:{line:38,column:31}}),n))?o:"")+"("+(null!=(o=e.invokePartial(u(r,"parameters"),n,{name:"parameters",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"): Promise<"+(null!=(o=e.invokePartial(u(r,"result"),n,{name:"result",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"> {\n const result = await __request({\n method: '"+(null!=(o=s(i(n,"method",{start:{line:40,column:24},end:{line:40,column:30}}),n))?o:"")+"',\n path: `"+(null!=(o=s(i(n,"path",{start:{line:41,column:22},end:{line:41,column:26}}),n))?o:"")+"`,\n"+(null!=(o=u(t,"if").call(l,u(n,"parametersCookie"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:42,column:12},end:{line:48,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersHeader"),{name:"if",hash:{},fn:e.program(22,a,0),inverse:e.noop,data:a,loc:{start:{line:49,column:12},end:{line:55,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersQuery"),{name:"if",hash:{},fn:e.program(24,a,0),inverse:e.noop,data:a,loc:{start:{line:56,column:12},end:{line:62,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersForm"),{name:"if",hash:{},fn:e.program(26,a,0),inverse:e.noop,data:a,loc:{start:{line:63,column:12},end:{line:69,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersBody"),{name:"if",hash:{},fn:e.program(28,a,0),inverse:e.noop,data:a,loc:{start:{line:70,column:12},end:{line:72,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"responseHeader"),{name:"if",hash:{},fn:e.program(30,a,0),inverse:e.noop,data:a,loc:{start:{line:73,column:12},end:{line:75,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"errors"),{name:"if",hash:{},fn:e.program(32,a,0),inverse:e.noop,data:a,loc:{start:{line:76,column:12},end:{line:82,column:19}}}))?o:"")+" });\n return result.body;\n }\n\n"},7:function(e,n,t,r,a){return" * @deprecated\n"},9:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"summary",{start:{line:21,column:10},end:{line:21,column:17}}),n))?o:"")+"\n"},11:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:24,column:10},end:{line:24,column:21}}),n))?o:"")+"\n"},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:27,column:4},end:{line:31,column:11}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:4},end:{line:30,column:13}}}))?o:""},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @param "+(null!=(o=i(l(n,"name",{start:{line:29,column:17},end:{line:29,column:21}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:29,column:28},end:{line:29,column:39}}),n))?o:"")+"\n"},17:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @result "+(null!=(o=i(l(n,"type",{start:{line:34,column:18},end:{line:34,column:22}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:34,column:29},end:{line:34,column:40}}),n))?o:"")+"\n"},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" cookies: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersCookie"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:16},end:{line:46,column:25}}}))?o:"")+" },\n"},20:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" '"+(null!=(o=i(l(n,"prop",{start:{line:45,column:20},end:{line:45,column:24}}),n))?o:"")+"': "+(null!=(o=i(l(n,"name",{start:{line:45,column:33},end:{line:45,column:37}}),n))?o:"")+",\n"},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" headers: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersHeader"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:51,column:16},end:{line:53,column:25}}}))?o:"")+" },\n"},24:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" query: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersQuery"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:58,column:16},end:{line:60,column:25}}}))?o:"")+" },\n"},26:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" formData: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersForm"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:65,column:16},end:{line:67,column:25}}}))?o:"")+" },\n"},28:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" body: "+(null!=(o=e.lambda(e.strict(l(n,"parametersBody"),"name",{start:{line:71,column:21},end:{line:71,column:40}}),n))?o:"")+",\n"},30:function(e,n,t,r,a){var o;return" responseHeader: '"+(null!=(o=e.lambda(e.strict(n,"responseHeader",{start:{line:74,column:32},end:{line:74,column:46}}),n))?o:"")+"',\n"},32:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" errors: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"errors"),{name:"each",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:78,column:16},end:{line:80,column:25}}}))?o:"")+" },\n"},33:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"code",{start:{line:79,column:19},end:{line:79,column:23}}),n))?o:"")+": `"+(null!=(o=i(l(n,"description",{start:{line:79,column:32},end:{line:79,column:43}}),n))?o:"")+"`,\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+"import { request as __request } from '../core/request';\n"+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"useVersion"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"\nexport class "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:13,column:16},end:{line:13,column:20}}),n))?o:"")+" {\n\n"+(null!=(o=i(t,"each").call(l,i(n,"operations"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:4},end:{line:87,column:13}}}))?o:"")+"}"},usePartial:!0,useData:!0},on={1:function(e,n,t,r,a){return"\nexport { ApiError } from './core/ApiError';\nexport { OpenAPI } from './core/OpenAPI';\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:21,column:7}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:20,column:9}}}))?o:"")},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:7}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:12,column:12},end:{line:12,column:16}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:12,column:40},end:{line:12,column:44}}),n))?o:"")+"';\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export type { "+(null!=(o=i(l(n,"name",{start:{line:14,column:17},end:{line:14,column:21}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:14,column:45},end:{line:14,column:49}}),n))?o:"")+"';\n"},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:0},end:{line:29,column:7}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:9}}}))?o:"")},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { $"+(null!=(o=i(l(n,"name",{start:{line:27,column:13},end:{line:27,column:17}}),n))?o:"")+" } from './schemas/$"+(null!=(o=i(l(n,"name",{start:{line:27,column:43},end:{line:27,column:47}}),n))?o:"")+"';\n"},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"if",hash:{},fn:e.program(18,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:37,column:7}}}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"each",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:34,column:0},end:{line:36,column:9}}}))?o:"")},19:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:35,column:12},end:{line:35,column:16}}),n))?o:"")+" } from './services/"+(null!=(o=i(l(n,"name",{start:{line:35,column:42},end:{line:35,column:46}}),n))?o:"")+"';\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportCore"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportModels"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportSchemas"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:30,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportServices"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:31,column:0},end:{line:38,column:7}}}))?o:"")},usePartial:!0,useData:!0},ln={1:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:51}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:86}}}))?o:"")},2:function(e,n,t,r,a){return"Blob"},4:function(e,n,t,r,a){return"Buffer | ArrayBuffer | ArrayBufferView"},6:function(e,n,t,r,a){var o;return null!=(o=e.lambda(e.strict(n,"base",{start:{line:6,column:3},end:{line:6,column:7}}),n))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"base"),"File",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:13}}}))?o:""},useData:!0},sn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:27,column:11}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:10,column:20},end:{line:10,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:4},end:{line:24,column:13}}}))?o:"")+"\n}\n"},5:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:4},end:{line:17,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:18,column:19},end:{line:18,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:8},end:{line:21,column:17}}}))?o:"")+" }\n\n"},6:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:15,column:10},end:{line:15,column:21}}),n))?o:"")+"\n */\n"},8:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:20,column:11},end:{line:20,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:20,column:24},end:{line:20,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(i(r,"type"),n,{name:"type",hash:{parent:i(n,"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";\n"+(null!=(o=i(t,"if").call(l,i(n,"enums"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:28,column:7}}}))?o:"")},usePartial:!0,useData:!0},un={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?o:"")+" "+(null!=(o=i(l(n,"name",{start:{line:13,column:7},end:{line:13,column:11}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:13,column:20},end:{line:13,column:25}}),n))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?o:"")+"}"},useData:!0},pn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?i:"")+" "+(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:13,column:22},end:{line:13,column:26}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+";\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:36,column:11}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:19,column:20},end:{line:19,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:4},end:{line:33,column:13}}}))?o:"")+"\n}\n"},8:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:22,column:4},end:{line:26,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:27,column:19},end:{line:27,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:8},end:{line:30,column:17}}}))?o:"")+" }\n\n"},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:29,column:11},end:{line:29,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:29,column:24},end:{line:29,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?i:"")+"export type "+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?i:"")+" = {\n"+(null!=(i=u(t,"each").call(s,u(n,"properties"),{name:"each",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?i:"")+"}\n"+(null!=(i=u(t,"if").call(s,u(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:37,column:7}}}))?i:"")},usePartial:!0,useData:!0,useDepths:!0},cn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},mn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */"},useData:!0},dn={1:function(e,n,t,r,a){return" | null"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isNullable"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:32}}}))?o:""},useData:!0},fn={1:function(e,n,t,r,a){return"readonly "},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:34}}}))?o:""},useData:!0},hn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.program(4,a,0),data:a,loc:{start:{line:2,column:0},end:{line:2,column:54}}}))?o:""},2:function(e,n,t,r,a){return"?"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:23},end:{line:2,column:43}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:64}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:22},end:{line:4,column:53}}}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},useData:!0},yn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:2,column:0},end:{line:18,column:7}}}))?o:""},2:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:"")+"}: {\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:11,column:9}}}))?o:"")+"}"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:3},end:{line:5,column:7}}),n))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:10},end:{line:5,column:48}}}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" = "+(null!=(o=e.lambda(e.strict(n,"default",{start:{line:5,column:31},end:{line:5,column:38}}),n))?o:"")},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"/** "+(null!=(o=i(l(n,"description",{start:{line:9,column:7},end:{line:9,column:18}}),n))?o:"")+" **/\n"+(null!=(o=i(l(n,"name",{start:{line:10,column:3},end:{line:10,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(s(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))?o:"")},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:16,column:3},end:{line:16,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:36},end:{line:16,column:74}}}))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:19,column:7}}}))?o:""},usePartial:!0,useData:!0},vn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:66}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:26},end:{line:2,column:57}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){return"void"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Pn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaInterface"),n,{name:"schemaInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:17,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaEnum"),n,{name:"schemaEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:17,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaArray"),n,{name:"schemaArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:17,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaDictionary"),n,{name:"schemaDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:17,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaComposition"),n,{name:"schemaComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(16,a,0),data:a,loc:{start:{line:11,column:0},end:{line:17,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(17,a,0),data:a,loc:{start:{line:13,column:0},end:{line:17,column:0}}}))?o:""},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaGeneric"),n,{name:"schemaGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?o:""},usePartial:!0,useData:!0},gn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'array',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},bn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:46},end:{line:3,column:76}}}))?o:"")},2:function(e,n,t,r,a){return", "},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:5,column:19},end:{line:5,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:8,column:19},end:{line:8,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: '"+(null!=(o=e.lambda(e.strict(n,"export",{start:{line:2,column:13},end:{line:2,column:19}}),n))?o:"")+"',\n contains: ["+(null!=(o=i(t,"each").call(l,i(n,"properties"),{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:15},end:{line:3,column:85}}}))?o:"")+"],\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},On={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'dictionary',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},xn={1:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:4,column:19},end:{line:4,column:29}}),n))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:7,column:19},end:{line:7,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'Enum',\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"}"},useData:!0},kn={1:function(e,n,t,r,a){var o;return" type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:3,column:14},end:{line:3,column:18}}),n))?o:"")+"',\n"},3:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:6,column:19},end:{line:6,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:9,column:19},end:{line:9,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:12,column:19},end:{line:12,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" format: '"+(null!=(o=e.lambda(e.strict(n,"format",{start:{line:15,column:16},end:{line:15,column:22}}),n))?o:"")+"',\n"},11:function(e,n,t,r,a){var o;return" maximum: "+(null!=(o=e.lambda(e.strict(n,"maximum",{start:{line:18,column:16},end:{line:18,column:23}}),n))?o:"")+",\n"},13:function(e,n,t,r,a){var o;return" exclusiveMaximum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMaximum",{start:{line:21,column:25},end:{line:21,column:41}}),n))?o:"")+",\n"},15:function(e,n,t,r,a){var o;return" minimum: "+(null!=(o=e.lambda(e.strict(n,"minimum",{start:{line:24,column:16},end:{line:24,column:23}}),n))?o:"")+",\n"},17:function(e,n,t,r,a){var o;return" exclusiveMinimum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMinimum",{start:{line:27,column:25},end:{line:27,column:41}}),n))?o:"")+",\n"},19:function(e,n,t,r,a){var o;return" multipleOf: "+(null!=(o=e.lambda(e.strict(n,"multipleOf",{start:{line:30,column:19},end:{line:30,column:29}}),n))?o:"")+",\n"},21:function(e,n,t,r,a){var o;return" maxLength: "+(null!=(o=e.lambda(e.strict(n,"maxLength",{start:{line:33,column:18},end:{line:33,column:27}}),n))?o:"")+",\n"},23:function(e,n,t,r,a){var o;return" minLength: "+(null!=(o=e.lambda(e.strict(n,"minLength",{start:{line:36,column:18},end:{line:36,column:27}}),n))?o:"")+",\n"},25:function(e,n,t,r,a){var o;return" pattern: '"+(null!=(o=e.lambda(e.strict(n,"pattern",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n"},27:function(e,n,t,r,a){var o;return" maxItems: "+(null!=(o=e.lambda(e.strict(n,"maxItems",{start:{line:42,column:17},end:{line:42,column:25}}),n))?o:"")+",\n"},29:function(e,n,t,r,a){var o;return" minItems: "+(null!=(o=e.lambda(e.strict(n,"minItems",{start:{line:45,column:17},end:{line:45,column:25}}),n))?o:"")+",\n"},31:function(e,n,t,r,a){var o;return" uniqueItems: "+(null!=(o=e.lambda(e.strict(n,"uniqueItems",{start:{line:48,column:20},end:{line:48,column:31}}),n))?o:"")+",\n"},33:function(e,n,t,r,a){var o;return" maxProperties: "+(null!=(o=e.lambda(e.strict(n,"maxProperties",{start:{line:51,column:22},end:{line:51,column:35}}),n))?o:"")+",\n"},35:function(e,n,t,r,a){var o;return" minProperties: "+(null!=(o=e.lambda(e.strict(n,"minProperties",{start:{line:54,column:22},end:{line:54,column:35}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"if").call(l,i(n,"type"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:10,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"format"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maximum"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:19,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMaximum"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minimum"),{name:"if",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMinimum"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"multipleOf"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:29,column:0},end:{line:31,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxLength"),{name:"if",hash:{},fn:e.program(21,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:34,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minLength"),{name:"if",hash:{},fn:e.program(23,a,0),inverse:e.noop,data:a,loc:{start:{line:35,column:0},end:{line:37,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"pattern"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:38,column:0},end:{line:40,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxItems"),{name:"if",hash:{},fn:e.program(27,a,0),inverse:e.noop,data:a,loc:{start:{line:41,column:0},end:{line:43,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minItems"),{name:"if",hash:{},fn:e.program(29,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"uniqueItems"),{name:"if",hash:{},fn:e.program(31,a,0),inverse:e.noop,data:a,loc:{start:{line:47,column:0},end:{line:49,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxProperties"),{name:"if",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:50,column:0},end:{line:52,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minProperties"),{name:"if",hash:{},fn:e.program(35,a,0),inverse:e.noop,data:a,loc:{start:{line:53,column:0},end:{line:55,column:7}}}))?o:"")+"}"},useData:!0},Rn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:11},end:{line:5,column:15}}),n))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:13,column:19},end:{line:13,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:16,column:19},end:{line:16,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n properties: {\n"+(null!=(o=i(t,"if").call(l,i(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+" },\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},wn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeInterface"),n,{name:"typeInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"reference",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:19,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeReference"),n,{name:"typeReference",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:19,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeEnum"),n,{name:"typeEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:19,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeArray"),n,{name:"typeArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeDictionary"),n,{name:"typeDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(18,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeUnion"),n,{name:"typeUnion",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(19,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},20:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeIntersection"),n,{name:"typeIntersection",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeGeneric"),n,{name:"typeGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:19,column:11}}}))?o:""},usePartial:!0,useData:!0},qn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"type"),l(n,"link"),{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Cn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},jn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:65}}}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"value",{start:{line:2,column:17},end:{line:2,column:22}}),n))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:56}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parent"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(1,a,0),data:a,loc:{start:{line:3,column:0},end:{line:7,column:0}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(l(n,"parent",{start:{line:4,column:3},end:{line:4,column:9}}),n))?o:"")+"."+(null!=(o=i(l(n,"name",{start:{line:4,column:16},end:{line:4,column:20}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:9}}}))?o:""},usePartial:!0,useData:!0},An={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},In={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:14,column:9}}}))?i:"")+"}"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:8,column:7}}}))?i:"")+(null!=(i=u(t,"if").call(s,u(l[1],"parent"),{name:"if",hash:{},fn:e.program(5,a,0,o,l),inverse:e.program(7,a,0,o,l),data:a,loc:{start:{line:9,column:0},end:{line:13,column:7}}}))?i:"")},3:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:6,column:6},end:{line:6,column:17}}),n))?o:"")+"\n */\n"},5:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:10,column:18},end:{line:10,column:22}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+",\n"},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:12,column:18},end:{line:12,column:22}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},9:function(e,n,t,r,a){return"any"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(9,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:18,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},En={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" & "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},Hn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},Dn={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0};function Sn(){p.registerHelper("equals",(function(e,n,t){return e===n?t.fn(this):t.inverse(this)})),p.registerHelper("notEquals",(function(e,n,t){return e!==n?t.fn(this):t.inverse(this)}));const e={index:p.template(on),exports:{model:p.template(tn),schema:p.template(rn),service:p.template(an)},core:{settings:p.template(ze),apiError:p.template(ge),apiRequestOptions:p.template(be),apiResult:p.template(Oe),request:p.template(Ke)}};return p.registerPartial("exportEnum",p.template(un)),p.registerPartial("exportInterface",p.template(pn)),p.registerPartial("exportComposition",p.template(sn)),p.registerPartial("exportType",p.template(cn)),p.registerPartial("header",p.template(mn)),p.registerPartial("isNullable",p.template(dn)),p.registerPartial("isReadOnly",p.template(fn)),p.registerPartial("isRequired",p.template(hn)),p.registerPartial("parameters",p.template(yn)),p.registerPartial("result",p.template(vn)),p.registerPartial("schema",p.template(Pn)),p.registerPartial("schemaArray",p.template(gn)),p.registerPartial("schemaDictionary",p.template(On)),p.registerPartial("schemaEnum",p.template(xn)),p.registerPartial("schemaGeneric",p.template(kn)),p.registerPartial("schemaInterface",p.template(Rn)),p.registerPartial("schemaComposition",p.template(bn)),p.registerPartial("type",p.template(wn)),p.registerPartial("typeArray",p.template(qn)),p.registerPartial("typeDictionary",p.template(Cn)),p.registerPartial("typeEnum",p.template(jn)),p.registerPartial("typeGeneric",p.template(An)),p.registerPartial("typeInterface",p.template(In)),p.registerPartial("typeReference",p.template(Hn)),p.registerPartial("typeUnion",p.template(Dn)),p.registerPartial("typeIntersection",p.template(En)),p.registerPartial("base",p.template(ln)),p.registerPartial("functions/catchErrors",p.template(Ae)),p.registerPartial("functions/getFormData",p.template(Ie)),p.registerPartial("functions/getQueryString",p.template(Ee)),p.registerPartial("functions/getUrl",p.template(He)),p.registerPartial("functions/isBinary",p.template(De)),p.registerPartial("functions/isBlob",p.template(Se)),p.registerPartial("functions/isDefined",p.template($e)),p.registerPartial("functions/isString",p.template(Ne)),p.registerPartial("functions/isStringWithValue",p.template(Be)),p.registerPartial("functions/isSuccess",p.template(Te)),p.registerPartial("functions/resolve",p.template(Le)),p.registerPartial("fetch/getHeaders",p.template(xe)),p.registerPartial("fetch/getRequestBody",p.template(ke)),p.registerPartial("fetch/getResponseBody",p.template(Re)),p.registerPartial("fetch/getResponseHeader",p.template(we)),p.registerPartial("fetch/sendRequest",p.template(Ce)),p.registerPartial("fetch/request",p.template(qe)),p.registerPartial("fetch/responseType",p.template(je)),p.registerPartial("xhr/getHeaders",p.template(Je)),p.registerPartial("xhr/getRequestBody",p.template(Ze)),p.registerPartial("xhr/getResponseBody",p.template(Ge)),p.registerPartial("xhr/getResponseHeader",p.template(Xe)),p.registerPartial("xhr/sendRequest",p.template(en)),p.registerPartial("xhr/request",p.template(Ye)),p.registerPartial("xhr/responseType",p.template(nn)),p.registerPartial("node/getHeaders",p.template(Me)),p.registerPartial("node/getRequestBody",p.template(Ue)),p.registerPartial("node/getResponseBody",p.template(Fe)),p.registerPartial("node/getResponseHeader",p.template(_e)),p.registerPartial("node/sendRequest",p.template(Ve)),p.registerPartial("node/request",p.template(We)),p.registerPartial("node/responseType",p.template(Qe)),e}function $n(n){let t=0,r=n.split(e.EOL);return r=r.map((e=>{e=e.trim().replace(/^\*/g," *");let n=t;(e.endsWith("(")||e.endsWith("{")||e.endsWith("["))&&t++,(e.startsWith(")")||e.startsWith("}")||e.startsWith("]"))&&n&&(t--,n--);const r=`${" ".repeat(n)}${e}`;return""===r.trim()?"":r})),r.join(e.EOL)}async function Nn(e,n,t,a,o,l,i,s,u,p){const c=r.resolve(process.cwd(),t),m=r.resolve(c,"core"),d=r.resolve(c,"models"),f=r.resolve(c,"schemas"),h=r.resolve(c,"services");if(y=process.cwd(),v=t,!r.relative(v,y).startsWith(".."))throw new Error("Output folder is not a subdirectory of the current working directory");var y,v;i&&(await se(m),await ie(m),await async function(e,n,t,a){const o={httpClient:a,server:e.server,version:e.version};await oe(r.resolve(t,"OpenAPI.ts"),n.core.settings(o)),await oe(r.resolve(t,"ApiError.ts"),n.core.apiError({})),await oe(r.resolve(t,"ApiRequestOptions.ts"),n.core.apiRequestOptions({})),await oe(r.resolve(t,"ApiResult.ts"),n.core.apiResult({})),await oe(r.resolve(t,"request.ts"),n.core.request(o))}(e,n,m,a)),s&&(await se(h),await ie(h),await async function(e,n,t,a,o,l){for(const i of e){const e=r.resolve(t,`${i.name}.ts`),s=i.operations.some((e=>e.path.includes("OpenAPI.VERSION"))),u=n.exports.service(Object.assign(Object.assign({},i),{httpClient:a,useUnionTypes:o,useVersion:s,useOptions:l}));await oe(e,$n(u))}}(e.services,n,h,a,l,o)),p&&(await se(f),await ie(f),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`$${l.name}.ts`),i=n.exports.schema(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,f,a,l)),u&&(await se(d),await ie(d),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`${l.name}.ts`),i=n.exports.model(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,d,a,l)),(i||s||p||u)&&(await ie(c),await async function(e,n,t,a,o,l,i,s){var u,p;await oe(r.resolve(t,"index.ts"),n.index({exportCore:o,exportServices:l,exportModels:i,exportSchemas:s,useUnionTypes:a,server:e.server,version:e.version,models:(p=e.models,p.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")}))),services:(u=e.services,u.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")})))}))}(e,n,c,l,i,s,u,p))}var Bn;(Bn=exports.HttpClient||(exports.HttpClient={})).FETCH="fetch",Bn.XHR="xhr",Bn.NODE="node",exports.generate=async function({input:e,output:n,httpClient:a=exports.HttpClient.FETCH,useOptions:o=!1,useUnionTypes:l=!1,exportCore:i=!0,exportServices:s=!0,exportModels:u=!0,exportSchemas:p=!1,write:c=!0}){const m="string"==typeof e?await async function(e){const n=r.extname(e).toLowerCase(),a=await ue(e);switch(n){case".yml":case".yaml":try{return t.safeLoad(a)}catch(n){throw new Error(`Could not parse OpenApi YAML: "${e}"`)}default:try{return JSON.parse(a)}catch(n){throw new Error(`Could not parse OpenApi JSON: "${e}"`)}}}(e):e,d=function(e){const n=e.swagger||e.openapi;if("string"==typeof n){const e=n.charAt(0),t=Number.parseInt(e);if(t===pe.V2||t===pe.V3)return t}throw new Error(`Unsupported Open API version: "${String(n)}"`)}(m),f=Sn();switch(d){case pe.V2:{const e=Pe(N(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}case pe.V3:{const e=Pe(re(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}}}; From 7b9fbf4897f9e50eece0ac96e30842cb339cee61 Mon Sep 17 00:00:00 2001 From: Keith Broughton Date: Tue, 15 Dec 2020 10:01:25 +1100 Subject: [PATCH 13/17] Change const to let --- src/templates/core/node/request.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/core/node/request.hbs b/src/templates/core/node/request.hbs index 18532dfd4..364252e83 100644 --- a/src/templates/core/node/request.hbs +++ b/src/templates/core/node/request.hbs @@ -68,7 +68,7 @@ export async function request(options: ApiRequestOptions): Promise { const responseBody = await getResponseBody(response); const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader); - const result: ApiResult = { + let result: ApiResult = { url, ok: response.ok, status: response.status, From 684d05c7d6df31af6c641598c870015bd5d5f9a3 Mon Sep 17 00:00:00 2001 From: Keith Broughton Date: Tue, 15 Dec 2020 10:21:04 +1100 Subject: [PATCH 14/17] Push dist --- dist/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/index.js b/dist/index.js index b4068fb8a..78d760bee 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("os"),n=require("camelcase"),t=require("js-yaml"),r=require("path"),a=require("fs"),o=require("mkdirp"),l=require("rimraf"),i=require("util"),s=require("http"),u=require("https"),p=require("handlebars/runtime");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=c(n),d=c(o),f=c(l);function h(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}function y(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function v(e){return null!=e&&""!==e}function P(e){return Array.isArray(e)?e.filter(((e,n,t)=>t.indexOf(e)===n)).filter(v).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]}function g(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}function b(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function O(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const x=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function k(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function R(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=R(k(e[1])),r=R(k(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=r.type,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,x.has(a)){const e=function(e){return x.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=k(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function w(e,n,t=!1,r=""){var a;const o={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n["x-nullable"],isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(n.enum){const e=h(P(n.enum),n);if(e.length)return o.export="enum",o.type="string",o.base="string",o.enum.push(...e),o}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return o.export="enum",o.type="number",o.base="number",o.enum.push(...e),o}if("array"===n.type&&n.items){if(n.items.$ref){const e=R(n.items.$ref);return o.export="array",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.items);return o.export="array",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=R(n.additionalProperties.$ref);return o.export="dictionary",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.additionalProperties);return o.export="dictionary",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if(null===(a=n.allOf)||void 0===a?void 0:a.length){const t=function(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}(e,n.allOf,"all-of",w);return o.export=t.type,o.imports.push(...t.imports),o.enums.push(...t.enums),o.properties.push(...t.properties),o}if("object"===n.type){if(o.export="interface",o.type="any",o.base="any",n.properties){(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=R(l.$ref);a.push({name:b(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:b(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,w).forEach((e=>{o.imports.push(...e.imports),o.properties.push(e),"enum"===e.export&&o.enums.push(e)}))}return o}if(n.type){const e=R(n.type);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o}function q(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==n.export&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function C(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function j(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function A(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function I(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=j(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:C(n.name),type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n["x-nullable"],format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.enum){const e=h(P(n.enum),n);if(e.length)return t.export="enum",t.type="string",t.base="string",t.enum.push(...e),t.default=q(n,t),t}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return t.export="enum",t.type="number",t.base="number",t.enum.push(...e),t.default=q(n,t),t}if("array"===n.type&&n.items){const e=R(n.items.type);return t.export="array",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if("object"===n.type&&n.items){const e=R(n.items.type);return t.export="dictionary",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}{const r=w(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t.default=q(n,t),t}}if(n.type){const e=R(n.type);return t.export="generic",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}return t}(e,r);if("api-version"!==a.prop)switch(a.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"body":t.parametersBody=a,t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(A),t.parametersPath=t.parametersPath.sort(A),t.parametersQuery=t.parametersQuery.sort(A),t.parametersForm=t.parametersForm.sort(A),t.parametersCookie=t.parametersCookie.sort(A),t.parametersHeader=t.parametersHeader.sort(A),t}function E(e,n,t){const r={in:"response",name:"",code:t,description:y(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const t=w(e,n.schema);return r.export=t.export,r.type=t.type,r.base=t.base,r.template=t.template,r.link=t.link,r.isReadOnly=t.isReadOnly,r.isRequired=t.isRequired,r.isNullable=t.isNullable,r.format=t.format,r.maximum=t.maximum,r.exclusiveMaximum=t.exclusiveMaximum,r.minimum=t.minimum,r.exclusiveMinimum=t.exclusiveMinimum,r.multipleOf=t.multipleOf,r.maxLength=t.maxLength,r.minLength=t.minLength,r.maxItems=t.maxItems,r.minItems=t.minItems,r.uniqueItems=t.uniqueItems,r.maxProperties=t.maxProperties,r.minProperties=t.minProperties,r.pattern=O(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}return r}function H(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function D(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?D(e.link,n.link):t}function S(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>D(n,e)))===n))}function $(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${C(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:y(r.summary),description:y(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=I(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=j(e,n[r]),o=H(r);if(o){const n=E(e,a,o);t.push(n)}}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=S(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function N(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=(null===(n=e.schemes)||void 0===n?void 0:n[0])||"http",r=e.host,a=e.basePath||"";return r?`${t}://${r}${a}`:a}(e),models:function(e){const n=[];for(const t in e.definitions)if(e.definitions.hasOwnProperty(t)){const r=w(e,e.definitions[t],!0,R(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=I(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=$(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}function B(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function T(e){return null!=e&&""!==e}function L(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}function M(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==(null==n?void 0:n.export)&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function U(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function F(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const _=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function W(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function V(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=V(W(e[1])),r=V(W(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=`${r.type}`,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,_.has(a)){const e=function(e){return _.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=W(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function Q(e,n,t=!1,r=""){var a,o,l;const i={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n.nullable,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:F(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return i.export="reference",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}if(n.enum){const e=function(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}((s=n.enum,Array.isArray(s)?s.filter(((e,n,t)=>t.indexOf(e)===n)).filter(T).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]),n);if(e.length)return i.export="enum",i.type="string",i.base="string",i.enum.push(...e),i.default=M(n,i),i}var s;if(("int"===n.type||"integer"===n.type)&&n.description){const e=function(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}(n.description);if(e.length)return i.export="enum",i.type="number",i.base="number",i.enum.push(...e),i.default=M(n,i),i}if("array"===n.type&&n.items){if(n.items.$ref){const e=V(n.items.$ref);return i.export="array",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.items);return i.export="array",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=V(n.additionalProperties.$ref);return i.export="dictionary",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.additionalProperties);return i.export="dictionary",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if(null===(a=n.oneOf)||void 0===a?void 0:a.length){const t=L(e,n.oneOf,"one-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(o=n.anyOf)||void 0===o?void 0:o.length){const t=L(e,n.anyOf,"any-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(l=n.allOf)||void 0===l?void 0:l.length){const t=L(e,n.allOf,"all-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if("object"===n.type){if(i.export="interface",i.type="any",i.base="any",n.properties){i.default=M(n,i);(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=V(l.$ref);a.push({name:U(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:U(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,Q).forEach((e=>{i.imports.push(...e.imports),i.properties.push(e),"enum"===e.export&&i.enums.push(e)}))}return i}if(n.type){const e=V(n.type);return i.export="generic",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}return i}function z(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function K(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function J(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function Z(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=K(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:z(n.name),type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}if(n.schema){if(n.schema.$ref){const e=V(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=M(n.schema),t}{const r=Q(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.isReadOnly=r.isReadOnly,t.isRequired=t.isRequired||r.isRequired,t.isNullable=t.isNullable||r.isNullable,t.format=r.format,t.maximum=r.maximum,t.exclusiveMaximum=r.exclusiveMaximum,t.minimum=r.minimum,t.exclusiveMinimum=r.exclusiveMinimum,t.multipleOf=r.multipleOf,t.maxLength=r.maxLength,t.minLength=r.minLength,t.maxItems=r.maxItems,t.minItems=r.minItems,t.uniqueItems=r.uniqueItems,t.maxProperties=r.maxProperties,t.minProperties=r.minProperties,t.pattern=F(r.pattern),t.default=r.default,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t}}return t}(e,r);if("api-version"!==a.prop)switch(r.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"cookie":t.parametersCookie.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(J),t.parametersPath=t.parametersPath.sort(J),t.parametersQuery=t.parametersQuery.sort(J),t.parametersForm=t.parametersForm.sort(J),t.parametersCookie=t.parametersCookie.sort(J),t.parametersHeader=t.parametersHeader.sort(J),t}function G(e,n){return n["application/json-patch+json"]&&n["application/json-patch+json"].schema||n["application/json"]&&n["application/json"].schema||n["text/json"]&&n["text/json"].schema||n["text/plain"]&&n["text/plain"].schema||n["multipart/mixed"]&&n["multipart/mixed"].schema||n["multipart/related"]&&n["multipart/related"].schema||n["multipart/batch"]&&n["multipart/batch"].schema||null}function X(e,n,t){const r={in:"response",name:"",code:t,description:B(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.content){const t=G(0,n.content);if(t){if(null==t?void 0:t.$ref){const e=V(t.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const n=Q(e,t);return r.export=n.export,r.type=n.type,r.base=n.base,r.template=n.template,r.link=n.link,r.isReadOnly=n.isReadOnly,r.isRequired=n.isRequired,r.isNullable=n.isNullable,r.format=n.format,r.maximum=n.maximum,r.exclusiveMaximum=n.exclusiveMaximum,r.minimum=n.minimum,r.exclusiveMinimum=n.exclusiveMinimum,r.multipleOf=n.multipleOf,r.maxLength=n.maxLength,r.minLength=n.minLength,r.maxItems=n.maxItems,r.minItems=n.minItems,r.uniqueItems=n.uniqueItems,r.maxProperties=n.maxProperties,r.minProperties=n.minProperties,r.pattern=F(n.pattern),r.imports.push(...n.imports),r.enum.push(...n.enum),r.enums.push(...n.enums),r.properties.push(...n.properties),r}}}return r}function Y(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function ee(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?ee(e.link,n.link):t}function ne(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>ee(n,e)))===n))}function te(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${z(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:B(r.summary),description:B(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=Z(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.requestBody){const n=function(e,n){const t={in:"body",prop:"body",export:"interface",name:"requestBody",type:"any",base:"any",template:null,link:null,description:B(n.description),default:void 0,isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.content){const r=G(0,n.content);if(r){if(null==r?void 0:r.$ref){const e=V(r.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}{const n=Q(e,r);return t.export=n.export,t.type=n.type,t.base=n.base,t.template=n.template,t.link=n.link,t.isReadOnly=n.isReadOnly,t.isRequired=t.isRequired||n.isRequired,t.isNullable=t.isNullable||n.isNullable,t.format=n.format,t.maximum=n.maximum,t.exclusiveMaximum=n.exclusiveMaximum,t.minimum=n.minimum,t.exclusiveMinimum=n.exclusiveMinimum,t.multipleOf=n.multipleOf,t.maxLength=n.maxLength,t.minLength=n.minLength,t.maxItems=n.maxItems,t.minItems=n.minItems,t.uniqueItems=n.uniqueItems,t.maxProperties=n.maxProperties,t.minProperties=n.minProperties,t.pattern=F(n.pattern),t.imports.push(...n.imports),t.enum.push(...n.enum),t.enums.push(...n.enums),t.properties.push(...n.properties),t}}}return t}(e,K(e,r.requestBody));p.imports.push(...n.imports),p.parameters.push(n),p.parameters=p.parameters.sort(J),p.parametersBody=n}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=K(e,n[r]),o=Y(r);o&&t.push(X(e,a,o))}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=ne(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function re(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=null===(n=e.servers)||void 0===n?void 0:n[0],r=(null==t?void 0:t.variables)||{};let a=(null==t?void 0:t.url)||"";for(const e in r)r.hasOwnProperty(e)&&(a=a.replace(`{${e}}`,r[e].default));return a}(e),models:function(e){const n=[];if(e.components)for(const t in e.components.schemas)if(e.components.schemas.hasOwnProperty(t)){const r=Q(e,e.components.schemas[t],!0,V(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=Z(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=te(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}const ae=i.promisify(a.readFile),oe=i.promisify(a.writeFile),le=(i.promisify(a.copyFile),i.promisify(a.exists)),ie=d.default,se=e=>new Promise(((n,t)=>{f.default(e,(e=>{e?t(e):n()}))}));async function ue(e){return e.startsWith("https://")?await async function(e){return new Promise(((n,t)=>{u.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):e.startsWith("http://")?await async function(e){return new Promise(((n,t)=>{s.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):await async function(e){const n=r.resolve(process.cwd(),e);if(await le(n))try{return(await ae(n,"utf8")).toString()}catch(e){throw new Error(`Could not read OpenApi spec: "${n}"`)}throw new Error(`Could not find OpenApi spec: "${n}"`)}(e)}var pe;function ce(e){return e.enum.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function me(e){return e.enums.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function de(e,n){const t=e.toLowerCase(),r=n.toLowerCase();return t.localeCompare(r,"en")}function fe(e,n,t){return t.indexOf(e)===n}function he(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}function ye(e,n){const t=[];return e.map(n).forEach((e=>{t.push(...e)})),t}function ve(e){const n=Object.assign({},e);return n.operations=function(e){const n=new Map;return e.operations.map((e=>{const t=Object.assign({},e);t.imports.push(...ye(t.parameters,(e=>e.imports))),t.imports.push(...ye(t.results,(e=>e.imports)));const r=t.name,a=n.get(r)||0;return a>0&&(t.name=`${r}${a}`),n.set(r,a+1),t}))}(n),n.operations.forEach((e=>{n.imports.push(...e.imports)})),n.imports=function(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}(n),n}function Pe(e){return Object.assign(Object.assign({},e),{models:e.models.map((e=>function(e){return Object.assign(Object.assign({},e),{imports:he(e),enums:me(e),enum:ce(e)})}(e))),services:e.services.map((e=>ve(e)))})}!function(e){e[e.V2=2]="V2",e[e.V3=3]="V3"}(pe||(pe={}));var ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}"},usePartial:!0,useData:!0},be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiRequestOptions = {\n readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n readonly path: string;\n readonly cookies?: Record;\n readonly headers?: Record;\n readonly query?: Record;\n readonly formData?: Record;\n readonly body?: any;\n readonly responseHeader?: string;\n readonly errors?: Record;\n}"},usePartial:!0,useData:!0},Oe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiResult = {\n readonly url: string;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly body: any;\n}"},usePartial:!0,useData:!0},xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},ke={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Re={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},we={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getRequestBody"),n,{name:"fetch/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/sendRequest"),n,{name:"fetch/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseHeader"),n,{name:"fetch/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseBody"),n,{name:"fetch/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n\n\n return result;\n}"},usePartial:!0,useData:!0},Ce={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = Response;"},useData:!0},Ae={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}"},useData:!0},Ie={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getFormData(params: Record): FormData {\n const formData = new FormData();\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n formData.append(key, value);\n }\n });\n return formData;\n}"},useData:!0},Ee={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getQueryString(params: Record): string {\n const qs: string[] = [];\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(value => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n });\n } else {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n return '';\n}"},useData:!0},He={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getUrl(options: ApiRequestOptions): string {\n const path = options.path.replace(/[:]/g, '_');\n const url = `${OpenAPI.BASE}${path}`;\n\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n}"},useData:!0},De={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {\n const isBuffer = Buffer.isBuffer(value);\n const isArrayBuffer = types.isArrayBuffer(value);\n const isArrayBufferView = types.isArrayBufferView(value);\n return isBuffer || isArrayBuffer || isArrayBufferView;\n}"},useData:!0},Se={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}"},useData:!0},$e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}"},useData:!0},Ne={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isString(value: any): value is string {\n return typeof value === 'string';\n}"},useData:!0},Be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}"},useData:!0},Te={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isSuccess(status: number): boolean {\n return status >= 200 && status < 300;\n}"},useData:!0},Le={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type Resolver = () => Promise;\n\nasync function resolve(resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)();\n }\n return resolver;\n}"},useData:!0},Me={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = Buffer.from(`${username}:${password}`).toString('base64');\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBinary(options.body)) {\n headers.append('Content-Type', 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ue={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBinary(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Fe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},_e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},We={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport FormData from 'form-data';\nimport fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';\nimport { types } from 'util';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBinary"),n,{name:"functions/isBinary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getHeaders"),n,{name:"node/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getRequestBody"),n,{name:"node/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/sendRequest"),n,{name:"node/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseHeader"),n,{name:"node/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseBody"),n,{name:"node/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n* Request using node-fetch client\n* @param options The request options from the the service\n* @result ApiResult\n* @throws ApiError\n*/\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},Ve={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},Qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"import { Response as ResponseImplementation } from 'node-fetch';"},useData:!0},ze={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/responseType"),n,{name:"fetch/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/responseType"),n,{name:"xhr/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/responseType"),n,{name:"node/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(u(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:66}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:6,column:68}}}))?o:"")+"\n\ntype Resolver = () => Promise;\ntype Headers = Record;\n\nimport { ApiResult } from './ApiResult';\nimport { ApiRequestOptions } from './ApiRequestOptions';\n\nexport interface RequestHookParams {\n url: string;\n options: ApiRequestOptions;\n}\n\nexport interface ResponseHookParams {\n url: string;\n result: ApiResult;\n response?: ResponseImplementation;\n}\n\ntype Config = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n REQUEST_HOOK?(params: RequestHookParams): Promise;\n RESPONSE_HOOK?(result: ResponseHookParams): Promise\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n}\n\nexport const OpenAPI: Config = {\n BASE: '"+(null!=(o=s(i(n,"server",{start:{line:38,column:14},end:{line:38,column:20}}),n))?o:"")+"',\n VERSION: '"+(null!=(o=s(i(n,"version",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n WITH_CREDENTIALS: false,\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n};"},usePartial:!0,useData:!0},Ke={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/request"),n,{name:"fetch/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/request"),n,{name:"xhr/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/request"),n,{name:"node/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:65}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:61}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:63}}}))?o:"")},usePartial:!0,useData:!0},Je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ze={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): any {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseBody(xhr: XMLHttpRequest): any {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},Xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(xhr: XMLHttpRequest, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},Ye={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isSuccess"),n,{name:"functions/isSuccess",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getRequestBody"),n,{name:"xhr/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/sendRequest"),n,{name:"xhr/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseHeader"),n,{name:"xhr/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseBody"),n,{name:"xhr/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using XHR client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},en={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n\n const xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = OpenAPI.WITH_CREDENTIALS;\n\n const headers = await getHeaders(options);\n headers.forEach((value: string, key: string) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise(resolve => {\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n resolve(xhr);\n }\n };\n xhr.send(getRequestBody(options));\n });\n}"},useData:!0},nn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = XMLHttpRequest;"},useData:!0},tn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:9}}}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from './"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportInterface"),n,{name:"exportInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:12,column:0},end:{line:22,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportComposition"),n,{name:"exportComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(10,a,0),data:a,loc:{start:{line:14,column:0},end:{line:22,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:16,column:0},end:{line:22,column:0}}}))?o:""},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(12,a,0),inverse:e.program(14,a,0),data:a,loc:{start:{line:18,column:0},end:{line:22,column:0}}}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportEnum"),n,{name:"exportEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportType"),n,{name:"exportType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:8,column:7}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:10,column:0},end:{line:22,column:11}}}))?o:"")},usePartial:!0,useData:!0},rn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport const $"+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:3,column:17},end:{line:3,column:21}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},an={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from '../models/"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){return"import { OpenAPI } from '../core/OpenAPI';\n"},6:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" /**\n"+(null!=(o=u(t,"if").call(l,u(n,"deprecated"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:4},end:{line:19,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"summary"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:4},end:{line:22,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"description"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:4},end:{line:25,column:11}}}))?o:"")+(null!=(o=u(t,"unless").call(l,u(u(a,"root"),"useOptions"),{name:"unless",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:4},end:{line:32,column:15}}}))?o:"")+(null!=(o=u(t,"each").call(l,u(n,"results"),{name:"each",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:33,column:4},end:{line:35,column:13}}}))?o:"")+" * @throws ApiError\n */\n public static async "+(null!=(o=s(i(n,"name",{start:{line:38,column:27},end:{line:38,column:31}}),n))?o:"")+"("+(null!=(o=e.invokePartial(u(r,"parameters"),n,{name:"parameters",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"): Promise<"+(null!=(o=e.invokePartial(u(r,"result"),n,{name:"result",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"> {\n const result = await __request({\n method: '"+(null!=(o=s(i(n,"method",{start:{line:40,column:24},end:{line:40,column:30}}),n))?o:"")+"',\n path: `"+(null!=(o=s(i(n,"path",{start:{line:41,column:22},end:{line:41,column:26}}),n))?o:"")+"`,\n"+(null!=(o=u(t,"if").call(l,u(n,"parametersCookie"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:42,column:12},end:{line:48,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersHeader"),{name:"if",hash:{},fn:e.program(22,a,0),inverse:e.noop,data:a,loc:{start:{line:49,column:12},end:{line:55,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersQuery"),{name:"if",hash:{},fn:e.program(24,a,0),inverse:e.noop,data:a,loc:{start:{line:56,column:12},end:{line:62,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersForm"),{name:"if",hash:{},fn:e.program(26,a,0),inverse:e.noop,data:a,loc:{start:{line:63,column:12},end:{line:69,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersBody"),{name:"if",hash:{},fn:e.program(28,a,0),inverse:e.noop,data:a,loc:{start:{line:70,column:12},end:{line:72,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"responseHeader"),{name:"if",hash:{},fn:e.program(30,a,0),inverse:e.noop,data:a,loc:{start:{line:73,column:12},end:{line:75,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"errors"),{name:"if",hash:{},fn:e.program(32,a,0),inverse:e.noop,data:a,loc:{start:{line:76,column:12},end:{line:82,column:19}}}))?o:"")+" });\n return result.body;\n }\n\n"},7:function(e,n,t,r,a){return" * @deprecated\n"},9:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"summary",{start:{line:21,column:10},end:{line:21,column:17}}),n))?o:"")+"\n"},11:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:24,column:10},end:{line:24,column:21}}),n))?o:"")+"\n"},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:27,column:4},end:{line:31,column:11}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:4},end:{line:30,column:13}}}))?o:""},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @param "+(null!=(o=i(l(n,"name",{start:{line:29,column:17},end:{line:29,column:21}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:29,column:28},end:{line:29,column:39}}),n))?o:"")+"\n"},17:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @result "+(null!=(o=i(l(n,"type",{start:{line:34,column:18},end:{line:34,column:22}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:34,column:29},end:{line:34,column:40}}),n))?o:"")+"\n"},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" cookies: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersCookie"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:16},end:{line:46,column:25}}}))?o:"")+" },\n"},20:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" '"+(null!=(o=i(l(n,"prop",{start:{line:45,column:20},end:{line:45,column:24}}),n))?o:"")+"': "+(null!=(o=i(l(n,"name",{start:{line:45,column:33},end:{line:45,column:37}}),n))?o:"")+",\n"},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" headers: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersHeader"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:51,column:16},end:{line:53,column:25}}}))?o:"")+" },\n"},24:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" query: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersQuery"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:58,column:16},end:{line:60,column:25}}}))?o:"")+" },\n"},26:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" formData: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersForm"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:65,column:16},end:{line:67,column:25}}}))?o:"")+" },\n"},28:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" body: "+(null!=(o=e.lambda(e.strict(l(n,"parametersBody"),"name",{start:{line:71,column:21},end:{line:71,column:40}}),n))?o:"")+",\n"},30:function(e,n,t,r,a){var o;return" responseHeader: '"+(null!=(o=e.lambda(e.strict(n,"responseHeader",{start:{line:74,column:32},end:{line:74,column:46}}),n))?o:"")+"',\n"},32:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" errors: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"errors"),{name:"each",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:78,column:16},end:{line:80,column:25}}}))?o:"")+" },\n"},33:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"code",{start:{line:79,column:19},end:{line:79,column:23}}),n))?o:"")+": `"+(null!=(o=i(l(n,"description",{start:{line:79,column:32},end:{line:79,column:43}}),n))?o:"")+"`,\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+"import { request as __request } from '../core/request';\n"+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"useVersion"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"\nexport class "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:13,column:16},end:{line:13,column:20}}),n))?o:"")+" {\n\n"+(null!=(o=i(t,"each").call(l,i(n,"operations"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:4},end:{line:87,column:13}}}))?o:"")+"}"},usePartial:!0,useData:!0},on={1:function(e,n,t,r,a){return"\nexport { ApiError } from './core/ApiError';\nexport { OpenAPI } from './core/OpenAPI';\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:21,column:7}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:20,column:9}}}))?o:"")},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:7}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:12,column:12},end:{line:12,column:16}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:12,column:40},end:{line:12,column:44}}),n))?o:"")+"';\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export type { "+(null!=(o=i(l(n,"name",{start:{line:14,column:17},end:{line:14,column:21}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:14,column:45},end:{line:14,column:49}}),n))?o:"")+"';\n"},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:0},end:{line:29,column:7}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:9}}}))?o:"")},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { $"+(null!=(o=i(l(n,"name",{start:{line:27,column:13},end:{line:27,column:17}}),n))?o:"")+" } from './schemas/$"+(null!=(o=i(l(n,"name",{start:{line:27,column:43},end:{line:27,column:47}}),n))?o:"")+"';\n"},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"if",hash:{},fn:e.program(18,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:37,column:7}}}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"each",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:34,column:0},end:{line:36,column:9}}}))?o:"")},19:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:35,column:12},end:{line:35,column:16}}),n))?o:"")+" } from './services/"+(null!=(o=i(l(n,"name",{start:{line:35,column:42},end:{line:35,column:46}}),n))?o:"")+"';\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportCore"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportModels"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportSchemas"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:30,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportServices"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:31,column:0},end:{line:38,column:7}}}))?o:"")},usePartial:!0,useData:!0},ln={1:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:51}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:86}}}))?o:"")},2:function(e,n,t,r,a){return"Blob"},4:function(e,n,t,r,a){return"Buffer | ArrayBuffer | ArrayBufferView"},6:function(e,n,t,r,a){var o;return null!=(o=e.lambda(e.strict(n,"base",{start:{line:6,column:3},end:{line:6,column:7}}),n))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"base"),"File",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:13}}}))?o:""},useData:!0},sn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:27,column:11}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:10,column:20},end:{line:10,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:4},end:{line:24,column:13}}}))?o:"")+"\n}\n"},5:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:4},end:{line:17,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:18,column:19},end:{line:18,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:8},end:{line:21,column:17}}}))?o:"")+" }\n\n"},6:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:15,column:10},end:{line:15,column:21}}),n))?o:"")+"\n */\n"},8:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:20,column:11},end:{line:20,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:20,column:24},end:{line:20,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(i(r,"type"),n,{name:"type",hash:{parent:i(n,"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";\n"+(null!=(o=i(t,"if").call(l,i(n,"enums"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:28,column:7}}}))?o:"")},usePartial:!0,useData:!0},un={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?o:"")+" "+(null!=(o=i(l(n,"name",{start:{line:13,column:7},end:{line:13,column:11}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:13,column:20},end:{line:13,column:25}}),n))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?o:"")+"}"},useData:!0},pn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?i:"")+" "+(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:13,column:22},end:{line:13,column:26}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+";\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:36,column:11}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:19,column:20},end:{line:19,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:4},end:{line:33,column:13}}}))?o:"")+"\n}\n"},8:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:22,column:4},end:{line:26,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:27,column:19},end:{line:27,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:8},end:{line:30,column:17}}}))?o:"")+" }\n\n"},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:29,column:11},end:{line:29,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:29,column:24},end:{line:29,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?i:"")+"export type "+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?i:"")+" = {\n"+(null!=(i=u(t,"each").call(s,u(n,"properties"),{name:"each",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?i:"")+"}\n"+(null!=(i=u(t,"if").call(s,u(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:37,column:7}}}))?i:"")},usePartial:!0,useData:!0,useDepths:!0},cn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},mn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */"},useData:!0},dn={1:function(e,n,t,r,a){return" | null"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isNullable"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:32}}}))?o:""},useData:!0},fn={1:function(e,n,t,r,a){return"readonly "},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:34}}}))?o:""},useData:!0},hn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.program(4,a,0),data:a,loc:{start:{line:2,column:0},end:{line:2,column:54}}}))?o:""},2:function(e,n,t,r,a){return"?"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:23},end:{line:2,column:43}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:64}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:22},end:{line:4,column:53}}}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},useData:!0},yn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:2,column:0},end:{line:18,column:7}}}))?o:""},2:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:"")+"}: {\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:11,column:9}}}))?o:"")+"}"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:3},end:{line:5,column:7}}),n))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:10},end:{line:5,column:48}}}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" = "+(null!=(o=e.lambda(e.strict(n,"default",{start:{line:5,column:31},end:{line:5,column:38}}),n))?o:"")},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"/** "+(null!=(o=i(l(n,"description",{start:{line:9,column:7},end:{line:9,column:18}}),n))?o:"")+" **/\n"+(null!=(o=i(l(n,"name",{start:{line:10,column:3},end:{line:10,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(s(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))?o:"")},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:16,column:3},end:{line:16,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:36},end:{line:16,column:74}}}))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:19,column:7}}}))?o:""},usePartial:!0,useData:!0},vn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:66}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:26},end:{line:2,column:57}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){return"void"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Pn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaInterface"),n,{name:"schemaInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:17,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaEnum"),n,{name:"schemaEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:17,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaArray"),n,{name:"schemaArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:17,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaDictionary"),n,{name:"schemaDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:17,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaComposition"),n,{name:"schemaComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(16,a,0),data:a,loc:{start:{line:11,column:0},end:{line:17,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(17,a,0),data:a,loc:{start:{line:13,column:0},end:{line:17,column:0}}}))?o:""},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaGeneric"),n,{name:"schemaGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?o:""},usePartial:!0,useData:!0},gn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'array',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},bn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:46},end:{line:3,column:76}}}))?o:"")},2:function(e,n,t,r,a){return", "},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:5,column:19},end:{line:5,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:8,column:19},end:{line:8,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: '"+(null!=(o=e.lambda(e.strict(n,"export",{start:{line:2,column:13},end:{line:2,column:19}}),n))?o:"")+"',\n contains: ["+(null!=(o=i(t,"each").call(l,i(n,"properties"),{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:15},end:{line:3,column:85}}}))?o:"")+"],\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},On={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'dictionary',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},xn={1:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:4,column:19},end:{line:4,column:29}}),n))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:7,column:19},end:{line:7,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'Enum',\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"}"},useData:!0},kn={1:function(e,n,t,r,a){var o;return" type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:3,column:14},end:{line:3,column:18}}),n))?o:"")+"',\n"},3:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:6,column:19},end:{line:6,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:9,column:19},end:{line:9,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:12,column:19},end:{line:12,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" format: '"+(null!=(o=e.lambda(e.strict(n,"format",{start:{line:15,column:16},end:{line:15,column:22}}),n))?o:"")+"',\n"},11:function(e,n,t,r,a){var o;return" maximum: "+(null!=(o=e.lambda(e.strict(n,"maximum",{start:{line:18,column:16},end:{line:18,column:23}}),n))?o:"")+",\n"},13:function(e,n,t,r,a){var o;return" exclusiveMaximum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMaximum",{start:{line:21,column:25},end:{line:21,column:41}}),n))?o:"")+",\n"},15:function(e,n,t,r,a){var o;return" minimum: "+(null!=(o=e.lambda(e.strict(n,"minimum",{start:{line:24,column:16},end:{line:24,column:23}}),n))?o:"")+",\n"},17:function(e,n,t,r,a){var o;return" exclusiveMinimum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMinimum",{start:{line:27,column:25},end:{line:27,column:41}}),n))?o:"")+",\n"},19:function(e,n,t,r,a){var o;return" multipleOf: "+(null!=(o=e.lambda(e.strict(n,"multipleOf",{start:{line:30,column:19},end:{line:30,column:29}}),n))?o:"")+",\n"},21:function(e,n,t,r,a){var o;return" maxLength: "+(null!=(o=e.lambda(e.strict(n,"maxLength",{start:{line:33,column:18},end:{line:33,column:27}}),n))?o:"")+",\n"},23:function(e,n,t,r,a){var o;return" minLength: "+(null!=(o=e.lambda(e.strict(n,"minLength",{start:{line:36,column:18},end:{line:36,column:27}}),n))?o:"")+",\n"},25:function(e,n,t,r,a){var o;return" pattern: '"+(null!=(o=e.lambda(e.strict(n,"pattern",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n"},27:function(e,n,t,r,a){var o;return" maxItems: "+(null!=(o=e.lambda(e.strict(n,"maxItems",{start:{line:42,column:17},end:{line:42,column:25}}),n))?o:"")+",\n"},29:function(e,n,t,r,a){var o;return" minItems: "+(null!=(o=e.lambda(e.strict(n,"minItems",{start:{line:45,column:17},end:{line:45,column:25}}),n))?o:"")+",\n"},31:function(e,n,t,r,a){var o;return" uniqueItems: "+(null!=(o=e.lambda(e.strict(n,"uniqueItems",{start:{line:48,column:20},end:{line:48,column:31}}),n))?o:"")+",\n"},33:function(e,n,t,r,a){var o;return" maxProperties: "+(null!=(o=e.lambda(e.strict(n,"maxProperties",{start:{line:51,column:22},end:{line:51,column:35}}),n))?o:"")+",\n"},35:function(e,n,t,r,a){var o;return" minProperties: "+(null!=(o=e.lambda(e.strict(n,"minProperties",{start:{line:54,column:22},end:{line:54,column:35}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"if").call(l,i(n,"type"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:10,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"format"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maximum"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:19,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMaximum"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minimum"),{name:"if",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMinimum"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"multipleOf"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:29,column:0},end:{line:31,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxLength"),{name:"if",hash:{},fn:e.program(21,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:34,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minLength"),{name:"if",hash:{},fn:e.program(23,a,0),inverse:e.noop,data:a,loc:{start:{line:35,column:0},end:{line:37,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"pattern"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:38,column:0},end:{line:40,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxItems"),{name:"if",hash:{},fn:e.program(27,a,0),inverse:e.noop,data:a,loc:{start:{line:41,column:0},end:{line:43,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minItems"),{name:"if",hash:{},fn:e.program(29,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"uniqueItems"),{name:"if",hash:{},fn:e.program(31,a,0),inverse:e.noop,data:a,loc:{start:{line:47,column:0},end:{line:49,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxProperties"),{name:"if",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:50,column:0},end:{line:52,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minProperties"),{name:"if",hash:{},fn:e.program(35,a,0),inverse:e.noop,data:a,loc:{start:{line:53,column:0},end:{line:55,column:7}}}))?o:"")+"}"},useData:!0},Rn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:11},end:{line:5,column:15}}),n))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:13,column:19},end:{line:13,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:16,column:19},end:{line:16,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n properties: {\n"+(null!=(o=i(t,"if").call(l,i(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+" },\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},wn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeInterface"),n,{name:"typeInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"reference",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:19,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeReference"),n,{name:"typeReference",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:19,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeEnum"),n,{name:"typeEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:19,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeArray"),n,{name:"typeArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeDictionary"),n,{name:"typeDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(18,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeUnion"),n,{name:"typeUnion",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(19,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},20:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeIntersection"),n,{name:"typeIntersection",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeGeneric"),n,{name:"typeGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:19,column:11}}}))?o:""},usePartial:!0,useData:!0},qn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"type"),l(n,"link"),{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Cn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},jn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:65}}}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"value",{start:{line:2,column:17},end:{line:2,column:22}}),n))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:56}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parent"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(1,a,0),data:a,loc:{start:{line:3,column:0},end:{line:7,column:0}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(l(n,"parent",{start:{line:4,column:3},end:{line:4,column:9}}),n))?o:"")+"."+(null!=(o=i(l(n,"name",{start:{line:4,column:16},end:{line:4,column:20}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:9}}}))?o:""},usePartial:!0,useData:!0},An={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},In={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:14,column:9}}}))?i:"")+"}"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:8,column:7}}}))?i:"")+(null!=(i=u(t,"if").call(s,u(l[1],"parent"),{name:"if",hash:{},fn:e.program(5,a,0,o,l),inverse:e.program(7,a,0,o,l),data:a,loc:{start:{line:9,column:0},end:{line:13,column:7}}}))?i:"")},3:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:6,column:6},end:{line:6,column:17}}),n))?o:"")+"\n */\n"},5:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:10,column:18},end:{line:10,column:22}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+",\n"},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:12,column:18},end:{line:12,column:22}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},9:function(e,n,t,r,a){return"any"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(9,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:18,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},En={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" & "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},Hn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},Dn={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0};function Sn(){p.registerHelper("equals",(function(e,n,t){return e===n?t.fn(this):t.inverse(this)})),p.registerHelper("notEquals",(function(e,n,t){return e!==n?t.fn(this):t.inverse(this)}));const e={index:p.template(on),exports:{model:p.template(tn),schema:p.template(rn),service:p.template(an)},core:{settings:p.template(ze),apiError:p.template(ge),apiRequestOptions:p.template(be),apiResult:p.template(Oe),request:p.template(Ke)}};return p.registerPartial("exportEnum",p.template(un)),p.registerPartial("exportInterface",p.template(pn)),p.registerPartial("exportComposition",p.template(sn)),p.registerPartial("exportType",p.template(cn)),p.registerPartial("header",p.template(mn)),p.registerPartial("isNullable",p.template(dn)),p.registerPartial("isReadOnly",p.template(fn)),p.registerPartial("isRequired",p.template(hn)),p.registerPartial("parameters",p.template(yn)),p.registerPartial("result",p.template(vn)),p.registerPartial("schema",p.template(Pn)),p.registerPartial("schemaArray",p.template(gn)),p.registerPartial("schemaDictionary",p.template(On)),p.registerPartial("schemaEnum",p.template(xn)),p.registerPartial("schemaGeneric",p.template(kn)),p.registerPartial("schemaInterface",p.template(Rn)),p.registerPartial("schemaComposition",p.template(bn)),p.registerPartial("type",p.template(wn)),p.registerPartial("typeArray",p.template(qn)),p.registerPartial("typeDictionary",p.template(Cn)),p.registerPartial("typeEnum",p.template(jn)),p.registerPartial("typeGeneric",p.template(An)),p.registerPartial("typeInterface",p.template(In)),p.registerPartial("typeReference",p.template(Hn)),p.registerPartial("typeUnion",p.template(Dn)),p.registerPartial("typeIntersection",p.template(En)),p.registerPartial("base",p.template(ln)),p.registerPartial("functions/catchErrors",p.template(Ae)),p.registerPartial("functions/getFormData",p.template(Ie)),p.registerPartial("functions/getQueryString",p.template(Ee)),p.registerPartial("functions/getUrl",p.template(He)),p.registerPartial("functions/isBinary",p.template(De)),p.registerPartial("functions/isBlob",p.template(Se)),p.registerPartial("functions/isDefined",p.template($e)),p.registerPartial("functions/isString",p.template(Ne)),p.registerPartial("functions/isStringWithValue",p.template(Be)),p.registerPartial("functions/isSuccess",p.template(Te)),p.registerPartial("functions/resolve",p.template(Le)),p.registerPartial("fetch/getHeaders",p.template(xe)),p.registerPartial("fetch/getRequestBody",p.template(ke)),p.registerPartial("fetch/getResponseBody",p.template(Re)),p.registerPartial("fetch/getResponseHeader",p.template(we)),p.registerPartial("fetch/sendRequest",p.template(Ce)),p.registerPartial("fetch/request",p.template(qe)),p.registerPartial("fetch/responseType",p.template(je)),p.registerPartial("xhr/getHeaders",p.template(Je)),p.registerPartial("xhr/getRequestBody",p.template(Ze)),p.registerPartial("xhr/getResponseBody",p.template(Ge)),p.registerPartial("xhr/getResponseHeader",p.template(Xe)),p.registerPartial("xhr/sendRequest",p.template(en)),p.registerPartial("xhr/request",p.template(Ye)),p.registerPartial("xhr/responseType",p.template(nn)),p.registerPartial("node/getHeaders",p.template(Me)),p.registerPartial("node/getRequestBody",p.template(Ue)),p.registerPartial("node/getResponseBody",p.template(Fe)),p.registerPartial("node/getResponseHeader",p.template(_e)),p.registerPartial("node/sendRequest",p.template(Ve)),p.registerPartial("node/request",p.template(We)),p.registerPartial("node/responseType",p.template(Qe)),e}function $n(n){let t=0,r=n.split(e.EOL);return r=r.map((e=>{e=e.trim().replace(/^\*/g," *");let n=t;(e.endsWith("(")||e.endsWith("{")||e.endsWith("["))&&t++,(e.startsWith(")")||e.startsWith("}")||e.startsWith("]"))&&n&&(t--,n--);const r=`${" ".repeat(n)}${e}`;return""===r.trim()?"":r})),r.join(e.EOL)}async function Nn(e,n,t,a,o,l,i,s,u,p){const c=r.resolve(process.cwd(),t),m=r.resolve(c,"core"),d=r.resolve(c,"models"),f=r.resolve(c,"schemas"),h=r.resolve(c,"services");if(y=process.cwd(),v=t,!r.relative(v,y).startsWith(".."))throw new Error("Output folder is not a subdirectory of the current working directory");var y,v;i&&(await se(m),await ie(m),await async function(e,n,t,a){const o={httpClient:a,server:e.server,version:e.version};await oe(r.resolve(t,"OpenAPI.ts"),n.core.settings(o)),await oe(r.resolve(t,"ApiError.ts"),n.core.apiError({})),await oe(r.resolve(t,"ApiRequestOptions.ts"),n.core.apiRequestOptions({})),await oe(r.resolve(t,"ApiResult.ts"),n.core.apiResult({})),await oe(r.resolve(t,"request.ts"),n.core.request(o))}(e,n,m,a)),s&&(await se(h),await ie(h),await async function(e,n,t,a,o,l){for(const i of e){const e=r.resolve(t,`${i.name}.ts`),s=i.operations.some((e=>e.path.includes("OpenAPI.VERSION"))),u=n.exports.service(Object.assign(Object.assign({},i),{httpClient:a,useUnionTypes:o,useVersion:s,useOptions:l}));await oe(e,$n(u))}}(e.services,n,h,a,l,o)),p&&(await se(f),await ie(f),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`$${l.name}.ts`),i=n.exports.schema(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,f,a,l)),u&&(await se(d),await ie(d),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`${l.name}.ts`),i=n.exports.model(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,d,a,l)),(i||s||p||u)&&(await ie(c),await async function(e,n,t,a,o,l,i,s){var u,p;await oe(r.resolve(t,"index.ts"),n.index({exportCore:o,exportServices:l,exportModels:i,exportSchemas:s,useUnionTypes:a,server:e.server,version:e.version,models:(p=e.models,p.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")}))),services:(u=e.services,u.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")})))}))}(e,n,c,l,i,s,u,p))}var Bn;(Bn=exports.HttpClient||(exports.HttpClient={})).FETCH="fetch",Bn.XHR="xhr",Bn.NODE="node",exports.generate=async function({input:e,output:n,httpClient:a=exports.HttpClient.FETCH,useOptions:o=!1,useUnionTypes:l=!1,exportCore:i=!0,exportServices:s=!0,exportModels:u=!0,exportSchemas:p=!1,write:c=!0}){const m="string"==typeof e?await async function(e){const n=r.extname(e).toLowerCase(),a=await ue(e);switch(n){case".yml":case".yaml":try{return t.safeLoad(a)}catch(n){throw new Error(`Could not parse OpenApi YAML: "${e}"`)}default:try{return JSON.parse(a)}catch(n){throw new Error(`Could not parse OpenApi JSON: "${e}"`)}}}(e):e,d=function(e){const n=e.swagger||e.openapi;if("string"==typeof n){const e=n.charAt(0),t=Number.parseInt(e);if(t===pe.V2||t===pe.V3)return t}throw new Error(`Unsupported Open API version: "${String(n)}"`)}(m),f=Sn();switch(d){case pe.V2:{const e=Pe(N(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}case pe.V3:{const e=Pe(re(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}}}; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("os"),n=require("camelcase"),t=require("js-yaml"),r=require("path"),a=require("fs"),o=require("mkdirp"),l=require("rimraf"),i=require("util"),s=require("http"),u=require("https"),p=require("handlebars/runtime");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=c(n),d=c(o),f=c(l);function h(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}function y(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function v(e){return null!=e&&""!==e}function P(e){return Array.isArray(e)?e.filter(((e,n,t)=>t.indexOf(e)===n)).filter(v).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]}function g(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}function b(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function O(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const x=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function k(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function R(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=R(k(e[1])),r=R(k(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=r.type,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,x.has(a)){const e=function(e){return x.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=k(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function w(e,n,t=!1,r=""){var a;const o={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n["x-nullable"],isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(n.enum){const e=h(P(n.enum),n);if(e.length)return o.export="enum",o.type="string",o.base="string",o.enum.push(...e),o}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return o.export="enum",o.type="number",o.base="number",o.enum.push(...e),o}if("array"===n.type&&n.items){if(n.items.$ref){const e=R(n.items.$ref);return o.export="array",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.items);return o.export="array",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=R(n.additionalProperties.$ref);return o.export="dictionary",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.additionalProperties);return o.export="dictionary",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if(null===(a=n.allOf)||void 0===a?void 0:a.length){const t=function(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}(e,n.allOf,"all-of",w);return o.export=t.type,o.imports.push(...t.imports),o.enums.push(...t.enums),o.properties.push(...t.properties),o}if("object"===n.type){if(o.export="interface",o.type="any",o.base="any",n.properties){(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=R(l.$ref);a.push({name:b(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:b(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,w).forEach((e=>{o.imports.push(...e.imports),o.properties.push(e),"enum"===e.export&&o.enums.push(e)}))}return o}if(n.type){const e=R(n.type);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o}function q(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==n.export&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function C(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function j(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function A(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function I(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=j(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:C(n.name),type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n["x-nullable"],format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.enum){const e=h(P(n.enum),n);if(e.length)return t.export="enum",t.type="string",t.base="string",t.enum.push(...e),t.default=q(n,t),t}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return t.export="enum",t.type="number",t.base="number",t.enum.push(...e),t.default=q(n,t),t}if("array"===n.type&&n.items){const e=R(n.items.type);return t.export="array",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if("object"===n.type&&n.items){const e=R(n.items.type);return t.export="dictionary",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}{const r=w(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t.default=q(n,t),t}}if(n.type){const e=R(n.type);return t.export="generic",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}return t}(e,r);if("api-version"!==a.prop)switch(a.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"body":t.parametersBody=a,t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(A),t.parametersPath=t.parametersPath.sort(A),t.parametersQuery=t.parametersQuery.sort(A),t.parametersForm=t.parametersForm.sort(A),t.parametersCookie=t.parametersCookie.sort(A),t.parametersHeader=t.parametersHeader.sort(A),t}function E(e,n,t){const r={in:"response",name:"",code:t,description:y(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const t=w(e,n.schema);return r.export=t.export,r.type=t.type,r.base=t.base,r.template=t.template,r.link=t.link,r.isReadOnly=t.isReadOnly,r.isRequired=t.isRequired,r.isNullable=t.isNullable,r.format=t.format,r.maximum=t.maximum,r.exclusiveMaximum=t.exclusiveMaximum,r.minimum=t.minimum,r.exclusiveMinimum=t.exclusiveMinimum,r.multipleOf=t.multipleOf,r.maxLength=t.maxLength,r.minLength=t.minLength,r.maxItems=t.maxItems,r.minItems=t.minItems,r.uniqueItems=t.uniqueItems,r.maxProperties=t.maxProperties,r.minProperties=t.minProperties,r.pattern=O(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}return r}function H(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function D(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?D(e.link,n.link):t}function S(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>D(n,e)))===n))}function $(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${C(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:y(r.summary),description:y(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=I(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=j(e,n[r]),o=H(r);if(o){const n=E(e,a,o);t.push(n)}}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=S(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function N(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=(null===(n=e.schemes)||void 0===n?void 0:n[0])||"http",r=e.host,a=e.basePath||"";return r?`${t}://${r}${a}`:a}(e),models:function(e){const n=[];for(const t in e.definitions)if(e.definitions.hasOwnProperty(t)){const r=w(e,e.definitions[t],!0,R(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=I(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=$(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}function B(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function T(e){return null!=e&&""!==e}function L(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}function M(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==(null==n?void 0:n.export)&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function U(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function F(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const _=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function W(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function V(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=V(W(e[1])),r=V(W(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=`${r.type}`,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,_.has(a)){const e=function(e){return _.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=W(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function Q(e,n,t=!1,r=""){var a,o,l;const i={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n.nullable,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:F(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return i.export="reference",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}if(n.enum){const e=function(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}((s=n.enum,Array.isArray(s)?s.filter(((e,n,t)=>t.indexOf(e)===n)).filter(T).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]),n);if(e.length)return i.export="enum",i.type="string",i.base="string",i.enum.push(...e),i.default=M(n,i),i}var s;if(("int"===n.type||"integer"===n.type)&&n.description){const e=function(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}(n.description);if(e.length)return i.export="enum",i.type="number",i.base="number",i.enum.push(...e),i.default=M(n,i),i}if("array"===n.type&&n.items){if(n.items.$ref){const e=V(n.items.$ref);return i.export="array",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.items);return i.export="array",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=V(n.additionalProperties.$ref);return i.export="dictionary",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.additionalProperties);return i.export="dictionary",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if(null===(a=n.oneOf)||void 0===a?void 0:a.length){const t=L(e,n.oneOf,"one-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(o=n.anyOf)||void 0===o?void 0:o.length){const t=L(e,n.anyOf,"any-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(l=n.allOf)||void 0===l?void 0:l.length){const t=L(e,n.allOf,"all-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if("object"===n.type){if(i.export="interface",i.type="any",i.base="any",n.properties){i.default=M(n,i);(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=V(l.$ref);a.push({name:U(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:U(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,Q).forEach((e=>{i.imports.push(...e.imports),i.properties.push(e),"enum"===e.export&&i.enums.push(e)}))}return i}if(n.type){const e=V(n.type);return i.export="generic",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}return i}function z(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function K(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function J(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function Z(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=K(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:z(n.name),type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}if(n.schema){if(n.schema.$ref){const e=V(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=M(n.schema),t}{const r=Q(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.isReadOnly=r.isReadOnly,t.isRequired=t.isRequired||r.isRequired,t.isNullable=t.isNullable||r.isNullable,t.format=r.format,t.maximum=r.maximum,t.exclusiveMaximum=r.exclusiveMaximum,t.minimum=r.minimum,t.exclusiveMinimum=r.exclusiveMinimum,t.multipleOf=r.multipleOf,t.maxLength=r.maxLength,t.minLength=r.minLength,t.maxItems=r.maxItems,t.minItems=r.minItems,t.uniqueItems=r.uniqueItems,t.maxProperties=r.maxProperties,t.minProperties=r.minProperties,t.pattern=F(r.pattern),t.default=r.default,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t}}return t}(e,r);if("api-version"!==a.prop)switch(r.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"cookie":t.parametersCookie.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(J),t.parametersPath=t.parametersPath.sort(J),t.parametersQuery=t.parametersQuery.sort(J),t.parametersForm=t.parametersForm.sort(J),t.parametersCookie=t.parametersCookie.sort(J),t.parametersHeader=t.parametersHeader.sort(J),t}function G(e,n){return n["application/json-patch+json"]&&n["application/json-patch+json"].schema||n["application/json"]&&n["application/json"].schema||n["text/json"]&&n["text/json"].schema||n["text/plain"]&&n["text/plain"].schema||n["multipart/mixed"]&&n["multipart/mixed"].schema||n["multipart/related"]&&n["multipart/related"].schema||n["multipart/batch"]&&n["multipart/batch"].schema||null}function X(e,n,t){const r={in:"response",name:"",code:t,description:B(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.content){const t=G(0,n.content);if(t){if(null==t?void 0:t.$ref){const e=V(t.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const n=Q(e,t);return r.export=n.export,r.type=n.type,r.base=n.base,r.template=n.template,r.link=n.link,r.isReadOnly=n.isReadOnly,r.isRequired=n.isRequired,r.isNullable=n.isNullable,r.format=n.format,r.maximum=n.maximum,r.exclusiveMaximum=n.exclusiveMaximum,r.minimum=n.minimum,r.exclusiveMinimum=n.exclusiveMinimum,r.multipleOf=n.multipleOf,r.maxLength=n.maxLength,r.minLength=n.minLength,r.maxItems=n.maxItems,r.minItems=n.minItems,r.uniqueItems=n.uniqueItems,r.maxProperties=n.maxProperties,r.minProperties=n.minProperties,r.pattern=F(n.pattern),r.imports.push(...n.imports),r.enum.push(...n.enum),r.enums.push(...n.enums),r.properties.push(...n.properties),r}}}return r}function Y(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function ee(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?ee(e.link,n.link):t}function ne(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>ee(n,e)))===n))}function te(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${z(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:B(r.summary),description:B(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=Z(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.requestBody){const n=function(e,n){const t={in:"body",prop:"body",export:"interface",name:"requestBody",type:"any",base:"any",template:null,link:null,description:B(n.description),default:void 0,isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.content){const r=G(0,n.content);if(r){if(null==r?void 0:r.$ref){const e=V(r.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}{const n=Q(e,r);return t.export=n.export,t.type=n.type,t.base=n.base,t.template=n.template,t.link=n.link,t.isReadOnly=n.isReadOnly,t.isRequired=t.isRequired||n.isRequired,t.isNullable=t.isNullable||n.isNullable,t.format=n.format,t.maximum=n.maximum,t.exclusiveMaximum=n.exclusiveMaximum,t.minimum=n.minimum,t.exclusiveMinimum=n.exclusiveMinimum,t.multipleOf=n.multipleOf,t.maxLength=n.maxLength,t.minLength=n.minLength,t.maxItems=n.maxItems,t.minItems=n.minItems,t.uniqueItems=n.uniqueItems,t.maxProperties=n.maxProperties,t.minProperties=n.minProperties,t.pattern=F(n.pattern),t.imports.push(...n.imports),t.enum.push(...n.enum),t.enums.push(...n.enums),t.properties.push(...n.properties),t}}}return t}(e,K(e,r.requestBody));p.imports.push(...n.imports),p.parameters.push(n),p.parameters=p.parameters.sort(J),p.parametersBody=n}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=K(e,n[r]),o=Y(r);o&&t.push(X(e,a,o))}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=ne(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function re(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=null===(n=e.servers)||void 0===n?void 0:n[0],r=(null==t?void 0:t.variables)||{};let a=(null==t?void 0:t.url)||"";for(const e in r)r.hasOwnProperty(e)&&(a=a.replace(`{${e}}`,r[e].default));return a}(e),models:function(e){const n=[];if(e.components)for(const t in e.components.schemas)if(e.components.schemas.hasOwnProperty(t)){const r=Q(e,e.components.schemas[t],!0,V(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=Z(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=te(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}const ae=i.promisify(a.readFile),oe=i.promisify(a.writeFile),le=(i.promisify(a.copyFile),i.promisify(a.exists)),ie=d.default,se=e=>new Promise(((n,t)=>{f.default(e,(e=>{e?t(e):n()}))}));async function ue(e){return e.startsWith("https://")?await async function(e){return new Promise(((n,t)=>{u.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):e.startsWith("http://")?await async function(e){return new Promise(((n,t)=>{s.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):await async function(e){const n=r.resolve(process.cwd(),e);if(await le(n))try{return(await ae(n,"utf8")).toString()}catch(e){throw new Error(`Could not read OpenApi spec: "${n}"`)}throw new Error(`Could not find OpenApi spec: "${n}"`)}(e)}var pe;function ce(e){return e.enum.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function me(e){return e.enums.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function de(e,n){const t=e.toLowerCase(),r=n.toLowerCase();return t.localeCompare(r,"en")}function fe(e,n,t){return t.indexOf(e)===n}function he(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}function ye(e,n){const t=[];return e.map(n).forEach((e=>{t.push(...e)})),t}function ve(e){const n=Object.assign({},e);return n.operations=function(e){const n=new Map;return e.operations.map((e=>{const t=Object.assign({},e);t.imports.push(...ye(t.parameters,(e=>e.imports))),t.imports.push(...ye(t.results,(e=>e.imports)));const r=t.name,a=n.get(r)||0;return a>0&&(t.name=`${r}${a}`),n.set(r,a+1),t}))}(n),n.operations.forEach((e=>{n.imports.push(...e.imports)})),n.imports=function(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}(n),n}function Pe(e){return Object.assign(Object.assign({},e),{models:e.models.map((e=>function(e){return Object.assign(Object.assign({},e),{imports:he(e),enums:me(e),enum:ce(e)})}(e))),services:e.services.map((e=>ve(e)))})}!function(e){e[e.V2=2]="V2",e[e.V3=3]="V3"}(pe||(pe={}));var ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}"},usePartial:!0,useData:!0},be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiRequestOptions = {\n readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n readonly path: string;\n readonly cookies?: Record;\n readonly headers?: Record;\n readonly query?: Record;\n readonly formData?: Record;\n readonly body?: any;\n readonly responseHeader?: string;\n readonly errors?: Record;\n}"},usePartial:!0,useData:!0},Oe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiResult = {\n readonly url: string;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly body: any;\n}"},usePartial:!0,useData:!0},xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},ke={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Re={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},we={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getRequestBody"),n,{name:"fetch/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/sendRequest"),n,{name:"fetch/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseHeader"),n,{name:"fetch/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseBody"),n,{name:"fetch/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n\n\n return result;\n}"},usePartial:!0,useData:!0},Ce={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = Response;"},useData:!0},Ae={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}"},useData:!0},Ie={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getFormData(params: Record): FormData {\n const formData = new FormData();\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n formData.append(key, value);\n }\n });\n return formData;\n}"},useData:!0},Ee={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getQueryString(params: Record): string {\n const qs: string[] = [];\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(value => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n });\n } else {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n return '';\n}"},useData:!0},He={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getUrl(options: ApiRequestOptions): string {\n const path = options.path.replace(/[:]/g, '_');\n const url = `${OpenAPI.BASE}${path}`;\n\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n}"},useData:!0},De={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {\n const isBuffer = Buffer.isBuffer(value);\n const isArrayBuffer = types.isArrayBuffer(value);\n const isArrayBufferView = types.isArrayBufferView(value);\n return isBuffer || isArrayBuffer || isArrayBufferView;\n}"},useData:!0},Se={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}"},useData:!0},$e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}"},useData:!0},Ne={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isString(value: any): value is string {\n return typeof value === 'string';\n}"},useData:!0},Be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}"},useData:!0},Te={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isSuccess(status: number): boolean {\n return status >= 200 && status < 300;\n}"},useData:!0},Le={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type Resolver = () => Promise;\n\nasync function resolve(resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)();\n }\n return resolver;\n}"},useData:!0},Me={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = Buffer.from(`${username}:${password}`).toString('base64');\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBinary(options.body)) {\n headers.append('Content-Type', 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ue={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBinary(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Fe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},_e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},We={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport FormData from 'form-data';\nimport fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';\nimport { types } from 'util';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBinary"),n,{name:"functions/isBinary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getHeaders"),n,{name:"node/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getRequestBody"),n,{name:"node/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/sendRequest"),n,{name:"node/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseHeader"),n,{name:"node/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseBody"),n,{name:"node/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n* Request using node-fetch client\n* @param options The request options from the the service\n* @result ApiResult\n* @throws ApiError\n*/\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},Ve={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},Qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"import { Response as ResponseImplementation } from 'node-fetch';"},useData:!0},ze={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/responseType"),n,{name:"fetch/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/responseType"),n,{name:"xhr/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/responseType"),n,{name:"node/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(u(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:66}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:6,column:68}}}))?o:"")+"\n\ntype Resolver = () => Promise;\ntype Headers = Record;\n\nimport { ApiResult } from './ApiResult';\nimport { ApiRequestOptions } from './ApiRequestOptions';\n\nexport interface RequestHookParams {\n url: string;\n options: ApiRequestOptions;\n}\n\nexport interface ResponseHookParams {\n url: string;\n result: ApiResult;\n response?: ResponseImplementation;\n}\n\ntype Config = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n REQUEST_HOOK?(params: RequestHookParams): Promise;\n RESPONSE_HOOK?(result: ResponseHookParams): Promise\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n}\n\nexport const OpenAPI: Config = {\n BASE: '"+(null!=(o=s(i(n,"server",{start:{line:38,column:14},end:{line:38,column:20}}),n))?o:"")+"',\n VERSION: '"+(null!=(o=s(i(n,"version",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n WITH_CREDENTIALS: false,\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n};"},usePartial:!0,useData:!0},Ke={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/request"),n,{name:"fetch/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/request"),n,{name:"xhr/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/request"),n,{name:"node/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:65}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:61}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:63}}}))?o:"")},usePartial:!0,useData:!0},Je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ze={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): any {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseBody(xhr: XMLHttpRequest): any {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},Xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(xhr: XMLHttpRequest, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},Ye={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isSuccess"),n,{name:"functions/isSuccess",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getRequestBody"),n,{name:"xhr/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/sendRequest"),n,{name:"xhr/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseHeader"),n,{name:"xhr/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseBody"),n,{name:"xhr/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using XHR client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},en={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n\n const xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = OpenAPI.WITH_CREDENTIALS;\n\n const headers = await getHeaders(options);\n headers.forEach((value: string, key: string) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise(resolve => {\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n resolve(xhr);\n }\n };\n xhr.send(getRequestBody(options));\n });\n}"},useData:!0},nn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = XMLHttpRequest;"},useData:!0},tn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:9}}}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from './"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportInterface"),n,{name:"exportInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:12,column:0},end:{line:22,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportComposition"),n,{name:"exportComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(10,a,0),data:a,loc:{start:{line:14,column:0},end:{line:22,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:16,column:0},end:{line:22,column:0}}}))?o:""},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(12,a,0),inverse:e.program(14,a,0),data:a,loc:{start:{line:18,column:0},end:{line:22,column:0}}}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportEnum"),n,{name:"exportEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportType"),n,{name:"exportType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:8,column:7}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:10,column:0},end:{line:22,column:11}}}))?o:"")},usePartial:!0,useData:!0},rn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport const $"+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:3,column:17},end:{line:3,column:21}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},an={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from '../models/"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){return"import { OpenAPI } from '../core/OpenAPI';\n"},6:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" /**\n"+(null!=(o=u(t,"if").call(l,u(n,"deprecated"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:4},end:{line:19,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"summary"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:4},end:{line:22,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"description"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:4},end:{line:25,column:11}}}))?o:"")+(null!=(o=u(t,"unless").call(l,u(u(a,"root"),"useOptions"),{name:"unless",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:4},end:{line:32,column:15}}}))?o:"")+(null!=(o=u(t,"each").call(l,u(n,"results"),{name:"each",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:33,column:4},end:{line:35,column:13}}}))?o:"")+" * @throws ApiError\n */\n public static async "+(null!=(o=s(i(n,"name",{start:{line:38,column:27},end:{line:38,column:31}}),n))?o:"")+"("+(null!=(o=e.invokePartial(u(r,"parameters"),n,{name:"parameters",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"): Promise<"+(null!=(o=e.invokePartial(u(r,"result"),n,{name:"result",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"> {\n const result = await __request({\n method: '"+(null!=(o=s(i(n,"method",{start:{line:40,column:24},end:{line:40,column:30}}),n))?o:"")+"',\n path: `"+(null!=(o=s(i(n,"path",{start:{line:41,column:22},end:{line:41,column:26}}),n))?o:"")+"`,\n"+(null!=(o=u(t,"if").call(l,u(n,"parametersCookie"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:42,column:12},end:{line:48,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersHeader"),{name:"if",hash:{},fn:e.program(22,a,0),inverse:e.noop,data:a,loc:{start:{line:49,column:12},end:{line:55,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersQuery"),{name:"if",hash:{},fn:e.program(24,a,0),inverse:e.noop,data:a,loc:{start:{line:56,column:12},end:{line:62,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersForm"),{name:"if",hash:{},fn:e.program(26,a,0),inverse:e.noop,data:a,loc:{start:{line:63,column:12},end:{line:69,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersBody"),{name:"if",hash:{},fn:e.program(28,a,0),inverse:e.noop,data:a,loc:{start:{line:70,column:12},end:{line:72,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"responseHeader"),{name:"if",hash:{},fn:e.program(30,a,0),inverse:e.noop,data:a,loc:{start:{line:73,column:12},end:{line:75,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"errors"),{name:"if",hash:{},fn:e.program(32,a,0),inverse:e.noop,data:a,loc:{start:{line:76,column:12},end:{line:82,column:19}}}))?o:"")+" });\n return result.body;\n }\n\n"},7:function(e,n,t,r,a){return" * @deprecated\n"},9:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"summary",{start:{line:21,column:10},end:{line:21,column:17}}),n))?o:"")+"\n"},11:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:24,column:10},end:{line:24,column:21}}),n))?o:"")+"\n"},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:27,column:4},end:{line:31,column:11}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:4},end:{line:30,column:13}}}))?o:""},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @param "+(null!=(o=i(l(n,"name",{start:{line:29,column:17},end:{line:29,column:21}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:29,column:28},end:{line:29,column:39}}),n))?o:"")+"\n"},17:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @result "+(null!=(o=i(l(n,"type",{start:{line:34,column:18},end:{line:34,column:22}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:34,column:29},end:{line:34,column:40}}),n))?o:"")+"\n"},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" cookies: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersCookie"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:16},end:{line:46,column:25}}}))?o:"")+" },\n"},20:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" '"+(null!=(o=i(l(n,"prop",{start:{line:45,column:20},end:{line:45,column:24}}),n))?o:"")+"': "+(null!=(o=i(l(n,"name",{start:{line:45,column:33},end:{line:45,column:37}}),n))?o:"")+",\n"},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" headers: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersHeader"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:51,column:16},end:{line:53,column:25}}}))?o:"")+" },\n"},24:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" query: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersQuery"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:58,column:16},end:{line:60,column:25}}}))?o:"")+" },\n"},26:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" formData: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersForm"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:65,column:16},end:{line:67,column:25}}}))?o:"")+" },\n"},28:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" body: "+(null!=(o=e.lambda(e.strict(l(n,"parametersBody"),"name",{start:{line:71,column:21},end:{line:71,column:40}}),n))?o:"")+",\n"},30:function(e,n,t,r,a){var o;return" responseHeader: '"+(null!=(o=e.lambda(e.strict(n,"responseHeader",{start:{line:74,column:32},end:{line:74,column:46}}),n))?o:"")+"',\n"},32:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" errors: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"errors"),{name:"each",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:78,column:16},end:{line:80,column:25}}}))?o:"")+" },\n"},33:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"code",{start:{line:79,column:19},end:{line:79,column:23}}),n))?o:"")+": `"+(null!=(o=i(l(n,"description",{start:{line:79,column:32},end:{line:79,column:43}}),n))?o:"")+"`,\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+"import { request as __request } from '../core/request';\n"+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"useVersion"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"\nexport class "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:13,column:16},end:{line:13,column:20}}),n))?o:"")+" {\n\n"+(null!=(o=i(t,"each").call(l,i(n,"operations"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:4},end:{line:87,column:13}}}))?o:"")+"}"},usePartial:!0,useData:!0},on={1:function(e,n,t,r,a){return"\nexport { ApiError } from './core/ApiError';\nexport { OpenAPI } from './core/OpenAPI';\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:21,column:7}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:20,column:9}}}))?o:"")},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:7}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:12,column:12},end:{line:12,column:16}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:12,column:40},end:{line:12,column:44}}),n))?o:"")+"';\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export type { "+(null!=(o=i(l(n,"name",{start:{line:14,column:17},end:{line:14,column:21}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:14,column:45},end:{line:14,column:49}}),n))?o:"")+"';\n"},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:0},end:{line:29,column:7}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:9}}}))?o:"")},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { $"+(null!=(o=i(l(n,"name",{start:{line:27,column:13},end:{line:27,column:17}}),n))?o:"")+" } from './schemas/$"+(null!=(o=i(l(n,"name",{start:{line:27,column:43},end:{line:27,column:47}}),n))?o:"")+"';\n"},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"if",hash:{},fn:e.program(18,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:37,column:7}}}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"each",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:34,column:0},end:{line:36,column:9}}}))?o:"")},19:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:35,column:12},end:{line:35,column:16}}),n))?o:"")+" } from './services/"+(null!=(o=i(l(n,"name",{start:{line:35,column:42},end:{line:35,column:46}}),n))?o:"")+"';\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportCore"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportModels"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportSchemas"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:30,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportServices"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:31,column:0},end:{line:38,column:7}}}))?o:"")},usePartial:!0,useData:!0},ln={1:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:51}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:86}}}))?o:"")},2:function(e,n,t,r,a){return"Blob"},4:function(e,n,t,r,a){return"Buffer | ArrayBuffer | ArrayBufferView"},6:function(e,n,t,r,a){var o;return null!=(o=e.lambda(e.strict(n,"base",{start:{line:6,column:3},end:{line:6,column:7}}),n))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"base"),"File",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:13}}}))?o:""},useData:!0},sn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:27,column:11}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:10,column:20},end:{line:10,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:4},end:{line:24,column:13}}}))?o:"")+"\n}\n"},5:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:4},end:{line:17,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:18,column:19},end:{line:18,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:8},end:{line:21,column:17}}}))?o:"")+" }\n\n"},6:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:15,column:10},end:{line:15,column:21}}),n))?o:"")+"\n */\n"},8:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:20,column:11},end:{line:20,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:20,column:24},end:{line:20,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(i(r,"type"),n,{name:"type",hash:{parent:i(n,"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";\n"+(null!=(o=i(t,"if").call(l,i(n,"enums"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:28,column:7}}}))?o:"")},usePartial:!0,useData:!0},un={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?o:"")+" "+(null!=(o=i(l(n,"name",{start:{line:13,column:7},end:{line:13,column:11}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:13,column:20},end:{line:13,column:25}}),n))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?o:"")+"}"},useData:!0},pn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?i:"")+" "+(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:13,column:22},end:{line:13,column:26}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+";\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:36,column:11}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:19,column:20},end:{line:19,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:4},end:{line:33,column:13}}}))?o:"")+"\n}\n"},8:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:22,column:4},end:{line:26,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:27,column:19},end:{line:27,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:8},end:{line:30,column:17}}}))?o:"")+" }\n\n"},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:29,column:11},end:{line:29,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:29,column:24},end:{line:29,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?i:"")+"export type "+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?i:"")+" = {\n"+(null!=(i=u(t,"each").call(s,u(n,"properties"),{name:"each",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?i:"")+"}\n"+(null!=(i=u(t,"if").call(s,u(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:37,column:7}}}))?i:"")},usePartial:!0,useData:!0,useDepths:!0},cn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},mn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */"},useData:!0},dn={1:function(e,n,t,r,a){return" | null"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isNullable"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:32}}}))?o:""},useData:!0},fn={1:function(e,n,t,r,a){return"readonly "},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:34}}}))?o:""},useData:!0},hn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.program(4,a,0),data:a,loc:{start:{line:2,column:0},end:{line:2,column:54}}}))?o:""},2:function(e,n,t,r,a){return"?"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:23},end:{line:2,column:43}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:64}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:22},end:{line:4,column:53}}}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},useData:!0},yn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:2,column:0},end:{line:18,column:7}}}))?o:""},2:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:"")+"}: {\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:11,column:9}}}))?o:"")+"}"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:3},end:{line:5,column:7}}),n))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:10},end:{line:5,column:48}}}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" = "+(null!=(o=e.lambda(e.strict(n,"default",{start:{line:5,column:31},end:{line:5,column:38}}),n))?o:"")},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"/** "+(null!=(o=i(l(n,"description",{start:{line:9,column:7},end:{line:9,column:18}}),n))?o:"")+" **/\n"+(null!=(o=i(l(n,"name",{start:{line:10,column:3},end:{line:10,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(s(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))?o:"")},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:16,column:3},end:{line:16,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:36},end:{line:16,column:74}}}))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:19,column:7}}}))?o:""},usePartial:!0,useData:!0},vn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:66}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:26},end:{line:2,column:57}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){return"void"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Pn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaInterface"),n,{name:"schemaInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:17,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaEnum"),n,{name:"schemaEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:17,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaArray"),n,{name:"schemaArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:17,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaDictionary"),n,{name:"schemaDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:17,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaComposition"),n,{name:"schemaComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(16,a,0),data:a,loc:{start:{line:11,column:0},end:{line:17,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(17,a,0),data:a,loc:{start:{line:13,column:0},end:{line:17,column:0}}}))?o:""},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaGeneric"),n,{name:"schemaGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?o:""},usePartial:!0,useData:!0},gn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'array',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},bn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:46},end:{line:3,column:76}}}))?o:"")},2:function(e,n,t,r,a){return", "},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:5,column:19},end:{line:5,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:8,column:19},end:{line:8,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: '"+(null!=(o=e.lambda(e.strict(n,"export",{start:{line:2,column:13},end:{line:2,column:19}}),n))?o:"")+"',\n contains: ["+(null!=(o=i(t,"each").call(l,i(n,"properties"),{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:15},end:{line:3,column:85}}}))?o:"")+"],\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},On={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'dictionary',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},xn={1:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:4,column:19},end:{line:4,column:29}}),n))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:7,column:19},end:{line:7,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'Enum',\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"}"},useData:!0},kn={1:function(e,n,t,r,a){var o;return" type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:3,column:14},end:{line:3,column:18}}),n))?o:"")+"',\n"},3:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:6,column:19},end:{line:6,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:9,column:19},end:{line:9,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:12,column:19},end:{line:12,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" format: '"+(null!=(o=e.lambda(e.strict(n,"format",{start:{line:15,column:16},end:{line:15,column:22}}),n))?o:"")+"',\n"},11:function(e,n,t,r,a){var o;return" maximum: "+(null!=(o=e.lambda(e.strict(n,"maximum",{start:{line:18,column:16},end:{line:18,column:23}}),n))?o:"")+",\n"},13:function(e,n,t,r,a){var o;return" exclusiveMaximum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMaximum",{start:{line:21,column:25},end:{line:21,column:41}}),n))?o:"")+",\n"},15:function(e,n,t,r,a){var o;return" minimum: "+(null!=(o=e.lambda(e.strict(n,"minimum",{start:{line:24,column:16},end:{line:24,column:23}}),n))?o:"")+",\n"},17:function(e,n,t,r,a){var o;return" exclusiveMinimum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMinimum",{start:{line:27,column:25},end:{line:27,column:41}}),n))?o:"")+",\n"},19:function(e,n,t,r,a){var o;return" multipleOf: "+(null!=(o=e.lambda(e.strict(n,"multipleOf",{start:{line:30,column:19},end:{line:30,column:29}}),n))?o:"")+",\n"},21:function(e,n,t,r,a){var o;return" maxLength: "+(null!=(o=e.lambda(e.strict(n,"maxLength",{start:{line:33,column:18},end:{line:33,column:27}}),n))?o:"")+",\n"},23:function(e,n,t,r,a){var o;return" minLength: "+(null!=(o=e.lambda(e.strict(n,"minLength",{start:{line:36,column:18},end:{line:36,column:27}}),n))?o:"")+",\n"},25:function(e,n,t,r,a){var o;return" pattern: '"+(null!=(o=e.lambda(e.strict(n,"pattern",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n"},27:function(e,n,t,r,a){var o;return" maxItems: "+(null!=(o=e.lambda(e.strict(n,"maxItems",{start:{line:42,column:17},end:{line:42,column:25}}),n))?o:"")+",\n"},29:function(e,n,t,r,a){var o;return" minItems: "+(null!=(o=e.lambda(e.strict(n,"minItems",{start:{line:45,column:17},end:{line:45,column:25}}),n))?o:"")+",\n"},31:function(e,n,t,r,a){var o;return" uniqueItems: "+(null!=(o=e.lambda(e.strict(n,"uniqueItems",{start:{line:48,column:20},end:{line:48,column:31}}),n))?o:"")+",\n"},33:function(e,n,t,r,a){var o;return" maxProperties: "+(null!=(o=e.lambda(e.strict(n,"maxProperties",{start:{line:51,column:22},end:{line:51,column:35}}),n))?o:"")+",\n"},35:function(e,n,t,r,a){var o;return" minProperties: "+(null!=(o=e.lambda(e.strict(n,"minProperties",{start:{line:54,column:22},end:{line:54,column:35}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"if").call(l,i(n,"type"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:10,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"format"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maximum"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:19,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMaximum"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minimum"),{name:"if",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMinimum"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"multipleOf"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:29,column:0},end:{line:31,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxLength"),{name:"if",hash:{},fn:e.program(21,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:34,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minLength"),{name:"if",hash:{},fn:e.program(23,a,0),inverse:e.noop,data:a,loc:{start:{line:35,column:0},end:{line:37,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"pattern"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:38,column:0},end:{line:40,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxItems"),{name:"if",hash:{},fn:e.program(27,a,0),inverse:e.noop,data:a,loc:{start:{line:41,column:0},end:{line:43,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minItems"),{name:"if",hash:{},fn:e.program(29,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"uniqueItems"),{name:"if",hash:{},fn:e.program(31,a,0),inverse:e.noop,data:a,loc:{start:{line:47,column:0},end:{line:49,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxProperties"),{name:"if",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:50,column:0},end:{line:52,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minProperties"),{name:"if",hash:{},fn:e.program(35,a,0),inverse:e.noop,data:a,loc:{start:{line:53,column:0},end:{line:55,column:7}}}))?o:"")+"}"},useData:!0},Rn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:11},end:{line:5,column:15}}),n))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:13,column:19},end:{line:13,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:16,column:19},end:{line:16,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n properties: {\n"+(null!=(o=i(t,"if").call(l,i(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+" },\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},wn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeInterface"),n,{name:"typeInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"reference",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:19,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeReference"),n,{name:"typeReference",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:19,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeEnum"),n,{name:"typeEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:19,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeArray"),n,{name:"typeArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeDictionary"),n,{name:"typeDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(18,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeUnion"),n,{name:"typeUnion",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(19,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},20:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeIntersection"),n,{name:"typeIntersection",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeGeneric"),n,{name:"typeGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:19,column:11}}}))?o:""},usePartial:!0,useData:!0},qn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"type"),l(n,"link"),{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Cn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},jn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:65}}}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"value",{start:{line:2,column:17},end:{line:2,column:22}}),n))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:56}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parent"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(1,a,0),data:a,loc:{start:{line:3,column:0},end:{line:7,column:0}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(l(n,"parent",{start:{line:4,column:3},end:{line:4,column:9}}),n))?o:"")+"."+(null!=(o=i(l(n,"name",{start:{line:4,column:16},end:{line:4,column:20}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:9}}}))?o:""},usePartial:!0,useData:!0},An={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},In={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:14,column:9}}}))?i:"")+"}"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:8,column:7}}}))?i:"")+(null!=(i=u(t,"if").call(s,u(l[1],"parent"),{name:"if",hash:{},fn:e.program(5,a,0,o,l),inverse:e.program(7,a,0,o,l),data:a,loc:{start:{line:9,column:0},end:{line:13,column:7}}}))?i:"")},3:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:6,column:6},end:{line:6,column:17}}),n))?o:"")+"\n */\n"},5:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:10,column:18},end:{line:10,column:22}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+",\n"},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:12,column:18},end:{line:12,column:22}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},9:function(e,n,t,r,a){return"any"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(9,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:18,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},En={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" & "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},Hn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},Dn={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0};function Sn(){p.registerHelper("equals",(function(e,n,t){return e===n?t.fn(this):t.inverse(this)})),p.registerHelper("notEquals",(function(e,n,t){return e!==n?t.fn(this):t.inverse(this)}));const e={index:p.template(on),exports:{model:p.template(tn),schema:p.template(rn),service:p.template(an)},core:{settings:p.template(ze),apiError:p.template(ge),apiRequestOptions:p.template(be),apiResult:p.template(Oe),request:p.template(Ke)}};return p.registerPartial("exportEnum",p.template(un)),p.registerPartial("exportInterface",p.template(pn)),p.registerPartial("exportComposition",p.template(sn)),p.registerPartial("exportType",p.template(cn)),p.registerPartial("header",p.template(mn)),p.registerPartial("isNullable",p.template(dn)),p.registerPartial("isReadOnly",p.template(fn)),p.registerPartial("isRequired",p.template(hn)),p.registerPartial("parameters",p.template(yn)),p.registerPartial("result",p.template(vn)),p.registerPartial("schema",p.template(Pn)),p.registerPartial("schemaArray",p.template(gn)),p.registerPartial("schemaDictionary",p.template(On)),p.registerPartial("schemaEnum",p.template(xn)),p.registerPartial("schemaGeneric",p.template(kn)),p.registerPartial("schemaInterface",p.template(Rn)),p.registerPartial("schemaComposition",p.template(bn)),p.registerPartial("type",p.template(wn)),p.registerPartial("typeArray",p.template(qn)),p.registerPartial("typeDictionary",p.template(Cn)),p.registerPartial("typeEnum",p.template(jn)),p.registerPartial("typeGeneric",p.template(An)),p.registerPartial("typeInterface",p.template(In)),p.registerPartial("typeReference",p.template(Hn)),p.registerPartial("typeUnion",p.template(Dn)),p.registerPartial("typeIntersection",p.template(En)),p.registerPartial("base",p.template(ln)),p.registerPartial("functions/catchErrors",p.template(Ae)),p.registerPartial("functions/getFormData",p.template(Ie)),p.registerPartial("functions/getQueryString",p.template(Ee)),p.registerPartial("functions/getUrl",p.template(He)),p.registerPartial("functions/isBinary",p.template(De)),p.registerPartial("functions/isBlob",p.template(Se)),p.registerPartial("functions/isDefined",p.template($e)),p.registerPartial("functions/isString",p.template(Ne)),p.registerPartial("functions/isStringWithValue",p.template(Be)),p.registerPartial("functions/isSuccess",p.template(Te)),p.registerPartial("functions/resolve",p.template(Le)),p.registerPartial("fetch/getHeaders",p.template(xe)),p.registerPartial("fetch/getRequestBody",p.template(ke)),p.registerPartial("fetch/getResponseBody",p.template(Re)),p.registerPartial("fetch/getResponseHeader",p.template(we)),p.registerPartial("fetch/sendRequest",p.template(Ce)),p.registerPartial("fetch/request",p.template(qe)),p.registerPartial("fetch/responseType",p.template(je)),p.registerPartial("xhr/getHeaders",p.template(Je)),p.registerPartial("xhr/getRequestBody",p.template(Ze)),p.registerPartial("xhr/getResponseBody",p.template(Ge)),p.registerPartial("xhr/getResponseHeader",p.template(Xe)),p.registerPartial("xhr/sendRequest",p.template(en)),p.registerPartial("xhr/request",p.template(Ye)),p.registerPartial("xhr/responseType",p.template(nn)),p.registerPartial("node/getHeaders",p.template(Me)),p.registerPartial("node/getRequestBody",p.template(Ue)),p.registerPartial("node/getResponseBody",p.template(Fe)),p.registerPartial("node/getResponseHeader",p.template(_e)),p.registerPartial("node/sendRequest",p.template(Ve)),p.registerPartial("node/request",p.template(We)),p.registerPartial("node/responseType",p.template(Qe)),e}function $n(n){let t=0,r=n.split(e.EOL);return r=r.map((e=>{e=e.trim().replace(/^\*/g," *");let n=t;(e.endsWith("(")||e.endsWith("{")||e.endsWith("["))&&t++,(e.startsWith(")")||e.startsWith("}")||e.startsWith("]"))&&n&&(t--,n--);const r=`${" ".repeat(n)}${e}`;return""===r.trim()?"":r})),r.join(e.EOL)}async function Nn(e,n,t,a,o,l,i,s,u,p){const c=r.resolve(process.cwd(),t),m=r.resolve(c,"core"),d=r.resolve(c,"models"),f=r.resolve(c,"schemas"),h=r.resolve(c,"services");if(y=process.cwd(),v=t,!r.relative(v,y).startsWith(".."))throw new Error("Output folder is not a subdirectory of the current working directory");var y,v;i&&(await se(m),await ie(m),await async function(e,n,t,a){const o={httpClient:a,server:e.server,version:e.version};await oe(r.resolve(t,"OpenAPI.ts"),n.core.settings(o)),await oe(r.resolve(t,"ApiError.ts"),n.core.apiError({})),await oe(r.resolve(t,"ApiRequestOptions.ts"),n.core.apiRequestOptions({})),await oe(r.resolve(t,"ApiResult.ts"),n.core.apiResult({})),await oe(r.resolve(t,"request.ts"),n.core.request(o))}(e,n,m,a)),s&&(await se(h),await ie(h),await async function(e,n,t,a,o,l){for(const i of e){const e=r.resolve(t,`${i.name}.ts`),s=i.operations.some((e=>e.path.includes("OpenAPI.VERSION"))),u=n.exports.service(Object.assign(Object.assign({},i),{httpClient:a,useUnionTypes:o,useVersion:s,useOptions:l}));await oe(e,$n(u))}}(e.services,n,h,a,l,o)),p&&(await se(f),await ie(f),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`$${l.name}.ts`),i=n.exports.schema(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,f,a,l)),u&&(await se(d),await ie(d),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`${l.name}.ts`),i=n.exports.model(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,d,a,l)),(i||s||p||u)&&(await ie(c),await async function(e,n,t,a,o,l,i,s){var u,p;await oe(r.resolve(t,"index.ts"),n.index({exportCore:o,exportServices:l,exportModels:i,exportSchemas:s,useUnionTypes:a,server:e.server,version:e.version,models:(p=e.models,p.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")}))),services:(u=e.services,u.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")})))}))}(e,n,c,l,i,s,u,p))}var Bn;(Bn=exports.HttpClient||(exports.HttpClient={})).FETCH="fetch",Bn.XHR="xhr",Bn.NODE="node",exports.generate=async function({input:e,output:n,httpClient:a=exports.HttpClient.FETCH,useOptions:o=!1,useUnionTypes:l=!1,exportCore:i=!0,exportServices:s=!0,exportModels:u=!0,exportSchemas:p=!1,write:c=!0}){const m="string"==typeof e?await async function(e){const n=r.extname(e).toLowerCase(),a=await ue(e);switch(n){case".yml":case".yaml":try{return t.safeLoad(a)}catch(n){throw new Error(`Could not parse OpenApi YAML: "${e}"`)}default:try{return JSON.parse(a)}catch(n){throw new Error(`Could not parse OpenApi JSON: "${e}"`)}}}(e):e,d=function(e){const n=e.swagger||e.openapi;if("string"==typeof n){const e=n.charAt(0),t=Number.parseInt(e);if(t===pe.V2||t===pe.V3)return t}throw new Error(`Unsupported Open API version: "${String(n)}"`)}(m),f=Sn();switch(d){case pe.V2:{const e=Pe(N(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}case pe.V3:{const e=Pe(re(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}}}; From 84c7ec32bf04bda04508fce63cec3c0837c8247d Mon Sep 17 00:00:00 2001 From: Mark Gabriel Date: Tue, 5 Jan 2021 10:16:06 +1100 Subject: [PATCH 15/17] Add requestInit to options to allow overriding anything in fetch --- src/templates/core/ApiRequestOptions.hbs | 1 + src/templates/core/fetch/sendRequest.hbs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/templates/core/ApiRequestOptions.hbs b/src/templates/core/ApiRequestOptions.hbs index dc33aac89..08df4d08f 100644 --- a/src/templates/core/ApiRequestOptions.hbs +++ b/src/templates/core/ApiRequestOptions.hbs @@ -10,4 +10,5 @@ export type ApiRequestOptions = { readonly body?: any; readonly responseHeader?: string; readonly errors?: Record; + readonly requestInit?: Partial; } diff --git a/src/templates/core/fetch/sendRequest.hbs b/src/templates/core/fetch/sendRequest.hbs index e0a296e07..40d32dbd3 100644 --- a/src/templates/core/fetch/sendRequest.hbs +++ b/src/templates/core/fetch/sendRequest.hbs @@ -3,6 +3,7 @@ async function sendRequest(options: ApiRequestOptions, url: string): Promise Date: Tue, 5 Jan 2021 10:25:50 +1100 Subject: [PATCH 16/17] Build dist --- dist/index.js | 5139 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 5138 insertions(+), 1 deletion(-) diff --git a/dist/index.js b/dist/index.js index 78d760bee..d326e2dbf 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1,5138 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("os"),n=require("camelcase"),t=require("js-yaml"),r=require("path"),a=require("fs"),o=require("mkdirp"),l=require("rimraf"),i=require("util"),s=require("http"),u=require("https"),p=require("handlebars/runtime");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=c(n),d=c(o),f=c(l);function h(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}function y(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function v(e){return null!=e&&""!==e}function P(e){return Array.isArray(e)?e.filter(((e,n,t)=>t.indexOf(e)===n)).filter(v).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]}function g(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}function b(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function O(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const x=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function k(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function R(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=R(k(e[1])),r=R(k(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=r.type,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,x.has(a)){const e=function(e){return x.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=k(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function w(e,n,t=!1,r=""){var a;const o={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n["x-nullable"],isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(n.enum){const e=h(P(n.enum),n);if(e.length)return o.export="enum",o.type="string",o.base="string",o.enum.push(...e),o}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return o.export="enum",o.type="number",o.base="number",o.enum.push(...e),o}if("array"===n.type&&n.items){if(n.items.$ref){const e=R(n.items.$ref);return o.export="array",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.items);return o.export="array",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=R(n.additionalProperties.$ref);return o.export="dictionary",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const t=w(e,n.additionalProperties);return o.export="dictionary",o.type=t.type,o.base=t.base,o.template=t.template,o.link=t,o.imports.push(...t.imports),o}}if(null===(a=n.allOf)||void 0===a?void 0:a.length){const t=function(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}(e,n.allOf,"all-of",w);return o.export=t.type,o.imports.push(...t.imports),o.enums.push(...t.enums),o.properties.push(...t.properties),o}if("object"===n.type){if(o.export="interface",o.type="any",o.base="any",n.properties){(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=R(l.$ref);a.push({name:b(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:b(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:y(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l["x-nullable"],format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:O(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,w).forEach((e=>{o.imports.push(...e.imports),o.properties.push(e),"enum"===e.export&&o.enums.push(e)}))}return o}if(n.type){const e=R(n.type);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o}function q(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==n.export&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function C(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function j(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function A(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function I(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=j(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:C(n.name),type:"any",base:"any",template:null,link:null,description:y(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n["x-nullable"],format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,pattern:O(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=R(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.enum){const e=h(P(n.enum),n);if(e.length)return t.export="enum",t.type="string",t.base="string",t.enum.push(...e),t.default=q(n,t),t}if(("int"===n.type||"integer"===n.type)&&n.description){const e=g(n.description);if(e.length)return t.export="enum",t.type="number",t.base="number",t.enum.push(...e),t.default=q(n,t),t}if("array"===n.type&&n.items){const e=R(n.items.type);return t.export="array",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if("object"===n.type&&n.items){const e=R(n.items.type);return t.export="dictionary",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}{const r=w(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t.default=q(n,t),t}}if(n.type){const e=R(n.type);return t.export="generic",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=q(n,t),t}return t}(e,r);if("api-version"!==a.prop)switch(a.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"body":t.parametersBody=a,t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(A),t.parametersPath=t.parametersPath.sort(A),t.parametersQuery=t.parametersQuery.sort(A),t.parametersForm=t.parametersForm.sort(A),t.parametersCookie=t.parametersCookie.sort(A),t.parametersHeader=t.parametersHeader.sort(A),t}function E(e,n,t){const r={in:"response",name:"",code:t,description:y(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.schema){if(n.schema.$ref){const e=R(n.schema.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const t=w(e,n.schema);return r.export=t.export,r.type=t.type,r.base=t.base,r.template=t.template,r.link=t.link,r.isReadOnly=t.isReadOnly,r.isRequired=t.isRequired,r.isNullable=t.isNullable,r.format=t.format,r.maximum=t.maximum,r.exclusiveMaximum=t.exclusiveMaximum,r.minimum=t.minimum,r.exclusiveMinimum=t.exclusiveMinimum,r.multipleOf=t.multipleOf,r.maxLength=t.maxLength,r.minLength=t.minLength,r.maxItems=t.maxItems,r.minItems=t.minItems,r.uniqueItems=t.uniqueItems,r.maxProperties=t.maxProperties,r.minProperties=t.minProperties,r.pattern=O(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}return r}function H(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function D(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?D(e.link,n.link):t}function S(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>D(n,e)))===n))}function $(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${C(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:y(r.summary),description:y(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=I(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=j(e,n[r]),o=H(r);if(o){const n=E(e,a,o);t.push(n)}}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=S(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function N(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=(null===(n=e.schemes)||void 0===n?void 0:n[0])||"http",r=e.host,a=e.basePath||"";return r?`${t}://${r}${a}`:a}(e),models:function(e){const n=[];for(const t in e.definitions)if(e.definitions.hasOwnProperty(t)){const r=w(e,e.definitions[t],!0,R(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=I(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=$(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}function B(n){return n?n.replace(/\r?\n(.*)/g,((n,t)=>`${e.EOL} * ${t.trim()}`)):null}function T(e){return null!=e&&""!==e}function L(e,n,t,r){const a={type:t,imports:[],enums:[],properties:[]};return n.map((n=>r(e,n))).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),a}function M(e,n){var t;if(void 0===e.default)return;if(null===e.default)return"null";switch(e.type||typeof e.default){case"int":case"integer":case"number":return"enum"==(null==n?void 0:n.export)&&(null===(t=n.enum)||void 0===t?void 0:t[e.default])?n.enum[e.default].value:e.default;case"boolean":return JSON.stringify(e.default);case"string":return`'${e.default}'`;case"object":try{return JSON.stringify(e.default,null,4)}catch(e){}}}function U(e){if(e){if(!/^[a-zA-Z_$][\w$]+$/g.test(e))return`'${e}'`}return e}function F(e){return null==e?void 0:e.replace(/\\/g,"\\\\")}const _=new Map([["File","File"],["file","File"],["any","any"],["object","any"],["array","any[]"],["boolean","boolean"],["byte","number"],["int","number"],["integer","number"],["float","number"],["double","number"],["short","number"],["long","number"],["number","number"],["char","string"],["date","string"],["date-time","string"],["password","string"],["string","string"],["void","void"],["null","null"]]);function W(e){return e.replace(/^[^a-zA-Z_$]+/g,"").replace(/[^\w$]+/g,"_")}function V(e,n){const t={type:"any",base:"any",template:null,imports:[]},r=function(e){return e.trim().replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"")}(e||"");if(/\[.*\]$/g.test(r)){const e=r.match(/(.*?)\[(.*)\]$/);if(null==e?void 0:e.length){const n=V(W(e[1])),r=V(W(e[2]));"any[]"===n.type?(t.type=`${r.type}[]`,t.base=`${r.type}`,n.imports=[]):r.type?(t.type=`${n.type}<${r.type}>`,t.base=n.type,t.template=r.type):(t.type=n.type,t.base=n.type,t.template=n.type),t.imports.push(...n.imports),t.imports.push(...r.imports)}}else if(a=r,_.has(a)){const e=function(e){return _.get(e)}(r);e&&(t.type=e,t.base=e)}else if(r){const e=W(r);t.type=e,t.base=e,t.imports.push(e)}var a;return t.type===n&&(t.type="T",t.base="T",t.imports=[]),t}function Q(e,n,t=!1,r=""){var a,o,l;const i={name:r,export:"interface",type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:t,isReadOnly:!0===n.readOnly,isNullable:!0===n.nullable,isRequired:!1,format:n.format,maximum:n.maximum,exclusiveMaximum:n.exclusiveMaximum,minimum:n.minimum,exclusiveMinimum:n.exclusiveMinimum,multipleOf:n.multipleOf,maxLength:n.maxLength,minLength:n.minLength,maxItems:n.maxItems,minItems:n.minItems,uniqueItems:n.uniqueItems,maxProperties:n.maxProperties,minProperties:n.minProperties,pattern:F(n.pattern),imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return i.export="reference",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}if(n.enum){const e=function(e,n){const t=n["x-enum-varnames"],r=n["x-enum-descriptions"];return e.map(((e,n)=>({name:(null==t?void 0:t[n])||e.name,description:(null==r?void 0:r[n])||e.description,value:e.value,type:e.type})))}((s=n.enum,Array.isArray(s)?s.filter(((e,n,t)=>t.indexOf(e)===n)).filter(T).map((e=>"number"==typeof e?{name:`_${e}`,value:String(e),type:"number",description:null}:{name:e.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:`'${e}'`,type:"string",description:null})):[]),n);if(e.length)return i.export="enum",i.type="string",i.base="string",i.enum.push(...e),i.default=M(n,i),i}var s;if(("int"===n.type||"integer"===n.type)&&n.description){const e=function(e){if(/^(\w+=[0-9]+,?)+$/g.test(e)){const n=e.match(/(\w+=[0-9]+,?)/g);if(n){const e=[];return n.forEach((n=>{const t=n.split("=")[0],r=parseInt(n.split("=")[1].replace(/[^0-9]/g,""));t&&Number.isInteger(r)&&e.push({name:t.replace(/\W+/g,"_").replace(/^(\d+)/g,"_$1").replace(/([a-z])([A-Z]+)/g,"$1_$2").toUpperCase(),value:String(r),type:"number",description:null})})),e.filter(((e,n,t)=>t.map((e=>e.name)).indexOf(e.name)===n))}}return[]}(n.description);if(e.length)return i.export="enum",i.type="number",i.base="number",i.enum.push(...e),i.default=M(n,i),i}if("array"===n.type&&n.items){if(n.items.$ref){const e=V(n.items.$ref);return i.export="array",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.items);return i.export="array",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if("object"===n.type&&"object"==typeof n.additionalProperties){if(n.additionalProperties.$ref){const e=V(n.additionalProperties.$ref);return i.export="dictionary",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}{const t=Q(e,n.additionalProperties);return i.export="dictionary",i.type=t.type,i.base=t.base,i.template=t.template,i.link=t,i.imports.push(...t.imports),i.default=M(n,i),i}}if(null===(a=n.oneOf)||void 0===a?void 0:a.length){const t=L(e,n.oneOf,"one-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(o=n.anyOf)||void 0===o?void 0:o.length){const t=L(e,n.anyOf,"any-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if(null===(l=n.allOf)||void 0===l?void 0:l.length){const t=L(e,n.allOf,"all-of",Q);return i.export=t.type,i.imports.push(...t.imports),i.enums.push(...t.enums),i.properties.push(...t.properties),i}if("object"===n.type){if(i.export="interface",i.type="any",i.base="any",n.properties){i.default=M(n,i);(function(e,n,t){var r;const a=[];for(const o in n.properties)if(n.properties.hasOwnProperty(o)){const l=n.properties[o],i=null===(r=n.required)||void 0===r?void 0:r.includes(o);if(l.$ref){const e=V(l.$ref);a.push({name:U(o),export:"reference",type:e.type,base:e.base,template:e.template,link:null,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:e.imports,enum:[],enums:[],properties:[]})}else{const n=t(e,l);a.push({name:U(o),export:n.export,type:n.type,base:n.base,template:n.template,link:n.link,description:B(l.description),isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:!0===i,isNullable:!0===l.nullable,format:l.format,maximum:l.maximum,exclusiveMaximum:l.exclusiveMaximum,minimum:l.minimum,exclusiveMinimum:l.exclusiveMinimum,multipleOf:l.multipleOf,maxLength:l.maxLength,minLength:l.minLength,maxItems:l.maxItems,minItems:l.minItems,uniqueItems:l.uniqueItems,maxProperties:l.maxProperties,minProperties:l.minProperties,pattern:F(l.pattern),imports:n.imports,enum:n.enum,enums:n.enums,properties:n.properties})}}return a})(e,n,Q).forEach((e=>{i.imports.push(...e.imports),i.properties.push(e),"enum"===e.export&&i.enums.push(e)}))}return i}if(n.type){const e=V(n.type);return i.export="generic",i.type=e.type,i.base=e.base,i.template=e.template,i.imports.push(...e.imports),i.default=M(n,i),i}return i}function z(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}function K(e,n){if(n.$ref){const t=n.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return t.forEach((e=>{if(!r.hasOwnProperty(e))throw new Error(`Could not find reference: "${n.$ref}"`);r=r[e]})),r}return n}function J(e,n){const t=e.isRequired&&void 0===e.default,r=n.isRequired&&void 0===n.default;return t&&!r?-1:!t&&r?1:0}function Z(e,n){const t={imports:[],parameters:[],parametersPath:[],parametersQuery:[],parametersForm:[],parametersCookie:[],parametersHeader:[],parametersBody:null};return n.forEach((n=>{const r=K(e,n),a=function(e,n){const t={in:n.in,prop:n.name,export:"interface",name:z(n.name),type:"any",base:"any",template:null,link:null,description:B(n.description),isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.$ref){const e=V(n.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}if(n.schema){if(n.schema.$ref){const e=V(n.schema.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t.default=M(n.schema),t}{const r=Q(e,n.schema);return t.export=r.export,t.type=r.type,t.base=r.base,t.template=r.template,t.link=r.link,t.isReadOnly=r.isReadOnly,t.isRequired=t.isRequired||r.isRequired,t.isNullable=t.isNullable||r.isNullable,t.format=r.format,t.maximum=r.maximum,t.exclusiveMaximum=r.exclusiveMaximum,t.minimum=r.minimum,t.exclusiveMinimum=r.exclusiveMinimum,t.multipleOf=r.multipleOf,t.maxLength=r.maxLength,t.minLength=r.minLength,t.maxItems=r.maxItems,t.minItems=r.minItems,t.uniqueItems=r.uniqueItems,t.maxProperties=r.maxProperties,t.minProperties=r.minProperties,t.pattern=F(r.pattern),t.default=r.default,t.imports.push(...r.imports),t.enum.push(...r.enum),t.enums.push(...r.enums),t.properties.push(...r.properties),t}}return t}(e,r);if("api-version"!==a.prop)switch(r.in){case"path":t.parametersPath.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"query":t.parametersQuery.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"formData":t.parametersForm.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"cookie":t.parametersCookie.push(a),t.parameters.push(a),t.imports.push(...a.imports);break;case"header":t.parametersHeader.push(a),t.parameters.push(a),t.imports.push(...a.imports)}})),t.parameters=t.parameters.sort(J),t.parametersPath=t.parametersPath.sort(J),t.parametersQuery=t.parametersQuery.sort(J),t.parametersForm=t.parametersForm.sort(J),t.parametersCookie=t.parametersCookie.sort(J),t.parametersHeader=t.parametersHeader.sort(J),t}function G(e,n){return n["application/json-patch+json"]&&n["application/json-patch+json"].schema||n["application/json"]&&n["application/json"].schema||n["text/json"]&&n["text/json"].schema||n["text/plain"]&&n["text/plain"].schema||n["multipart/mixed"]&&n["multipart/mixed"].schema||n["multipart/related"]&&n["multipart/related"].schema||n["multipart/batch"]&&n["multipart/batch"].schema||null}function X(e,n,t){const r={in:"response",name:"",code:t,description:B(n.description),export:"generic",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]};if(n.headers)for(const e in n.headers)if(n.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;if(n.content){const t=G(0,n.content);if(t){if(null==t?void 0:t.$ref){const e=V(t.$ref);return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r}{const n=Q(e,t);return r.export=n.export,r.type=n.type,r.base=n.base,r.template=n.template,r.link=n.link,r.isReadOnly=n.isReadOnly,r.isRequired=n.isRequired,r.isNullable=n.isNullable,r.format=n.format,r.maximum=n.maximum,r.exclusiveMaximum=n.exclusiveMaximum,r.minimum=n.minimum,r.exclusiveMinimum=n.exclusiveMinimum,r.multipleOf=n.multipleOf,r.maxLength=n.maxLength,r.minLength=n.minLength,r.maxItems=n.maxItems,r.minItems=n.minItems,r.uniqueItems=n.uniqueItems,r.maxProperties=n.maxProperties,r.minProperties=n.minProperties,r.pattern=F(n.pattern),r.imports.push(...n.imports),r.enum.push(...n.enum),r.enums.push(...n.enums),r.properties.push(...n.properties),r}}}return r}function Y(e){if("default"===e)return 200;if(/[0-9]+/g.test(e)){const n=parseInt(e);if(Number.isInteger(n))return Math.abs(n)}return null}function ee(e,n){const t=e.type===n.type&&e.base===n.base&&e.template===n.template;return t&&e.link&&n.link?ee(e.link,n.link):t}function ne(e){const n=[];return e.forEach((e=>{e.code&&e.code>=200&&e.code<300&&n.push(e)})),n.length||n.push({in:"response",name:"",code:200,description:"",export:"interface",type:"any",base:"any",template:null,link:null,isDefinition:!1,isReadOnly:!1,isRequired:!1,isNullable:!1,imports:[],enum:[],enums:[],properties:[]}),n.filter(((e,n,t)=>t.findIndex((n=>ee(n,e)))===n))}function te(e,n,t,r,a){var o;const l=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim(),t=m.default(n,{pascalCase:!0});return t&&!t.endsWith("Service")?`${t}Service`:t}((null===(o=r.tags)||void 0===o?void 0:o[0])||"Service"),i=`${t}${l}`,s=function(e){const n=e.replace(/^[^a-zA-Z]+/g,"").replace(/[^\w\-]+/g,"-").trim();return m.default(n)}(r.operationId||i),u=function(e){return e.replace(/\{(.*?)\}/g,((e,n)=>`\${${z(n)}}`)).replace("${apiVersion}","${OpenAPI.VERSION}")}(n),p={service:l,name:s,summary:B(r.summary),description:B(r.description),deprecated:!0===r.deprecated,method:t.toUpperCase(),path:u,parameters:[...a.parameters],parametersPath:[...a.parametersPath],parametersQuery:[...a.parametersQuery],parametersForm:[...a.parametersForm],parametersHeader:[...a.parametersHeader],parametersCookie:[...a.parametersCookie],parametersBody:a.parametersBody,imports:[],errors:[],results:[],responseHeader:null};if(r.parameters){const n=Z(e,r.parameters);p.imports.push(...n.imports),p.parameters.push(...n.parameters),p.parametersPath.push(...n.parametersPath),p.parametersQuery.push(...n.parametersQuery),p.parametersForm.push(...n.parametersForm),p.parametersHeader.push(...n.parametersHeader),p.parametersCookie.push(...n.parametersCookie),p.parametersBody=n.parametersBody}if(r.requestBody){const n=function(e,n){const t={in:"body",prop:"body",export:"interface",name:"requestBody",type:"any",base:"any",template:null,link:null,description:B(n.description),default:void 0,isDefinition:!1,isReadOnly:!1,isRequired:!0===n.required,isNullable:!0===n.nullable,imports:[],enum:[],enums:[],properties:[]};if(n.content){const r=G(0,n.content);if(r){if(null==r?void 0:r.$ref){const e=V(r.$ref);return t.export="reference",t.type=e.type,t.base=e.base,t.template=e.template,t.imports.push(...e.imports),t}{const n=Q(e,r);return t.export=n.export,t.type=n.type,t.base=n.base,t.template=n.template,t.link=n.link,t.isReadOnly=n.isReadOnly,t.isRequired=t.isRequired||n.isRequired,t.isNullable=t.isNullable||n.isNullable,t.format=n.format,t.maximum=n.maximum,t.exclusiveMaximum=n.exclusiveMaximum,t.minimum=n.minimum,t.exclusiveMinimum=n.exclusiveMinimum,t.multipleOf=n.multipleOf,t.maxLength=n.maxLength,t.minLength=n.minLength,t.maxItems=n.maxItems,t.minItems=n.minItems,t.uniqueItems=n.uniqueItems,t.maxProperties=n.maxProperties,t.minProperties=n.minProperties,t.pattern=F(n.pattern),t.imports.push(...n.imports),t.enum.push(...n.enum),t.enums.push(...n.enums),t.properties.push(...n.properties),t}}}return t}(e,K(e,r.requestBody));p.imports.push(...n.imports),p.parameters.push(n),p.parameters=p.parameters.sort(J),p.parametersBody=n}if(r.responses){const n=function(e,n){const t=[];for(const r in n)if(n.hasOwnProperty(r)){const a=K(e,n[r]),o=Y(r);o&&t.push(X(e,a,o))}return t.sort(((e,n)=>e.coden.code?1:0))}(e,r.responses),t=ne(n);p.errors=function(e){return e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})))}(n),p.responseHeader=function(e){const n=e.find((e=>"header"===e.in));return n?n.name:null}(t),t.forEach((e=>{p.results.push(e),p.imports.push(...e.imports)}))}return p}function re(e){return{version:function(e="1.0"){return e.replace(/^v/gi,"")}(e.info.version),server:function(e){var n;const t=null===(n=e.servers)||void 0===n?void 0:n[0],r=(null==t?void 0:t.variables)||{};let a=(null==t?void 0:t.url)||"";for(const e in r)r.hasOwnProperty(e)&&(a=a.replace(`{${e}}`,r[e].default));return a}(e),models:function(e){const n=[];if(e.components)for(const t in e.components.schemas)if(e.components.schemas.hasOwnProperty(t)){const r=Q(e,e.components.schemas[t],!0,V(t).base);n.push(r)}return n}(e),services:function(e){const n=new Map;for(const t in e.paths)if(e.paths.hasOwnProperty(t)){const r=e.paths[t],a=Z(e,r.parameters||[]);for(const o in r)if(r.hasOwnProperty(o))switch(o){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":const l=te(e,t,o,r[o],a),i=n.get(l.service)||{name:l.service,operations:[],imports:[]};i.operations.push(l),i.imports.push(...l.imports),n.set(l.service,i)}}return Array.from(n.values())}(e)}}const ae=i.promisify(a.readFile),oe=i.promisify(a.writeFile),le=(i.promisify(a.copyFile),i.promisify(a.exists)),ie=d.default,se=e=>new Promise(((n,t)=>{f.default(e,(e=>{e?t(e):n()}))}));async function ue(e){return e.startsWith("https://")?await async function(e){return new Promise(((n,t)=>{u.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):e.startsWith("http://")?await async function(e){return new Promise(((n,t)=>{s.get(e,(r=>{let a="";r.on("data",(e=>{a+=e})),r.on("end",(()=>{n(a)})),r.on("error",(()=>{t(`Could not read OpenApi spec: "${e}"`)}))}))}))}(e):await async function(e){const n=r.resolve(process.cwd(),e);if(await le(n))try{return(await ae(n,"utf8")).toString()}catch(e){throw new Error(`Could not read OpenApi spec: "${n}"`)}throw new Error(`Could not find OpenApi spec: "${n}"`)}(e)}var pe;function ce(e){return e.enum.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function me(e){return e.enums.filter(((e,n,t)=>t.findIndex((n=>n.name===e.name))===n))}function de(e,n){const t=e.toLowerCase(),r=n.toLowerCase();return t.localeCompare(r,"en")}function fe(e,n,t){return t.indexOf(e)===n}function he(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}function ye(e,n){const t=[];return e.map(n).forEach((e=>{t.push(...e)})),t}function ve(e){const n=Object.assign({},e);return n.operations=function(e){const n=new Map;return e.operations.map((e=>{const t=Object.assign({},e);t.imports.push(...ye(t.parameters,(e=>e.imports))),t.imports.push(...ye(t.results,(e=>e.imports)));const r=t.name,a=n.get(r)||0;return a>0&&(t.name=`${r}${a}`),n.set(r,a+1),t}))}(n),n.operations.forEach((e=>{n.imports.push(...e.imports)})),n.imports=function(e){return e.imports.filter(fe).sort(de).filter((n=>e.name!==n))}(n),n}function Pe(e){return Object.assign(Object.assign({},e),{models:e.models.map((e=>function(e){return Object.assign(Object.assign({},e),{imports:he(e),enums:me(e),enum:ce(e)})}(e))),services:e.services.map((e=>ve(e)))})}!function(e){e[e.V2=2]="V2",e[e.V3=3]="V3"}(pe||(pe={}));var ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}"},usePartial:!0,useData:!0},be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiRequestOptions = {\n readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n readonly path: string;\n readonly cookies?: Record;\n readonly headers?: Record;\n readonly query?: Record;\n readonly formData?: Record;\n readonly body?: any;\n readonly responseHeader?: string;\n readonly errors?: Record;\n}"},usePartial:!0,useData:!0},Oe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport type ApiResult = {\n readonly url: string;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly body: any;\n}"},usePartial:!0,useData:!0},xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},ke={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Re={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},we={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getRequestBody"),n,{name:"fetch/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/sendRequest"),n,{name:"fetch/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseHeader"),n,{name:"fetch/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getResponseBody"),n,{name:"fetch/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n\n\n return result;\n}"},usePartial:!0,useData:!0},Ce={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = Response;"},useData:!0},Ae={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}"},useData:!0},Ie={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getFormData(params: Record): FormData {\n const formData = new FormData();\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n formData.append(key, value);\n }\n });\n return formData;\n}"},useData:!0},Ee={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getQueryString(params: Record): string {\n const qs: string[] = [];\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(value => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n });\n } else {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n return '';\n}"},useData:!0},He={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getUrl(options: ApiRequestOptions): string {\n const path = options.path.replace(/[:]/g, '_');\n const url = `${OpenAPI.BASE}${path}`;\n\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n}"},useData:!0},De={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {\n const isBuffer = Buffer.isBuffer(value);\n const isArrayBuffer = types.isArrayBuffer(value);\n const isArrayBufferView = types.isArrayBufferView(value);\n return isBuffer || isArrayBuffer || isArrayBufferView;\n}"},useData:!0},Se={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}"},useData:!0},$e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}"},useData:!0},Ne={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isString(value: any): value is string {\n return typeof value === 'string';\n}"},useData:!0},Be={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}"},useData:!0},Te={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function isSuccess(status: number): boolean {\n return status >= 200 && status < 300;\n}"},useData:!0},Le={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type Resolver = () => Promise;\n\nasync function resolve(resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)();\n }\n return resolver;\n}"},useData:!0},Me={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = Buffer.from(`${username}:${password}`).toString('base64');\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBinary(options.body)) {\n headers.append('Content-Type', 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ue={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBinary(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Fe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},_e={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},We={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport FormData from 'form-data';\nimport fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';\nimport { types } from 'util';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBinary"),n,{name:"functions/isBinary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getHeaders"),n,{name:"node/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getRequestBody"),n,{name:"node/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/sendRequest"),n,{name:"node/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseHeader"),n,{name:"node/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"node/getResponseBody"),n,{name:"node/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n* Request using node-fetch client\n* @param options The request options from the the service\n* @result ApiResult\n* @throws ApiError\n*/\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},Ve={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"},useData:!0},Qe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"import { Response as ResponseImplementation } from 'node-fetch';"},useData:!0},ze={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/responseType"),n,{name:"fetch/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/responseType"),n,{name:"xhr/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/responseType"),n,{name:"node/responseType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(u(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:66}}}))?o:"")+"\n"+(null!=(o=u(t,"equals").call(l,u(u(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:6,column:68}}}))?o:"")+"\n\ntype Resolver = () => Promise;\ntype Headers = Record;\n\nimport { ApiResult } from './ApiResult';\nimport { ApiRequestOptions } from './ApiRequestOptions';\n\nexport interface RequestHookParams {\n url: string;\n options: ApiRequestOptions;\n}\n\nexport interface ResponseHookParams {\n url: string;\n result: ApiResult;\n response?: ResponseImplementation;\n}\n\ntype Config = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n REQUEST_HOOK?(params: RequestHookParams): Promise;\n RESPONSE_HOOK?(result: ResponseHookParams): Promise\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n}\n\nexport const OpenAPI: Config = {\n BASE: '"+(null!=(o=s(i(n,"server",{start:{line:38,column:14},end:{line:38,column:20}}),n))?o:"")+"',\n VERSION: '"+(null!=(o=s(i(n,"version",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n WITH_CREDENTIALS: false,\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n};"},usePartial:!0,useData:!0},Ke={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"fetch/request"),n,{name:"fetch/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"xhr/request"),n,{name:"xhr/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"node/request"),n,{name:"node/request",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:65}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:61}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:63}}}))?o:"")},usePartial:!0,useData:!0},Je={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"},useData:!0},Ze={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getRequestBody(options: ApiRequestOptions): any {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"},useData:!0},Ge={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseBody(xhr: XMLHttpRequest): any {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"},useData:!0},Xe={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"function getResponseHeader(xhr: XMLHttpRequest, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"},useData:!0},Ye={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isDefined"),n,{name:"functions/isDefined",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isString"),n,{name:"functions/isString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isBlob"),n,{name:"functions/isBlob",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/isSuccess"),n,{name:"functions/isSuccess",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getUrl"),n,{name:"functions/getUrl",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/getFormData"),n,{name:"functions/getFormData",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/resolve"),n,{name:"functions/resolve",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"fetch/getHeaders"),n,{name:"fetch/getHeaders",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getRequestBody"),n,{name:"xhr/getRequestBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/sendRequest"),n,{name:"xhr/sendRequest",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseHeader"),n,{name:"xhr/getResponseHeader",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"xhr/getResponseBody"),n,{name:"xhr/getResponseBody",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n"+(null!=(o=e.invokePartial(l(r,"functions/catchErrors"),n,{name:"functions/catchErrors",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n\n/**\n * Request using XHR client\n * @param options The request options from the the service\n * @result ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"},usePartial:!0,useData:!0},en={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n\n const xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = OpenAPI.WITH_CREDENTIALS;\n\n const headers = await getHeaders(options);\n headers.forEach((value: string, key: string) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise(resolve => {\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n resolve(xhr);\n }\n };\n xhr.send(getRequestBody(options));\n });\n}"},useData:!0},nn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"type ResponseImplementation = XMLHttpRequest;"},useData:!0},tn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:9}}}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from './"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportInterface"),n,{name:"exportInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:12,column:0},end:{line:22,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportComposition"),n,{name:"exportComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(10,a,0),data:a,loc:{start:{line:14,column:0},end:{line:22,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:16,column:0},end:{line:22,column:0}}}))?o:""},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(12,a,0),inverse:e.program(14,a,0),data:a,loc:{start:{line:18,column:0},end:{line:22,column:0}}}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportEnum"),n,{name:"exportEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"exportType"),n,{name:"exportType",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:8,column:7}}}))?o:"")+"\n"+(null!=(o=i(t,"equals").call(l,i(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:10,column:0},end:{line:22,column:11}}}))?o:"")},usePartial:!0,useData:!0},rn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\nexport const $"+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:3,column:17},end:{line:3,column:21}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},an={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"imports"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lambda;return"import type { "+(null!=(o=l(n,n))?o:"")+" } from '../models/"+(null!=(o=l(n,n))?o:"")+"';\n"},4:function(e,n,t,r,a){return"import { OpenAPI } from '../core/OpenAPI';\n"},6:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.strict,s=e.lambda,u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" /**\n"+(null!=(o=u(t,"if").call(l,u(n,"deprecated"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:4},end:{line:19,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"summary"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:4},end:{line:22,column:11}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"description"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:4},end:{line:25,column:11}}}))?o:"")+(null!=(o=u(t,"unless").call(l,u(u(a,"root"),"useOptions"),{name:"unless",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:4},end:{line:32,column:15}}}))?o:"")+(null!=(o=u(t,"each").call(l,u(n,"results"),{name:"each",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:33,column:4},end:{line:35,column:13}}}))?o:"")+" * @throws ApiError\n */\n public static async "+(null!=(o=s(i(n,"name",{start:{line:38,column:27},end:{line:38,column:31}}),n))?o:"")+"("+(null!=(o=e.invokePartial(u(r,"parameters"),n,{name:"parameters",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"): Promise<"+(null!=(o=e.invokePartial(u(r,"result"),n,{name:"result",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"> {\n const result = await __request({\n method: '"+(null!=(o=s(i(n,"method",{start:{line:40,column:24},end:{line:40,column:30}}),n))?o:"")+"',\n path: `"+(null!=(o=s(i(n,"path",{start:{line:41,column:22},end:{line:41,column:26}}),n))?o:"")+"`,\n"+(null!=(o=u(t,"if").call(l,u(n,"parametersCookie"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:42,column:12},end:{line:48,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersHeader"),{name:"if",hash:{},fn:e.program(22,a,0),inverse:e.noop,data:a,loc:{start:{line:49,column:12},end:{line:55,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersQuery"),{name:"if",hash:{},fn:e.program(24,a,0),inverse:e.noop,data:a,loc:{start:{line:56,column:12},end:{line:62,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersForm"),{name:"if",hash:{},fn:e.program(26,a,0),inverse:e.noop,data:a,loc:{start:{line:63,column:12},end:{line:69,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"parametersBody"),{name:"if",hash:{},fn:e.program(28,a,0),inverse:e.noop,data:a,loc:{start:{line:70,column:12},end:{line:72,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"responseHeader"),{name:"if",hash:{},fn:e.program(30,a,0),inverse:e.noop,data:a,loc:{start:{line:73,column:12},end:{line:75,column:19}}}))?o:"")+(null!=(o=u(t,"if").call(l,u(n,"errors"),{name:"if",hash:{},fn:e.program(32,a,0),inverse:e.noop,data:a,loc:{start:{line:76,column:12},end:{line:82,column:19}}}))?o:"")+" });\n return result.body;\n }\n\n"},7:function(e,n,t,r,a){return" * @deprecated\n"},9:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"summary",{start:{line:21,column:10},end:{line:21,column:17}}),n))?o:"")+"\n"},11:function(e,n,t,r,a){var o;return" * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:24,column:10},end:{line:24,column:21}}),n))?o:"")+"\n"},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:27,column:4},end:{line:31,column:11}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:4},end:{line:30,column:13}}}))?o:""},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @param "+(null!=(o=i(l(n,"name",{start:{line:29,column:17},end:{line:29,column:21}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:29,column:28},end:{line:29,column:39}}),n))?o:"")+"\n"},17:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" * @result "+(null!=(o=i(l(n,"type",{start:{line:34,column:18},end:{line:34,column:22}}),n))?o:"")+" "+(null!=(o=i(l(n,"description",{start:{line:34,column:29},end:{line:34,column:40}}),n))?o:"")+"\n"},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" cookies: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersCookie"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:16},end:{line:46,column:25}}}))?o:"")+" },\n"},20:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" '"+(null!=(o=i(l(n,"prop",{start:{line:45,column:20},end:{line:45,column:24}}),n))?o:"")+"': "+(null!=(o=i(l(n,"name",{start:{line:45,column:33},end:{line:45,column:37}}),n))?o:"")+",\n"},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" headers: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersHeader"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:51,column:16},end:{line:53,column:25}}}))?o:"")+" },\n"},24:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" query: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersQuery"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:58,column:16},end:{line:60,column:25}}}))?o:"")+" },\n"},26:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" formData: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parametersForm"),{name:"each",hash:{},fn:e.program(20,a,0),inverse:e.noop,data:a,loc:{start:{line:65,column:16},end:{line:67,column:25}}}))?o:"")+" },\n"},28:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" body: "+(null!=(o=e.lambda(e.strict(l(n,"parametersBody"),"name",{start:{line:71,column:21},end:{line:71,column:40}}),n))?o:"")+",\n"},30:function(e,n,t,r,a){var o;return" responseHeader: '"+(null!=(o=e.lambda(e.strict(n,"responseHeader",{start:{line:74,column:32},end:{line:74,column:46}}),n))?o:"")+"',\n"},32:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" errors: {\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"errors"),{name:"each",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:78,column:16},end:{line:80,column:25}}}))?o:"")+" },\n"},33:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"code",{start:{line:79,column:19},end:{line:79,column:23}}),n))?o:"")+": `"+(null!=(o=i(l(n,"description",{start:{line:79,column:32},end:{line:79,column:43}}),n))?o:"")+"`,\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+"\n"+(null!=(o=i(t,"if").call(l,i(n,"imports"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+"import { request as __request } from '../core/request';\n"+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"useVersion"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"\nexport class "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:13,column:16},end:{line:13,column:20}}),n))?o:"")+" {\n\n"+(null!=(o=i(t,"each").call(l,i(n,"operations"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:4},end:{line:87,column:13}}}))?o:"")+"}"},usePartial:!0,useData:!0},on={1:function(e,n,t,r,a){return"\nexport { ApiError } from './core/ApiError';\nexport { OpenAPI } from './core/OpenAPI';\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:21,column:7}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:20,column:9}}}))?o:"")},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:7}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:12,column:12},end:{line:12,column:16}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:12,column:40},end:{line:12,column:44}}),n))?o:"")+"';\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.program(11,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export type { "+(null!=(o=i(l(n,"name",{start:{line:14,column:17},end:{line:14,column:21}}),n))?o:"")+" } from './models/"+(null!=(o=i(l(n,"name",{start:{line:14,column:45},end:{line:14,column:49}}),n))?o:"")+"';\n"},11:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"if",hash:{},fn:e.program(14,a,0),inverse:e.noop,data:a,loc:{start:{line:24,column:0},end:{line:29,column:7}}}))?o:""},14:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"models"),{name:"each",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:9}}}))?o:"")},15:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { $"+(null!=(o=i(l(n,"name",{start:{line:27,column:13},end:{line:27,column:17}}),n))?o:"")+" } from './schemas/$"+(null!=(o=i(l(n,"name",{start:{line:27,column:43},end:{line:27,column:47}}),n))?o:"")+"';\n"},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"if",hash:{},fn:e.program(18,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:37,column:7}}}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"services"),{name:"each",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:34,column:0},end:{line:36,column:9}}}))?o:"")},19:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return"export { "+(null!=(o=i(l(n,"name",{start:{line:35,column:12},end:{line:35,column:16}}),n))?o:"")+" } from './services/"+(null!=(o=i(l(n,"name",{start:{line:35,column:42},end:{line:35,column:46}}),n))?o:"")+"';\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(i(r,"header"),n,{name:"header",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportCore"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportModels"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportSchemas"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:30,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(i(a,"root"),"exportServices"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:31,column:0},end:{line:38,column:7}}}))?o:"")},usePartial:!0,useData:!0},ln={1:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"fetch",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:53}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"xhr",{name:"equals",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:3,column:51}}}))?o:"")+(null!=(o=i(t,"equals").call(l,i(i(a,"root"),"httpClient"),"node",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:86}}}))?o:"")},2:function(e,n,t,r,a){return"Blob"},4:function(e,n,t,r,a){return"Buffer | ArrayBuffer | ArrayBufferView"},6:function(e,n,t,r,a){var o;return null!=(o=e.lambda(e.strict(n,"base",{start:{line:6,column:3},end:{line:6,column:7}}),n))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"base"),"File",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:13}}}))?o:""},useData:!0},sn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:27,column:11}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:10,column:20},end:{line:10,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:4},end:{line:24,column:13}}}))?o:"")+"\n}\n"},5:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:4},end:{line:17,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:18,column:19},end:{line:18,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:19,column:8},end:{line:21,column:17}}}))?o:"")+" }\n\n"},6:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:15,column:10},end:{line:15,column:21}}),n))?o:"")+"\n */\n"},8:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:20,column:11},end:{line:20,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:20,column:24},end:{line:20,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(i(r,"type"),n,{name:"type",hash:{parent:i(n,"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";\n"+(null!=(o=i(t,"if").call(l,i(n,"enums"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:28,column:7}}}))?o:"")},usePartial:!0,useData:!0},un={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?o:"")+" "+(null!=(o=i(l(n,"name",{start:{line:13,column:7},end:{line:13,column:11}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:13,column:20},end:{line:13,column:25}}),n))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?o:"")+"}"},useData:!0},pn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},3:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:8,column:4},end:{line:12,column:11}}}))?i:"")+" "+(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:13,column:22},end:{line:13,column:26}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"name")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+";\n"},4:function(e,n,t,r,a){var o;return" /**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:10,column:10},end:{line:10,column:21}}),n))?o:"")+"\n */\n"},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:36,column:11}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\nexport namespace "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:19,column:20},end:{line:19,column:24}}),n))?o:"")+" {\n\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enums"),{name:"each",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:21,column:4},end:{line:33,column:13}}}))?o:"")+"\n}\n"},8:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(t,"if").call(l,i(n,"description"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:22,column:4},end:{line:26,column:11}}}))?o:"")+" export enum "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:27,column:19},end:{line:27,column:23}}),n))?o:"")+" {\n"+(null!=(o=i(t,"each").call(l,i(n,"enum"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:28,column:8},end:{line:30,column:17}}}))?o:"")+" }\n\n"},9:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda;return" "+(null!=(o=i(l(n,"name",{start:{line:29,column:11},end:{line:29,column:15}}),n))?o:"")+" = "+(null!=(o=i(l(n,"value",{start:{line:29,column:24},end:{line:29,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?i:"")+"export type "+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?i:"")+" = {\n"+(null!=(i=u(t,"each").call(s,u(n,"properties"),{name:"each",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:7,column:4},end:{line:14,column:13}}}))?i:"")+"}\n"+(null!=(i=u(t,"if").call(s,u(n,"enums"),{name:"if",hash:{},fn:e.program(6,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:37,column:7}}}))?i:"")},usePartial:!0,useData:!0,useDepths:!0},cn={1:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:3,column:6},end:{line:3,column:17}}),n))?o:"")+"\n */\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"description"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:7}}}))?o:"")+"export type "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:6,column:15},end:{line:6,column:19}}),n))?o:"")+" = "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+";"},usePartial:!0,useData:!0},mn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){return"/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */"},useData:!0},dn={1:function(e,n,t,r,a){return" | null"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isNullable"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:32}}}))?o:""},useData:!0},fn={1:function(e,n,t,r,a){return"readonly "},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:1,column:34}}}))?o:""},useData:!0},hn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.program(4,a,0),data:a,loc:{start:{line:2,column:0},end:{line:2,column:54}}}))?o:""},2:function(e,n,t,r,a){return"?"},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:23},end:{line:2,column:43}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"isRequired"),{name:"unless",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:4,column:64}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:22},end:{line:4,column:53}}}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},useData:!0},yn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useOptions"),{name:"if",hash:{},fn:e.program(2,a,0),inverse:e.program(8,a,0),data:a,loc:{start:{line:2,column:0},end:{line:18,column:7}}}))?o:""},2:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:9}}}))?o:"")+"}: {\n"+(null!=(o=i(t,"each").call(l,i(n,"parameters"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:11,column:9}}}))?o:"")+"}"},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:3},end:{line:5,column:7}}),n))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:10},end:{line:5,column:48}}}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" = "+(null!=(o=e.lambda(e.strict(n,"default",{start:{line:5,column:31},end:{line:5,column:38}}),n))?o:"")},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"/** "+(null!=(o=i(l(n,"description",{start:{line:9,column:7},end:{line:9,column:18}}),n))?o:"")+" **/\n"+(null!=(o=i(l(n,"name",{start:{line:10,column:3},end:{line:10,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(s(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},8:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"\n"+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"each",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}}))?o:"")},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"name",{start:{line:16,column:3},end:{line:16,column:7}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"default"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:36},end:{line:16,column:74}}}))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parameters"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:1,column:0},end:{line:19,column:7}}}))?o:""},usePartial:!0,useData:!0},vn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:66}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:26},end:{line:2,column:57}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){return"void"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"results"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Pn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaInterface"),n,{name:"schemaInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:17,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaEnum"),n,{name:"schemaEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:17,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaArray"),n,{name:"schemaArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:17,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaDictionary"),n,{name:"schemaDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:17,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaComposition"),n,{name:"schemaComposition",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(16,a,0),data:a,loc:{start:{line:11,column:0},end:{line:17,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(17,a,0),data:a,loc:{start:{line:13,column:0},end:{line:17,column:0}}}))?o:""},17:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"schemaGeneric"),n,{name:"schemaGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?o:""},usePartial:!0,useData:!0},gn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'array',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},bn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:46},end:{line:3,column:76}}}))?o:"")},2:function(e,n,t,r,a){return", "},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:5,column:19},end:{line:5,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:8,column:19},end:{line:8,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: '"+(null!=(o=e.lambda(e.strict(n,"export",{start:{line:2,column:13},end:{line:2,column:19}}),n))?o:"")+"',\n contains: ["+(null!=(o=i(t,"each").call(l,i(n,"properties"),{name:"each",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:15},end:{line:3,column:85}}}))?o:"")+"],\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:6,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:7,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},On={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" contains: "+(null!=(o=e.invokePartial(l(r,"schema"),l(n,"link"),{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" contains: {\n type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:7,column:18},end:{line:7,column:22}}),n))?o:"")+"',\n },\n"},5:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:11,column:19},end:{line:11,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:14,column:19},end:{line:14,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:17,column:19},end:{line:17,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'dictionary',\n"+(null!=(o=i(t,"if").call(l,i(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:3,column:0},end:{line:9,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:10,column:0},end:{line:12,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:13,column:0},end:{line:15,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:16,column:0},end:{line:18,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},xn={1:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:4,column:19},end:{line:4,column:29}}),n))?o:"")+",\n"},3:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:7,column:19},end:{line:7,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n type: 'Enum',\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:5,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+"}"},useData:!0},kn={1:function(e,n,t,r,a){var o;return" type: '"+(null!=(o=e.lambda(e.strict(n,"base",{start:{line:3,column:14},end:{line:3,column:18}}),n))?o:"")+"',\n"},3:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:6,column:19},end:{line:6,column:29}}),n))?o:"")+",\n"},5:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:9,column:19},end:{line:9,column:29}}),n))?o:"")+",\n"},7:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:12,column:19},end:{line:12,column:29}}),n))?o:"")+",\n"},9:function(e,n,t,r,a){var o;return" format: '"+(null!=(o=e.lambda(e.strict(n,"format",{start:{line:15,column:16},end:{line:15,column:22}}),n))?o:"")+"',\n"},11:function(e,n,t,r,a){var o;return" maximum: "+(null!=(o=e.lambda(e.strict(n,"maximum",{start:{line:18,column:16},end:{line:18,column:23}}),n))?o:"")+",\n"},13:function(e,n,t,r,a){var o;return" exclusiveMaximum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMaximum",{start:{line:21,column:25},end:{line:21,column:41}}),n))?o:"")+",\n"},15:function(e,n,t,r,a){var o;return" minimum: "+(null!=(o=e.lambda(e.strict(n,"minimum",{start:{line:24,column:16},end:{line:24,column:23}}),n))?o:"")+",\n"},17:function(e,n,t,r,a){var o;return" exclusiveMinimum: "+(null!=(o=e.lambda(e.strict(n,"exclusiveMinimum",{start:{line:27,column:25},end:{line:27,column:41}}),n))?o:"")+",\n"},19:function(e,n,t,r,a){var o;return" multipleOf: "+(null!=(o=e.lambda(e.strict(n,"multipleOf",{start:{line:30,column:19},end:{line:30,column:29}}),n))?o:"")+",\n"},21:function(e,n,t,r,a){var o;return" maxLength: "+(null!=(o=e.lambda(e.strict(n,"maxLength",{start:{line:33,column:18},end:{line:33,column:27}}),n))?o:"")+",\n"},23:function(e,n,t,r,a){var o;return" minLength: "+(null!=(o=e.lambda(e.strict(n,"minLength",{start:{line:36,column:18},end:{line:36,column:27}}),n))?o:"")+",\n"},25:function(e,n,t,r,a){var o;return" pattern: '"+(null!=(o=e.lambda(e.strict(n,"pattern",{start:{line:39,column:17},end:{line:39,column:24}}),n))?o:"")+"',\n"},27:function(e,n,t,r,a){var o;return" maxItems: "+(null!=(o=e.lambda(e.strict(n,"maxItems",{start:{line:42,column:17},end:{line:42,column:25}}),n))?o:"")+",\n"},29:function(e,n,t,r,a){var o;return" minItems: "+(null!=(o=e.lambda(e.strict(n,"minItems",{start:{line:45,column:17},end:{line:45,column:25}}),n))?o:"")+",\n"},31:function(e,n,t,r,a){var o;return" uniqueItems: "+(null!=(o=e.lambda(e.strict(n,"uniqueItems",{start:{line:48,column:20},end:{line:48,column:31}}),n))?o:"")+",\n"},33:function(e,n,t,r,a){var o;return" maxProperties: "+(null!=(o=e.lambda(e.strict(n,"maxProperties",{start:{line:51,column:22},end:{line:51,column:35}}),n))?o:"")+",\n"},35:function(e,n,t,r,a){var o;return" minProperties: "+(null!=(o=e.lambda(e.strict(n,"minProperties",{start:{line:54,column:22},end:{line:54,column:35}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(o=i(t,"if").call(l,i(n,"type"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:5,column:0},end:{line:7,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(5,a,0),inverse:e.noop,data:a,loc:{start:{line:8,column:0},end:{line:10,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(7,a,0),inverse:e.noop,data:a,loc:{start:{line:11,column:0},end:{line:13,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"format"),{name:"if",hash:{},fn:e.program(9,a,0),inverse:e.noop,data:a,loc:{start:{line:14,column:0},end:{line:16,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maximum"),{name:"if",hash:{},fn:e.program(11,a,0),inverse:e.noop,data:a,loc:{start:{line:17,column:0},end:{line:19,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMaximum"),{name:"if",hash:{},fn:e.program(13,a,0),inverse:e.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minimum"),{name:"if",hash:{},fn:e.program(15,a,0),inverse:e.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"exclusiveMinimum"),{name:"if",hash:{},fn:e.program(17,a,0),inverse:e.noop,data:a,loc:{start:{line:26,column:0},end:{line:28,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"multipleOf"),{name:"if",hash:{},fn:e.program(19,a,0),inverse:e.noop,data:a,loc:{start:{line:29,column:0},end:{line:31,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxLength"),{name:"if",hash:{},fn:e.program(21,a,0),inverse:e.noop,data:a,loc:{start:{line:32,column:0},end:{line:34,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minLength"),{name:"if",hash:{},fn:e.program(23,a,0),inverse:e.noop,data:a,loc:{start:{line:35,column:0},end:{line:37,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"pattern"),{name:"if",hash:{},fn:e.program(25,a,0),inverse:e.noop,data:a,loc:{start:{line:38,column:0},end:{line:40,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxItems"),{name:"if",hash:{},fn:e.program(27,a,0),inverse:e.noop,data:a,loc:{start:{line:41,column:0},end:{line:43,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minItems"),{name:"if",hash:{},fn:e.program(29,a,0),inverse:e.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"uniqueItems"),{name:"if",hash:{},fn:e.program(31,a,0),inverse:e.noop,data:a,loc:{start:{line:47,column:0},end:{line:49,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"maxProperties"),{name:"if",hash:{},fn:e.program(33,a,0),inverse:e.noop,data:a,loc:{start:{line:50,column:0},end:{line:52,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"minProperties"),{name:"if",hash:{},fn:e.program(35,a,0),inverse:e.noop,data:a,loc:{start:{line:53,column:0},end:{line:55,column:7}}}))?o:"")+"}"},useData:!0},Rn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))?o:""},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return" "+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:5,column:11},end:{line:5,column:15}}),n))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"schema"),n,{name:"schema",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},4:function(e,n,t,r,a){var o;return" isReadOnly: "+(null!=(o=e.lambda(e.strict(n,"isReadOnly",{start:{line:10,column:19},end:{line:10,column:29}}),n))?o:"")+",\n"},6:function(e,n,t,r,a){var o;return" isRequired: "+(null!=(o=e.lambda(e.strict(n,"isRequired",{start:{line:13,column:19},end:{line:13,column:29}}),n))?o:"")+",\n"},8:function(e,n,t,r,a){var o;return" isNullable: "+(null!=(o=e.lambda(e.strict(n,"isNullable",{start:{line:16,column:19},end:{line:16,column:29}}),n))?o:"")+",\n"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=null!=n?n:e.nullContext||{},i=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n properties: {\n"+(null!=(o=i(t,"if").call(l,i(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:7,column:7}}}))?o:"")+" },\n"+(null!=(o=i(t,"if").call(l,i(n,"isReadOnly"),{name:"if",hash:{},fn:e.program(4,a,0),inverse:e.noop,data:a,loc:{start:{line:9,column:0},end:{line:11,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isRequired"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:12,column:0},end:{line:14,column:7}}}))?o:"")+(null!=(o=i(t,"if").call(l,i(n,"isNullable"),{name:"if",hash:{},fn:e.program(8,a,0),inverse:e.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:7}}}))?o:"")+"}"},usePartial:!0,useData:!0},wn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeInterface"),n,{name:"typeInterface",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"reference",{name:"equals",hash:{},fn:e.program(4,a,0),inverse:e.program(6,a,0),data:a,loc:{start:{line:3,column:0},end:{line:19,column:0}}}))?o:""},4:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeReference"),n,{name:"typeReference",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"enum",{name:"equals",hash:{},fn:e.program(7,a,0),inverse:e.program(9,a,0),data:a,loc:{start:{line:5,column:0},end:{line:19,column:0}}}))?o:""},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeEnum"),n,{name:"typeEnum",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},9:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"array",{name:"equals",hash:{},fn:e.program(10,a,0),inverse:e.program(12,a,0),data:a,loc:{start:{line:7,column:0},end:{line:19,column:0}}}))?o:""},10:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeArray"),n,{name:"typeArray",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},12:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"dictionary",{name:"equals",hash:{},fn:e.program(13,a,0),inverse:e.program(15,a,0),data:a,loc:{start:{line:9,column:0},end:{line:19,column:0}}}))?o:""},13:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeDictionary"),n,{name:"typeDictionary",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},15:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"one-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(18,a,0),data:a,loc:{start:{line:11,column:0},end:{line:19,column:0}}}))?o:""},16:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeUnion"),n,{name:"typeUnion",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},18:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"any-of",{name:"equals",hash:{},fn:e.program(16,a,0),inverse:e.program(19,a,0),data:a,loc:{start:{line:13,column:0},end:{line:19,column:0}}}))?o:""},19:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"all-of",{name:"equals",hash:{},fn:e.program(20,a,0),inverse:e.program(22,a,0),data:a,loc:{start:{line:15,column:0},end:{line:19,column:0}}}))?o:""},20:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeIntersection"),n,{name:"typeIntersection",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},22:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=e.invokePartial(l(r,"typeGeneric"),n,{name:"typeGeneric",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:""},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"equals").call(null!=n?n:e.nullContext||{},l(n,"export"),"interface",{name:"equals",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:19,column:11}}}))?o:""},usePartial:!0,useData:!0},qn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"type"),l(n,"link"),{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Array<"+(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+">"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},Cn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},3:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"Record"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"link"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(3,a,0),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?o:""},usePartial:!0,useData:!0},jn={1:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"enum"),{name:"each",hash:{},fn:e.program(2,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:0},end:{line:2,column:65}}}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},2:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.lambda(e.strict(n,"value",{start:{line:2,column:17},end:{line:2,column:22}}),n))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:56}}}))?o:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(n,"parent"),{name:"if",hash:{},fn:e.program(6,a,0),inverse:e.program(1,a,0),data:a,loc:{start:{line:3,column:0},end:{line:7,column:0}}}))?o:""},6:function(e,n,t,r,a){var o,l=e.strict,i=e.lambda,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=i(l(n,"parent",{start:{line:4,column:3},end:{line:4,column:9}}),n))?o:"")+"."+(null!=(o=i(l(n,"name",{start:{line:4,column:16},end:{line:4,column:20}}),n))?o:"")+(null!=(o=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(o=l(t,"if").call(null!=n?n:e.nullContext||{},l(l(a,"root"),"useUnionTypes"),{name:"if",hash:{},fn:e.program(1,a,0),inverse:e.program(5,a,0),data:a,loc:{start:{line:1,column:0},end:{line:7,column:9}}}))?o:""},usePartial:!0,useData:!0},An={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},In={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"{\n"+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:3,column:0},end:{line:14,column:9}}}))?i:"")+"}"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=null!=n?n:e.nullContext||{},u=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=u(t,"if").call(s,u(n,"description"),{name:"if",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:4,column:0},end:{line:8,column:7}}}))?i:"")+(null!=(i=u(t,"if").call(s,u(l[1],"parent"),{name:"if",hash:{},fn:e.program(5,a,0,o,l),inverse:e.program(7,a,0,o,l),data:a,loc:{start:{line:9,column:0},end:{line:13,column:7}}}))?i:"")},3:function(e,n,t,r,a){var o;return"/**\n * "+(null!=(o=e.lambda(e.strict(n,"description",{start:{line:6,column:6},end:{line:6,column:17}}),n))?o:"")+"\n */\n"},5:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=e.lambda(e.strict(n,"name",{start:{line:10,column:18},end:{line:10,column:22}}),n))?i:"")+(null!=(i=e.invokePartial(s(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+": "+(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+",\n"},7:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"isReadOnly"),n,{name:"isReadOnly",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.lambda(e.strict(n,"name",{start:{line:12,column:18},end:{line:12,column:22}}),n))?o:"")+(null!=(o=e.invokePartial(l(r,"isRequired"),n,{name:"isRequired",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+": "+(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+",\n"},9:function(e,n,t,r,a){return"any"},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(9,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:18,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},En={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" & "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0},Hn={compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"base"),n,{name:"base",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},usePartial:!0,useData:!0},Dn={1:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(i=s(t,"each").call(null!=n?n:e.nullContext||{},s(n,"properties"),{name:"each",hash:{},fn:e.program(2,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:1},end:{line:2,column:87}}}))?i:"")+")"+(null!=(i=e.invokePartial(s(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")},2:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(i=e.invokePartial(s(r,"type"),n,{name:"type",hash:{parent:s(l[1],"parent")},data:a,helpers:t,partials:r,decorators:e.decorators}))?i:"")+(null!=(i=s(t,"unless").call(null!=n?n:e.nullContext||{},s(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0,o,l),inverse:e.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:78}}}))?i:"")},3:function(e,n,t,r,a){return" | "},5:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return"("+(null!=(o=l(t,"each").call(null!=n?n:e.nullContext||{},l(n,"properties"),{name:"each",hash:{},fn:e.program(6,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:1},end:{line:4,column:70}}}))?o:"")+")"+(null!=(o=e.invokePartial(l(r,"isNullable"),n,{name:"isNullable",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")},6:function(e,n,t,r,a){var o,l=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return(null!=(o=e.invokePartial(l(r,"type"),n,{name:"type",data:a,helpers:t,partials:r,decorators:e.decorators}))?o:"")+(null!=(o=l(t,"unless").call(null!=n?n:e.nullContext||{},l(a,"last"),{name:"unless",hash:{},fn:e.program(3,a,0),inverse:e.noop,data:a,loc:{start:{line:4,column:30},end:{line:4,column:61}}}))?o:"")},compiler:[8,">= 4.3.0"],main:function(e,n,t,r,a,o,l){var i,s=e.lookupProperty||function(e,n){if(Object.prototype.hasOwnProperty.call(e,n))return e[n]};return null!=(i=s(t,"if").call(null!=n?n:e.nullContext||{},s(n,"parent"),{name:"if",hash:{},fn:e.program(1,a,0,o,l),inverse:e.program(5,a,0,o,l),data:a,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))?i:""},usePartial:!0,useData:!0,useDepths:!0};function Sn(){p.registerHelper("equals",(function(e,n,t){return e===n?t.fn(this):t.inverse(this)})),p.registerHelper("notEquals",(function(e,n,t){return e!==n?t.fn(this):t.inverse(this)}));const e={index:p.template(on),exports:{model:p.template(tn),schema:p.template(rn),service:p.template(an)},core:{settings:p.template(ze),apiError:p.template(ge),apiRequestOptions:p.template(be),apiResult:p.template(Oe),request:p.template(Ke)}};return p.registerPartial("exportEnum",p.template(un)),p.registerPartial("exportInterface",p.template(pn)),p.registerPartial("exportComposition",p.template(sn)),p.registerPartial("exportType",p.template(cn)),p.registerPartial("header",p.template(mn)),p.registerPartial("isNullable",p.template(dn)),p.registerPartial("isReadOnly",p.template(fn)),p.registerPartial("isRequired",p.template(hn)),p.registerPartial("parameters",p.template(yn)),p.registerPartial("result",p.template(vn)),p.registerPartial("schema",p.template(Pn)),p.registerPartial("schemaArray",p.template(gn)),p.registerPartial("schemaDictionary",p.template(On)),p.registerPartial("schemaEnum",p.template(xn)),p.registerPartial("schemaGeneric",p.template(kn)),p.registerPartial("schemaInterface",p.template(Rn)),p.registerPartial("schemaComposition",p.template(bn)),p.registerPartial("type",p.template(wn)),p.registerPartial("typeArray",p.template(qn)),p.registerPartial("typeDictionary",p.template(Cn)),p.registerPartial("typeEnum",p.template(jn)),p.registerPartial("typeGeneric",p.template(An)),p.registerPartial("typeInterface",p.template(In)),p.registerPartial("typeReference",p.template(Hn)),p.registerPartial("typeUnion",p.template(Dn)),p.registerPartial("typeIntersection",p.template(En)),p.registerPartial("base",p.template(ln)),p.registerPartial("functions/catchErrors",p.template(Ae)),p.registerPartial("functions/getFormData",p.template(Ie)),p.registerPartial("functions/getQueryString",p.template(Ee)),p.registerPartial("functions/getUrl",p.template(He)),p.registerPartial("functions/isBinary",p.template(De)),p.registerPartial("functions/isBlob",p.template(Se)),p.registerPartial("functions/isDefined",p.template($e)),p.registerPartial("functions/isString",p.template(Ne)),p.registerPartial("functions/isStringWithValue",p.template(Be)),p.registerPartial("functions/isSuccess",p.template(Te)),p.registerPartial("functions/resolve",p.template(Le)),p.registerPartial("fetch/getHeaders",p.template(xe)),p.registerPartial("fetch/getRequestBody",p.template(ke)),p.registerPartial("fetch/getResponseBody",p.template(Re)),p.registerPartial("fetch/getResponseHeader",p.template(we)),p.registerPartial("fetch/sendRequest",p.template(Ce)),p.registerPartial("fetch/request",p.template(qe)),p.registerPartial("fetch/responseType",p.template(je)),p.registerPartial("xhr/getHeaders",p.template(Je)),p.registerPartial("xhr/getRequestBody",p.template(Ze)),p.registerPartial("xhr/getResponseBody",p.template(Ge)),p.registerPartial("xhr/getResponseHeader",p.template(Xe)),p.registerPartial("xhr/sendRequest",p.template(en)),p.registerPartial("xhr/request",p.template(Ye)),p.registerPartial("xhr/responseType",p.template(nn)),p.registerPartial("node/getHeaders",p.template(Me)),p.registerPartial("node/getRequestBody",p.template(Ue)),p.registerPartial("node/getResponseBody",p.template(Fe)),p.registerPartial("node/getResponseHeader",p.template(_e)),p.registerPartial("node/sendRequest",p.template(Ve)),p.registerPartial("node/request",p.template(We)),p.registerPartial("node/responseType",p.template(Qe)),e}function $n(n){let t=0,r=n.split(e.EOL);return r=r.map((e=>{e=e.trim().replace(/^\*/g," *");let n=t;(e.endsWith("(")||e.endsWith("{")||e.endsWith("["))&&t++,(e.startsWith(")")||e.startsWith("}")||e.startsWith("]"))&&n&&(t--,n--);const r=`${" ".repeat(n)}${e}`;return""===r.trim()?"":r})),r.join(e.EOL)}async function Nn(e,n,t,a,o,l,i,s,u,p){const c=r.resolve(process.cwd(),t),m=r.resolve(c,"core"),d=r.resolve(c,"models"),f=r.resolve(c,"schemas"),h=r.resolve(c,"services");if(y=process.cwd(),v=t,!r.relative(v,y).startsWith(".."))throw new Error("Output folder is not a subdirectory of the current working directory");var y,v;i&&(await se(m),await ie(m),await async function(e,n,t,a){const o={httpClient:a,server:e.server,version:e.version};await oe(r.resolve(t,"OpenAPI.ts"),n.core.settings(o)),await oe(r.resolve(t,"ApiError.ts"),n.core.apiError({})),await oe(r.resolve(t,"ApiRequestOptions.ts"),n.core.apiRequestOptions({})),await oe(r.resolve(t,"ApiResult.ts"),n.core.apiResult({})),await oe(r.resolve(t,"request.ts"),n.core.request(o))}(e,n,m,a)),s&&(await se(h),await ie(h),await async function(e,n,t,a,o,l){for(const i of e){const e=r.resolve(t,`${i.name}.ts`),s=i.operations.some((e=>e.path.includes("OpenAPI.VERSION"))),u=n.exports.service(Object.assign(Object.assign({},i),{httpClient:a,useUnionTypes:o,useVersion:s,useOptions:l}));await oe(e,$n(u))}}(e.services,n,h,a,l,o)),p&&(await se(f),await ie(f),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`$${l.name}.ts`),i=n.exports.schema(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,f,a,l)),u&&(await se(d),await ie(d),await async function(e,n,t,a,o){for(const l of e){const e=r.resolve(t,`${l.name}.ts`),i=n.exports.model(Object.assign(Object.assign({},l),{httpClient:a,useUnionTypes:o}));await oe(e,$n(i))}}(e.models,n,d,a,l)),(i||s||p||u)&&(await ie(c),await async function(e,n,t,a,o,l,i,s){var u,p;await oe(r.resolve(t,"index.ts"),n.index({exportCore:o,exportServices:l,exportModels:i,exportSchemas:s,useUnionTypes:a,server:e.server,version:e.version,models:(p=e.models,p.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")}))),services:(u=e.services,u.sort(((e,n)=>{const t=e.name.toLowerCase(),r=n.name.toLowerCase();return t.localeCompare(r,"en")})))}))}(e,n,c,l,i,s,u,p))}var Bn;(Bn=exports.HttpClient||(exports.HttpClient={})).FETCH="fetch",Bn.XHR="xhr",Bn.NODE="node",exports.generate=async function({input:e,output:n,httpClient:a=exports.HttpClient.FETCH,useOptions:o=!1,useUnionTypes:l=!1,exportCore:i=!0,exportServices:s=!0,exportModels:u=!0,exportSchemas:p=!1,write:c=!0}){const m="string"==typeof e?await async function(e){const n=r.extname(e).toLowerCase(),a=await ue(e);switch(n){case".yml":case".yaml":try{return t.safeLoad(a)}catch(n){throw new Error(`Could not parse OpenApi YAML: "${e}"`)}default:try{return JSON.parse(a)}catch(n){throw new Error(`Could not parse OpenApi JSON: "${e}"`)}}}(e):e,d=function(e){const n=e.swagger||e.openapi;if("string"==typeof n){const e=n.charAt(0),t=Number.parseInt(e);if(t===pe.V2||t===pe.V3)return t}throw new Error(`Unsupported Open API version: "${String(n)}"`)}(m),f=Sn();switch(d){case pe.V2:{const e=Pe(N(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}case pe.V3:{const e=Pe(re(m));if(!c)break;await Nn(e,f,n,a,o,l,i,s,u,p);break}}}; +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var os = require('os'); +var camelCase = require('camelcase'); +var jsYaml = require('js-yaml'); +var path = require('path'); +var fs = require('fs'); +var mkdirp = require('mkdirp'); +var rimraf = require('rimraf'); +var util = require('util'); +var http = require('http'); +var https = require('https'); +var Handlebars = require('handlebars/runtime'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var camelCase__default = /*#__PURE__*/_interopDefaultLegacy(camelCase); +var mkdirp__default = /*#__PURE__*/_interopDefaultLegacy(mkdirp); +var rimraf__default = /*#__PURE__*/_interopDefaultLegacy(rimraf); + +(function (HttpClient) { + HttpClient["FETCH"] = "fetch"; + HttpClient["XHR"] = "xhr"; + HttpClient["NODE"] = "node"; +})(exports.HttpClient || (exports.HttpClient = {})); + +/** + * The spec generates a pattern like this '^\d{3}-\d{2}-\d{4}$' + * However, to use it in HTML or inside new RegExp() we need to + * escape the pattern to become: '^\\d{3}-\\d{2}-\\d{4}$' in order + * to make it a valid regexp string. + * @param pattern + */ +function getPattern(pattern) { + return pattern === null || pattern === void 0 ? void 0 : pattern.replace(/\\/g, '\\\\'); +} + +/** + * Extend the enum with the x-enum properties. This adds the capability + * to use names and descriptions inside the generated enums. + * @param enumerators + * @param definition + */ +function extendEnum(enumerators, definition) { + const names = definition['x-enum-varnames']; + const descriptions = definition['x-enum-descriptions']; + return enumerators.map((enumerator, index) => ({ + name: (names === null || names === void 0 ? void 0 : names[index]) || enumerator.name, + description: (descriptions === null || descriptions === void 0 ? void 0 : descriptions[index]) || enumerator.description, + value: enumerator.value, + type: enumerator.type, + })); +} + +/** + * Cleanup comment and prefix multiline comments with "*", + * so they look a bit nicer when used in the generated code. + * @param comment + */ +function getComment(comment) { + if (comment) { + return comment.replace(/\r?\n(.*)/g, (_, w) => `${os.EOL} * ${w.trim()}`); + } + return null; +} + +/** + * Check if a value is defined + * @param value + */ +function isDefined(value) { + return value !== undefined && value !== null && value !== ''; +} + +function getEnum(values) { + if (Array.isArray(values)) { + return values + .filter((value, index, arr) => { + return arr.indexOf(value) === index; + }) + .filter(isDefined) + .map(value => { + if (typeof value === 'number') { + return { + name: `_${value}`, + value: String(value), + type: 'number', + description: null, + }; + } + return { + name: value + .replace(/\W+/g, '_') + .replace(/^(\d+)/g, '_$1') + .replace(/([a-z])([A-Z]+)/g, '$1_$2') + .toUpperCase(), + value: `'${value}'`, + type: 'string', + description: null, + }; + }); + } + return []; +} + +function getEnumFromDescription(description) { + // Check if we can find this special format string: + // None=0,Something=1,AnotherThing=2 + if (/^(\w+=[0-9]+,?)+$/g.test(description)) { + const matches = description.match(/(\w+=[0-9]+,?)/g); + if (matches) { + // Grab the values from the description + const symbols = []; + matches.forEach(match => { + const name = match.split('=')[0]; + const value = parseInt(match.split('=')[1].replace(/[^0-9]/g, '')); + if (name && Number.isInteger(value)) { + symbols.push({ + name: name + .replace(/\W+/g, '_') + .replace(/^(\d+)/g, '_$1') + .replace(/([a-z])([A-Z]+)/g, '$1_$2') + .toUpperCase(), + value: String(value), + type: 'number', + description: null, + }); + } + }); + // Filter out any duplicate names + return symbols.filter((symbol, index, arr) => { + return arr.map(item => item.name).indexOf(symbol.name) === index; + }); + } + } + return []; +} + +function getModelComposition(openApi, definitions, type, getModel) { + const composition = { + type, + imports: [], + enums: [], + properties: [], + }; + const models = definitions.map(definition => getModel(openApi, definition)); + models + .filter(model => { + const hasProperties = model.properties.length; + const hasEnums = model.enums.length; + const isObject = model.type === 'any'; + const isEmpty = isObject && !hasProperties && !hasEnums; + return !isEmpty; + }) + .forEach(model => { + composition.imports.push(...model.imports); + composition.enums.push(...model.enums); + composition.properties.push(model); + }); + return composition; +} + +function escapeName(value) { + if (value) { + const validName = /^[a-zA-Z_$][\w$]+$/g.test(value); + if (!validName) { + return `'${value}'`; + } + } + return value; +} + +const TYPE_MAPPINGS = new Map([ + ['File', 'File'], + ['file', 'File'], + ['any', 'any'], + ['object', 'any'], + ['array', 'any[]'], + ['boolean', 'boolean'], + ['byte', 'number'], + ['int', 'number'], + ['integer', 'number'], + ['float', 'number'], + ['double', 'number'], + ['short', 'number'], + ['long', 'number'], + ['number', 'number'], + ['char', 'string'], + ['date', 'string'], + ['date-time', 'string'], + ['password', 'string'], + ['string', 'string'], + ['void', 'void'], + ['null', 'null'], +]); +/** + * Get mapped type for given type to any basic Typescript/Javascript type. + */ +function getMappedType(type) { + return TYPE_MAPPINGS.get(type); +} +function hasMappedType(type) { + return TYPE_MAPPINGS.has(type); +} + +/** + * Strip (OpenAPI) namespaces fom values. + * @param value + */ +function stripNamespace(value) { + return value + .trim() + .replace(/^#\/definitions\//, '') + .replace(/^#\/parameters\//, '') + .replace(/^#\/responses\//, '') + .replace(/^#\/securityDefinitions\//, ''); +} + +function encode(value) { + return value.replace(/^[^a-zA-Z_$]+/g, '').replace(/[^\w$]+/g, '_'); +} +/** + * Parse any string value into a type object. + * @param value String value like "integer" or "Link[Model]". + * @param template Optional template class from parent (needed to process generics) + */ +function getType(value, template) { + const result = { + type: 'any', + base: 'any', + template: null, + imports: [], + }; + const valueClean = stripNamespace(value || ''); + if (/\[.*\]$/g.test(valueClean)) { + const matches = valueClean.match(/(.*?)\[(.*)\]$/); + if (matches === null || matches === void 0 ? void 0 : matches.length) { + const match1 = getType(encode(matches[1])); + const match2 = getType(encode(matches[2])); + if (match1.type === 'any[]') { + result.type = `${match2.type}[]`; + result.base = match2.type; + match1.imports = []; + } + else if (match2.type) { + result.type = `${match1.type}<${match2.type}>`; + result.base = match1.type; + result.template = match2.type; + } + else { + result.type = match1.type; + result.base = match1.type; + result.template = match1.type; + } + result.imports.push(...match1.imports); + result.imports.push(...match2.imports); + } + } + else if (hasMappedType(valueClean)) { + const mapped = getMappedType(valueClean); + if (mapped) { + result.type = mapped; + result.base = mapped; + } + } + else if (valueClean) { + const type = encode(valueClean); + result.type = type; + result.base = type; + result.imports.push(type); + } + // If the property that we found matched the parent template class + // Then ignore this whole property and return it as a "T" template property. + if (result.type === template) { + result.type = 'T'; // Template; + result.base = 'T'; // Template; + result.imports = []; + } + return result; +} + +function getModelProperties(openApi, definition, getModel) { + var _a; + const models = []; + for (const propertyName in definition.properties) { + if (definition.properties.hasOwnProperty(propertyName)) { + const property = definition.properties[propertyName]; + const propertyRequired = (_a = definition.required) === null || _a === void 0 ? void 0 : _a.includes(propertyName); + if (property.$ref) { + const model = getType(property.$ref); + models.push({ + name: escapeName(propertyName), + export: 'reference', + type: model.type, + base: model.base, + template: model.template, + link: null, + description: getComment(property.description), + isDefinition: false, + isReadOnly: property.readOnly === true, + isRequired: propertyRequired === true, + isNullable: property['x-nullable'] === true, + format: property.format, + maximum: property.maximum, + exclusiveMaximum: property.exclusiveMaximum, + minimum: property.minimum, + exclusiveMinimum: property.exclusiveMinimum, + multipleOf: property.multipleOf, + maxLength: property.maxLength, + minLength: property.minLength, + maxItems: property.maxItems, + minItems: property.minItems, + uniqueItems: property.uniqueItems, + maxProperties: property.maxProperties, + minProperties: property.minProperties, + pattern: getPattern(property.pattern), + imports: model.imports, + enum: [], + enums: [], + properties: [], + }); + } + else { + const model = getModel(openApi, property); + models.push({ + name: escapeName(propertyName), + export: model.export, + type: model.type, + base: model.base, + template: model.template, + link: model.link, + description: getComment(property.description), + isDefinition: false, + isReadOnly: property.readOnly === true, + isRequired: propertyRequired === true, + isNullable: property['x-nullable'] === true, + format: property.format, + maximum: property.maximum, + exclusiveMaximum: property.exclusiveMaximum, + minimum: property.minimum, + exclusiveMinimum: property.exclusiveMinimum, + multipleOf: property.multipleOf, + maxLength: property.maxLength, + minLength: property.minLength, + maxItems: property.maxItems, + minItems: property.minItems, + uniqueItems: property.uniqueItems, + maxProperties: property.maxProperties, + minProperties: property.minProperties, + pattern: getPattern(property.pattern), + imports: model.imports, + enum: model.enum, + enums: model.enums, + properties: model.properties, + }); + } + } + } + return models; +} + +function getModel(openApi, definition, isDefinition = false, name = '') { + var _a; + const model = { + name, + export: 'interface', + type: 'any', + base: 'any', + template: null, + link: null, + description: getComment(definition.description), + isDefinition, + isReadOnly: definition.readOnly === true, + isNullable: definition['x-nullable'] === true, + isRequired: false, + format: definition.format, + maximum: definition.maximum, + exclusiveMaximum: definition.exclusiveMaximum, + minimum: definition.minimum, + exclusiveMinimum: definition.exclusiveMinimum, + multipleOf: definition.multipleOf, + maxLength: definition.maxLength, + minLength: definition.minLength, + maxItems: definition.maxItems, + minItems: definition.minItems, + uniqueItems: definition.uniqueItems, + maxProperties: definition.maxProperties, + minProperties: definition.minProperties, + pattern: getPattern(definition.pattern), + imports: [], + enum: [], + enums: [], + properties: [], + }; + if (definition.$ref) { + const definitionRef = getType(definition.$ref); + model.export = 'reference'; + model.type = definitionRef.type; + model.base = definitionRef.base; + model.template = definitionRef.template; + model.imports.push(...definitionRef.imports); + return model; + } + if (definition.enum) { + const enumerators = getEnum(definition.enum); + const extendedEnumerators = extendEnum(enumerators, definition); + if (extendedEnumerators.length) { + model.export = 'enum'; + model.type = 'string'; + model.base = 'string'; + model.enum.push(...extendedEnumerators); + return model; + } + } + if ((definition.type === 'int' || definition.type === 'integer') && definition.description) { + const enumerators = getEnumFromDescription(definition.description); + if (enumerators.length) { + model.export = 'enum'; + model.type = 'number'; + model.base = 'number'; + model.enum.push(...enumerators); + return model; + } + } + if (definition.type === 'array' && definition.items) { + if (definition.items.$ref) { + const arrayItems = getType(definition.items.$ref); + model.export = 'array'; + model.type = arrayItems.type; + model.base = arrayItems.base; + model.template = arrayItems.template; + model.imports.push(...arrayItems.imports); + return model; + } + else { + const arrayItems = getModel(openApi, definition.items); + model.export = 'array'; + model.type = arrayItems.type; + model.base = arrayItems.base; + model.template = arrayItems.template; + model.link = arrayItems; + model.imports.push(...arrayItems.imports); + return model; + } + } + if (definition.type === 'object' && typeof definition.additionalProperties === 'object') { + if (definition.additionalProperties.$ref) { + const additionalProperties = getType(definition.additionalProperties.$ref); + model.export = 'dictionary'; + model.type = additionalProperties.type; + model.base = additionalProperties.base; + model.template = additionalProperties.template; + model.imports.push(...additionalProperties.imports); + return model; + } + else { + const additionalProperties = getModel(openApi, definition.additionalProperties); + model.export = 'dictionary'; + model.type = additionalProperties.type; + model.base = additionalProperties.base; + model.template = additionalProperties.template; + model.link = additionalProperties; + model.imports.push(...additionalProperties.imports); + return model; + } + } + if ((_a = definition.allOf) === null || _a === void 0 ? void 0 : _a.length) { + const composition = getModelComposition(openApi, definition.allOf, 'all-of', getModel); + model.export = composition.type; + model.imports.push(...composition.imports); + model.enums.push(...composition.enums); + model.properties.push(...composition.properties); + return model; + } + if (definition.type === 'object') { + model.export = 'interface'; + model.type = 'any'; + model.base = 'any'; + if (definition.properties) { + const properties = getModelProperties(openApi, definition, getModel); + properties.forEach(property => { + model.imports.push(...property.imports); + model.properties.push(property); + if (property.export === 'enum') { + model.enums.push(property); + } + }); + } + return model; + } + // If the schema has a type than it can be a basic or generic type. + if (definition.type) { + const definitionType = getType(definition.type); + model.export = 'generic'; + model.type = definitionType.type; + model.base = definitionType.base; + model.template = definitionType.template; + model.imports.push(...definitionType.imports); + return model; + } + return model; +} + +function getModels(openApi) { + const models = []; + for (const definitionName in openApi.definitions) { + if (openApi.definitions.hasOwnProperty(definitionName)) { + const definition = openApi.definitions[definitionName]; + const definitionType = getType(definitionName); + const model = getModel(openApi, definition, true, definitionType.base); + models.push(model); + } + } + return models; +} + +/** + * Get the base server url. + * @param openApi + */ +function getServer(openApi) { + var _a; + const scheme = ((_a = openApi.schemes) === null || _a === void 0 ? void 0 : _a[0]) || 'http'; + const host = openApi.host; + const basePath = openApi.basePath || ''; + return host ? `${scheme}://${host}${basePath}` : basePath; +} + +function escapeDescription(value) { + return value.replace(/([^\\])`/g, '$1\\`'); +} + +function getOperationErrors(operationResponses) { + return operationResponses + .filter(operationResponse => { + return operationResponse.code >= 300 && operationResponse.description; + }) + .map(response => ({ + code: response.code, + description: escapeDescription(response.description), + })); +} + +/** + * Convert the input value to a correct operation (method) classname. + * This converts the input string to camelCase, so the method name follows + * the most popular Javascript and Typescript writing style. + */ +function getOperationName(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + return camelCase__default['default'](clean); +} + +function getOperationParameterDefault(parameter, operationParameter) { + var _a; + if (parameter.default === undefined) { + return; + } + if (parameter.default === null) { + return 'null'; + } + const type = parameter.type || typeof parameter.default; + switch (type) { + case 'int': + case 'integer': + case 'number': + if (operationParameter.export == 'enum' && ((_a = operationParameter.enum) === null || _a === void 0 ? void 0 : _a[parameter.default])) { + return operationParameter.enum[parameter.default].value; + } + return parameter.default; + case 'boolean': + return JSON.stringify(parameter.default); + case 'string': + return `'${parameter.default}'`; + case 'object': + try { + return JSON.stringify(parameter.default, null, 4); + } + catch (e) { + // Ignore + } + } + return; +} + +/** + * Replaces any invalid characters from a parameter name. + * For example: 'filter.someProperty' becomes 'filterSomeProperty'. + */ +function getOperationParameterName(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + return camelCase__default['default'](clean); +} + +function getOperationParameter(openApi, parameter) { + const operationParameter = { + in: parameter.in, + prop: parameter.name, + export: 'interface', + name: getOperationParameterName(parameter.name), + type: 'any', + base: 'any', + template: null, + link: null, + description: getComment(parameter.description), + isDefinition: false, + isReadOnly: false, + isRequired: parameter.required === true, + isNullable: parameter['x-nullable'] === true, + format: parameter.format, + maximum: parameter.maximum, + exclusiveMaximum: parameter.exclusiveMaximum, + minimum: parameter.minimum, + exclusiveMinimum: parameter.exclusiveMinimum, + multipleOf: parameter.multipleOf, + maxLength: parameter.maxLength, + minLength: parameter.minLength, + maxItems: parameter.maxItems, + minItems: parameter.minItems, + uniqueItems: parameter.uniqueItems, + pattern: getPattern(parameter.pattern), + imports: [], + enum: [], + enums: [], + properties: [], + }; + if (parameter.$ref) { + const definitionRef = getType(parameter.$ref); + operationParameter.export = 'reference'; + operationParameter.type = definitionRef.type; + operationParameter.base = definitionRef.base; + operationParameter.template = definitionRef.template; + operationParameter.imports.push(...definitionRef.imports); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + if (parameter.enum) { + const enumerators = getEnum(parameter.enum); + const extendedEnumerators = extendEnum(enumerators, parameter); + if (extendedEnumerators.length) { + operationParameter.export = 'enum'; + operationParameter.type = 'string'; + operationParameter.base = 'string'; + operationParameter.enum.push(...extendedEnumerators); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + } + if ((parameter.type === 'int' || parameter.type === 'integer') && parameter.description) { + const enumerators = getEnumFromDescription(parameter.description); + if (enumerators.length) { + operationParameter.export = 'enum'; + operationParameter.type = 'number'; + operationParameter.base = 'number'; + operationParameter.enum.push(...enumerators); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + } + if (parameter.type === 'array' && parameter.items) { + const items = getType(parameter.items.type); + operationParameter.export = 'array'; + operationParameter.type = items.type; + operationParameter.base = items.base; + operationParameter.template = items.template; + operationParameter.imports.push(...items.imports); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + if (parameter.type === 'object' && parameter.items) { + const items = getType(parameter.items.type); + operationParameter.export = 'dictionary'; + operationParameter.type = items.type; + operationParameter.base = items.base; + operationParameter.template = items.template; + operationParameter.imports.push(...items.imports); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + if (parameter.schema) { + if (parameter.schema.$ref) { + const model = getType(parameter.schema.$ref); + operationParameter.export = 'reference'; + operationParameter.type = model.type; + operationParameter.base = model.base; + operationParameter.template = model.template; + operationParameter.imports.push(...model.imports); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + else { + const model = getModel(openApi, parameter.schema); + operationParameter.export = model.export; + operationParameter.type = model.type; + operationParameter.base = model.base; + operationParameter.template = model.template; + operationParameter.link = model.link; + operationParameter.imports.push(...model.imports); + operationParameter.enum.push(...model.enum); + operationParameter.enums.push(...model.enums); + operationParameter.properties.push(...model.properties); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + } + // If the parameter has a type than it can be a basic or generic type. + if (parameter.type) { + const definitionType = getType(parameter.type); + operationParameter.export = 'generic'; + operationParameter.type = definitionType.type; + operationParameter.base = definitionType.base; + operationParameter.template = definitionType.template; + operationParameter.imports.push(...definitionType.imports); + operationParameter.default = getOperationParameterDefault(parameter, operationParameter); + return operationParameter; + } + return operationParameter; +} + +function getRef(openApi, item) { + if (item.$ref) { + // Fetch the paths to the definitions, this converts: + // "#/definitions/Form" to ["definitions", "Form"] + const paths = item.$ref + .replace(/^#/g, '') + .split('/') + .filter(item => item); + // Try to find the reference by walking down the path, + // if we cannot find it, then we throw an error. + let result = openApi; + paths.forEach((path) => { + if (result.hasOwnProperty(path)) { + result = result[path]; + } + else { + throw new Error(`Could not find reference: "${item.$ref}"`); + } + }); + return result; + } + return item; +} + +function sortByRequired(a, b) { + const aNeedsValue = a.isRequired && a.default === undefined; + const bNeedsValue = b.isRequired && b.default === undefined; + if (aNeedsValue && !bNeedsValue) + return -1; + if (!aNeedsValue && bNeedsValue) + return 1; + return 0; +} + +function getOperationParameters(openApi, parameters) { + const operationParameters = { + imports: [], + parameters: [], + parametersPath: [], + parametersQuery: [], + parametersForm: [], + parametersCookie: [], + parametersHeader: [], + parametersBody: null, + }; + // Iterate over the parameters + parameters.forEach(parameterOrReference => { + const parameterDef = getRef(openApi, parameterOrReference); + const parameter = getOperationParameter(openApi, parameterDef); + // We ignore the "api-version" param, since we do not want to add this + // as the first / default parameter for each of the service calls. + if (parameter.prop !== 'api-version') { + switch (parameter.in) { + case 'path': + operationParameters.parametersPath.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'query': + operationParameters.parametersQuery.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'header': + operationParameters.parametersHeader.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'formData': + operationParameters.parametersForm.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'body': + operationParameters.parametersBody = parameter; + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + } + } + }); + operationParameters.parameters = operationParameters.parameters.sort(sortByRequired); + operationParameters.parametersPath = operationParameters.parametersPath.sort(sortByRequired); + operationParameters.parametersQuery = operationParameters.parametersQuery.sort(sortByRequired); + operationParameters.parametersForm = operationParameters.parametersForm.sort(sortByRequired); + operationParameters.parametersCookie = operationParameters.parametersCookie.sort(sortByRequired); + operationParameters.parametersHeader = operationParameters.parametersHeader.sort(sortByRequired); + return operationParameters; +} + +/** + * Get the final service path, this replaces the "{api-version}" placeholder + * with a new template string placeholder so we can dynamically inject the + * OpenAPI version without the need to hardcode this in the URL. + * Plus we return the correct parameter names to replace in the URL. + * @param path + */ +function getOperationPath(path) { + return path + .replace(/\{(.*?)\}/g, (_, w) => { + return `\${${getOperationParameterName(w)}}`; + }) + .replace('${apiVersion}', '${OpenAPI.VERSION}'); +} + +function getOperationResponseHeader(operationResponses) { + const header = operationResponses.find(operationResponses => { + return operationResponses.in === 'header'; + }); + if (header) { + return header.name; + } + return null; +} + +function getOperationResponse(openApi, response, responseCode) { + const operationResponse = { + in: 'response', + name: '', + code: responseCode, + description: getComment(response.description), + export: 'generic', + type: 'any', + base: 'any', + template: null, + link: null, + isDefinition: false, + isReadOnly: false, + isRequired: false, + isNullable: false, + imports: [], + enum: [], + enums: [], + properties: [], + }; + // We support basic properties from response headers, since both + // fetch and XHR client just support string types. + if (response.headers) { + for (const name in response.headers) { + if (response.headers.hasOwnProperty(name)) { + operationResponse.in = 'header'; + operationResponse.name = name; + operationResponse.type = 'string'; + operationResponse.base = 'string'; + return operationResponse; + } + } + } + // If this response has a schema, then we need to check two things: + // if this is a reference then the parameter is just the 'name' of + // this reference type. Otherwise it might be a complex schema and + // then we need to parse the schema! + if (response.schema) { + if (response.schema.$ref) { + const model = getType(response.schema.$ref); + operationResponse.export = 'reference'; + operationResponse.type = model.type; + operationResponse.base = model.base; + operationResponse.template = model.template; + operationResponse.imports.push(...model.imports); + return operationResponse; + } + else { + const model = getModel(openApi, response.schema); + operationResponse.export = model.export; + operationResponse.type = model.type; + operationResponse.base = model.base; + operationResponse.template = model.template; + operationResponse.link = model.link; + operationResponse.isReadOnly = model.isReadOnly; + operationResponse.isRequired = model.isRequired; + operationResponse.isNullable = model.isNullable; + operationResponse.format = model.format; + operationResponse.maximum = model.maximum; + operationResponse.exclusiveMaximum = model.exclusiveMaximum; + operationResponse.minimum = model.minimum; + operationResponse.exclusiveMinimum = model.exclusiveMinimum; + operationResponse.multipleOf = model.multipleOf; + operationResponse.maxLength = model.maxLength; + operationResponse.minLength = model.minLength; + operationResponse.maxItems = model.maxItems; + operationResponse.minItems = model.minItems; + operationResponse.uniqueItems = model.uniqueItems; + operationResponse.maxProperties = model.maxProperties; + operationResponse.minProperties = model.minProperties; + operationResponse.pattern = getPattern(model.pattern); + operationResponse.imports.push(...model.imports); + operationResponse.enum.push(...model.enum); + operationResponse.enums.push(...model.enums); + operationResponse.properties.push(...model.properties); + return operationResponse; + } + } + return operationResponse; +} + +function getOperationResponseCode(value) { + // You can specify a "default" response, this is treated as HTTP code 200 + if (value === 'default') { + return 200; + } + // Check if we can parse the code and return of successful. + if (/[0-9]+/g.test(value)) { + const code = parseInt(value); + if (Number.isInteger(code)) { + return Math.abs(code); + } + } + return null; +} + +function getOperationResponses(openApi, responses) { + const operationResponses = []; + // Iterate over each response code and get the + // status code and response message (if any). + for (const code in responses) { + if (responses.hasOwnProperty(code)) { + const responseOrReference = responses[code]; + const response = getRef(openApi, responseOrReference); + const responseCode = getOperationResponseCode(code); + if (responseCode) { + const operationResponse = getOperationResponse(openApi, response, responseCode); + operationResponses.push(operationResponse); + } + } + } + // Sort the responses to 2XX success codes come before 4XX and 5XX error codes. + return operationResponses.sort((a, b) => { + return a.code < b.code ? -1 : a.code > b.code ? 1 : 0; + }); +} + +function areEqual(a, b) { + const equal = a.type === b.type && a.base === b.base && a.template === b.template; + if (equal && a.link && b.link) { + return areEqual(a.link, b.link); + } + return equal; +} +function getOperationResults(operationResponses) { + const operationResults = []; + operationResponses.forEach(operationResponse => { + if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) { + operationResults.push(operationResponse); + } + }); + if (!operationResults.length) { + operationResults.push({ + in: 'response', + name: '', + code: 200, + description: '', + export: 'interface', + type: 'any', + base: 'any', + template: null, + link: null, + isDefinition: false, + isReadOnly: false, + isRequired: false, + isNullable: false, + imports: [], + enum: [], + enums: [], + properties: [], + }); + } + return operationResults.filter((operationResult, index, arr) => { + return (arr.findIndex(item => { + return areEqual(item, operationResult); + }) === index); + }); +} + +/** + * Convert the input value to a correct service classname. This converts + * the input string to PascalCase and appends the "Service" prefix if needed. + */ +function getServiceClassName(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + const name = camelCase__default['default'](clean, { pascalCase: true }); + if (name && !name.endsWith('Service')) { + return `${name}Service`; + } + return name; +} + +function getOperation(openApi, url, method, op, pathParams) { + var _a; + const serviceName = ((_a = op.tags) === null || _a === void 0 ? void 0 : _a[0]) || 'Service'; + const serviceClassName = getServiceClassName(serviceName); + const operationNameFallback = `${method}${serviceClassName}`; + const operationName = getOperationName(op.operationId || operationNameFallback); + const operationPath = getOperationPath(url); + // Create a new operation object for this method. + const operation = { + service: serviceClassName, + name: operationName, + summary: getComment(op.summary), + description: getComment(op.description), + deprecated: op.deprecated === true, + method: method.toUpperCase(), + path: operationPath, + parameters: [...pathParams.parameters], + parametersPath: [...pathParams.parametersPath], + parametersQuery: [...pathParams.parametersQuery], + parametersForm: [...pathParams.parametersForm], + parametersHeader: [...pathParams.parametersHeader], + parametersCookie: [...pathParams.parametersCookie], + parametersBody: pathParams.parametersBody, + imports: [], + errors: [], + results: [], + responseHeader: null, + }; + // Parse the operation parameters (path, query, body, etc). + if (op.parameters) { + const parameters = getOperationParameters(openApi, op.parameters); + operation.imports.push(...parameters.imports); + operation.parameters.push(...parameters.parameters); + operation.parametersPath.push(...parameters.parametersPath); + operation.parametersQuery.push(...parameters.parametersQuery); + operation.parametersForm.push(...parameters.parametersForm); + operation.parametersHeader.push(...parameters.parametersHeader); + operation.parametersCookie.push(...parameters.parametersCookie); + operation.parametersBody = parameters.parametersBody; + } + // Parse the operation responses. + if (op.responses) { + const operationResponses = getOperationResponses(openApi, op.responses); + const operationResults = getOperationResults(operationResponses); + operation.errors = getOperationErrors(operationResponses); + operation.responseHeader = getOperationResponseHeader(operationResults); + operationResults.forEach(operationResult => { + operation.results.push(operationResult); + operation.imports.push(...operationResult.imports); + }); + } + return operation; +} + +/** + * Get the OpenAPI services + */ +function getServices(openApi) { + const services = new Map(); + for (const url in openApi.paths) { + if (openApi.paths.hasOwnProperty(url)) { + // Grab path and parse any global path parameters + const path = openApi.paths[url]; + const pathParams = getOperationParameters(openApi, path.parameters || []); + // Parse all the methods for this path + for (const method in path) { + if (path.hasOwnProperty(method)) { + switch (method) { + case 'get': + case 'put': + case 'post': + case 'delete': + case 'options': + case 'head': + case 'patch': + // Each method contains an OpenAPI operation, we parse the operation + const op = path[method]; + const operation = getOperation(openApi, url, method, op, pathParams); + // If we have already declared a service, then we should fetch that and + // append the new method to it. Otherwise we should create a new service object. + const service = services.get(operation.service) || { + name: operation.service, + operations: [], + imports: [], + }; + // Push the operation in the service + service.operations.push(operation); + service.imports.push(...operation.imports); + services.set(operation.service, service); + break; + } + } + } + } + } + return Array.from(services.values()); +} + +/** + * Convert the service version to 'normal' version. + * This basically removes any "v" prefix from the version string. + * @param version + */ +function getServiceVersion(version = '1.0') { + return version.replace(/^v/gi, ''); +} + +/** + * Parse the OpenAPI specification to a Client model that contains + * all the models, services and schema's we should output. + * @param openApi The OpenAPI spec that we have loaded from disk. + */ +function parse(openApi) { + const version = getServiceVersion(openApi.info.version); + const server = getServer(openApi); + const models = getModels(openApi); + const services = getServices(openApi); + return { version, server, models, services }; +} + +/** + * Extend the enum with the x-enum properties. This adds the capability + * to use names and descriptions inside the generated enums. + * @param enumerators + * @param definition + */ +function extendEnum$1(enumerators, definition) { + const names = definition['x-enum-varnames']; + const descriptions = definition['x-enum-descriptions']; + return enumerators.map((enumerator, index) => ({ + name: (names === null || names === void 0 ? void 0 : names[index]) || enumerator.name, + description: (descriptions === null || descriptions === void 0 ? void 0 : descriptions[index]) || enumerator.description, + value: enumerator.value, + type: enumerator.type, + })); +} + +/** + * Cleanup comment and prefix multiline comments with "*", + * so they look a bit nicer when used in the generated code. + * @param comment + */ +function getComment$1(comment) { + if (comment) { + return comment.replace(/\r?\n(.*)/g, (_, w) => `${os.EOL} * ${w.trim()}`); + } + return null; +} + +function getEnum$1(values) { + if (Array.isArray(values)) { + return values + .filter((value, index, arr) => { + return arr.indexOf(value) === index; + }) + .filter(isDefined) + .map(value => { + if (typeof value === 'number') { + return { + name: `_${value}`, + value: String(value), + type: 'number', + description: null, + }; + } + return { + name: value + .replace(/\W+/g, '_') + .replace(/^(\d+)/g, '_$1') + .replace(/([a-z])([A-Z]+)/g, '$1_$2') + .toUpperCase(), + value: `'${value}'`, + type: 'string', + description: null, + }; + }); + } + return []; +} + +function getEnumFromDescription$1(description) { + // Check if we can find this special format string: + // None=0,Something=1,AnotherThing=2 + if (/^(\w+=[0-9]+,?)+$/g.test(description)) { + const matches = description.match(/(\w+=[0-9]+,?)/g); + if (matches) { + // Grab the values from the description + const symbols = []; + matches.forEach(match => { + const name = match.split('=')[0]; + const value = parseInt(match.split('=')[1].replace(/[^0-9]/g, '')); + if (name && Number.isInteger(value)) { + symbols.push({ + name: name + .replace(/\W+/g, '_') + .replace(/^(\d+)/g, '_$1') + .replace(/([a-z])([A-Z]+)/g, '$1_$2') + .toUpperCase(), + value: String(value), + type: 'number', + description: null, + }); + } + }); + // Filter out any duplicate names + return symbols.filter((symbol, index, arr) => { + return arr.map(item => item.name).indexOf(symbol.name) === index; + }); + } + } + return []; +} + +function getModelComposition$1(openApi, definitions, type, getModel) { + const composition = { + type, + imports: [], + enums: [], + properties: [], + }; + const models = definitions.map(definition => getModel(openApi, definition)); + models + .filter(model => { + const hasProperties = model.properties.length; + const hasEnums = model.enums.length; + const isObject = model.type === 'any'; + const isEmpty = isObject && !hasProperties && !hasEnums; + return !isEmpty; + }) + .forEach(model => { + composition.imports.push(...model.imports); + composition.enums.push(...model.enums); + composition.properties.push(model); + }); + return composition; +} + +function getModelDefault(definition, model) { + var _a; + if (definition.default === undefined) { + return; + } + if (definition.default === null) { + return 'null'; + } + const type = definition.type || typeof definition.default; + switch (type) { + case 'int': + case 'integer': + case 'number': + if ((model === null || model === void 0 ? void 0 : model.export) == 'enum' && ((_a = model.enum) === null || _a === void 0 ? void 0 : _a[definition.default])) { + return model.enum[definition.default].value; + } + return definition.default; + case 'boolean': + return JSON.stringify(definition.default); + case 'string': + return `'${definition.default}'`; + case 'object': + try { + return JSON.stringify(definition.default, null, 4); + } + catch (e) { + // Ignore + } + } + return; +} + +function escapeName$1(value) { + if (value) { + const validName = /^[a-zA-Z_$][\w$]+$/g.test(value); + if (!validName) { + return `'${value}'`; + } + } + return value; +} + +const TYPE_MAPPINGS$1 = new Map([ + ['File', 'File'], + ['file', 'File'], + ['any', 'any'], + ['object', 'any'], + ['array', 'any[]'], + ['boolean', 'boolean'], + ['byte', 'number'], + ['int', 'number'], + ['integer', 'number'], + ['float', 'number'], + ['double', 'number'], + ['short', 'number'], + ['long', 'number'], + ['number', 'number'], + ['char', 'string'], + ['date', 'string'], + ['date-time', 'string'], + ['password', 'string'], + ['string', 'string'], + ['void', 'void'], + ['null', 'null'], +]); +/** + * Get mapped type for given type to any basic Typescript/Javascript type. + */ +function getMappedType$1(type) { + return TYPE_MAPPINGS$1.get(type); +} +function hasMappedType$1(type) { + return TYPE_MAPPINGS$1.has(type); +} + +/** + * Strip (OpenAPI) namespaces fom values. + * @param value + */ +function stripNamespace$1(value) { + return value + .trim() + .replace(/^#\/components\/schemas\//, '') + .replace(/^#\/components\/responses\//, '') + .replace(/^#\/components\/parameters\//, '') + .replace(/^#\/components\/examples\//, '') + .replace(/^#\/components\/requestBodies\//, '') + .replace(/^#\/components\/headers\//, '') + .replace(/^#\/components\/securitySchemes\//, '') + .replace(/^#\/components\/links\//, '') + .replace(/^#\/components\/callbacks\//, ''); +} + +function encode$1(value) { + return value.replace(/^[^a-zA-Z_$]+/g, '').replace(/[^\w$]+/g, '_'); +} +/** + * Parse any string value into a type object. + * @param value String value like "integer" or "Link[Model]". + * @param template Optional template class from parent (needed to process generics) + */ +function getType$1(value, template) { + const result = { + type: 'any', + base: 'any', + template: null, + imports: [], + }; + const valueClean = stripNamespace$1(value || ''); + if (/\[.*\]$/g.test(valueClean)) { + const matches = valueClean.match(/(.*?)\[(.*)\]$/); + if (matches === null || matches === void 0 ? void 0 : matches.length) { + const match1 = getType$1(encode$1(matches[1])); + const match2 = getType$1(encode$1(matches[2])); + if (match1.type === 'any[]') { + result.type = `${match2.type}[]`; + result.base = `${match2.type}`; + match1.imports = []; + } + else if (match2.type) { + result.type = `${match1.type}<${match2.type}>`; + result.base = match1.type; + result.template = match2.type; + } + else { + result.type = match1.type; + result.base = match1.type; + result.template = match1.type; + } + result.imports.push(...match1.imports); + result.imports.push(...match2.imports); + } + } + else if (hasMappedType$1(valueClean)) { + const mapped = getMappedType$1(valueClean); + if (mapped) { + result.type = mapped; + result.base = mapped; + } + } + else if (valueClean) { + const type = encode$1(valueClean); + result.type = type; + result.base = type; + result.imports.push(type); + } + // If the property that we found matched the parent template class + // Then ignore this whole property and return it as a "T" template property. + if (result.type === template) { + result.type = 'T'; // Template; + result.base = 'T'; // Template; + result.imports = []; + } + return result; +} + +function getModelProperties$1(openApi, definition, getModel) { + var _a; + const models = []; + for (const propertyName in definition.properties) { + if (definition.properties.hasOwnProperty(propertyName)) { + const property = definition.properties[propertyName]; + const propertyRequired = (_a = definition.required) === null || _a === void 0 ? void 0 : _a.includes(propertyName); + if (property.$ref) { + const model = getType$1(property.$ref); + models.push({ + name: escapeName$1(propertyName), + export: 'reference', + type: model.type, + base: model.base, + template: model.template, + link: null, + description: getComment$1(property.description), + isDefinition: false, + isReadOnly: property.readOnly === true, + isRequired: propertyRequired === true, + isNullable: property.nullable === true, + format: property.format, + maximum: property.maximum, + exclusiveMaximum: property.exclusiveMaximum, + minimum: property.minimum, + exclusiveMinimum: property.exclusiveMinimum, + multipleOf: property.multipleOf, + maxLength: property.maxLength, + minLength: property.minLength, + maxItems: property.maxItems, + minItems: property.minItems, + uniqueItems: property.uniqueItems, + maxProperties: property.maxProperties, + minProperties: property.minProperties, + pattern: getPattern(property.pattern), + imports: model.imports, + enum: [], + enums: [], + properties: [], + }); + } + else { + const model = getModel(openApi, property); + models.push({ + name: escapeName$1(propertyName), + export: model.export, + type: model.type, + base: model.base, + template: model.template, + link: model.link, + description: getComment$1(property.description), + isDefinition: false, + isReadOnly: property.readOnly === true, + isRequired: propertyRequired === true, + isNullable: property.nullable === true, + format: property.format, + maximum: property.maximum, + exclusiveMaximum: property.exclusiveMaximum, + minimum: property.minimum, + exclusiveMinimum: property.exclusiveMinimum, + multipleOf: property.multipleOf, + maxLength: property.maxLength, + minLength: property.minLength, + maxItems: property.maxItems, + minItems: property.minItems, + uniqueItems: property.uniqueItems, + maxProperties: property.maxProperties, + minProperties: property.minProperties, + pattern: getPattern(property.pattern), + imports: model.imports, + enum: model.enum, + enums: model.enums, + properties: model.properties, + }); + } + } + } + return models; +} + +function getModel$1(openApi, definition, isDefinition = false, name = '') { + var _a, _b, _c; + const model = { + name, + export: 'interface', + type: 'any', + base: 'any', + template: null, + link: null, + description: getComment$1(definition.description), + isDefinition, + isReadOnly: definition.readOnly === true, + isNullable: definition.nullable === true, + isRequired: false, + format: definition.format, + maximum: definition.maximum, + exclusiveMaximum: definition.exclusiveMaximum, + minimum: definition.minimum, + exclusiveMinimum: definition.exclusiveMinimum, + multipleOf: definition.multipleOf, + maxLength: definition.maxLength, + minLength: definition.minLength, + maxItems: definition.maxItems, + minItems: definition.minItems, + uniqueItems: definition.uniqueItems, + maxProperties: definition.maxProperties, + minProperties: definition.minProperties, + pattern: getPattern(definition.pattern), + imports: [], + enum: [], + enums: [], + properties: [], + }; + if (definition.$ref) { + const definitionRef = getType$1(definition.$ref); + model.export = 'reference'; + model.type = definitionRef.type; + model.base = definitionRef.base; + model.template = definitionRef.template; + model.imports.push(...definitionRef.imports); + model.default = getModelDefault(definition, model); + return model; + } + if (definition.enum) { + const enumerators = getEnum$1(definition.enum); + const extendedEnumerators = extendEnum$1(enumerators, definition); + if (extendedEnumerators.length) { + model.export = 'enum'; + model.type = 'string'; + model.base = 'string'; + model.enum.push(...extendedEnumerators); + model.default = getModelDefault(definition, model); + return model; + } + } + if ((definition.type === 'int' || definition.type === 'integer') && definition.description) { + const enumerators = getEnumFromDescription$1(definition.description); + if (enumerators.length) { + model.export = 'enum'; + model.type = 'number'; + model.base = 'number'; + model.enum.push(...enumerators); + model.default = getModelDefault(definition, model); + return model; + } + } + if (definition.type === 'array' && definition.items) { + if (definition.items.$ref) { + const arrayItems = getType$1(definition.items.$ref); + model.export = 'array'; + model.type = arrayItems.type; + model.base = arrayItems.base; + model.template = arrayItems.template; + model.imports.push(...arrayItems.imports); + model.default = getModelDefault(definition, model); + return model; + } + else { + const arrayItems = getModel$1(openApi, definition.items); + model.export = 'array'; + model.type = arrayItems.type; + model.base = arrayItems.base; + model.template = arrayItems.template; + model.link = arrayItems; + model.imports.push(...arrayItems.imports); + model.default = getModelDefault(definition, model); + return model; + } + } + if (definition.type === 'object' && typeof definition.additionalProperties === 'object') { + if (definition.additionalProperties.$ref) { + const additionalProperties = getType$1(definition.additionalProperties.$ref); + model.export = 'dictionary'; + model.type = additionalProperties.type; + model.base = additionalProperties.base; + model.template = additionalProperties.template; + model.imports.push(...additionalProperties.imports); + model.default = getModelDefault(definition, model); + return model; + } + else { + const additionalProperties = getModel$1(openApi, definition.additionalProperties); + model.export = 'dictionary'; + model.type = additionalProperties.type; + model.base = additionalProperties.base; + model.template = additionalProperties.template; + model.link = additionalProperties; + model.imports.push(...additionalProperties.imports); + model.default = getModelDefault(definition, model); + return model; + } + } + if ((_a = definition.oneOf) === null || _a === void 0 ? void 0 : _a.length) { + const composition = getModelComposition$1(openApi, definition.oneOf, 'one-of', getModel$1); + model.export = composition.type; + model.imports.push(...composition.imports); + model.enums.push(...composition.enums); + model.properties.push(...composition.properties); + return model; + } + if ((_b = definition.anyOf) === null || _b === void 0 ? void 0 : _b.length) { + const composition = getModelComposition$1(openApi, definition.anyOf, 'any-of', getModel$1); + model.export = composition.type; + model.imports.push(...composition.imports); + model.enums.push(...composition.enums); + model.properties.push(...composition.properties); + return model; + } + if ((_c = definition.allOf) === null || _c === void 0 ? void 0 : _c.length) { + const composition = getModelComposition$1(openApi, definition.allOf, 'all-of', getModel$1); + model.export = composition.type; + model.imports.push(...composition.imports); + model.enums.push(...composition.enums); + model.properties.push(...composition.properties); + return model; + } + if (definition.type === 'object') { + model.export = 'interface'; + model.type = 'any'; + model.base = 'any'; + if (definition.properties) { + model.default = getModelDefault(definition, model); + const properties = getModelProperties$1(openApi, definition, getModel$1); + properties.forEach(property => { + model.imports.push(...property.imports); + model.properties.push(property); + if (property.export === 'enum') { + model.enums.push(property); + } + }); + } + return model; + } + // If the schema has a type than it can be a basic or generic type. + if (definition.type) { + const definitionType = getType$1(definition.type); + model.export = 'generic'; + model.type = definitionType.type; + model.base = definitionType.base; + model.template = definitionType.template; + model.imports.push(...definitionType.imports); + model.default = getModelDefault(definition, model); + return model; + } + return model; +} + +function getModels$1(openApi) { + const models = []; + if (openApi.components) { + for (const definitionName in openApi.components.schemas) { + if (openApi.components.schemas.hasOwnProperty(definitionName)) { + const definition = openApi.components.schemas[definitionName]; + const definitionType = getType$1(definitionName); + const model = getModel$1(openApi, definition, true, definitionType.base); + models.push(model); + } + } + } + return models; +} + +function getServer$1(openApi) { + var _a; + const server = (_a = openApi.servers) === null || _a === void 0 ? void 0 : _a[0]; + const variables = (server === null || server === void 0 ? void 0 : server.variables) || {}; + let url = (server === null || server === void 0 ? void 0 : server.url) || ''; + for (const variable in variables) { + if (variables.hasOwnProperty(variable)) { + url = url.replace(`{${variable}}`, variables[variable].default); + } + } + return url; +} + +function escapeDescription$1(value) { + return value.replace(/([^\\])`/g, '$1\\`'); +} + +function getOperationErrors$1(operationResponses) { + return operationResponses + .filter(operationResponse => { + return operationResponse.code >= 300 && operationResponse.description; + }) + .map(response => ({ + code: response.code, + description: escapeDescription$1(response.description), + })); +} + +/** + * Convert the input value to a correct operation (method) classname. + * This converts the input string to camelCase, so the method name follows + * the most popular Javascript and Typescript writing style. + */ +function getOperationName$1(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + return camelCase__default['default'](clean); +} + +/** + * Replaces any invalid characters from a parameter name. + * For example: 'filter.someProperty' becomes 'filterSomeProperty'. + */ +function getOperationParameterName$1(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + return camelCase__default['default'](clean); +} + +function getOperationParameter$1(openApi, parameter) { + const operationParameter = { + in: parameter.in, + prop: parameter.name, + export: 'interface', + name: getOperationParameterName$1(parameter.name), + type: 'any', + base: 'any', + template: null, + link: null, + description: getComment$1(parameter.description), + isDefinition: false, + isReadOnly: false, + isRequired: parameter.required === true, + isNullable: parameter.nullable === true, + imports: [], + enum: [], + enums: [], + properties: [], + }; + if (parameter.$ref) { + const definitionRef = getType$1(parameter.$ref); + operationParameter.export = 'reference'; + operationParameter.type = definitionRef.type; + operationParameter.base = definitionRef.base; + operationParameter.template = definitionRef.template; + operationParameter.imports.push(...definitionRef.imports); + return operationParameter; + } + if (parameter.schema) { + if (parameter.schema.$ref) { + const model = getType$1(parameter.schema.$ref); + operationParameter.export = 'reference'; + operationParameter.type = model.type; + operationParameter.base = model.base; + operationParameter.template = model.template; + operationParameter.imports.push(...model.imports); + operationParameter.default = getModelDefault(parameter.schema); + return operationParameter; + } + else { + const model = getModel$1(openApi, parameter.schema); + operationParameter.export = model.export; + operationParameter.type = model.type; + operationParameter.base = model.base; + operationParameter.template = model.template; + operationParameter.link = model.link; + operationParameter.isReadOnly = model.isReadOnly; + operationParameter.isRequired = operationParameter.isRequired || model.isRequired; + operationParameter.isNullable = operationParameter.isNullable || model.isNullable; + operationParameter.format = model.format; + operationParameter.maximum = model.maximum; + operationParameter.exclusiveMaximum = model.exclusiveMaximum; + operationParameter.minimum = model.minimum; + operationParameter.exclusiveMinimum = model.exclusiveMinimum; + operationParameter.multipleOf = model.multipleOf; + operationParameter.maxLength = model.maxLength; + operationParameter.minLength = model.minLength; + operationParameter.maxItems = model.maxItems; + operationParameter.minItems = model.minItems; + operationParameter.uniqueItems = model.uniqueItems; + operationParameter.maxProperties = model.maxProperties; + operationParameter.minProperties = model.minProperties; + operationParameter.pattern = getPattern(model.pattern); + operationParameter.default = model.default; + operationParameter.imports.push(...model.imports); + operationParameter.enum.push(...model.enum); + operationParameter.enums.push(...model.enums); + operationParameter.properties.push(...model.properties); + return operationParameter; + } + } + return operationParameter; +} + +function getRef$1(openApi, item) { + if (item.$ref) { + // Fetch the paths to the definitions, this converts: + // "#/components/schemas/Form" to ["components", "schemas", "Form"] + const paths = item.$ref + .replace(/^#/g, '') + .split('/') + .filter(item => item); + // Try to find the reference by walking down the path, + // if we cannot find it, then we throw an error. + let result = openApi; + paths.forEach((path) => { + if (result.hasOwnProperty(path)) { + result = result[path]; + } + else { + throw new Error(`Could not find reference: "${item.$ref}"`); + } + }); + return result; + } + return item; +} + +function sortByRequired$1(a, b) { + const aNeedsValue = a.isRequired && a.default === undefined; + const bNeedsValue = b.isRequired && b.default === undefined; + if (aNeedsValue && !bNeedsValue) + return -1; + if (!aNeedsValue && bNeedsValue) + return 1; + return 0; +} + +function getOperationParameters$1(openApi, parameters) { + const operationParameters = { + imports: [], + parameters: [], + parametersPath: [], + parametersQuery: [], + parametersForm: [], + parametersCookie: [], + parametersHeader: [], + parametersBody: null, + }; + // Iterate over the parameters + parameters.forEach(parameterOrReference => { + const parameterDef = getRef$1(openApi, parameterOrReference); + const parameter = getOperationParameter$1(openApi, parameterDef); + // We ignore the "api-version" param, since we do not want to add this + // as the first / default parameter for each of the service calls. + if (parameter.prop !== 'api-version') { + switch (parameterDef.in) { + case 'path': + operationParameters.parametersPath.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'query': + operationParameters.parametersQuery.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'formData': + operationParameters.parametersForm.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'cookie': + operationParameters.parametersCookie.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + case 'header': + operationParameters.parametersHeader.push(parameter); + operationParameters.parameters.push(parameter); + operationParameters.imports.push(...parameter.imports); + break; + } + } + }); + operationParameters.parameters = operationParameters.parameters.sort(sortByRequired$1); + operationParameters.parametersPath = operationParameters.parametersPath.sort(sortByRequired$1); + operationParameters.parametersQuery = operationParameters.parametersQuery.sort(sortByRequired$1); + operationParameters.parametersForm = operationParameters.parametersForm.sort(sortByRequired$1); + operationParameters.parametersCookie = operationParameters.parametersCookie.sort(sortByRequired$1); + operationParameters.parametersHeader = operationParameters.parametersHeader.sort(sortByRequired$1); + return operationParameters; +} + +/** + * Get the final service path, this replaces the "{api-version}" placeholder + * with a new template string placeholder so we can dynamically inject the + * OpenAPI version without the need to hardcode this in the URL. + * Plus we return the correct parameter names to replace in the URL. + * @param path + */ +function getOperationPath$1(path) { + return path + .replace(/\{(.*?)\}/g, (_, w) => { + return `\${${getOperationParameterName$1(w)}}`; + }) + .replace('${apiVersion}', '${OpenAPI.VERSION}'); +} + +function getContent(openApi, content) { + /* prettier-ignore */ + return (content['application/json-patch+json'] && + content['application/json-patch+json'].schema) || (content['application/json'] && + content['application/json'].schema) || (content['text/json'] && + content['text/json'].schema) || (content['text/plain'] && + content['text/plain'].schema) || (content['multipart/mixed'] && + content['multipart/mixed'].schema) || (content['multipart/related'] && + content['multipart/related'].schema) || (content['multipart/batch'] && + content['multipart/batch'].schema) || null; +} + +function getOperationRequestBody(openApi, parameter) { + const requestBody = { + in: 'body', + prop: 'body', + export: 'interface', + name: 'requestBody', + type: 'any', + base: 'any', + template: null, + link: null, + description: getComment$1(parameter.description), + default: undefined, + isDefinition: false, + isReadOnly: false, + isRequired: parameter.required === true, + isNullable: parameter.nullable === true, + imports: [], + enum: [], + enums: [], + properties: [], + }; + if (parameter.content) { + const schema = getContent(openApi, parameter.content); + if (schema) { + if (schema === null || schema === void 0 ? void 0 : schema.$ref) { + const model = getType$1(schema.$ref); + requestBody.export = 'reference'; + requestBody.type = model.type; + requestBody.base = model.base; + requestBody.template = model.template; + requestBody.imports.push(...model.imports); + return requestBody; + } + else { + const model = getModel$1(openApi, schema); + requestBody.export = model.export; + requestBody.type = model.type; + requestBody.base = model.base; + requestBody.template = model.template; + requestBody.link = model.link; + requestBody.isReadOnly = model.isReadOnly; + requestBody.isRequired = requestBody.isRequired || model.isRequired; + requestBody.isNullable = requestBody.isNullable || model.isNullable; + requestBody.format = model.format; + requestBody.maximum = model.maximum; + requestBody.exclusiveMaximum = model.exclusiveMaximum; + requestBody.minimum = model.minimum; + requestBody.exclusiveMinimum = model.exclusiveMinimum; + requestBody.multipleOf = model.multipleOf; + requestBody.maxLength = model.maxLength; + requestBody.minLength = model.minLength; + requestBody.maxItems = model.maxItems; + requestBody.minItems = model.minItems; + requestBody.uniqueItems = model.uniqueItems; + requestBody.maxProperties = model.maxProperties; + requestBody.minProperties = model.minProperties; + requestBody.pattern = getPattern(model.pattern); + requestBody.imports.push(...model.imports); + requestBody.enum.push(...model.enum); + requestBody.enums.push(...model.enums); + requestBody.properties.push(...model.properties); + return requestBody; + } + } + } + return requestBody; +} + +function getOperationResponseHeader$1(operationResponses) { + const header = operationResponses.find(operationResponses => { + return operationResponses.in === 'header'; + }); + if (header) { + return header.name; + } + return null; +} + +function getOperationResponse$1(openApi, response, responseCode) { + const operationResponse = { + in: 'response', + name: '', + code: responseCode, + description: getComment$1(response.description), + export: 'generic', + type: 'any', + base: 'any', + template: null, + link: null, + isDefinition: false, + isReadOnly: false, + isRequired: false, + isNullable: false, + imports: [], + enum: [], + enums: [], + properties: [], + }; + // We support basic properties from response headers, since both + // fetch and XHR client just support string types. + if (response.headers) { + for (const name in response.headers) { + if (response.headers.hasOwnProperty(name)) { + operationResponse.in = 'header'; + operationResponse.name = name; + operationResponse.type = 'string'; + operationResponse.base = 'string'; + return operationResponse; + } + } + } + if (response.content) { + const schema = getContent(openApi, response.content); + if (schema) { + if (schema === null || schema === void 0 ? void 0 : schema.$ref) { + const model = getType$1(schema.$ref); + operationResponse.export = 'reference'; + operationResponse.type = model.type; + operationResponse.base = model.base; + operationResponse.template = model.template; + operationResponse.imports.push(...model.imports); + return operationResponse; + } + else { + const model = getModel$1(openApi, schema); + operationResponse.export = model.export; + operationResponse.type = model.type; + operationResponse.base = model.base; + operationResponse.template = model.template; + operationResponse.link = model.link; + operationResponse.isReadOnly = model.isReadOnly; + operationResponse.isRequired = model.isRequired; + operationResponse.isNullable = model.isNullable; + operationResponse.format = model.format; + operationResponse.maximum = model.maximum; + operationResponse.exclusiveMaximum = model.exclusiveMaximum; + operationResponse.minimum = model.minimum; + operationResponse.exclusiveMinimum = model.exclusiveMinimum; + operationResponse.multipleOf = model.multipleOf; + operationResponse.maxLength = model.maxLength; + operationResponse.minLength = model.minLength; + operationResponse.maxItems = model.maxItems; + operationResponse.minItems = model.minItems; + operationResponse.uniqueItems = model.uniqueItems; + operationResponse.maxProperties = model.maxProperties; + operationResponse.minProperties = model.minProperties; + operationResponse.pattern = getPattern(model.pattern); + operationResponse.imports.push(...model.imports); + operationResponse.enum.push(...model.enum); + operationResponse.enums.push(...model.enums); + operationResponse.properties.push(...model.properties); + return operationResponse; + } + } + } + return operationResponse; +} + +function getOperationResponseCode$1(value) { + // You can specify a "default" response, this is treated as HTTP code 200 + if (value === 'default') { + return 200; + } + // Check if we can parse the code and return of successful. + if (/[0-9]+/g.test(value)) { + const code = parseInt(value); + if (Number.isInteger(code)) { + return Math.abs(code); + } + } + return null; +} + +function getOperationResponses$1(openApi, responses) { + const operationResponses = []; + // Iterate over each response code and get the + // status code and response message (if any). + for (const code in responses) { + if (responses.hasOwnProperty(code)) { + const responseOrReference = responses[code]; + const response = getRef$1(openApi, responseOrReference); + const responseCode = getOperationResponseCode$1(code); + if (responseCode) { + operationResponses.push(getOperationResponse$1(openApi, response, responseCode)); + } + } + } + // Sort the responses to 2XX success codes come before 4XX and 5XX error codes. + return operationResponses.sort((a, b) => { + return a.code < b.code ? -1 : a.code > b.code ? 1 : 0; + }); +} + +function areEqual$1(a, b) { + const equal = a.type === b.type && a.base === b.base && a.template === b.template; + if (equal && a.link && b.link) { + return areEqual$1(a.link, b.link); + } + return equal; +} +function getOperationResults$1(operationResponses) { + const operationResults = []; + operationResponses.forEach(operationResponse => { + if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) { + operationResults.push(operationResponse); + } + }); + if (!operationResults.length) { + operationResults.push({ + in: 'response', + name: '', + code: 200, + description: '', + export: 'interface', + type: 'any', + base: 'any', + template: null, + link: null, + isDefinition: false, + isReadOnly: false, + isRequired: false, + isNullable: false, + imports: [], + enum: [], + enums: [], + properties: [], + }); + } + return operationResults.filter((operationResult, index, arr) => { + return (arr.findIndex(item => { + return areEqual$1(item, operationResult); + }) === index); + }); +} + +/** + * Convert the input value to a correct service classname. This converts + * the input string to PascalCase and appends the "Service" prefix if needed. + */ +function getServiceClassName$1(value) { + const clean = value + .replace(/^[^a-zA-Z]+/g, '') + .replace(/[^\w\-]+/g, '-') + .trim(); + const name = camelCase__default['default'](clean, { pascalCase: true }); + if (name && !name.endsWith('Service')) { + return `${name}Service`; + } + return name; +} + +function getOperation$1(openApi, url, method, op, pathParams) { + var _a; + const serviceName = ((_a = op.tags) === null || _a === void 0 ? void 0 : _a[0]) || 'Service'; + const serviceClassName = getServiceClassName$1(serviceName); + const operationNameFallback = `${method}${serviceClassName}`; + const operationName = getOperationName$1(op.operationId || operationNameFallback); + const operationPath = getOperationPath$1(url); + // Create a new operation object for this method. + const operation = { + service: serviceClassName, + name: operationName, + summary: getComment$1(op.summary), + description: getComment$1(op.description), + deprecated: op.deprecated === true, + method: method.toUpperCase(), + path: operationPath, + parameters: [...pathParams.parameters], + parametersPath: [...pathParams.parametersPath], + parametersQuery: [...pathParams.parametersQuery], + parametersForm: [...pathParams.parametersForm], + parametersHeader: [...pathParams.parametersHeader], + parametersCookie: [...pathParams.parametersCookie], + parametersBody: pathParams.parametersBody, + imports: [], + errors: [], + results: [], + responseHeader: null, + }; + // Parse the operation parameters (path, query, body, etc). + if (op.parameters) { + const parameters = getOperationParameters$1(openApi, op.parameters); + operation.imports.push(...parameters.imports); + operation.parameters.push(...parameters.parameters); + operation.parametersPath.push(...parameters.parametersPath); + operation.parametersQuery.push(...parameters.parametersQuery); + operation.parametersForm.push(...parameters.parametersForm); + operation.parametersHeader.push(...parameters.parametersHeader); + operation.parametersCookie.push(...parameters.parametersCookie); + operation.parametersBody = parameters.parametersBody; + } + // TODO: form data goes wrong here: https://github.com/ferdikoomen/openapi-typescript-codegen/issues/257§ + if (op.requestBody) { + const requestBodyDef = getRef$1(openApi, op.requestBody); + const requestBody = getOperationRequestBody(openApi, requestBodyDef); + operation.imports.push(...requestBody.imports); + operation.parameters.push(requestBody); + operation.parameters = operation.parameters.sort(sortByRequired$1); + operation.parametersBody = requestBody; + } + // Parse the operation responses. + if (op.responses) { + const operationResponses = getOperationResponses$1(openApi, op.responses); + const operationResults = getOperationResults$1(operationResponses); + operation.errors = getOperationErrors$1(operationResponses); + operation.responseHeader = getOperationResponseHeader$1(operationResults); + operationResults.forEach(operationResult => { + operation.results.push(operationResult); + operation.imports.push(...operationResult.imports); + }); + } + return operation; +} + +/** + * Get the OpenAPI services + */ +function getServices$1(openApi) { + const services = new Map(); + for (const url in openApi.paths) { + if (openApi.paths.hasOwnProperty(url)) { + // Grab path and parse any global path parameters + const path = openApi.paths[url]; + const pathParams = getOperationParameters$1(openApi, path.parameters || []); + // Parse all the methods for this path + for (const method in path) { + if (path.hasOwnProperty(method)) { + switch (method) { + case 'get': + case 'put': + case 'post': + case 'delete': + case 'options': + case 'head': + case 'patch': + // Each method contains an OpenAPI operation, we parse the operation + const op = path[method]; + const operation = getOperation$1(openApi, url, method, op, pathParams); + // If we have already declared a service, then we should fetch that and + // append the new method to it. Otherwise we should create a new service object. + const service = services.get(operation.service) || + { + name: operation.service, + operations: [], + imports: [], + }; + // Push the operation in the service + service.operations.push(operation); + service.imports.push(...operation.imports); + services.set(operation.service, service); + break; + } + } + } + } + } + return Array.from(services.values()); +} + +/** + * Convert the service version to 'normal' version. + * This basically removes any "v" prefix from the version string. + * @param version + */ +function getServiceVersion$1(version = '1.0') { + return version.replace(/^v/gi, ''); +} + +/** + * Parse the OpenAPI specification to a Client model that contains + * all the models, services and schema's we should output. + * @param openApi The OpenAPI spec that we have loaded from disk. + */ +function parse$1(openApi) { + const version = getServiceVersion$1(openApi.info.version); + const server = getServer$1(openApi); + const models = getModels$1(openApi); + const services = getServices$1(openApi); + return { version, server, models, services }; +} + +// Wrapped file system calls +const readFile = util.promisify(fs.readFile); +const writeFile = util.promisify(fs.writeFile); +const copyFile = util.promisify(fs.copyFile); +const exists = util.promisify(fs.exists); +// Re-export from mkdirp to make mocking easier +const mkdir = mkdirp__default['default']; +// Promisified version of rimraf +const rmdir = (path) => new Promise((resolve, reject) => { + rimraf__default['default'](path, (error) => { + if (error) { + reject(error); + } + else { + resolve(); + } + }); +}); + +/** + * Check if given file exists and try to read the content as string. + * @param input + */ +async function readSpecFromDisk(input) { + const filePath = path.resolve(process.cwd(), input); + const fileExists = await exists(filePath); + if (fileExists) { + try { + const content = await readFile(filePath, 'utf8'); + return content.toString(); + } + catch (e) { + throw new Error(`Could not read OpenApi spec: "${filePath}"`); + } + } + throw new Error(`Could not find OpenApi spec: "${filePath}"`); +} + +/** + * Download the spec file from a HTTP resource + * @param url + */ +async function readSpecFromHttp(url) { + return new Promise((resolve, reject) => { + http.get(url, response => { + let body = ''; + response.on('data', chunk => { + body += chunk; + }); + response.on('end', () => { + resolve(body); + }); + response.on('error', () => { + reject(`Could not read OpenApi spec: "${url}"`); + }); + }); + }); +} + +/** + * Download the spec file from a HTTPS resource + * @param url + */ +async function readSpecFromHttps(url) { + return new Promise((resolve, reject) => { + https.get(url, response => { + let body = ''; + response.on('data', chunk => { + body += chunk; + }); + response.on('end', () => { + resolve(body); + }); + response.on('error', () => { + reject(`Could not read OpenApi spec: "${url}"`); + }); + }); + }); +} + +async function readSpec(input) { + if (input.startsWith('https://')) { + return await readSpecFromHttps(input); + } + if (input.startsWith('http://')) { + return await readSpecFromHttp(input); + } + return await readSpecFromDisk(input); +} + +/** + * Load and parse te open api spec. If the file extension is ".yml" or ".yaml" + * we will try to parse the file as a YAML spec, otherwise we will fallback + * on parsing the file as JSON. + * @param input + */ +async function getOpenApiSpec(input) { + const extension = path.extname(input).toLowerCase(); + const content = await readSpec(input); + switch (extension) { + case '.yml': + case '.yaml': + try { + return jsYaml.safeLoad(content); + } + catch (e) { + throw new Error(`Could not parse OpenApi YAML: "${input}"`); + } + default: + try { + return JSON.parse(content); + } + catch (e) { + throw new Error(`Could not parse OpenApi JSON: "${input}"`); + } + } +} + +var OpenApiVersion; +(function (OpenApiVersion) { + OpenApiVersion[OpenApiVersion["V2"] = 2] = "V2"; + OpenApiVersion[OpenApiVersion["V3"] = 3] = "V3"; +})(OpenApiVersion || (OpenApiVersion = {})); +/** + * Get the Open API specification version (V2 or V3). This generator only supports + * version 2 and 3 of the specification, so we will alert the user if we encounter + * an incompatible type. Or if the type is missing... + * @param openApi The loaded spec (can be any object) + */ +function getOpenApiVersion(openApi) { + const info = openApi.swagger || openApi.openapi; + if (typeof info === 'string') { + const c = info.charAt(0); + const v = Number.parseInt(c); + if (v === OpenApiVersion.V2 || v === OpenApiVersion.V3) { + return v; + } + } + throw new Error(`Unsupported Open API version: "${String(info)}"`); +} + +function isString(val) { + return typeof val === 'string'; +} + +/** + * Set unique enum values for the model + * @param model + */ +function postProcessModelEnum(model) { + return model.enum.filter((property, index, arr) => { + return arr.findIndex(item => item.name === property.name) === index; + }); +} + +/** + * Set unique enum values for the model + * @param model The model that is post-processed + */ +function postProcessModelEnums(model) { + return model.enums.filter((property, index, arr) => { + return arr.findIndex(item => item.name === property.name) === index; + }); +} + +function sort(a, b) { + const nameA = a.toLowerCase(); + const nameB = b.toLowerCase(); + return nameA.localeCompare(nameB, 'en'); +} + +function unique(val, index, arr) { + return arr.indexOf(val) === index; +} + +/** + * Set unique imports, sorted by name + * @param model The model that is post-processed + */ +function postProcessModelImports(model) { + return model.imports + .filter(unique) + .sort(sort) + .filter(name => model.name !== name); +} + +/** + * Post process the model. + * This will cleanup any double imports or enum values. + * @param model + */ +function postProcessModel(model) { + return Object.assign(Object.assign({}, model), { imports: postProcessModelImports(model), enums: postProcessModelEnums(model), enum: postProcessModelEnum(model) }); +} + +/** + * Set unique imports, sorted by name + * @param service + */ +function postProcessServiceImports(service) { + return service.imports + .filter(unique) + .sort(sort) + .filter(name => service.name !== name); +} + +/** + * Calls a defined callback function on each element of an array. + * Then, flattens the result into a new array. + */ +function flatMap(array, callback) { + const result = []; + array.map(callback).forEach(arr => { + result.push(...arr); + }); + return result; +} + +function postProcessServiceOperations(service) { + const names = new Map(); + return service.operations.map(operation => { + const clone = Object.assign({}, operation); + // Parse the service parameters and results, very similar to how we parse + // properties of models. These methods will extend the type if needed. + clone.imports.push(...flatMap(clone.parameters, parameter => parameter.imports)); + clone.imports.push(...flatMap(clone.results, result => result.imports)); + // Check if the operation name is unique, if not then prefix this with a number + const name = clone.name; + const index = names.get(name) || 0; + if (index > 0) { + clone.name = `${name}${index}`; + } + names.set(name, index + 1); + return clone; + }); +} + +function postProcessService(service) { + const clone = Object.assign({}, service); + clone.operations = postProcessServiceOperations(clone); + clone.operations.forEach(operation => { + clone.imports.push(...operation.imports); + }); + clone.imports = postProcessServiceImports(clone); + return clone; +} + +/** + * Post process client + * @param client Client object with all the models, services, etc. + */ +function postProcessClient(client) { + return Object.assign(Object.assign({}, client), { models: client.models.map(model => postProcessModel(model)), services: client.services.map(service => postProcessService(service)) }); +} + +var templateCoreApiError = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}"; +},"usePartial":true,"useData":true}; + +var templateCoreApiRequestOptions = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nexport type ApiRequestOptions = {\n readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n readonly path: string;\n readonly cookies?: Record;\n readonly headers?: Record;\n readonly query?: Record;\n readonly formData?: Record;\n readonly body?: any;\n readonly responseHeader?: string;\n readonly errors?: Record;\n readonly requestInit?: Partial;\n}"; +},"usePartial":true,"useData":true}; + +var templateCoreApiResult = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nexport type ApiResult = {\n readonly url: string;\n readonly ok: boolean;\n readonly status: number;\n readonly statusText: string;\n readonly body: any;\n}"; +},"usePartial":true,"useData":true}; + +var fetchGetHeaders = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"; +},"useData":true}; + +var fetchGetRequestBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"; +},"useData":true}; + +var fetchGetResponseBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"; +},"useData":true}; + +var fetchGetResponseHeader = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"; +},"useData":true}; + +var fetchRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isDefined"),depth0,{"name":"functions/isDefined","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isString"),depth0,{"name":"functions/isString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isStringWithValue"),depth0,{"name":"functions/isStringWithValue","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isBlob"),depth0,{"name":"functions/isBlob","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getQueryString"),depth0,{"name":"functions/getQueryString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getUrl"),depth0,{"name":"functions/getUrl","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getFormData"),depth0,{"name":"functions/getFormData","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/resolve"),depth0,{"name":"functions/resolve","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/getHeaders"),depth0,{"name":"fetch/getHeaders","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/getRequestBody"),depth0,{"name":"fetch/getRequestBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/sendRequest"),depth0,{"name":"fetch/sendRequest","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/getResponseHeader"),depth0,{"name":"fetch/getResponseHeader","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/getResponseBody"),depth0,{"name":"fetch/getResponseBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/catchErrors"),depth0,{"name":"functions/catchErrors","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @returns ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n\n\n return result;\n}"; +},"usePartial":true,"useData":true}; + +var fetchSendRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n ...(options.requestInit || {}),\n };\n if (OpenAPI.WITH_CREDENTIALS) {\n request.credentials = 'include';\n }\n return await fetch(url, request);\n}"; +},"useData":true}; + +var fetchResponseType = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "type ResponseImplementation = Response;"; +},"useData":true}; + +var functionCatchErrors = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}"; +},"useData":true}; + +var functionGetFormData = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getFormData(params: Record): FormData {\n const formData = new FormData();\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n formData.append(key, value);\n }\n });\n return formData;\n}"; +},"useData":true}; + +var functionGetQueryString = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getQueryString(params: Record): string {\n const qs: string[] = [];\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(value => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n });\n } else {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n return '';\n}"; +},"useData":true}; + +var functionGetUrl = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getUrl(options: ApiRequestOptions): string {\n const path = options.path.replace(/[:]/g, '_');\n const url = `${OpenAPI.BASE}${path}`;\n\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n}"; +},"useData":true}; + +var functionIsBinary = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {\n const isBuffer = Buffer.isBuffer(value);\n const isArrayBuffer = types.isArrayBuffer(value);\n const isArrayBufferView = types.isArrayBufferView(value);\n return isBuffer || isArrayBuffer || isArrayBufferView;\n}"; +},"useData":true}; + +var functionIsBlob = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}"; +},"useData":true}; + +var functionIsDefined = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}"; +},"useData":true}; + +var functionIsString = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isString(value: any): value is string {\n return typeof value === 'string';\n}"; +},"useData":true}; + +var functionIsStringWithValue = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}"; +},"useData":true}; + +var functionIsSuccess = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function isSuccess(status: number): boolean {\n return status >= 200 && status < 300;\n}"; +},"useData":true}; + +var functionResolve = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "type Resolver = () => Promise;\n\nasync function resolve(resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)();\n }\n return resolver;\n}"; +},"useData":true}; + +var nodeGetHeaders = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = Buffer.from(`${username}:${password}`).toString('base64');\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBinary(options.body)) {\n headers.append('Content-Type', 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"; +},"useData":true}; + +var nodeGetRequestBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBinary(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"; +},"useData":true}; + +var nodeGetResponseBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function getResponseBody(response: Response): Promise {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"; +},"useData":true}; + +var nodeGetResponseHeader = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getResponseHeader(response: Response, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"; +},"useData":true}; + +var nodeRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nimport FormData from 'form-data';\nimport fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';\nimport { types } from 'util';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isDefined"),depth0,{"name":"functions/isDefined","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isString"),depth0,{"name":"functions/isString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isStringWithValue"),depth0,{"name":"functions/isStringWithValue","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isBinary"),depth0,{"name":"functions/isBinary","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getQueryString"),depth0,{"name":"functions/getQueryString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getUrl"),depth0,{"name":"functions/getUrl","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getFormData"),depth0,{"name":"functions/getFormData","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/resolve"),depth0,{"name":"functions/resolve","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"node/getHeaders"),depth0,{"name":"node/getHeaders","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"node/getRequestBody"),depth0,{"name":"node/getRequestBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"node/sendRequest"),depth0,{"name":"node/sendRequest","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"node/getResponseHeader"),depth0,{"name":"node/getResponseHeader","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"node/getResponseBody"),depth0,{"name":"node/getResponseBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/catchErrors"),depth0,{"name":"functions/catchErrors","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n/**\n * Request using node-fetch client\n * @param options The request options from the the service\n * @returns ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n let result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"; +},"usePartial":true,"useData":true}; + +var nodeSendRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n const request: RequestInit = {\n method: options.method,\n headers: await getHeaders(options),\n body: getRequestBody(options),\n };\n return await fetch(url, request);\n}"; +},"useData":true}; + +var nodeResponseType = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "import { Response as ResponseImplementation } from 'node-fetch';"; +},"useData":true}; + +var templateCoreSettings = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/responseType"),depth0,{"name":"fetch/responseType","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/responseType"),depth0,{"name":"xhr/responseType","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"5":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"node/responseType"),depth0,{"name":"node/responseType","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.strict, alias3=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"fetch",{"name":"equals","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":70}}})) != null ? stack1 : "") + + "\n" + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"xhr",{"name":"equals","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":0},"end":{"line":5,"column":66}}})) != null ? stack1 : "") + + "\n" + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"node",{"name":"equals","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":68}}})) != null ? stack1 : "") + + "\n\ntype Resolver = () => Promise;\ntype Headers = Record;\n\nimport { ApiResult } from './ApiResult';\nimport { ApiRequestOptions } from './ApiRequestOptions';\n\nexport interface RequestHookParams {\n url: string;\n options: ApiRequestOptions;\n}\n\nexport interface ResponseHookParams {\n url: string;\n result: ApiResult;\n response?: ResponseImplementation;\n}\n\ntype Config = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n REQUEST_HOOK?(params: RequestHookParams): Promise;\n RESPONSE_HOOK?(result: ResponseHookParams): Promise\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n}\n\nexport const OpenAPI: Config = {\n BASE: '" + + ((stack1 = alias3(alias2(depth0, "server", {"start":{"line":38,"column":14},"end":{"line":38,"column":20}} ), depth0)) != null ? stack1 : "") + + "',\n VERSION: '" + + ((stack1 = alias3(alias2(depth0, "version", {"start":{"line":39,"column":17},"end":{"line":39,"column":24}} ), depth0)) != null ? stack1 : "") + + "',\n WITH_CREDENTIALS: false,\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n};"; +},"usePartial":true,"useData":true}; + +var templateCoreRequest = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/request"),depth0,{"name":"fetch/request","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/request"),depth0,{"name":"xhr/request","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"5":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"node/request"),depth0,{"name":"node/request","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"fetch",{"name":"equals","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":67}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"xhr",{"name":"equals","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":63}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"node",{"name":"equals","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":65}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var xhrGetHeaders = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function getHeaders(options: ApiRequestOptions): Promise {\n const headers = new Headers({\n Accept: 'application/json',\n ...OpenAPI.HEADERS,\n ...options.headers,\n });\n\n const token = await resolve(OpenAPI.TOKEN);\n const username = await resolve(OpenAPI.USERNAME);\n const password = await resolve(OpenAPI.PASSWORD);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = btoa(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n return headers;\n}"; +},"useData":true}; + +var xhrGetRequestBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getRequestBody(options: ApiRequestOptions): any {\n if (options.formData) {\n return getFormData(options.formData);\n }\n if (options.body) {\n if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n}"; +},"useData":true}; + +var xhrGetResponseBody = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getResponseBody(xhr: XMLHttpRequest): any {\n try {\n const contentType = xhr.getResponseHeader('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return JSON.parse(xhr.responseText);\n } else {\n return xhr.responseText;\n }\n }\n } catch (error) {\n console.error(error);\n }\n return null;\n}"; +},"useData":true}; + +var xhrGetResponseHeader = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "function getResponseHeader(xhr: XMLHttpRequest, responseHeader?: string): string | null {\n if (responseHeader) {\n const content = xhr.getResponseHeader(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return null;\n}"; +},"useData":true}; + +var xhrRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { OpenAPI } from './OpenAPI';\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isDefined"),depth0,{"name":"functions/isDefined","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isString"),depth0,{"name":"functions/isString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isStringWithValue"),depth0,{"name":"functions/isStringWithValue","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isBlob"),depth0,{"name":"functions/isBlob","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/isSuccess"),depth0,{"name":"functions/isSuccess","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getQueryString"),depth0,{"name":"functions/getQueryString","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getUrl"),depth0,{"name":"functions/getUrl","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/getFormData"),depth0,{"name":"functions/getFormData","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/resolve"),depth0,{"name":"functions/resolve","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"fetch/getHeaders"),depth0,{"name":"fetch/getHeaders","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/getRequestBody"),depth0,{"name":"xhr/getRequestBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/sendRequest"),depth0,{"name":"xhr/sendRequest","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/getResponseHeader"),depth0,{"name":"xhr/getResponseHeader","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"xhr/getResponseBody"),depth0,{"name":"xhr/getResponseBody","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n" + + ((stack1 = container.invokePartial(lookupProperty(partials,"functions/catchErrors"),depth0,{"name":"functions/catchErrors","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n\n/**\n * Request using XHR client\n * @param options The request options from the the service\n * @returns ApiResult\n * @throws ApiError\n */\nexport async function request(options: ApiRequestOptions): Promise {\n const url = getUrl(options);\n\n // Pre-hook on request if a function is provided.\n const requestHookResult = OpenAPI.REQUEST_HOOK ?\n (await OpenAPI.REQUEST_HOOK({ url, options})) : { url, options };\n\n const response = await sendRequest(requestHookResult.options, requestHookResult.url);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, requestHookResult.options.responseHeader);\n\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody\n };\n\n // Post-request Hook if provided\n result = OpenAPI.RESPONSE_HOOK ? await OpenAPI.RESPONSE_HOOK({url, result, response}) : result;\n\n catchErrors(options, result);\n return result;\n}"; +},"usePartial":true,"useData":true}; + +var xhrSendRequest = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "async function sendRequest(options: ApiRequestOptions, url: string): Promise {\n\n const xhr = new XMLHttpRequest();\n xhr.open(options.method, url, true);\n xhr.withCredentials = OpenAPI.WITH_CREDENTIALS;\n\n const headers = await getHeaders(options);\n headers.forEach((value: string, key: string) => {\n xhr.setRequestHeader(key, value);\n });\n\n return new Promise(resolve => {\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n resolve(xhr);\n }\n };\n xhr.send(getRequestBody(options));\n });\n}"; +},"useData":true}; + +var xhrResponseType = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "type ResponseImplementation = XMLHttpRequest;"; +},"useData":true}; + +var templateExportModel = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"imports"),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":0},"end":{"line":7,"column":9}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.lambda; + + return "import type { " + + ((stack1 = alias1(depth0, depth0)) != null ? stack1 : "") + + " } from './" + + ((stack1 = alias1(depth0, depth0)) != null ? stack1 : "") + + "';\n"; +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"exportInterface"),depth0,{"name":"exportInterface","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"one-of",{"name":"equals","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":12,"column":0},"end":{"line":22,"column":0}}})) != null ? stack1 : ""); +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"exportComposition"),depth0,{"name":"exportComposition","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"9":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"any-of",{"name":"equals","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(10, data, 0),"data":data,"loc":{"start":{"line":14,"column":0},"end":{"line":22,"column":0}}})) != null ? stack1 : ""); +},"10":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"all-of",{"name":"equals","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(11, data, 0),"data":data,"loc":{"start":{"line":16,"column":0},"end":{"line":22,"column":0}}})) != null ? stack1 : ""); +},"11":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"enum",{"name":"equals","hash":{},"fn":container.program(12, data, 0),"inverse":container.program(14, data, 0),"data":data,"loc":{"start":{"line":18,"column":0},"end":{"line":22,"column":0}}})) != null ? stack1 : ""); +},"12":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"exportEnum"),depth0,{"name":"exportEnum","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"14":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"exportType"),depth0,{"name":"exportType","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"imports"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":8,"column":7}}})) != null ? stack1 : "") + + "\n" + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(depth0,"export"),"interface",{"name":"equals","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":10,"column":0},"end":{"line":22,"column":11}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var templateExportSchema = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\nexport const $" + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":3,"column":17},"end":{"line":3,"column":21}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = container.invokePartial(lookupProperty(partials,"schema"),depth0,{"name":"schema","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ";"; +},"usePartial":true,"useData":true}; + +var templateExportService = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"imports"),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":6,"column":9}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.lambda; + + return "import type { " + + ((stack1 = alias1(depth0, depth0)) != null ? stack1 : "") + + " } from '../models/" + + ((stack1 = alias1(depth0, depth0)) != null ? stack1 : "") + + "';\n"; +},"4":function(container,depth0,helpers,partials,data) { + return "import { OpenAPI } from '../core/OpenAPI';\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.strict, alias3=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " /**\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"deprecated"),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":11}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"summary"),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":11}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":23,"column":4},"end":{"line":25,"column":11}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(alias1,lookupProperty(lookupProperty(data,"root"),"useOptions"),{"name":"unless","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":26,"column":4},"end":{"line":32,"column":15}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"results"),{"name":"each","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":33,"column":4},"end":{"line":35,"column":13}}})) != null ? stack1 : "") + + " * @throws ApiError\n */\n public static async " + + ((stack1 = alias3(alias2(depth0, "name", {"start":{"line":38,"column":27},"end":{"line":38,"column":31}} ), depth0)) != null ? stack1 : "") + + "(" + + ((stack1 = container.invokePartial(lookupProperty(partials,"parameters"),depth0,{"name":"parameters","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "): Promise<" + + ((stack1 = container.invokePartial(lookupProperty(partials,"result"),depth0,{"name":"result","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "> {\n const result = await __request({\n method: '" + + ((stack1 = alias3(alias2(depth0, "method", {"start":{"line":40,"column":24},"end":{"line":40,"column":30}} ), depth0)) != null ? stack1 : "") + + "',\n path: `" + + ((stack1 = alias3(alias2(depth0, "path", {"start":{"line":41,"column":22},"end":{"line":41,"column":26}} ), depth0)) != null ? stack1 : "") + + "`,\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"parametersCookie"),{"name":"if","hash":{},"fn":container.program(19, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":42,"column":12},"end":{"line":48,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"parametersHeader"),{"name":"if","hash":{},"fn":container.program(22, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":49,"column":12},"end":{"line":55,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"parametersQuery"),{"name":"if","hash":{},"fn":container.program(24, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":56,"column":12},"end":{"line":62,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"parametersForm"),{"name":"if","hash":{},"fn":container.program(26, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":63,"column":12},"end":{"line":69,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"parametersBody"),{"name":"if","hash":{},"fn":container.program(28, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":70,"column":12},"end":{"line":72,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"responseHeader"),{"name":"if","hash":{},"fn":container.program(30, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":73,"column":12},"end":{"line":75,"column":19}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"errors"),{"name":"if","hash":{},"fn":container.program(32, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":76,"column":12},"end":{"line":82,"column":19}}})) != null ? stack1 : "") + + " });\n return result.body;\n }\n\n"; +},"7":function(container,depth0,helpers,partials,data) { + return " * @deprecated\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1; + + return " * " + + ((stack1 = container.lambda(container.strict(depth0, "summary", {"start":{"line":21,"column":10},"end":{"line":21,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n"; +},"11":function(container,depth0,helpers,partials,data) { + var stack1; + + return " * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":24,"column":10},"end":{"line":24,"column":21}} ), depth0)) != null ? stack1 : "") + + "\n"; +},"13":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parameters"),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":27,"column":4},"end":{"line":31,"column":11}}})) != null ? stack1 : ""); +},"14":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parameters"),{"name":"each","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":13}}})) != null ? stack1 : ""); +},"15":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " * @param " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":29,"column":17},"end":{"line":29,"column":21}} ), depth0)) != null ? stack1 : "") + + " " + + ((stack1 = alias2(alias1(depth0, "description", {"start":{"line":29,"column":28},"end":{"line":29,"column":39}} ), depth0)) != null ? stack1 : "") + + "\n"; +},"17":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " * @returns " + + ((stack1 = alias2(alias1(depth0, "type", {"start":{"line":34,"column":19},"end":{"line":34,"column":23}} ), depth0)) != null ? stack1 : "") + + " " + + ((stack1 = alias2(alias1(depth0, "description", {"start":{"line":34,"column":30},"end":{"line":34,"column":41}} ), depth0)) != null ? stack1 : "") + + "\n"; +},"19":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " cookies: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parametersCookie"),{"name":"each","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":44,"column":16},"end":{"line":46,"column":25}}})) != null ? stack1 : "") + + " },\n"; +},"20":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " '" + + ((stack1 = alias2(alias1(depth0, "prop", {"start":{"line":45,"column":20},"end":{"line":45,"column":24}} ), depth0)) != null ? stack1 : "") + + "': " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":45,"column":33},"end":{"line":45,"column":37}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"22":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " headers: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parametersHeader"),{"name":"each","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":51,"column":16},"end":{"line":53,"column":25}}})) != null ? stack1 : "") + + " },\n"; +},"24":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " query: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parametersQuery"),{"name":"each","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":58,"column":16},"end":{"line":60,"column":25}}})) != null ? stack1 : "") + + " },\n"; +},"26":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " formData: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parametersForm"),{"name":"each","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":65,"column":16},"end":{"line":67,"column":25}}})) != null ? stack1 : "") + + " },\n"; +},"28":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " body: " + + ((stack1 = container.lambda(container.strict(lookupProperty(depth0,"parametersBody"), "name", {"start":{"line":71,"column":21},"end":{"line":71,"column":40}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"30":function(container,depth0,helpers,partials,data) { + var stack1; + + return " responseHeader: '" + + ((stack1 = container.lambda(container.strict(depth0, "responseHeader", {"start":{"line":74,"column":32},"end":{"line":74,"column":46}} ), depth0)) != null ? stack1 : "") + + "',\n"; +},"32":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " errors: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"errors"),{"name":"each","hash":{},"fn":container.program(33, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":78,"column":16},"end":{"line":80,"column":25}}})) != null ? stack1 : "") + + " },\n"; +},"33":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " " + + ((stack1 = alias2(alias1(depth0, "code", {"start":{"line":79,"column":19},"end":{"line":79,"column":23}} ), depth0)) != null ? stack1 : "") + + ": `" + + ((stack1 = alias2(alias1(depth0, "description", {"start":{"line":79,"column":32},"end":{"line":79,"column":43}} ), depth0)) != null ? stack1 : "") + + "`,\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + "\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"imports"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":7,"column":7}}})) != null ? stack1 : "") + + "import { request as __request } from '../core/request';\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(lookupProperty(data,"root"),"useVersion"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":11,"column":7}}})) != null ? stack1 : "") + + "\nexport class " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":13,"column":16},"end":{"line":13,"column":20}} ), depth0)) != null ? stack1 : "") + + " {\n\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"operations"),{"name":"each","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":4},"end":{"line":87,"column":13}}})) != null ? stack1 : "") + + "}"; +},"usePartial":true,"useData":true}; + +var templateIndex = {"1":function(container,depth0,helpers,partials,data) { + return "\nexport { ApiError } from './core/ApiError';\nexport { OpenAPI } from './core/OpenAPI';\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"models"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":0},"end":{"line":21,"column":7}}})) != null ? stack1 : ""); +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"models"),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":0},"end":{"line":20,"column":9}}})) != null ? stack1 : ""); +},"5":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"enum"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.program(8, data, 0),"data":data,"loc":{"start":{"line":11,"column":0},"end":{"line":19,"column":7}}})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return "export { " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":12,"column":12},"end":{"line":12,"column":16}} ), depth0)) != null ? stack1 : "") + + " } from './models/" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":12,"column":40},"end":{"line":12,"column":44}} ), depth0)) != null ? stack1 : "") + + "';\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useUnionTypes"),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.program(11, data, 0),"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"9":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return "export type { " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":14,"column":17},"end":{"line":14,"column":21}} ), depth0)) != null ? stack1 : "") + + " } from './models/" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":14,"column":45},"end":{"line":14,"column":49}} ), depth0)) != null ? stack1 : "") + + "';\n"; +},"11":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"enums"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":15,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"13":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"models"),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":24,"column":0},"end":{"line":29,"column":7}}})) != null ? stack1 : ""); +},"14":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"models"),{"name":"each","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":26,"column":0},"end":{"line":28,"column":9}}})) != null ? stack1 : ""); +},"15":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return "export { $" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":27,"column":13},"end":{"line":27,"column":17}} ), depth0)) != null ? stack1 : "") + + " } from './schemas/$" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":27,"column":43},"end":{"line":27,"column":47}} ), depth0)) != null ? stack1 : "") + + "';\n"; +},"17":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"services"),{"name":"if","hash":{},"fn":container.program(18, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":32,"column":0},"end":{"line":37,"column":7}}})) != null ? stack1 : ""); +},"18":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"services"),{"name":"each","hash":{},"fn":container.program(19, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":34,"column":0},"end":{"line":36,"column":9}}})) != null ? stack1 : ""); +},"19":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return "export { " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":35,"column":12},"end":{"line":35,"column":16}} ), depth0)) != null ? stack1 : "") + + " } from './services/" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":35,"column":42},"end":{"line":35,"column":46}} ), depth0)) != null ? stack1 : "") + + "';\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(lookupProperty(data,"root"),"exportCore"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":6,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(lookupProperty(data,"root"),"exportModels"),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":0},"end":{"line":22,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(lookupProperty(data,"root"),"exportSchemas"),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":23,"column":0},"end":{"line":30,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(lookupProperty(data,"root"),"exportServices"),{"name":"if","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":31,"column":0},"end":{"line":38,"column":7}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialBase = {"1":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"fetch",{"name":"equals","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":53}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"xhr",{"name":"equals","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"equals").call(alias1,lookupProperty(lookupProperty(data,"root"),"httpClient"),"node",{"name":"equals","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":86}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + return "Blob"; +},"4":function(container,depth0,helpers,partials,data) { + return "Buffer | ArrayBuffer | ArrayBufferView"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1; + + return ((stack1 = container.lambda(container.strict(depth0, "base", {"start":{"line":6,"column":3},"end":{"line":6,"column":7}} ), depth0)) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"base"),"File",{"name":"equals","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":7,"column":13}}})) != null ? stack1 : ""); +},"useData":true}; + +var partialExportComposition = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":3,"column":6},"end":{"line":3,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useUnionTypes"),{"name":"unless","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":0},"end":{"line":27,"column":11}}})) != null ? stack1 : ""); +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\nexport namespace " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":10,"column":20},"end":{"line":10,"column":24}} ), depth0)) != null ? stack1 : "") + + " {\n\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"enums"),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":4},"end":{"line":24,"column":13}}})) != null ? stack1 : "") + + "\n}\n"; +},"5":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":13,"column":4},"end":{"line":17,"column":11}}})) != null ? stack1 : "") + + " export enum " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":18,"column":19},"end":{"line":18,"column":23}} ), depth0)) != null ? stack1 : "") + + " {\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"enum"),{"name":"each","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":19,"column":8},"end":{"line":21,"column":17}}})) != null ? stack1 : "") + + " }\n\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1; + + return " /**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":15,"column":10},"end":{"line":15,"column":21}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":20,"column":11},"end":{"line":20,"column":15}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = alias2(alias1(depth0, "value", {"start":{"line":20,"column":24},"end":{"line":20,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":7}}})) != null ? stack1 : "") + + "export type " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":6,"column":15},"end":{"line":6,"column":19}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","hash":{"parent":lookupProperty(depth0,"name")},"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ";\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"enums"),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":0},"end":{"line":28,"column":7}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialExportEnum = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":3,"column":6},"end":{"line":3,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":4},"end":{"line":12,"column":11}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"containsSpaces").call(alias1,lookupProperty(depth0,"name"),{"name":"containsSpaces","hash":{},"fn":container.program(6, data, 0),"inverse":container.program(8, data, 0),"data":data,"loc":{"start":{"line":13,"column":4},"end":{"line":17,"column":23}}})) != null ? stack1 : ""); +},"4":function(container,depth0,helpers,partials,data) { + var stack1; + + return " /**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":10,"column":10},"end":{"line":10,"column":21}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " \"" + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":14,"column":8},"end":{"line":14,"column":12}} ), depth0)) != null ? stack1 : "") + + "\" = " + + ((stack1 = alias2(alias1(depth0, "value", {"start":{"line":14,"column":22},"end":{"line":14,"column":27}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":16,"column":7},"end":{"line":16,"column":11}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = alias2(alias1(depth0, "value", {"start":{"line":16,"column":20},"end":{"line":16,"column":25}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":7}}})) != null ? stack1 : "") + + "export enum " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":6,"column":15},"end":{"line":6,"column":19}} ), depth0)) != null ? stack1 : "") + + " {\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"enum"),{"name":"each","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":4},"end":{"line":18,"column":13}}})) != null ? stack1 : "") + + "}"; +},"useData":true}; + +var partialExportInterface = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":3,"column":6},"end":{"line":3,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"3":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":4},"end":{"line":12,"column":11}}})) != null ? stack1 : "") + + " " + + ((stack1 = container.invokePartial(lookupProperty(partials,"isReadOnly"),depth0,{"name":"isReadOnly","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":13,"column":22},"end":{"line":13,"column":26}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isRequired"),depth0,{"name":"isRequired","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","hash":{"parent":lookupProperty(depths[1],"name")},"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ";\n"; +},"4":function(container,depth0,helpers,partials,data) { + var stack1; + + return " /**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":10,"column":10},"end":{"line":10,"column":21}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useUnionTypes"),{"name":"unless","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":0},"end":{"line":36,"column":11}}})) != null ? stack1 : ""); +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\nexport namespace " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":19,"column":20},"end":{"line":19,"column":24}} ), depth0)) != null ? stack1 : "") + + " {\n\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"enums"),{"name":"each","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":21,"column":4},"end":{"line":33,"column":13}}})) != null ? stack1 : "") + + "\n}\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":22,"column":4},"end":{"line":26,"column":11}}})) != null ? stack1 : "") + + " export enum " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":27,"column":19},"end":{"line":27,"column":23}} ), depth0)) != null ? stack1 : "") + + " {\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"enum"),{"name":"each","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":28,"column":8},"end":{"line":30,"column":17}}})) != null ? stack1 : "") + + " }\n\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda; + + return " " + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":29,"column":11},"end":{"line":29,"column":15}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = alias2(alias1(depth0, "value", {"start":{"line":29,"column":24},"end":{"line":29,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":7}}})) != null ? stack1 : "") + + "export type " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":6,"column":15},"end":{"line":6,"column":19}} ), depth0)) != null ? stack1 : "") + + " = {\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":4},"end":{"line":14,"column":13}}})) != null ? stack1 : "") + + "}\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"enums"),{"name":"if","hash":{},"fn":container.program(6, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":0},"end":{"line":37,"column":7}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true,"useDepths":true}; + +var partialExportType = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":3,"column":6},"end":{"line":3,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":7}}})) != null ? stack1 : "") + + "export type " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":6,"column":15},"end":{"line":6,"column":19}} ), depth0)) != null ? stack1 : "") + + " = " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ";"; +},"usePartial":true,"useData":true}; + +var partialHeader = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + return "/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */"; +},"useData":true}; + +var partialIsNullable = {"1":function(container,depth0,helpers,partials,data) { + return " | null"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}}})) != null ? stack1 : ""); +},"useData":true}; + +var partialIsReadOnly = {"1":function(container,depth0,helpers,partials,data) { + return "readonly "; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}}})) != null ? stack1 : ""); +},"useData":true}; + +var partialIsRequired = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"isRequired"),{"name":"unless","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":54}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + return "?"; +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"default"),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":23},"end":{"line":2,"column":43}}})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"isRequired"),{"name":"unless","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":64}}})) != null ? stack1 : ""); +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"default"),{"name":"unless","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":22},"end":{"line":4,"column":53}}})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useOptions"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : ""); +},"useData":true}; + +var partialParameters = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useOptions"),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":20,"column":7}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"parameters"),{"name":"each","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":6,"column":9}}})) != null ? stack1 : "") + + "}: {\n" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"parameters"),{"name":"each","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":0},"end":{"line":13,"column":9}}})) != null ? stack1 : "") + + "}"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":5,"column":3},"end":{"line":5,"column":7}} ), depth0)) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"default"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":10},"end":{"line":5,"column":48}}})) != null ? stack1 : "") + + ",\n"; +},"4":function(container,depth0,helpers,partials,data) { + var stack1; + + return " = " + + ((stack1 = container.lambda(container.strict(depth0, "default", {"start":{"line":5,"column":31},"end":{"line":5,"column":38}} ), depth0)) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":11,"column":7}}})) != null ? stack1 : "") + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":12,"column":3},"end":{"line":12,"column":7}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isRequired"),depth0,{"name":"isRequired","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"7":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/** " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":10,"column":7},"end":{"line":10,"column":18}} ), depth0)) != null ? stack1 : "") + + " **/\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parameters"),{"name":"each","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":0},"end":{"line":19,"column":9}}})) != null ? stack1 : ""); +},"10":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":18,"column":3},"end":{"line":18,"column":7}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isRequired"),depth0,{"name":"isRequired","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"default"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":18,"column":36},"end":{"line":18,"column":74}}})) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parameters"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":21,"column":7}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialResult = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"results"),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":66}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(data,"last"),{"name":"unless","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":26},"end":{"line":2,"column":57}}})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + return " | "; +},"5":function(container,depth0,helpers,partials,data) { + return "void"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"results"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(5, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialSchema = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaInterface"),depth0,{"name":"schemaInterface","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"enum",{"name":"equals","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaEnum"),depth0,{"name":"schemaEnum","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"array",{"name":"equals","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":5,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaArray"),depth0,{"name":"schemaArray","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"9":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"dictionary",{"name":"equals","hash":{},"fn":container.program(10, data, 0),"inverse":container.program(12, data, 0),"data":data,"loc":{"start":{"line":7,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"10":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaDictionary"),depth0,{"name":"schemaDictionary","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"12":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"any-of",{"name":"equals","hash":{},"fn":container.program(13, data, 0),"inverse":container.program(15, data, 0),"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"13":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaComposition"),depth0,{"name":"schemaComposition","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"15":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"all-of",{"name":"equals","hash":{},"fn":container.program(13, data, 0),"inverse":container.program(16, data, 0),"data":data,"loc":{"start":{"line":11,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"16":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"one-of",{"name":"equals","hash":{},"fn":container.program(13, data, 0),"inverse":container.program(17, data, 0),"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":17,"column":0}}})) != null ? stack1 : ""); +},"17":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schemaGeneric"),depth0,{"name":"schemaGeneric","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"interface",{"name":"equals","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":17,"column":11}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialSchemaArray = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " contains: " + + ((stack1 = container.invokePartial(lookupProperty(partials,"schema"),lookupProperty(depth0,"link"),{"name":"schema","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1; + + return " contains: {\n type: '" + + ((stack1 = container.lambda(container.strict(depth0, "base", {"start":{"line":7,"column":18},"end":{"line":7,"column":22}} ), depth0)) != null ? stack1 : "") + + "',\n },\n"; +},"5":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":11,"column":19},"end":{"line":11,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"7":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":14,"column":19},"end":{"line":14,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":17,"column":19},"end":{"line":17,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n type: 'array',\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"link"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":9,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":0},"end":{"line":12,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":15,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":0},"end":{"line":18,"column":7}}})) != null ? stack1 : "") + + "}"; +},"usePartial":true,"useData":true}; + +var partialSchemaComposition = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"schema"),depth0,{"name":"schema","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(data,"last"),{"name":"unless","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":46},"end":{"line":3,"column":76}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + return ", "; +},"4":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":5,"column":19},"end":{"line":5,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":8,"column":19},"end":{"line":8,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":11,"column":19},"end":{"line":11,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n type: '" + + ((stack1 = container.lambda(container.strict(depth0, "export", {"start":{"line":2,"column":13},"end":{"line":2,"column":19}} ), depth0)) != null ? stack1 : "") + + "',\n contains: [" + + ((stack1 = lookupProperty(helpers,"each").call(alias1,lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":15},"end":{"line":3,"column":85}}})) != null ? stack1 : "") + + "],\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":6,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":0},"end":{"line":9,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":0},"end":{"line":12,"column":7}}})) != null ? stack1 : "") + + "}"; +},"usePartial":true,"useData":true}; + +var partialSchemaDictionary = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " contains: " + + ((stack1 = container.invokePartial(lookupProperty(partials,"schema"),lookupProperty(depth0,"link"),{"name":"schema","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1; + + return " contains: {\n type: '" + + ((stack1 = container.lambda(container.strict(depth0, "base", {"start":{"line":7,"column":18},"end":{"line":7,"column":22}} ), depth0)) != null ? stack1 : "") + + "',\n },\n"; +},"5":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":11,"column":19},"end":{"line":11,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"7":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":14,"column":19},"end":{"line":14,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":17,"column":19},"end":{"line":17,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n type: 'dictionary',\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"link"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":9,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":0},"end":{"line":12,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":15,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":0},"end":{"line":18,"column":7}}})) != null ? stack1 : "") + + "}"; +},"usePartial":true,"useData":true}; + +var partialSchemaEnum = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":4,"column":19},"end":{"line":4,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":7,"column":19},"end":{"line":7,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"5":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":10,"column":19},"end":{"line":10,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n type: 'Enum',\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":5,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":6,"column":0},"end":{"line":8,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":11,"column":7}}})) != null ? stack1 : "") + + "}"; +},"useData":true}; + +var partialSchemaGeneric = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return " type: '" + + ((stack1 = container.lambda(container.strict(depth0, "base", {"start":{"line":3,"column":14},"end":{"line":3,"column":18}} ), depth0)) != null ? stack1 : "") + + "',\n"; +},"3":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":6,"column":19},"end":{"line":6,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"5":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":9,"column":19},"end":{"line":9,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"7":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":12,"column":19},"end":{"line":12,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"9":function(container,depth0,helpers,partials,data) { + var stack1; + + return " format: '" + + ((stack1 = container.lambda(container.strict(depth0, "format", {"start":{"line":15,"column":16},"end":{"line":15,"column":22}} ), depth0)) != null ? stack1 : "") + + "',\n"; +},"11":function(container,depth0,helpers,partials,data) { + var stack1; + + return " maximum: " + + ((stack1 = container.lambda(container.strict(depth0, "maximum", {"start":{"line":18,"column":16},"end":{"line":18,"column":23}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"13":function(container,depth0,helpers,partials,data) { + var stack1; + + return " exclusiveMaximum: " + + ((stack1 = container.lambda(container.strict(depth0, "exclusiveMaximum", {"start":{"line":21,"column":25},"end":{"line":21,"column":41}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"15":function(container,depth0,helpers,partials,data) { + var stack1; + + return " minimum: " + + ((stack1 = container.lambda(container.strict(depth0, "minimum", {"start":{"line":24,"column":16},"end":{"line":24,"column":23}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"17":function(container,depth0,helpers,partials,data) { + var stack1; + + return " exclusiveMinimum: " + + ((stack1 = container.lambda(container.strict(depth0, "exclusiveMinimum", {"start":{"line":27,"column":25},"end":{"line":27,"column":41}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"19":function(container,depth0,helpers,partials,data) { + var stack1; + + return " multipleOf: " + + ((stack1 = container.lambda(container.strict(depth0, "multipleOf", {"start":{"line":30,"column":19},"end":{"line":30,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"21":function(container,depth0,helpers,partials,data) { + var stack1; + + return " maxLength: " + + ((stack1 = container.lambda(container.strict(depth0, "maxLength", {"start":{"line":33,"column":18},"end":{"line":33,"column":27}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"23":function(container,depth0,helpers,partials,data) { + var stack1; + + return " minLength: " + + ((stack1 = container.lambda(container.strict(depth0, "minLength", {"start":{"line":36,"column":18},"end":{"line":36,"column":27}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"25":function(container,depth0,helpers,partials,data) { + var stack1; + + return " pattern: '" + + ((stack1 = container.lambda(container.strict(depth0, "pattern", {"start":{"line":39,"column":17},"end":{"line":39,"column":24}} ), depth0)) != null ? stack1 : "") + + "',\n"; +},"27":function(container,depth0,helpers,partials,data) { + var stack1; + + return " maxItems: " + + ((stack1 = container.lambda(container.strict(depth0, "maxItems", {"start":{"line":42,"column":17},"end":{"line":42,"column":25}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"29":function(container,depth0,helpers,partials,data) { + var stack1; + + return " minItems: " + + ((stack1 = container.lambda(container.strict(depth0, "minItems", {"start":{"line":45,"column":17},"end":{"line":45,"column":25}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"31":function(container,depth0,helpers,partials,data) { + var stack1; + + return " uniqueItems: " + + ((stack1 = container.lambda(container.strict(depth0, "uniqueItems", {"start":{"line":48,"column":20},"end":{"line":48,"column":31}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"33":function(container,depth0,helpers,partials,data) { + var stack1; + + return " maxProperties: " + + ((stack1 = container.lambda(container.strict(depth0, "maxProperties", {"start":{"line":51,"column":22},"end":{"line":51,"column":35}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"35":function(container,depth0,helpers,partials,data) { + var stack1; + + return " minProperties: " + + ((stack1 = container.lambda(container.strict(depth0, "minProperties", {"start":{"line":54,"column":22},"end":{"line":54,"column":35}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"type"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":4,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":0},"end":{"line":7,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":0},"end":{"line":10,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":11,"column":0},"end":{"line":13,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"format"),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":14,"column":0},"end":{"line":16,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"maximum"),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":0},"end":{"line":19,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"exclusiveMaximum"),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":20,"column":0},"end":{"line":22,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"minimum"),{"name":"if","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":23,"column":0},"end":{"line":25,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"exclusiveMinimum"),{"name":"if","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":26,"column":0},"end":{"line":28,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"multipleOf"),{"name":"if","hash":{},"fn":container.program(19, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":29,"column":0},"end":{"line":31,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"maxLength"),{"name":"if","hash":{},"fn":container.program(21, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":32,"column":0},"end":{"line":34,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"minLength"),{"name":"if","hash":{},"fn":container.program(23, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":35,"column":0},"end":{"line":37,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"pattern"),{"name":"if","hash":{},"fn":container.program(25, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":38,"column":0},"end":{"line":40,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"maxItems"),{"name":"if","hash":{},"fn":container.program(27, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":41,"column":0},"end":{"line":43,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"minItems"),{"name":"if","hash":{},"fn":container.program(29, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":44,"column":0},"end":{"line":46,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"uniqueItems"),{"name":"if","hash":{},"fn":container.program(31, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":47,"column":0},"end":{"line":49,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"maxProperties"),{"name":"if","hash":{},"fn":container.program(33, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":50,"column":0},"end":{"line":52,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"minProperties"),{"name":"if","hash":{},"fn":container.program(35, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":0},"end":{"line":55,"column":7}}})) != null ? stack1 : "") + + "}"; +},"useData":true}; + +var partialSchemaInterface = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":4},"end":{"line":6,"column":13}}})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return " " + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":5,"column":11},"end":{"line":5,"column":15}} ), depth0)) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"schema"),depth0,{"name":"schema","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"4":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isReadOnly: " + + ((stack1 = container.lambda(container.strict(depth0, "isReadOnly", {"start":{"line":10,"column":19},"end":{"line":10,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"6":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isRequired: " + + ((stack1 = container.lambda(container.strict(depth0, "isRequired", {"start":{"line":13,"column":19},"end":{"line":13,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"8":function(container,depth0,helpers,partials,data) { + var stack1; + + return " isNullable: " + + ((stack1 = container.lambda(container.strict(depth0, "isNullable", {"start":{"line":16,"column":19},"end":{"line":16,"column":29}} ), depth0)) != null ? stack1 : "") + + ",\n"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n properties: {\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"properties"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":7,"column":7}}})) != null ? stack1 : "") + + " },\n" + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isReadOnly"),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":11,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isRequired"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":0},"end":{"line":14,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"isNullable"),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":0},"end":{"line":17,"column":7}}})) != null ? stack1 : "") + + "}"; +},"usePartial":true,"useData":true}; + +var partialType = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeInterface"),depth0,{"name":"typeInterface","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"reference",{"name":"equals","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"4":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeReference"),depth0,{"name":"typeReference","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"enum",{"name":"equals","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":5,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeEnum"),depth0,{"name":"typeEnum","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"9":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"array",{"name":"equals","hash":{},"fn":container.program(10, data, 0),"inverse":container.program(12, data, 0),"data":data,"loc":{"start":{"line":7,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"10":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeArray"),depth0,{"name":"typeArray","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"12":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"dictionary",{"name":"equals","hash":{},"fn":container.program(13, data, 0),"inverse":container.program(15, data, 0),"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"13":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeDictionary"),depth0,{"name":"typeDictionary","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"15":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"one-of",{"name":"equals","hash":{},"fn":container.program(16, data, 0),"inverse":container.program(18, data, 0),"data":data,"loc":{"start":{"line":11,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"16":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeUnion"),depth0,{"name":"typeUnion","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"18":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"any-of",{"name":"equals","hash":{},"fn":container.program(16, data, 0),"inverse":container.program(19, data, 0),"data":data,"loc":{"start":{"line":13,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"19":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"all-of",{"name":"equals","hash":{},"fn":container.program(20, data, 0),"inverse":container.program(22, data, 0),"data":data,"loc":{"start":{"line":15,"column":0},"end":{"line":19,"column":0}}})) != null ? stack1 : ""); +},"20":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeIntersection"),depth0,{"name":"typeIntersection","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"22":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"typeGeneric"),depth0,{"name":"typeGeneric","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"equals").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"export"),"interface",{"name":"equals","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":19,"column":11}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeArray = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "Array<" + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),lookupProperty(depth0,"link"),{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ">" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "Array<" + + ((stack1 = container.invokePartial(lookupProperty(partials,"base"),depth0,{"name":"base","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ">" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"link"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeDictionary = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "Record" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "Record" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"link"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeEnum = {"1":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"enum"),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":65}}})) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.lambda(container.strict(depth0, "value", {"start":{"line":2,"column":17},"end":{"line":2,"column":22}} ), depth0)) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(data,"last"),{"name":"unless","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":25},"end":{"line":2,"column":56}}})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + return " | "; +},"5":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parent"),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.program(1, data, 0),"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":7,"column":0}}})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, alias1=container.strict, alias2=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = alias2(alias1(depth0, "parent", {"start":{"line":4,"column":3},"end":{"line":4,"column":9}} ), depth0)) != null ? stack1 : "") + + "." + + ((stack1 = alias2(alias1(depth0, "name", {"start":{"line":4,"column":16},"end":{"line":4,"column":20}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(lookupProperty(data,"root"),"useUnionTypes"),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(5, data, 0),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":7,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeGeneric = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"base"),depth0,{"name":"base","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeInterface = {"1":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "{\n" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":0},"end":{"line":14,"column":9}}})) != null ? stack1 : "") + + "}" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depth0,"description"),{"name":"if","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":0},"end":{"line":8,"column":7}}})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"if").call(alias1,lookupProperty(depths[1],"parent"),{"name":"if","hash":{},"fn":container.program(5, data, 0, blockParams, depths),"inverse":container.program(7, data, 0, blockParams, depths),"data":data,"loc":{"start":{"line":9,"column":0},"end":{"line":13,"column":7}}})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + var stack1; + + return "/**\n * " + + ((stack1 = container.lambda(container.strict(depth0, "description", {"start":{"line":6,"column":6},"end":{"line":6,"column":17}} ), depth0)) != null ? stack1 : "") + + "\n */\n"; +},"5":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"isReadOnly"),depth0,{"name":"isReadOnly","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":10,"column":18},"end":{"line":10,"column":22}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isRequired"),depth0,{"name":"isRequired","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","hash":{"parent":lookupProperty(depths[1],"parent")},"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"7":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"isReadOnly"),depth0,{"name":"isReadOnly","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = container.lambda(container.strict(depth0, "name", {"start":{"line":12,"column":18},"end":{"line":12,"column":22}} ), depth0)) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isRequired"),depth0,{"name":"isRequired","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ": " + + ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ",\n"; +},"9":function(container,depth0,helpers,partials,data) { + return "any"; +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),{"name":"if","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.program(9, data, 0, blockParams, depths),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":18,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true,"useDepths":true}; + +var partialTypeIntersection = {"1":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "(" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":2,"column":87}}})) != null ? stack1 : "") + + ")" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"2":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","hash":{"parent":lookupProperty(depths[1],"parent")},"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(data,"last"),{"name":"unless","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":47},"end":{"line":2,"column":78}}})) != null ? stack1 : ""); +},"3":function(container,depth0,helpers,partials,data) { + return " & "; +},"5":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "(" + + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),{"name":"each","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":1},"end":{"line":4,"column":70}}})) != null ? stack1 : "") + + ")" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"6":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"type"),depth0,{"name":"type","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(data,"last"),{"name":"unless","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":30},"end":{"line":4,"column":61}}})) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = lookupProperty(helpers,"if").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"parent"),{"name":"if","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.program(5, data, 0, blockParams, depths),"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : ""); +},"usePartial":true,"useData":true,"useDepths":true}; + +var partialTypeReference = {"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return ((stack1 = container.invokePartial(lookupProperty(partials,"base"),depth0,{"name":"base","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "") + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +var partialTypeUnion = {"1":function(container,depth0,helpers,partials,data) { + var stack1; + + return ((stack1 = container.lambda(depth0, depth0)) != null ? stack1 : ""); +},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) { + var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) { + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return parent[propertyName]; + } + return undefined + }; + + return "(" + + ((stack1 = lookupProperty(helpers,"union").call(depth0 != null ? depth0 : (container.nullContext || {}),lookupProperty(depth0,"properties"),lookupProperty(depth0,"parent"),{"name":"union","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":47}}})) != null ? stack1 : "") + + ")" + + ((stack1 = container.invokePartial(lookupProperty(partials,"isNullable"),depth0,{"name":"isNullable","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : ""); +},"usePartial":true,"useData":true}; + +function registerHandlebarHelpers() { + Handlebars.registerHelper('equals', function (a, b, options) { + return a === b ? options.fn(this) : options.inverse(this); + }); + Handlebars.registerHelper('notEquals', function (a, b, options) { + return a !== b ? options.fn(this) : options.inverse(this); + }); + Handlebars.registerHelper('containsSpaces', function (value, options) { + return /\s+/.test(value) ? options.fn(this) : options.inverse(this); + }); + Handlebars.registerHelper('union', function (properties, parent, options) { + const type = Handlebars.partials['type']; + const types = properties.map(property => type(Object.assign(Object.assign({}, property), { parent }))); + return options.fn(types.filter(unique).join(' | ')); + }); +} + +/** + * Read all the Handlebar templates that we need and return on wrapper object + * so we can easily access the templates in out generator / write functions. + */ +function registerHandlebarTemplates() { + registerHandlebarHelpers(); + // Main templates (entry points for the files we write to disk) + const templates = { + index: Handlebars.template(templateIndex), + exports: { + model: Handlebars.template(templateExportModel), + schema: Handlebars.template(templateExportSchema), + service: Handlebars.template(templateExportService), + }, + core: { + settings: Handlebars.template(templateCoreSettings), + apiError: Handlebars.template(templateCoreApiError), + apiRequestOptions: Handlebars.template(templateCoreApiRequestOptions), + apiResult: Handlebars.template(templateCoreApiResult), + request: Handlebars.template(templateCoreRequest), + }, + }; + // Partials for the generations of the models, services, etc. + Handlebars.registerPartial('exportEnum', Handlebars.template(partialExportEnum)); + Handlebars.registerPartial('exportInterface', Handlebars.template(partialExportInterface)); + Handlebars.registerPartial('exportComposition', Handlebars.template(partialExportComposition)); + Handlebars.registerPartial('exportType', Handlebars.template(partialExportType)); + Handlebars.registerPartial('header', Handlebars.template(partialHeader)); + Handlebars.registerPartial('isNullable', Handlebars.template(partialIsNullable)); + Handlebars.registerPartial('isReadOnly', Handlebars.template(partialIsReadOnly)); + Handlebars.registerPartial('isRequired', Handlebars.template(partialIsRequired)); + Handlebars.registerPartial('parameters', Handlebars.template(partialParameters)); + Handlebars.registerPartial('result', Handlebars.template(partialResult)); + Handlebars.registerPartial('schema', Handlebars.template(partialSchema)); + Handlebars.registerPartial('schemaArray', Handlebars.template(partialSchemaArray)); + Handlebars.registerPartial('schemaDictionary', Handlebars.template(partialSchemaDictionary)); + Handlebars.registerPartial('schemaEnum', Handlebars.template(partialSchemaEnum)); + Handlebars.registerPartial('schemaGeneric', Handlebars.template(partialSchemaGeneric)); + Handlebars.registerPartial('schemaInterface', Handlebars.template(partialSchemaInterface)); + Handlebars.registerPartial('schemaComposition', Handlebars.template(partialSchemaComposition)); + Handlebars.registerPartial('type', Handlebars.template(partialType)); + Handlebars.registerPartial('typeArray', Handlebars.template(partialTypeArray)); + Handlebars.registerPartial('typeDictionary', Handlebars.template(partialTypeDictionary)); + Handlebars.registerPartial('typeEnum', Handlebars.template(partialTypeEnum)); + Handlebars.registerPartial('typeGeneric', Handlebars.template(partialTypeGeneric)); + Handlebars.registerPartial('typeInterface', Handlebars.template(partialTypeInterface)); + Handlebars.registerPartial('typeReference', Handlebars.template(partialTypeReference)); + Handlebars.registerPartial('typeUnion', Handlebars.template(partialTypeUnion)); + Handlebars.registerPartial('typeIntersection', Handlebars.template(partialTypeIntersection)); + Handlebars.registerPartial('base', Handlebars.template(partialBase)); + // Generic functions used in 'request' file @see src/templates/core/request.hbs for more info + Handlebars.registerPartial('functions/catchErrors', Handlebars.template(functionCatchErrors)); + Handlebars.registerPartial('functions/getFormData', Handlebars.template(functionGetFormData)); + Handlebars.registerPartial('functions/getQueryString', Handlebars.template(functionGetQueryString)); + Handlebars.registerPartial('functions/getUrl', Handlebars.template(functionGetUrl)); + Handlebars.registerPartial('functions/isBinary', Handlebars.template(functionIsBinary)); + Handlebars.registerPartial('functions/isBlob', Handlebars.template(functionIsBlob)); + Handlebars.registerPartial('functions/isDefined', Handlebars.template(functionIsDefined)); + Handlebars.registerPartial('functions/isString', Handlebars.template(functionIsString)); + Handlebars.registerPartial('functions/isStringWithValue', Handlebars.template(functionIsStringWithValue)); + Handlebars.registerPartial('functions/isSuccess', Handlebars.template(functionIsSuccess)); + Handlebars.registerPartial('functions/resolve', Handlebars.template(functionResolve)); + // Specific files for the fetch client implementation + Handlebars.registerPartial('fetch/getHeaders', Handlebars.template(fetchGetHeaders)); + Handlebars.registerPartial('fetch/getRequestBody', Handlebars.template(fetchGetRequestBody)); + Handlebars.registerPartial('fetch/getResponseBody', Handlebars.template(fetchGetResponseBody)); + Handlebars.registerPartial('fetch/getResponseHeader', Handlebars.template(fetchGetResponseHeader)); + Handlebars.registerPartial('fetch/sendRequest', Handlebars.template(fetchSendRequest)); + Handlebars.registerPartial('fetch/request', Handlebars.template(fetchRequest)); + Handlebars.registerPartial('fetch/responseType', Handlebars.template(fetchResponseType)); + // Specific files for the xhr client implementation + Handlebars.registerPartial('xhr/getHeaders', Handlebars.template(xhrGetHeaders)); + Handlebars.registerPartial('xhr/getRequestBody', Handlebars.template(xhrGetRequestBody)); + Handlebars.registerPartial('xhr/getResponseBody', Handlebars.template(xhrGetResponseBody)); + Handlebars.registerPartial('xhr/getResponseHeader', Handlebars.template(xhrGetResponseHeader)); + Handlebars.registerPartial('xhr/sendRequest', Handlebars.template(xhrSendRequest)); + Handlebars.registerPartial('xhr/request', Handlebars.template(xhrRequest)); + Handlebars.registerPartial('xhr/responseType', Handlebars.template(xhrResponseType)); + // Specific files for the node client implementation + Handlebars.registerPartial('node/getHeaders', Handlebars.template(nodeGetHeaders)); + Handlebars.registerPartial('node/getRequestBody', Handlebars.template(nodeGetRequestBody)); + Handlebars.registerPartial('node/getResponseBody', Handlebars.template(nodeGetResponseBody)); + Handlebars.registerPartial('node/getResponseHeader', Handlebars.template(nodeGetResponseHeader)); + Handlebars.registerPartial('node/sendRequest', Handlebars.template(nodeSendRequest)); + Handlebars.registerPartial('node/request', Handlebars.template(nodeRequest)); + Handlebars.registerPartial('node/responseType', Handlebars.template(nodeResponseType)); + return templates; +} + +function isSubDirectory(parent, child) { + return path.relative(child, parent).startsWith('..'); +} + +/** + * Generate OpenAPI core files, this includes the basic boilerplate code to handle requests. + * @param client Client object, containing, models, schemas and services + * @param templates The loaded handlebar templates + * @param outputPath Directory to write the generated files to + * @param httpClient The selected httpClient (fetch, xhr or node) + * @param request: Path to custom request file + */ +async function writeClientCore(client, templates, outputPath, httpClient, request) { + const context = { + httpClient, + server: client.server, + version: client.version, + }; + await writeFile(path.resolve(outputPath, 'OpenAPI.ts'), templates.core.settings(context)); + await writeFile(path.resolve(outputPath, 'ApiError.ts'), templates.core.apiError({})); + await writeFile(path.resolve(outputPath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({})); + await writeFile(path.resolve(outputPath, 'ApiResult.ts'), templates.core.apiResult({})); + await writeFile(path.resolve(outputPath, 'request.ts'), templates.core.request(context)); + if (request) { + const requestFile = path.resolve(process.cwd(), request); + const requestFileExists = await exists(requestFile); + if (!requestFileExists) { + throw new Error(`Custom request file "${requestFile}" does not exists`); + } + await copyFile(requestFile, path.resolve(outputPath, 'request.ts')); + } +} + +function sortModelsByName(models) { + return models.sort((a, b) => { + const nameA = a.name.toLowerCase(); + const nameB = b.name.toLowerCase(); + return nameA.localeCompare(nameB, 'en'); + }); +} + +function sortServicesByName(services) { + return services.sort((a, b) => { + const nameA = a.name.toLowerCase(); + const nameB = b.name.toLowerCase(); + return nameA.localeCompare(nameB, 'en'); + }); +} + +/** + * Generate the OpenAPI client index file using the Handlebar template and write it to disk. + * The index file just contains all the exports you need to use the client as a standalone + * library. But yuo can also import individual models and services directly. + * @param client Client object, containing, models, schemas and services + * @param templates The loaded handlebar templates + * @param outputPath Directory to write the generated files to + * @param useUnionTypes Use union types instead of enums + * @param exportCore: Generate core + * @param exportServices: Generate services + * @param exportModels: Generate models + * @param exportSchemas: Generate schemas + */ +async function writeClientIndex(client, templates, outputPath, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas) { + await writeFile(path.resolve(outputPath, 'index.ts'), templates.index({ + exportCore, + exportServices, + exportModels, + exportSchemas, + useUnionTypes, + server: client.server, + version: client.version, + models: sortModelsByName(client.models), + services: sortServicesByName(client.services), + })); +} + +function format(s) { + let indent = 0; + let lines = s.split(os.EOL); + lines = lines.map(line => { + line = line.trim().replace(/^\*/g, ' *'); + let i = indent; + if (line.endsWith('(') || line.endsWith('{') || line.endsWith('[')) { + indent++; + } + if ((line.startsWith(')') || line.startsWith('}') || line.startsWith(']')) && i) { + indent--; + i--; + } + const result = `${' '.repeat(i)}${line}`; + if (result.trim() === '') { + return ''; + } + return result; + }); + return lines.join(os.EOL); +} + +/** + * Generate Models using the Handlebar template and write to disk. + * @param models Array of Models to write + * @param templates The loaded handlebar templates + * @param outputPath Directory to write the generated files to + * @param httpClient The selected httpClient (fetch, xhr or node) + * @param useUnionTypes Use union types instead of enums + */ +async function writeClientModels(models, templates, outputPath, httpClient, useUnionTypes) { + for (const model of models) { + const file = path.resolve(outputPath, `${model.name}.ts`); + const templateResult = templates.exports.model(Object.assign(Object.assign({}, model), { httpClient, + useUnionTypes })); + await writeFile(file, format(templateResult)); + } +} + +/** + * Generate Schemas using the Handlebar template and write to disk. + * @param models Array of Models to write + * @param templates The loaded handlebar templates + * @param outputPath Directory to write the generated files to + * @param httpClient The selected httpClient (fetch, xhr or node) + * @param useUnionTypes Use union types instead of enums + */ +async function writeClientSchemas(models, templates, outputPath, httpClient, useUnionTypes) { + for (const model of models) { + const file = path.resolve(outputPath, `$${model.name}.ts`); + const templateResult = templates.exports.schema(Object.assign(Object.assign({}, model), { httpClient, + useUnionTypes })); + await writeFile(file, format(templateResult)); + } +} + +const VERSION_TEMPLATE_STRING = 'OpenAPI.VERSION'; +/** + * Generate Services using the Handlebar template and write to disk. + * @param services Array of Services to write + * @param templates The loaded handlebar templates + * @param outputPath Directory to write the generated files to + * @param httpClient The selected httpClient (fetch, xhr or node) + * @param useUnionTypes Use union types instead of enums + * @param useOptions Use options or arguments functions + */ +async function writeClientServices(services, templates, outputPath, httpClient, useUnionTypes, useOptions) { + for (const service of services) { + const file = path.resolve(outputPath, `${service.name}.ts`); + const useVersion = service.operations.some(operation => operation.path.includes(VERSION_TEMPLATE_STRING)); + const templateResult = templates.exports.service(Object.assign(Object.assign({}, service), { httpClient, + useUnionTypes, + useVersion, + useOptions })); + await writeFile(file, format(templateResult)); + } +} + +/** + * Write our OpenAPI client, using the given templates at the given output + * @param client Client object with all the models, services, etc. + * @param templates Templates wrapper with all loaded Handlebars templates + * @param output The relative location of the output directory + * @param httpClient The selected httpClient (fetch, xhr or node) + * @param useOptions Use options or arguments functions + * @param useUnionTypes Use union types instead of enums + * @param exportCore: Generate core client classes + * @param exportServices: Generate services + * @param exportModels: Generate models + * @param exportSchemas: Generate schemas + * @param request: Path to custom request file + */ +async function writeClient(client, templates, output, httpClient, useOptions, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas, request) { + const outputPath = path.resolve(process.cwd(), output); + const outputPathCore = path.resolve(outputPath, 'core'); + const outputPathModels = path.resolve(outputPath, 'models'); + const outputPathSchemas = path.resolve(outputPath, 'schemas'); + const outputPathServices = path.resolve(outputPath, 'services'); + if (!isSubDirectory(process.cwd(), output)) { + throw new Error(`Output folder is not a subdirectory of the current working directory`); + } + if (exportCore) { + await rmdir(outputPathCore); + await mkdir(outputPathCore); + await writeClientCore(client, templates, outputPathCore, httpClient, request); + } + if (exportServices) { + await rmdir(outputPathServices); + await mkdir(outputPathServices); + await writeClientServices(client.services, templates, outputPathServices, httpClient, useUnionTypes, useOptions); + } + if (exportSchemas) { + await rmdir(outputPathSchemas); + await mkdir(outputPathSchemas); + await writeClientSchemas(client.models, templates, outputPathSchemas, httpClient, useUnionTypes); + } + if (exportModels) { + await rmdir(outputPathModels); + await mkdir(outputPathModels); + await writeClientModels(client.models, templates, outputPathModels, httpClient, useUnionTypes); + } + if (exportCore || exportServices || exportSchemas || exportModels) { + await mkdir(outputPath); + await writeClientIndex(client, templates, outputPath, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas); + } +} + +/** + * Generate the OpenAPI client. This method will read the OpenAPI specification and based on the + * given language it will generate the client, including the typed models, validation schemas, + * service layer, etc. + * @param input The relative location of the OpenAPI spec + * @param output The relative location of the output directory + * @param httpClient The selected httpClient (fetch or XHR) + * @param useOptions Use options or arguments functions + * @param useUnionTypes Use union types instead of enums + * @param exportCore: Generate core client classes + * @param exportServices: Generate services + * @param exportModels: Generate models + * @param exportSchemas: Generate schemas + * @param request: Path to custom request file + * @param write Write the files to disk (true or false) + */ +async function generate({ input, output, httpClient = exports.HttpClient.FETCH, useOptions = false, useUnionTypes = false, exportCore = true, exportServices = true, exportModels = true, exportSchemas = false, request, write = true, }) { + const openApi = isString(input) ? await getOpenApiSpec(input) : input; + const openApiVersion = getOpenApiVersion(openApi); + const templates = registerHandlebarTemplates(); + switch (openApiVersion) { + case OpenApiVersion.V2: { + const client = parse(openApi); + const clientFinal = postProcessClient(client); + if (!write) + break; + await writeClient(clientFinal, templates, output, httpClient, useOptions, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas, request); + break; + } + case OpenApiVersion.V3: { + const client = parse$1(openApi); + const clientFinal = postProcessClient(client); + if (!write) + break; + await writeClient(clientFinal, templates, output, httpClient, useOptions, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas, request); + break; + } + } +} + +exports.generate = generate; From a4633841e0b544b3f1e0746ec2ea9aeef0eef635 Mon Sep 17 00:00:00 2001 From: Mark Gabriel Date: Tue, 5 Jan 2021 10:34:36 +1100 Subject: [PATCH 17/17] Removing change as WITH_CREDENTIALS has already added upstream --- src/templates/core/ApiRequestOptions.hbs | 1 - src/templates/core/fetch/sendRequest.hbs | 1 - 2 files changed, 2 deletions(-) diff --git a/src/templates/core/ApiRequestOptions.hbs b/src/templates/core/ApiRequestOptions.hbs index 08df4d08f..dc33aac89 100644 --- a/src/templates/core/ApiRequestOptions.hbs +++ b/src/templates/core/ApiRequestOptions.hbs @@ -10,5 +10,4 @@ export type ApiRequestOptions = { readonly body?: any; readonly responseHeader?: string; readonly errors?: Record; - readonly requestInit?: Partial; } diff --git a/src/templates/core/fetch/sendRequest.hbs b/src/templates/core/fetch/sendRequest.hbs index ed7603b05..4afd07317 100644 --- a/src/templates/core/fetch/sendRequest.hbs +++ b/src/templates/core/fetch/sendRequest.hbs @@ -3,7 +3,6 @@ async function sendRequest(options: ApiRequestOptions, url: string): Promise