@hey-api/openapi-ts 0.40.1 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,13 +8,13 @@
8
8
 
9
9
  ## Features
10
10
 
11
- - use with CLI, Node.js, or npx
12
- - export TypeScript interfaces from OpenAPI v2.0, v3.0, and v3.1 specifications
13
- - support JSON or YAML input files
14
- - support external references using [json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser/)
15
- - create fetch, axios, angular, node.js, or xhr REST clients
16
- - export JSON Schemas from OpenAPI specifications
17
- - abortable requests through cancellable promise pattern
11
+ - use with CLI, Node.js, or npx
12
+ - export TypeScript interfaces from OpenAPI v2.0, v3.0, and v3.1 specifications
13
+ - support JSON or YAML input files
14
+ - support external references using [json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser/)
15
+ - create fetch, axios, angular, node.js, or xhr REST clients
16
+ - export JSON Schemas from OpenAPI specifications
17
+ - abortable requests through cancellable promise pattern
18
18
 
19
19
  ## GitHub Integration (coming soon)
20
20
 
package/bin/index.cjs CHANGED
@@ -9,82 +9,89 @@ const { program } = require('commander');
9
9
  const pkg = require('../package.json');
10
10
 
11
11
  const params = program
12
- .name(Object.keys(pkg.bin)[0])
13
- .usage('[options]')
14
- .version(pkg.version)
15
- .option('-i, --input <value>', 'OpenAPI specification (path, url, or string content)')
16
- .option('-o, --output <value>', 'Output directory')
17
- .option('-c, --client <value>', 'HTTP client to generate [angular, axios, fetch, node, xhr]')
18
- .option('-d, --debug', 'Run in debug mode?')
19
- .option('--base [value]', 'Manually set base in OpenAPI config instead of inferring from server value')
20
- .option('--dry-run [value]', 'Skip writing files to disk?')
21
- .option('--enums <value>', 'Export enum definitions (javascript, typescript)')
22
- .option('--exportCore [value]', 'Write core files to disk')
23
- .option('--exportServices [value]', 'Write services to disk')
24
- .option('--format [value]', 'Process output folder with formatter?')
25
- .option('--lint [value]', 'Process output folder with linter?')
26
- .option('--name <value>', 'Custom client class name')
27
- .option('--operationId [value]', 'Use operationd ID?')
28
- .option('--postfixServices <value>', 'Service name postfix')
29
- .option('--request <value>', 'Path to custom request file')
30
- .option('--schemas [value]', 'Write schemas to disk')
31
- .option('--serviceResponse [value]', 'Define shape of returned value from service calls')
32
- .option('--types [value]', 'Write types to disk')
33
- .option('--useDateType [value]', 'Output Date instead of string for the format "date-time" in the models')
34
- .option('--useOptions [value]', 'Use options instead of arguments')
35
- .parse(process.argv)
36
- .opts();
12
+ .name(Object.keys(pkg.bin)[0])
13
+ .usage('[options]')
14
+ .version(pkg.version)
15
+ .option(
16
+ '-i, --input <value>',
17
+ 'OpenAPI specification (path, url, or string content)',
18
+ )
19
+ .option('-o, --output <value>', 'Output directory')
20
+ .option(
21
+ '-c, --client <value>',
22
+ 'HTTP client to generate [angular, axios, fetch, node, xhr]',
23
+ )
24
+ .option('-d, --debug', 'Run in debug mode?')
25
+ .option(
26
+ '--base [value]',
27
+ 'Manually set base in OpenAPI config instead of inferring from server value',
28
+ )
29
+ .option('--dry-run [value]', 'Skip writing files to disk?')
30
+ .option('--enums <value>', 'Export enum definitions (javascript, typescript)')
31
+ .option('--exportCore [value]', 'Write core files to disk')
32
+ .option('--format [value]', 'Process output folder with formatter?')
33
+ .option('--lint [value]', 'Process output folder with linter?')
34
+ .option('--name <value>', 'Custom client class name')
35
+ .option('--operationId [value]', 'Use operationd ID?')
36
+ .option('--request <value>', 'Path to custom request file')
37
+ .option('--schemas [value]', 'Write schemas to disk')
38
+ .option('--services [value]', 'Write services to disk')
39
+ .option('--types [value]', 'Write types to disk')
40
+ .option('--useOptions [value]', 'Use options instead of arguments')
41
+ .parse(process.argv)
42
+ .opts();
37
43
 
38
- const stringToBoolean = value => {
39
- if (value === 'true') {
40
- return true;
41
- }
42
- if (value === 'false') {
43
- return false;
44
- }
45
- return value;
44
+ const stringToBoolean = (value) => {
45
+ if (value === 'true') {
46
+ return true;
47
+ }
48
+ if (value === 'false') {
49
+ return false;
50
+ }
51
+ return value;
46
52
  };
47
53
 
48
54
  const processParams = (obj, booleanKeys) => {
49
- for (const key of booleanKeys) {
50
- const value = obj[key];
51
- if (typeof value === 'string') {
52
- const parsedValue = stringToBoolean(value);
53
- delete obj[key];
54
- obj[key] = parsedValue;
55
- }
55
+ for (const key of booleanKeys) {
56
+ const value = obj[key];
57
+ if (typeof value === 'string') {
58
+ const parsedValue = stringToBoolean(value);
59
+ delete obj[key];
60
+ obj[key] = parsedValue;
56
61
  }
57
- return obj;
62
+ }
63
+ return obj;
58
64
  };
59
65
 
60
66
  async function start() {
61
- let userConfig;
62
- try {
63
- const { createClient } = require(resolve(__dirname, '../dist/node/index.cjs'));
64
- userConfig = processParams(params, [
65
- 'dryRun',
66
- 'exportCore',
67
- 'exportServices',
68
- 'format',
69
- 'lint',
70
- 'operationId',
71
- 'schemas',
72
- 'types',
73
- 'useDateType',
74
- 'useOptions',
75
- ]);
76
- await createClient(userConfig);
77
- process.exit(0);
78
- } catch (error) {
79
- if (!userConfig.dryRun) {
80
- const logName = `openapi-ts-error-${Date.now()}.log`;
81
- const logPath = resolve(process.cwd(), logName);
82
- writeFileSync(logPath, `${error.message}\n${error.stack}`);
83
- console.error(`🔥 Unexpected error occurred. Log saved to ${logPath}`);
84
- }
85
- console.error(`🔥 Unexpected error occurred. ${error.message}`);
86
- process.exit(1);
67
+ let userConfig;
68
+ try {
69
+ const { createClient } = require(
70
+ resolve(__dirname, '../dist/node/index.cjs'),
71
+ );
72
+ userConfig = processParams(params, [
73
+ 'dryRun',
74
+ 'exportCore',
75
+ 'format',
76
+ 'lint',
77
+ 'operationId',
78
+ 'schemas',
79
+ 'services',
80
+ 'types',
81
+ 'useOptions',
82
+ ]);
83
+ await createClient(userConfig);
84
+ process.exit(0);
85
+ } catch (error) {
86
+ if (!userConfig.dryRun) {
87
+ const logName = `openapi-ts-error-${Date.now()}.log`;
88
+ const logPath = resolve(process.cwd(), logName);
89
+ writeFileSync(logPath, `${error.message}\n${error.stack}`);
90
+ console.error(`🔥 Unexpected error occurred. Log saved to ${logPath}`);
87
91
  }
92
+ console.error(`🔥 Unexpected error occurred. ${error.message}`);
93
+ process.exit(1);
94
+ }
88
95
  }
89
96
 
90
97
  start();
@@ -1 +1 @@
1
- "use strict";var e=require("node:fs"),t=require("node:path"),n=require("c12"),r=require("child_process"),o=require("path"),s=require("fs"),a=require("os"),i=require("@apidevtools/json-schema-ref-parser"),l=require("typescript"),p="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var c,m,d,f,h,y={exports:{}};h="win32"===process.platform||p.TESTING_WINDOWS?function(){if(m)return c;m=1,c=n,n.sync=function(n,r){return t(e.statSync(n),n,r)};var e=s;function t(e,t,n){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var n=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!n)return!0;if(-1!==(n=n.split(";")).indexOf(""))return!0;for(var r=0;r<n.length;r++){var o=n[r].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}(t,n)}function n(n,r,o){e.stat(n,(function(e,s){o(e,!e&&t(s,n,r))}))}return c}():function(){if(f)return d;f=1,d=t,t.sync=function(t,r){return n(e.statSync(t),r)};var e=s;function t(t,r,o){e.stat(t,(function(e,t){o(e,!e&&n(t,r))}))}function n(e,t){return e.isFile()&&function(e,t){var n=e.mode,r=e.uid,o=e.gid,s=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),a=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),i=parseInt("100",8),l=parseInt("010",8);return n&parseInt("001",8)||n&l&&o===a||n&i&&r===s||n&(i|l)&&0===s}(e,t)}return d}();var g=v;function v(e,t,n){if("function"==typeof t&&(n=t,t={}),!n){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(n,r){v(e,t||{},(function(e,t){e?r(e):n(t)}))}))}h(e,t||{},(function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),n(e,r)}))}v.sync=function(e,t){try{return h.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const x="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,b=o,R=x?";":":",P=g,O=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),w=(e,t)=>{const n=t.colon||R,r=e.match(/\//)||x&&e.match(/\\/)?[""]:[...x?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=x?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=x?o.split(n):[""];return x&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},q=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});const{pathEnv:r,pathExt:o,pathExtExe:s}=w(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(O(e));const i=r[n],p=/^".*"$/.test(i)?i.slice(1,-1):i,u=b.join(p,e),c=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;o(l(c,n,0))})),l=(e,n,r)=>new Promise(((p,u)=>{if(r===o.length)return p(i(n+1));const c=o[r];P(e+c,{pathExt:s},((o,s)=>{if(!o&&s){if(!t.all)return p(e+c);a.push(e+c)}return p(l(e,n,r+1))}))}));return n?i(0).then((e=>n(null,e)),n):i(0)};var A=q;q.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=w(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],l=/^".*"$/.test(i)?i.slice(1,-1):i,p=b.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;for(let e=0;e<r.length;e++){const n=u+r[e];try{if(P.sync(n,{pathExt:o})){if(!t.all)return n;s.push(n)}}catch(e){}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw O(e)};var k={exports:{}};const C=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find((e=>"PATH"===e.toUpperCase()))||"Path"};k.exports=C,k.exports.default=C;var E=k.exports;const T=o,$=A,I=E;function S(e,t){const n=e.options.env||process.env,r=process.cwd(),o=null!=e.options.cwd,s=o&&void 0!==process.chdir&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch(e){}let a;try{a=$.sync(e.command,{path:n[I({env:n})],pathExt:t?T.delimiter:void 0})}catch(e){}finally{s&&process.chdir(r)}return a&&(a=T.resolve(o?e.options.cwd:"",a)),a}var H=function(e){return S(e)||S(e,!0)},_={};const D=/([()\][%!^"`<>&|;, *?])/g;_.command=function(e){return e=e.replace(D,"^$1")},_.argument=function(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(D,"^$1"),t&&(e=e.replace(D,"^$1")),e};const N=/^#!(.*)/;const j=s,M=(e="")=>{const t=e.match(N);if(!t)return null;const[n,r]=t[0].replace(/#! ?/,"").split(" "),o=n.split("/").pop();return"env"===o?r:r?`${o} ${r}`:o};const L=o,B=H,F=_,U=function(e){const t=Buffer.alloc(150);let n;try{n=j.openSync(e,"r"),j.readSync(n,t,0,150,0),j.closeSync(n)}catch(e){}return M(t.toString())},W="win32"===process.platform,V=/\.(?:com|exe)$/i,K=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q(e){if(!W)return e;const t=function(e){e.file=B(e);const t=e.file&&U(e.file);return t?(e.args.unshift(e.file),e.command=t,B(e)):e.file}(e),n=!V.test(t);if(e.options.forceShell||n){const n=K.test(t);e.command=L.normalize(e.command),e.command=F.command(e.command),e.args=e.args.map((e=>F.argument(e,n)));const r=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${r}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}var J=function(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null);const r={command:e,args:t=t?t.slice(0):[],options:n=Object.assign({},n),file:void 0,original:{command:e,args:t}};return n.shell?r:Q(r)};const z="win32"===process.platform;function G(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function X(e,t){return z&&1===e&&!t.file?G(t.original,"spawn"):null}var Y={hookChildProcess:function(e,t){if(!z)return;const n=e.emit;e.emit=function(r,o){if("exit"===r){const r=X(o,t);if(r)return n.call(e,"error",r)}return n.apply(e,arguments)}},verifyENOENT:X,verifyENOENTSync:function(e,t){return z&&1===e&&!t.file?G(t.original,"spawnSync"):null},notFoundError:G};const Z=r,ee=J,te=Y;function ne(e,t,n){const r=ee(e,t,n),o=Z.spawn(r.command,r.args,r.options);return te.hookChildProcess(o,r),o}y.exports=ne,y.exports.spawn=ne;var re=y.exports.sync=function(e,t,n){const r=ee(e,t,n),o=Z.spawnSync(r.command,r.args,r.options);return o.error=o.error||te.verifyENOENTSync(o.status,r),o};y.exports._parse=ee,y.exports._enoent=te;const oe=/[\p{Lu}]/u,se=/[\p{Ll}]/u,ae=/^[\p{Lu}](?![\p{Lu}])/gu,ie=/([\p{Alpha}\p{N}_]|$)/u,le=/[_.\- ]+/,pe=new RegExp("^"+le.source),ue=new RegExp(le.source+ie.source,"gu"),ce=new RegExp("\\d+"+ie.source,"gu");function me(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";const n=!1===t.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),r=!1===t.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);if(1===e.length)return le.test(e)?"":t.pascalCase?r(e):n(e);return e!==n(e)&&(e=((e,t,n,r)=>{let o=!1,s=!1,a=!1,i=!1;for(let l=0;l<e.length;l++){const p=e[l];i=!(l>2)||"-"===e[l-3],o&&oe.test(p)?(e=e.slice(0,l)+"-"+e.slice(l),o=!1,a=s,s=!0,l++):s&&a&&se.test(p)&&(!i||r)?(e=e.slice(0,l-1)+"-"+e.slice(l-1),a=s,s=!1,o=!0):(o=t(p)===p&&n(p)!==p,a=s,s=n(p)===p&&t(p)!==p)}return e})(e,n,r,t.preserveConsecutiveUppercase)),e=e.replace(pe,""),e=t.preserveConsecutiveUppercase?((e,t)=>(ae.lastIndex=0,e.replaceAll(ae,(e=>t(e)))))(e,n):n(e),t.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),((e,t)=>(ue.lastIndex=0,ce.lastIndex=0,e.replaceAll(ce,((n,r,o)=>["_","-"].includes(e.charAt(o+n.length))?n:t(n))).replaceAll(ue,((e,n)=>t(n)))))(e,r)}const de=e=>e.replace(/^[^$_\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"),fe=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-");function he(e="1.0"){return String(e).replace(/^v/gi,"")}const ye=e=>me(fe(e).trim(),{pascalCase:!0}),ge=/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,ve=e=>e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"").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\//,""),xe=(e,t)=>{if("binary"===t)return"binary";switch(e){case"any":case"object":return"unknown";case"array":return"unknown[]";case"boolean":return"boolean";case"byte":case"double":case"float":case"int":case"integer":case"long":case"number":case"short":return"number";case"char":case"date":case"date-time":case"password":case"string":return"string";case"file":return"binary";case"null":return"null";case"void":return"void"}},be=(e="unknown",t)=>{const n={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(e)){const r=e.filter((e=>"null"!==e)).map((e=>xe(e,t))).filter(Boolean).join(" | ");return n.type=r,n.base=r,n.isNullable=e.includes("null"),n}const r=xe(e,t);if(r)return n.type=r,n.base=r,n;const o=decodeURIComponent(ve(e));if(/\[.*\]$/g.test(o)){const e=o.match(/(.*?)\[(.*)\]$/);if(e?.length){const t=be(de(e[1])),r=be(de(e[2]));return"unknown[]"===t.type?(n.type=`${r.type}[]`,n.base=`${r.type}`,t.$refs=[],t.imports=[]):r.type?(n.type=`${t.type}<${r.type}>`,n.base=t.type,n.template=r.type):(n.type=t.type,n.base=t.type,n.template=t.type),n.$refs=[...n.$refs,...t.$refs,...r.$refs],n.imports=[...n.imports,...t.imports,...r.imports],n}}if(o){const t=de(o);return n.type=t,n.base=t,e.startsWith("#")&&(n.$refs=[...n.$refs,e]),n.imports=[...n.imports,t],n}return n};function Re(e,t,n){return n.indexOf(e)===t}const Pe=(e,t)=>{if(!Array.isArray(t))return[];const n=(e["x-enum-descriptions"]??[]).filter((e=>"string"==typeof e)),r=(e["x-enum-varnames"]??e["x-enumNames"]??[]).filter((e=>"string"==typeof e));return t.filter(Re).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},Oe=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),we=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,qe=e=>{if(e||""===e){if(!we.test(e))return`'${e}'`}return e},Ae=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,ke=(e,t=!0)=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,n)=>t?`${a.EOL} * ${n.trim()}`:a.EOL+n.trim())),Ce=(e,t,n)=>{const r=[];for(const o in t.properties)if(t.properties.hasOwnProperty(o)){const s=t.properties[o],a=!!t.required?.includes(o);if(s.$ref){const e=be(s.$ref);r.push({$refs:[],base:e.base,description:s.description||null,enum:[],enums:[],exclusiveMaximum:s.exclusiveMaximum,exclusiveMinimum:s.exclusiveMinimum,export:"reference",format:s.format,imports:e.imports,isDefinition:!1,isNullable:!0===s["x-nullable"],isReadOnly:!0===s.readOnly,isRequired:a,link:null,maxItems:s.maxItems,maxLength:s.maxLength,maxProperties:s.maxProperties,maximum:s.maximum,minItems:s.minItems,minLength:s.minLength,minProperties:s.minProperties,minimum:s.minimum,multipleOf:s.multipleOf,name:qe(o),pattern:Oe(s.pattern),properties:[],template:e.template,type:e.type,uniqueItems:s.uniqueItems})}else{const t=n(e,s);r.push({$refs:[],base:t.base,description:s.description||null,enum:t.enum,enums:t.enums,exclusiveMaximum:s.exclusiveMaximum,exclusiveMinimum:s.exclusiveMinimum,export:t.export,format:s.format,imports:t.imports,isDefinition:!1,isNullable:!0===s["x-nullable"],isReadOnly:!0===s.readOnly,isRequired:a,link:t.link,maxItems:s.maxItems,maxLength:s.maxLength,maxProperties:s.maxProperties,maximum:s.maximum,minItems:s.minItems,minLength:s.minLength,minProperties:s.minProperties,minimum:s.minimum,multipleOf:s.multipleOf,name:qe(o),pattern:Oe(s.pattern),properties:t.properties,template:t.template,type:t.type,uniqueItems:s.uniqueItems})}}return r},Ee=/~1/g,Te=/~0/g;function $e(e,t){if(t.$ref){const n=t.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return n.forEach((e=>{const n=decodeURIComponent(e.replace(Ee,"/").replace(Te,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const Ie=(e,t,n,r,o)=>{const s={$refs:[],enums:[],export:r,imports:[],properties:[]},a=[];if(n.map((t=>o(e,t))).filter((e=>{const t=e.properties.length,n=e.enums.length;return!("unknown"===e.type&&!t&&!n)})).forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums),s.properties.push(e)})),t.required){const r=((e,t,n,r)=>n.reduce(((t,n)=>{if(n.$ref){const o=$e(e,n);return[...t,...r(e,o).properties]}return[...t,...r(e,n).properties]}),[]).filter((e=>!e.isRequired&&t.includes(e.name))).map((e=>({...e,isRequired:!0}))))(e,t.required,n,o);r.forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums)})),a.push(...r)}if(t.properties){const n=Ce(e,t,o);n.forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums),"enum"===e.export&&s.enums.push(e)})),a.push(...n)}return a.length&&s.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:a,template:null,type:"unknown"}),s},Se=(e,t,n=!1,r="")=>{const o={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],isDefinition:n,isNullable:!0===t["x-nullable"],isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:r,pattern:Oe(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(t.enum&&"boolean"!==t.type){const e=Pe(t,t.enum);if(e.length)return o.base="string",o.enum=[...o.enum,...e],o.export="enum",o.type="string",o}if("array"===t.type&&t.items){if(t.items.$ref){const e=be(t.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 n=Se(e,t.items);return o.export="array",o.type=n.type,o.base=n.base,o.template=n.template,o.link=n,o.imports.push(...n.imports),o}}if("object"===t.type&&"object"==typeof t.additionalProperties){if(t.additionalProperties.$ref){const e=be(t.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 n=Se(e,t.additionalProperties);return o.export="dictionary",o.type=n.type,o.base=n.base,o.template=n.template,o.link=n,o.imports.push(...n.imports),o}}if(t.allOf?.length){const n=Ie(e,t,t.allOf,"all-of",Se);return o.export=n.export,o.imports.push(...n.imports),o.properties.push(...n.properties),o.enums=[...o.enums,...n.enums],o}if("object"===t.type){if(o.export="interface",o.type="unknown",o.base="unknown",t.properties){Ce(e,t,Se).forEach((e=>{o.imports.push(...e.imports),o.enums=[...o.enums,...e.enums],o.properties.push(e),"enum"===e.export&&(o.enums=[...o.enums,e])}))}return o}if(t.type){const e=be(t.type,t.format);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o};let He;const _e=()=>He,De=(e,t,n)=>{if(_e().operationId&&n)return me(fe(n).trim());return me(`${t}-${e.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"by-$1").replace(/\//g,"-")}`)},Ne=e=>me((e=>{const t=e.replace("[]","Array");return fe(t)})(e).trim()).replace(ge,"_$1"),je=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Me=e=>{if("default"===e)return 200;if(/[0-9]+/g.test(e)){const t=parseInt(e);if(Number.isInteger(t))return Math.abs(t)}return null},Le=e=>e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})));function Be(e){return e.sort(((e,t)=>{const n=e.isRequired&&void 0===e.default,r=t.isRequired&&void 0===t.default;return n&&!r?-1:r&&!n?1:0}))}const Fe=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(e.type||typeof e.default){case"int":case"integer":case"number":if("enum"===t?.export&&t.enum?.[e.default]){const{value:n}=t.enum[e.default];return n}return e.default;case"string":case"array":case"boolean":case"object":return e.default}},Ue=(e,t)=>{const n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const r=$e(e,t),o=((e,t)=>{const n={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:t.in,isDefinition:!1,isNullable:!0===t["x-nullable"],isReadOnly:!1,isRequired:!0===t.required,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maximum:t.maximum,mediaType:null,minItems:t.minItems,minLength:t.minLength,minimum:t.minimum,multipleOf:t.multipleOf,name:Ne(t.name),pattern:Oe(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}if(t.enum){const e=Pe(t,t.enum);if(e.length)return n.base="string",n.enum.push(...e),n.export="enum",n.type="string",n.default=Fe(t,n),n}if("array"===t.type&&t.items){const e=be(t.items.type,t.items.format);return n.export="array",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}if("object"===t.type&&t.items){const e=be(t.items.type,t.items.format);return n.export="dictionary",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}let r=t.schema;if(r){if(r.$ref?.startsWith("#/parameters/")&&(r=$e(e,r)),r.$ref){const e=be(r.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}{const o=Se(e,r);return n.export=o.export,n.type=o.type,n.base=o.base,n.template=o.template,n.link=o.link,n.imports.push(...o.imports),n.enum.push(...o.enum),n.enums.push(...o.enums),n.properties.push(...o.properties),n.default=Fe(t,n),n}}if(t.type){const e=be(t.type,t.format);return n.export="generic",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}return n})(e,r);if("api-version"!==o.prop)switch(o.in){case"path":n.parametersPath.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"query":n.parametersQuery.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"header":n.parametersHeader.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"formData":n.parametersForm.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"body":n.parametersBody=o,n.parameters.push(o),n.imports.push(...o.imports)}})),n},We=(e,t,n)=>{const r={$refs:[],base:204!==n?"unknown":"void",code:n,description:t.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:204!==n?"unknown":"void"};let o=t.schema;if(o){if(o.$ref?.startsWith("#/responses/")&&(o=$e(e,o)),o.$ref){const e=be(o.$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=Se(e,o);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=Oe(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}if(t.headers)for(const e in t.headers)if(t.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;return r},Ve=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?Ve(e.link,t.link):n},Ke=(e,t,n,r,o,s)=>{const a=ye(r),i=De(t,n,o.operationId),l={$refs:[],deprecated:!0===o.deprecated,description:o.description||null,errors:[],imports:[],method:n.toUpperCase(),name:i,parameters:[...s.parameters],parametersBody:s.parametersBody,parametersCookie:[...s.parametersCookie],parametersForm:[...s.parametersForm],parametersHeader:[...s.parametersHeader],parametersPath:[...s.parametersPath],parametersQuery:[...s.parametersQuery],path:t,responseHeader:null,results:[],service:a,summary:o.summary||null};if(o.parameters){const t=Ue(e,o.parameters);l.imports.push(...t.imports),l.parameters.push(...t.parameters),l.parametersPath.push(...t.parametersPath),l.parametersQuery.push(...t.parametersQuery),l.parametersForm.push(...t.parametersForm),l.parametersHeader.push(...t.parametersHeader),l.parametersCookie.push(...t.parametersCookie),l.parametersBody=t.parametersBody}if(o.responses){const t=((e,t)=>{const n=[];for(const r in t)if(t.hasOwnProperty(r)){const o=$e(e,t[r]),s=Me(r);if(s){const t=We(e,o,s);n.push(t)}}return n.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))})(e,o.responses),n=(e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&n>=200&&n<300&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>Ve(t,e)))===t))})(t);l.errors=Le(t),l.responseHeader=je(n),n.forEach((e=>{l.results.push(e),l.imports.push(...e.imports)}))}return l.parameters=Be(l.parameters),l},Qe=e=>{const t=he(e.info.version),n=(e=>{const t=e.schemes?.[0]||"http",n=e.host,r=e.basePath||"";return(n?`${t}://${n}${r}`:r).replace(/\/$/g,"")})(e),r=(e=>{const t=[];for(const n in e.definitions)if(e.definitions.hasOwnProperty(n)){const r=e.definitions[n],o=be(n),s=Se(e,r,!0,o.base.replace(ge,"_$1"));t.push(s)}return t})(e),o=(e=>{const t=new Map;for(const n in e.paths)if(e.paths.hasOwnProperty(n)){const r=e.paths[n],o=Ue(e,r.parameters||[]);for(const s in r)if(r.hasOwnProperty(s))switch(s){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":{const a=r[s];(a.tags?.length?a.tags.filter(Re):["Default"]).forEach((r=>{const i=Ke(e,n,s,r,a,o),l=t.get(i.service)||{$refs:[],imports:[],name:i.service,operations:[]};l.operations.push(i),l.imports.push(...i.imports),t.set(i.service,l)}));break}}}return Array.from(t.values())})(e);return{enumNames:[],models:r,server:n,services:o,version:t}},Je=(e,t)=>{if(e.mapping){const n=(e=>{const t={};for(const n in e)t[e[n]]=n;return t})(e.mapping),r=Object.keys(n).find((e=>ve(e)==t.name));if(r&&n[r])return n[r]}return t.name},ze=(e,t,n,r)=>{const o="object"==typeof t.additionalProperties?t.additionalProperties:{},s=n(e,o);if(o.$ref){const e=be(o.$ref);return r.base=e.base,r.default=Fe(t,r),r.export="dictionary",r.imports.push(...e.imports),r.template=e.template,r.type=e.type,r}return t.additionalProperties&&t.properties?(s.default=Fe(t,r),s.export="generic",s.isRequired=!0===t.additionalProperties,s.name="[key: string]",s):(r.base=s.base,r.default=Fe(t,r),r.export="dictionary",r.imports.push(...s.imports),r.link=s,r.template=s.template,r.type=s.type,r)},Ge=(e,t,n,r)=>{const o=[],s=((e,t)=>{if(e.components&&t)for(const n in e.components.schemas)if(e.components.schemas.hasOwnProperty(n)){const r=e.components.schemas[n];if(r.discriminator&&r.oneOf?.length&&r.oneOf.some((e=>e.$ref&&ve(e.$ref)==t.name)))return r.discriminator}})(e,r);for(const a in t.properties)if(t.properties.hasOwnProperty(a)){const i=t.properties[a],l=!!t.required?.includes(a),p={default:i.default,deprecated:!0===i.deprecated,description:i.description||null,exclusiveMaximum:i.exclusiveMaximum,exclusiveMinimum:i.exclusiveMinimum,format:i.format,isDefinition:!1,isReadOnly:!0===i.readOnly,isRequired:l,maxItems:i.maxItems,maxLength:i.maxLength,maxProperties:i.maxProperties,maximum:i.maximum,minItems:i.minItems,minLength:i.minLength,minProperties:i.minProperties,minimum:i.minimum,multipleOf:i.multipleOf,name:qe(a),pattern:Oe(i.pattern),uniqueItems:i.uniqueItems};if(r&&s?.propertyName==a)o.push({...p,$refs:[],base:`'${Je(s,r)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:!0===i.nullable,link:null,properties:[],template:null,type:"string"});else if(i.$ref){const e=be(i.$ref);o.push({...p,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||!0===i.nullable,link:null,properties:[],template:e.template,type:e.type})}else{const t=n(e,i);o.push({...p,$refs:t.$refs,base:t.base,default:t.default,enum:t.enum,enums:t.enums,export:t.export,imports:t.imports,isNullable:t.isNullable||!0===i.nullable,link:t.link,properties:t.properties,template:t.template,type:t.type})}}return o},Xe=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),Ye=({definition:e,definitions:t,getModel:n,model:r,openApi:o,type:s})=>{const a={$refs:r.$refs,enums:r.enums,export:s,imports:r.imports,properties:r.properties},i=[];if(t.map((t=>n(o,t,void 0,void 0,e))).forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums),a.properties.push(e)})),e.required){const r=((e,t,n,r)=>n.reduce(((t,n)=>{if(n.$ref){const o=$e(e,n);return[...t,...r(e,o).properties]}return[...t,...r(e,n).properties]}),[]).filter((e=>!e.isRequired&&t.includes(e.name))).map((e=>({...e,isRequired:!0}))))(o,e.required,t,n);r.forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums)})),i.push(...r)}if(e.properties){const t=Ge(o,e,n);t.forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums),"enum"===e.export&&a.enums.push(e)})),i.push(...t)}if(i.length){const t=Xe(e);"one-of"===t?.type?a.properties.forEach((e=>{e.properties.push(...i)})):a.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:i,template:null,type:"unknown"})}return a},Ze=(e,t,n=!1,r="",o=null)=>{const s=(e=>{if(e.enum&&"boolean"!==e.type)return"enum"})(t),a={$refs:[],base:"unknown",deprecated:Boolean(t.deprecated),description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],isDefinition:n,isNullable:!0===t.nullable,isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:r,pattern:Oe(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return a.$refs=[...a.$refs,t.$ref],a.base=e.base,a.export="reference",a.imports=[...a.imports,...e.imports],a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}if("enum"===s){const e=Pe(t,t.enum);if(e.length)return a.base="string",a.enum=[...a.enum,...e],a.export="enum",a.type="string",a.default=Fe(t,a),a}if("array"===t.type&&t.items){if(t.items.$ref){const e=be(t.items.$ref);return a.$refs=[...a.$refs,t.items.$ref],a.base=e.base,a.export="array",a.imports=[...a.imports,...e.imports],a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}if(t.items.anyOf&&o&&o.type){const n=Xe(o);if(n&&n.definitions.some((e=>"array"!==e.type)))return Ze(e,t.items)}const n=Array.isArray(t.items)?{anyOf:t.items}:t.items,r=Ze(e,n);return a.base=r.base,a.export="array",a.$refs=[...a.$refs,...r.$refs],a.imports=[...a.imports,...r.imports],a.link=r,a.template=r.template,a.type=r.type,a.default=Fe(t,a),a}const i=Xe(t);if(i){const n=Ye({...i,definition:t,getModel:Ze,model:a,openApi:e});return{...a,...n}}if("object"===t.type||t.properties){if(t.properties){a.base="unknown",a.export="interface",a.type="unknown",a.default=Fe(t,a);if(Ge(e,t,Ze,a).forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.enums=[...a.enums,...e.enums],a.imports=[...a.imports,...e.imports],a.properties.push(e),"enum"===e.export&&(a.enums=[...a.enums,e])})),t.additionalProperties){const n=ze(e,t,Ze,a);a.properties.push(n)}return a}return ze(e,t,Ze,a)}if(void 0!==t.const){const e=t.const,n="string"==typeof e?`"${e}"`:`${e}`;return a.base=n,a.export="const",a.type=n,a}if(t.type){const e=be(t.type,t.format);return a.base=e.base,a.export="generic",a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.isNullable=e.isNullable||a.isNullable,a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}return a},et=["cookie","formData","header","path","query"],tt=(e,t)=>{const n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const r=$e(e,t),o=((e,t)=>{const n={$refs:[],base:"unknown",deprecated:!0===t.deprecated,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:!0===t.nullable,isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,name:Ne(t.name),prop:t.name,properties:[],template:null,type:"unknown"};if(t.$ref){const e=be(t.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n}let r=t.schema;if(r){if(r.$ref?.startsWith("#/components/parameters/")&&(r=$e(e,r)),r.$ref){const e=be(r.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n.default=Fe(r),n}{const t=Ze(e,r);return n.export=t.export,n.type=t.type,n.base=t.base,n.template=t.template,n.link=t.link,n.isReadOnly=t.isReadOnly,n.isRequired=n.isRequired||t.isRequired,n.isNullable=n.isNullable||t.isNullable,n.format=t.format,n.maximum=t.maximum,n.exclusiveMaximum=t.exclusiveMaximum,n.minimum=t.minimum,n.exclusiveMinimum=t.exclusiveMinimum,n.multipleOf=t.multipleOf,n.maxLength=t.maxLength,n.minLength=t.minLength,n.maxItems=t.maxItems,n.minItems=t.minItems,n.uniqueItems=t.uniqueItems,n.maxProperties=t.maxProperties,n.minProperties=t.minProperties,n.pattern=Oe(t.pattern),n.default=t.default,n.$refs=[...n.$refs,...t.$refs],n.imports=[...n.imports,...t.imports],n.enum.push(...t.enum),n.enums.push(...t.enums),n.properties.push(...t.properties),n}}return n})(e,r),s=r.in;if("api-version"!==o.prop&&et.includes(s)){switch(s){case"cookie":n.parametersCookie=[...n.parametersCookie,o];break;case"formData":n.parametersForm=[...n.parametersForm,o];break;case"header":n.parametersHeader=[...n.parametersHeader,o];break;case"path":n.parametersPath=[...n.parametersPath,o];break;case"query":n.parametersQuery=[...n.parametersQuery,o]}n.$refs=[...n.$refs,...o.$refs],n.imports=[...n.imports,...o.imports],n.parameters=[...n.parameters,o]}})),n},nt=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","text/json","text/plain","multipart/form-data","multipart/mixed","multipart/related","multipart/batch"],rt=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return nt.includes(t)})).find((e=>Boolean(t[e]?.schema)));if(n)return{mediaType:n,schema:t[n].schema};const r=Object.keys(t).find((e=>Boolean(t[e]?.schema)));return r?{mediaType:r,schema:t[r].schema}:null},ot=(e,t,n)=>{const r={$refs:[],base:204!==n?"unknown":"void",code:n,description:t.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:204!==n?"unknown":"void"};if(t.content){const n=rt(0,t.content);if(n){if(n.schema.$ref?.startsWith("#/components/responses/")&&(n.schema=$e(e,n.schema)),n.schema.$ref){const e=be(n.schema.$ref);return r.base=e.base,r.export="reference",r.$refs=[...r.$refs,...e.$refs],r.imports=[...r.imports,...e.imports],r.template=e.template,r.type=e.type,r}{const t=Ze(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=Oe(t.pattern),r.$refs=[...r.$refs,...t.$refs],r.imports=[...r.imports,...t.imports],r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}}if(t.headers)for(const e in t.headers)if(t.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;return r},st=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?st(e.link,t.link):n},at=(e,t)=>{let n=[...e],r=[...t];for(;r.length>0;){const e=r[0];r=r.slice(1);n.every((t=>t.in!==e.in||t.name!==e.name))&&(n=[...n,e])}return n},it=(e,t)=>{const{method:n,op:r,pathParams:o,tag:s,url:a}=t,i=ye(s),l=De(a,n,r.operationId),p={$refs:[],deprecated:Boolean(r.deprecated),description:r.description||null,errors:[],imports:[],method:n.toUpperCase(),name:l,parameters:[],parametersBody:o.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,results:[],service:i,summary:r.summary||null};if(r.parameters){const t=tt(e,r.parameters);p.$refs=[...p.$refs,...t.$refs],p.imports=[...p.imports,...t.imports],p.parameters=[...p.parameters,...t.parameters],p.parametersBody=t.parametersBody,p.parametersCookie=[...p.parametersCookie,...t.parametersCookie],p.parametersForm=[...p.parametersForm,...t.parametersForm],p.parametersHeader=[...p.parametersHeader,...t.parametersHeader],p.parametersPath=[...p.parametersPath,...t.parametersPath],p.parametersQuery=[...p.parametersQuery,...t.parametersQuery]}if(r.requestBody){const t=((e,t)=>{const n={$refs:[],base:"unknown",default:void 0,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:!0===t.nullable,isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,name:t["x-body-name"]??"requestBody",prop:t["x-body-name"]??"requestBody",properties:[],template:null,type:"unknown"};if(t.content){const r=rt(0,t.content);if(r){switch(n.mediaType=r.mediaType,n.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":n.in="formData",n.name="formData",n.prop="formData"}if(r.schema.$ref){const e=be(r.schema.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n}{const t=Ze(e,r.schema);return n.export=t.export,n.type=t.type,n.base=t.base,n.template=t.template,n.link=t.link,n.isReadOnly=t.isReadOnly,n.isRequired=n.isRequired||t.isRequired,n.isNullable=n.isNullable||t.isNullable,n.format=t.format,n.maximum=t.maximum,n.exclusiveMaximum=t.exclusiveMaximum,n.minimum=t.minimum,n.exclusiveMinimum=t.exclusiveMinimum,n.multipleOf=t.multipleOf,n.maxLength=t.maxLength,n.minLength=t.minLength,n.maxItems=t.maxItems,n.minItems=t.minItems,n.uniqueItems=t.uniqueItems,n.maxProperties=t.maxProperties,n.minProperties=t.minProperties,n.pattern=Oe(t.pattern),n.$refs=[...n.$refs,...t.$refs],n.imports=[...n.imports,...t.imports],n.enum.push(...t.enum),n.enums.push(...t.enums),n.properties.push(...t.properties),n}}}return n})(e,$e(e,r.requestBody));p.$refs=[...p.$refs,...t.$refs],p.imports=[...p.imports,...t.imports],p.parameters=[...p.parameters,t],p.parametersBody=t}if(r.responses){const t=((e,t)=>{const n=[];for(const r in t)if(t.hasOwnProperty(r)){const o=$e(e,t[r]),s=Me(r);if(s){const t=ot(e,o,s);n.push(t)}}return n.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))})(e,r.responses),n=(e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&n>=200&&n<300&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>st(t,e)))===t))})(t);p.errors=Le(t),p.responseHeader=je(n),n.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.results=[...p.results,e]}))}return p.parameters=at(p.parameters,o.parameters),p.parametersCookie=at(p.parametersCookie,o.parametersCookie),p.parametersForm=at(p.parametersForm,o.parametersForm),p.parametersHeader=at(p.parametersHeader,o.parametersHeader),p.parametersPath=at(p.parametersPath,o.parametersPath),p.parametersQuery=at(p.parametersQuery,o.parametersQuery),p.parameters=Be(p.parameters),p},lt=["delete","get","head","options","patch","post","put"],pt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),ut=e=>{const t=he(e.info.version),n=(e=>{const t=e.servers?.[0],n=t?.variables||{};let r=t?.url||"";for(const e in n)n.hasOwnProperty(e)&&(r=r.replace(`{${e}}`,n[e].default));return r.replace(/\/$/g,"")})(e),r=(e=>{const t=[];if(e.components){for(const n in e.components.schemas)if(e.components.schemas.hasOwnProperty(n)){const r=e.components.schemas[n],o=be(n),s=Ze(e,r,!0,o.base.replace(ge,"_$1"));t.push(s)}for(const n in e.components.parameters)if(e.components.parameters.hasOwnProperty(n)){const r=e.components.parameters[n],o=be(n),s=r.schema;if(s){const n=Ze(e,s,!0,o.base.replace(ge,"_$1"));n.description=r.description||null,n.deprecated=r.deprecated,t.push(n)}}}return t})(e),o=(e=>{const t=new Map;for(const n in e.paths){const r=e.paths[n],o=tt(e,r.parameters??[]);for(const s in r){const a=s;if(lt.includes(a)){const s=r[a];(s.tags?.length?s.tags.filter(Re):["Default"]).forEach((r=>{const i=it(e,{method:a,op:s,pathParams:o,tag:r,url:n}),l=t.get(i.service)||pt(i);l.$refs=[...l.$refs,...i.$refs],l.imports=[...l.imports,...i.imports],l.operations=[...l.operations,i],t.set(i.service,l)}))}}}return Array.from(t.values())})(e);return{enumNames:[],models:r,server:n,services:o,version:t}};var ct={exports:{}},mt={},dt={__esModule:!0};dt.extend=vt,dt.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},dt.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}if(!yt.test(e))return e;return e.replace(ht,gt)},dt.isEmpty=function(e){return!e&&0!==e||!(!Rt(e)||0!==e.length)},dt.createFrame=function(e){var t=vt({},e);return t._parent=e,t},dt.blockParams=function(e,t){return e.path=t,e},dt.appendContextPath=function(e,t){return(e?e+".":"")+t};var ft={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},ht=/[&<>"'`=]/g,yt=/[&<>"'`=]/;function gt(e){return ft[e]}function vt(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var xt=Object.prototype.toString;dt.toString=xt;var bt=function(e){return"function"==typeof e};bt(/x/)&&(dt.isFunction=bt=function(e){return"function"==typeof e&&"[object Function]"===xt.call(e)}),dt.isFunction=bt;var Rt=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===xt.call(e)};dt.isArray=Rt;var Pt={exports:{}};!function(e,t){t.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function r(e,t){var o=t&&t.loc,s=void 0,a=void 0,i=void 0,l=void 0;o&&(s=o.start.line,a=o.end.line,i=o.start.column,l=o.end.column,e+=" - "+s+":"+i);for(var p=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=p[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);try{o&&(this.lineNumber=s,this.endLineNumber=a,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:l,enumerable:!0})):(this.column=i,this.endColumn=l))}catch(e){}}r.prototype=new Error,t.default=r,e.exports=t.default}(Pt,Pt.exports);var Ot=Pt.exports,wt={},qt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt;t.default=function(e){e.registerHelper("blockHelperMissing",(function(t,r){var o=r.inverse,s=r.fn;if(!0===t)return s(this);if(!1===t||null==t)return o(this);if(n.isArray(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):o(this);if(r.data&&r.ids){var a=n.createFrame(r.data);a.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:a}}return s(t,r)}))},e.exports=t.default}(qt,qt.exports);var At=qt.exports,kt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("each",(function(e,t){if(!t)throw new o.default("Must pass iterator to #each");var n,s=t.fn,a=t.inverse,i=0,l="",p=void 0,u=void 0;function c(t,n,o){p&&(p.key=t,p.index=n,p.first=0===n,p.last=!!o,u&&(p.contextPath=u+t)),l+=s(e[t],{data:p,blockParams:r.blockParams([e[t],t],[u+t,null])})}if(t.data&&t.ids&&(u=r.appendContextPath(t.data.contextPath,t.ids[0])+"."),r.isFunction(e)&&(e=e.call(this)),t.data&&(p=r.createFrame(t.data)),e&&"object"==typeof e)if(r.isArray(e))for(var m=e.length;i<m;i++)i in e&&c(i,i,i===e.length-1);else if("function"==typeof Symbol&&e[Symbol.iterator]){for(var d=[],f=e[Symbol.iterator](),h=f.next();!h.done;h=f.next())d.push(h.value);for(m=(e=d).length;i<m;i++)c(i,i,i===e.length-1)}else n=void 0,Object.keys(e).forEach((function(e){void 0!==n&&c(n,i-1),n=e,i++})),void 0!==n&&c(n,i-1,!0);return 0===i&&(l=a(this)),l}))},e.exports=t.default}(kt,kt.exports);var Ct=kt.exports,Et={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("helperMissing",(function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}))},e.exports=t.default}(Et,Et.exports);var Tt=Et.exports,$t={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("if",(function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)})),e.registerHelper("unless",(function(t,n){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}))},e.exports=t.default}($t,$t.exports);var It=$t.exports,St={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("log",(function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var o=1;null!=n.hash.level?o=n.hash.level:n.data&&null!=n.data.level&&(o=n.data.level),t[0]=o,e.log.apply(e,t)}))},e.exports=t.default}(St,St.exports);var Ht=St.exports,_t={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",(function(e,t,n){return e?n.lookupProperty(e,t):e}))},e.exports=t.default}(_t,_t.exports);var Dt=_t.exports,Nt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("with",(function(e,t){if(2!=arguments.length)throw new o.default("#with requires exactly one argument");r.isFunction(e)&&(e=e.call(this));var n=t.fn;if(r.isEmpty(e))return t.inverse(this);var s=t.data;return t.data&&t.ids&&((s=r.createFrame(t.data)).contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:s,blockParams:r.blockParams([e],[s&&s.contextPath])})}))},e.exports=t.default}(Nt,Nt.exports);var jt=Nt.exports;function Mt(e){return e&&e.__esModule?e:{default:e}}wt.__esModule=!0,wt.registerDefaultHelpers=function(e){Lt.default(e),Bt.default(e),Ft.default(e),Ut.default(e),Wt.default(e),Vt.default(e),Kt.default(e)},wt.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var Lt=Mt(At),Bt=Mt(Ct),Ft=Mt(Tt),Ut=Mt(It),Wt=Mt(Ht),Vt=Mt(Dt),Kt=Mt(jt);var Qt={},Jt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt;t.default=function(e){e.registerDecorator("inline",(function(e,t,r,o){var s=e;return t.partials||(t.partials={},s=function(o,s){var a=r.partials;r.partials=n.extend({},a,t.partials);var i=e(o,s);return r.partials=a,i}),t.partials[o.args[0]]=o.fn,s}))},e.exports=t.default}(Jt,Jt.exports);var zt=Jt.exports;Qt.__esModule=!0,Qt.registerDefaultDecorators=function(e){Xt.default(e)};var Gt,Xt=(Gt=zt)&&Gt.__esModule?Gt:{default:Gt};var Yt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt,r={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=n.indexOf(r.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=r.lookupLevel(e),"undefined"!=typeof console&&r.lookupLevel(r.level)<=e){var t=r.methodMap[e];console[t]||(t="log");for(var n=arguments.length,o=Array(n>1?n-1:0),s=1;s<n;s++)o[s-1]=arguments[s];console[t].apply(console,o)}}};t.default=r,e.exports=t.default}(Yt,Yt.exports);var Zt=Yt.exports,en={},tn={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return nn.extend.apply(void 0,[Object.create(null)].concat(t))}},nn=dt;en.__esModule=!0,en.createProtoAccessControl=function(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:rn.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:rn.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},en.resultIsAllowed=function(e,t,n){return an("function"==typeof e?t.methods:t.properties,n)},en.resetLoggedProperties=function(){Object.keys(sn).forEach((function(e){delete sn[e]}))};var rn=tn,on=function(e){return e&&e.__esModule?e:{default:e}}(Zt),sn=Object.create(null);function an(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==sn[e]&&(sn[e]=!0,on.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}(t),!1)}function ln(e){return e&&e.__esModule?e:{default:e}}mt.__esModule=!0,mt.HandlebarsEnvironment=yn;var pn=dt,un=ln(Ot),cn=wt,mn=Qt,dn=ln(Zt),fn=en;mt.VERSION="4.7.8";mt.COMPILER_REVISION=8;mt.LAST_COMPATIBLE_COMPILER_REVISION=7;mt.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var hn="[object Object]";function yn(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},cn.registerDefaultHelpers(this),mn.registerDefaultDecorators(this)}yn.prototype={constructor:yn,logger:dn.default,log:dn.default.log,registerHelper:function(e,t){if(pn.toString.call(e)===hn){if(t)throw new un.default("Arg not supported with multiple helpers");pn.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(pn.toString.call(e)===hn)pn.extend(this.partials,e);else{if(void 0===t)throw new un.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(pn.toString.call(e)===hn){if(t)throw new un.default("Arg not supported with multiple decorators");pn.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){fn.resetLoggedProperties()}};var gn=dn.default.log;mt.log=gn,mt.createFrame=pn.createFrame,mt.logger=dn.default;var vn={exports:{}};!function(e,t){function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t.default=n,e.exports=t.default}(vn,vn.exports);var xn=vn.exports,bn={},Rn={};Rn.__esModule=!0,Rn.wrapHelper=function(e,t){if("function"!=typeof e)return e;return function(){return arguments[arguments.length-1]=t(arguments[arguments.length-1]),e.apply(this,arguments)}},bn.__esModule=!0,bn.checkRevision=function(e){var t=e&&e[0]||1,n=wn.COMPILER_REVISION;if(t>=wn.LAST_COMPATIBLE_COMPILER_REVISION&&t<=wn.COMPILER_REVISION)return;if(t<wn.LAST_COMPATIBLE_COMPILER_REVISION){var r=wn.REVISION_CHANGES[n],o=wn.REVISION_CHANGES[t];throw new On.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+o+").")}throw new On.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},bn.template=function(e,t){if(!t)throw new On.default("No environment passed to template");if(!e||!e.main)throw new On.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&7===e.compiler[0];var r={strict:function(e,t,n){if(!e||!(t in e))throw new On.default('"'+t+'" not defined in '+e,{loc:n});return r.lookupProperty(e,t)},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||kn.resultIsAllowed(n,r.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,o=0;o<n;o++){if(null!=(e[o]&&r.lookupProperty(e[o],t)))return e[o][t]}},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:Pn.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Pn.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Pn.extend({},o,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),a=t.VM.invokePartial.call(this,n,r,s);if(null==a&&t.compile&&(o.partials[o.name]=t.compile(n,e.compilerOptions,t),a=o.partials[o.name](r,s)),null!=a){if(o.indent){for(var i=a.split("\n"),l=0,p=i.length;l<p&&(i[l]||l+1!==p);l++)i[l]=o.indent+i[l];a=i.join("\n")}return a}throw new On.default("The partial "+o.name+" could not be compiled when running in runtime-only mode")},fn:function(t){var n=e[t];return n.decorator=e[t+"_d"],n},programs:[],program:function(e,t,n,r,o){var s=this.programs[e],a=this.fn(e);return t||o||r||n?s=Cn(this,e,a,t,n,r,o):s||(s=this.programs[e]=Cn(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=Pn.extend({},t,e)),n},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function o(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],s=n.data;o._setup(n),!n.partial&&e.useData&&(s=function(e,t){t&&"root"in t||((t=t?wn.createFrame(t):{}).root=e);return t}(t,s));var a=void 0,i=e.useBlockParams?[]:void 0;function l(t){return""+e.main(r,t,r.helpers,r.partials,s,i,a)}return e.useDepths&&(a=n.depths?t!=n.depths[0]?[t].concat(n.depths):n.depths:[t]),(l=Tn(e.main,l,r,n.depths||[],s,i))(t,n)}return o.isTop=!0,o._setup=function(o){if(o.partial)r.protoAccessControl=o.protoAccessControl,r.helpers=o.helpers,r.partials=o.partials,r.decorators=o.decorators,r.hooks=o.hooks;else{var s=Pn.extend({},t.helpers,o.helpers);!function(e,t){Object.keys(e).forEach((function(n){var r=e[n];e[n]=function(e,t){var n=t.lookupProperty;return An.wrapHelper(e,(function(e){return Pn.extend({lookupProperty:n},e)}))}(r,t)}))}(s,r),r.helpers=s,e.usePartial&&(r.partials=r.mergeIfNeeded(o.partials,t.partials)),(e.usePartial||e.useDecorators)&&(r.decorators=Pn.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=kn.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;qn.moveHelperToHooks(r,"helperMissing",a),qn.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new On.default("must pass block params");if(e.useDepths&&!s)throw new On.default("must pass parent depths");return Cn(r,t,e[t],n,0,o,s)},o},bn.wrapProgram=Cn,bn.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},bn.invokePartial=function(e,t,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var o=void 0;n.fn&&n.fn!==En&&function(){n.data=wn.createFrame(n.data);var e=n.fn;o=n.data["partial-block"]=function(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return n.data=wn.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Pn.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new On.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},bn.noop=En;var Pn=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(dt),On=function(e){return e&&e.__esModule?e:{default:e}}(Ot),wn=mt,qn=wt,An=Rn,kn=en;function Cn(e,t,n,r,o,s,a){function i(t){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],i=a;return!a||t==a[0]||t===e.nullContext&&null===a[0]||(i=[t].concat(a)),n(e,t,e.helpers,e.partials,o.data||r,s&&[o.blockParams].concat(s),i)}return(i=Tn(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function En(){return""}function Tn(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Pn.extend(t,a)}return t}var $n={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",(function(){return this})),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},e.exports=t.default}($n,$n.exports);var In=$n.exports;!function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0;var o=r(mt),s=n(xn),a=n(Ot),i=r(dt),l=r(bn),p=n(In);function u(){var e=new o.HandlebarsEnvironment;return i.extend(e,o),e.SafeString=s.default,e.Exception=a.default,e.Utils=i,e.escapeExpression=i.escapeExpression,e.VM=l,e.template=function(t){return l.template(t,e)},e}var c=u();c.create=u,p.default(c),c.default=c,t.default=c,e.exports=t.default}(ct,ct.exports);var Sn=u(ct.exports.default),Hn={1:function(e,t,n,r,o){return"import { NgModule} from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AngularHttpRequest } from './core/AngularHttpRequest';\nimport { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { OpenAPI } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\n"},3:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda;return"import type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\nimport { "+(null!=(s=i(a(t,"httpRequest",{start:{line:14,column:12},end:{line:14,column:23}}),t))?s:"")+" } from './core/"+(null!=(s=i(a(t,"httpRequest",{start:{line:14,column:45},end:{line:14,column:56}}),t))?s:"")+"';\n"},5:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=a(n,"each").call(null!=t?t:e.nullContext||{},a(t,"services"),{name:"each",hash:{},fn:e.program(6,o,0),inverse:e.noop,data:o,loc:{start:{line:18,column:0},end:{line:20,column:9}}}))?s:""},6:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { "+(null!=(s=i(a(t,"name",{start:{line:19,column:12},end:{line:19,column:16}}),t))?s:"")+(null!=(s=i(a(l(l(o,"root"),"$config"),"postfixServices",{start:{line:19,column:22},end:{line:19,column:51}}),t))?s:"")+" } from './services.gen';\n"},8:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: OpenAPI,\n\t\t\tuseValue: {\n\t\t\t\tBASE: OpenAPI?.BASE ?? '"+(null!=(s=i(a(t,"server",{start:{line:30,column:31},end:{line:30,column:37}}),t))?s:"")+"',\n\t\t\t\tVERSION: OpenAPI?.VERSION ?? '"+(null!=(s=i(a(t,"version",{start:{line:31,column:37},end:{line:31,column:44}}),t))?s:"")+"',\n\t\t\t\tWITH_CREDENTIALS: OpenAPI?.WITH_CREDENTIALS ?? false,\n\t\t\t\tCREDENTIALS: OpenAPI?.CREDENTIALS ?? 'include',\n\t\t\t\tTOKEN: OpenAPI?.TOKEN,\n\t\t\t\tUSERNAME: OpenAPI?.USERNAME,\n\t\t\t\tPASSWORD: OpenAPI?.PASSWORD,\n\t\t\t\tHEADERS: OpenAPI?.HEADERS,\n\t\t\t\tENCODE_PATH: OpenAPI?.ENCODE_PATH,\n\t\t\t\tinterceptors: {\n\t\t\t\t\tresponse: new Interceptors(),\n\t\t\t\t},\n\t\t\t} as OpenAPIConfig,\n\t\t},\n\t\t{\n\t\t\tprovide: BaseHttpRequest,\n\t\t\tuseClass: AngularHttpRequest,\n\t\t},\n"+(null!=(s=l(n,"each").call(null!=t?t:e.nullContext||{},l(t,"services"),{name:"each",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:48,column:2},end:{line:50,column:11}}}))?s:"")+"\t]\n})\nexport class "+(null!=(s=i(a(l(l(o,"root"),"$config"),"name",{start:{line:53,column:16},end:{line:53,column:34}}),t))?s:"")+" {}\n"},9:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\t\t"+(null!=(s=i(a(t,"name",{start:{line:49,column:5},end:{line:49,column:9}}),t))?s:"")+(null!=(s=i(a(l(l(o,"root"),"$config"),"postfixServices",{start:{line:49,column:15},end:{line:49,column:44}}),t))?s:"")+",\n"},11:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=null!=t?t:e.nullContext||{},p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class "+(null!=(s=i(a(p(p(o,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),t))?s:"")+" {\n\n"+(null!=(s=p(n,"each").call(l,p(t,"services"),{name:"each",hash:{},fn:e.program(12,o,0),inverse:e.noop,data:o,loc:{start:{line:59,column:1},end:{line:61,column:10}}}))?s:"")+"\n\tpublic readonly request: BaseHttpRequest;\n\n\tconstructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = "+(null!=(s=i(a(t,"httpRequest",{start:{line:65,column:87},end:{line:65,column:98}}),t))?s:"")+") {\n\t\tthis.request = new HttpRequest({\n\t\t\tBASE: config?.BASE ?? '"+(null!=(s=i(a(t,"server",{start:{line:67,column:29},end:{line:67,column:35}}),t))?s:"")+"',\n\t\t\tVERSION: config?.VERSION ?? '"+(null!=(s=i(a(t,"version",{start:{line:68,column:35},end:{line:68,column:42}}),t))?s:"")+"',\n\t\t\tWITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n\t\t\tCREDENTIALS: config?.CREDENTIALS ?? 'include',\n\t\t\tTOKEN: config?.TOKEN,\n\t\t\tUSERNAME: config?.USERNAME,\n\t\t\tPASSWORD: config?.PASSWORD,\n\t\t\tHEADERS: config?.HEADERS,\n\t\t\tENCODE_PATH: config?.ENCODE_PATH,\n\t\t\tinterceptors: {\n request: new Interceptors(),\n response: new Interceptors(),\n },\n\t\t});\n\n"+(null!=(s=p(n,"each").call(l,p(t,"services"),{name:"each",hash:{},fn:e.program(14,o,0),inverse:e.noop,data:o,loc:{start:{line:82,column:2},end:{line:84,column:11}}}))?s:"")+"\t}\n}\n"},12:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\tpublic readonly "+(null!=(s=l(n,"camelCase").call(null!=t?t:e.nullContext||{},l(t,"name"),{name:"camelCase",hash:{},data:o,loc:{start:{line:60,column:17},end:{line:60,column:37}}}))?s:"")+": "+(null!=(s=i(a(t,"name",{start:{line:60,column:42},end:{line:60,column:46}}),t))?s:"")+(null!=(s=i(a(l(l(o,"root"),"$config"),"postfixServices",{start:{line:60,column:52},end:{line:60,column:81}}),t))?s:"")+";\n"},14:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\t\tthis."+(null!=(s=l(n,"camelCase").call(null!=t?t:e.nullContext||{},l(t,"name"),{name:"camelCase",hash:{},data:o,loc:{start:{line:83,column:7},end:{line:83,column:27}}}))?s:"")+" = new "+(null!=(s=i(a(t,"name",{start:{line:83,column:37},end:{line:83,column:41}}),t))?s:"")+(null!=(s=i(a(l(l(o,"root"),"$config"),"postfixServices",{start:{line:83,column:47},end:{line:83,column:76}}),t))?s:"")+"(this.request);\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:15,column:11}}}))?s:"")+"\n"+(null!=(s=i(n,"if").call(a,i(t,"services"),{name:"if",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(8,o,0),inverse:e.program(11,o,0),data:o,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))?s:"")},useData:!0},_n={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = (config: OpenAPIConfig, options: ApiRequestOptions): Observable<HttpHeaders> => {\n\treturn forkJoin({\n\t\ttoken: resolve(options, config.TOKEN),\n\t\tusername: resolve(options, config.USERNAME),\n\t\tpassword: resolve(options, config.PASSWORD),\n\t\tadditionalHeaders: resolve(options, config.HEADERS),\n\t}).pipe(\n\t\tmap(({ token, username, password, additionalHeaders }) => {\n\t\t\tconst headers = Object.entries({\n\t\t\t\tAccept: 'application/json',\n\t\t\t\t...additionalHeaders,\n\t\t\t\t...options.headers,\n\t\t\t})\n\t\t\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t\t\t.reduce((headers, [key, value]) => ({\n\t\t\t\t\t...headers,\n\t\t\t\t\t[key]: String(value),\n\t\t\t\t}), {} as Record<string, string>);\n\n\t\t\tif (isStringWithValue(token)) {\n\t\t\t\theaders['Authorization'] = `Bearer ${token}`;\n\t\t\t}\n\n\t\t\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\t\t\tconst credentials = base64(`${username}:${password}`);\n\t\t\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t\t\t}\n\n\t\t\tif (options.body !== undefined) {\n\t\t\t\tif (options.mediaType) {\n\t\t\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t\t\t} else if (isBlob(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t\t\t} else if (isString(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t\t\t} else if (!isFormData(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = 'application/json';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn new HttpHeaders(headers);\n\t\t}),\n\t);\n};"},useData:!0},Dn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Nn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = <T>(response: HttpResponse<T>): T | undefined => {\n\tif (response.status !== 204 && response.body !== null) {\n\t\treturn response.body;\n\t}\n\treturn undefined;\n};"},useData:!0},jn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = <T>(response: HttpResponse<T>, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst value = response.headers.get(responseHeader);\n\t\tif (isString(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Mn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport type { HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport { forkJoin, of, throwError } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport type { Observable } from 'rxjs';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getHeaders"),t,{name:"angular/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getRequestBody"),t,{name:"angular/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/sendRequest"),t,{name:"angular/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getResponseHeader"),t,{name:"angular/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getResponseBody"),t,{name:"angular/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param http The Angular HTTP client\n * @param options The request options from the service\n * @returns Observable<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, http: HttpClient, options: ApiRequestOptions): Observable<T> => {\n\tconst url = getUrl(config, options);\n\tconst formData = getFormData(options);\n\tconst body = getRequestBody(options);\n\n\treturn getHeaders(config, options).pipe(\n\t\tswitchMap(headers => {\n\t\t\treturn sendRequest<T>(config, options, http, url, body, formData, headers);\n\t\t}),\n\t\tswitchMap(async response => {\n\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\tresponse = await fn(response);\n\t\t\t}\n\t\t\tconst responseBody = getResponseBody(response);\n\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\t\t\treturn {\n\t\t\t\turl,\n\t\t\t\tok: response.ok,\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t} as ApiResult;\n\t\t}),\n\t\tcatchError((error: HttpErrorResponse) => {\n\t\t\tif (!error.status) {\n\t\t\t\treturn throwError(() => error);\n\t\t\t}\n\t\t\treturn of({\n\t\t\t\turl,\n\t\t\t\tok: error.ok,\n\t\t\t\tstatus: error.status,\n\t\t\t\tstatusText: error.statusText,\n\t\t\t\tbody: error.error ?? error.statusText,\n\t\t\t} as ApiResult);\n\t\t}),\n\t\tmap(result => {\n\t\t\tcatchErrorCodes(options, result);\n\t\t\treturn result.body as T;\n\t\t}),\n\t\tcatchError((error: ApiError) => {\n\t\t\treturn throwError(() => error);\n\t\t}),\n\t);\n};"},usePartial:!0,useData:!0},Ln={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\thttp: HttpClient,\n\turl: string,\n\tbody: unknown,\n\tformData: FormData | undefined,\n\theaders: HttpHeaders\n): Observable<HttpResponse<T>> => {\n\treturn http.request<T>(options.method, url, {\n\t\theaders,\n\t\tbody: body ?? formData,\n\t\twithCredentials: config.WITH_CREDENTIALS,\n\t\tobserve: 'response',\n\t});\n};"},useData:!0},Bn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n\tpublic readonly url: string;\n\tpublic readonly status: number;\n\tpublic readonly statusText: string;\n\tpublic readonly body: unknown;\n\tpublic readonly request: ApiRequestOptions;\n\n\tconstructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n\t\tsuper(message);\n\n\t\tthis.name = 'ApiError';\n\t\tthis.url = response.url;\n\t\tthis.status = response.status;\n\t\tthis.statusText = response.statusText;\n\t\tthis.body = response.body;\n\t\tthis.request = request;\n\t}\n}"},useData:!0},Fn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiRequestOptions = {\n\treadonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n\treadonly url: string;\n\treadonly path?: Record<string, unknown>;\n\treadonly cookies?: Record<string, unknown>;\n\treadonly headers?: Record<string, unknown>;\n\treadonly query?: Record<string, unknown>;\n\treadonly formData?: Record<string, unknown>;\n\treadonly body?: any;\n\treadonly mediaType?: string;\n\treadonly responseHeader?: string;\n\treadonly errors?: Record<number, string>;\n};"},useData:!0},Un={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiResult<TData = any> = {\n\treadonly body: TData;\n\treadonly ok: boolean;\n\treadonly status: number;\n\treadonly statusText: string;\n\treadonly url: string;\n};"},useData:!0},Wn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Record<string, string>> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t.filter(([, value]) => value !== undefined && value !== null)\n\t.reduce((headers, [key, value]) => ({\n\t\t...headers,\n\t\t[key]: String(value),\n\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t} else if (options.formData !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t}\n\t}\n\n\treturn headers;\n};"},useData:!0},Vn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body) {\n\t\treturn options.body;\n\t}\n\treturn undefined;\n};"},useData:!0},Kn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = (response: AxiosResponse<unknown>): unknown => {\n\tif (response.status !== 204) {\n\t\treturn response.data;\n\t}\n\treturn undefined;\n};"},useData:!0},Qn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (response: AxiosResponse<unknown>, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = response.headers[responseHeader];\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Jn={1:function(e,t,n,r,o){return"ApiResult<T>"},3:function(e,t,n,r,o){return"T"},5:function(e,t,n,r,o){return"result.body"},7:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isSuccess"),t,{name:"functions/isSuccess",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getHeaders"),t,{name:"axios/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getRequestBody"),t,{name:"axios/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/sendRequest"),t,{name:"axios/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getResponseHeader"),t,{name:"axios/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getResponseBody"),t,{name:"axios/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @param axiosClient The axios client instance to use\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:64,column:30},end:{line:64,column:114}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:67,column:133},end:{line:67,column:217}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: isSuccess(response.status),\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"body",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:95,column:12},end:{line:95,column:96}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},zn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: unknown,\n\tformData: FormData | undefined,\n\theaders: Record<string, string>,\n\tonCancel: OnCancel,\n\taxiosClient: AxiosInstance\n): Promise<AxiosResponse<T>> => {\n\tconst controller = new AbortController();\n\n\tlet requestConfig: AxiosRequestConfig = {\n\t\tdata: body ?? formData,\n\t\theaders,\n\t\tmethod: options.method,\n\t\tsignal: controller.signal,\n\t\turl,\n\t\twithCredentials: config.WITH_CREDENTIALS,\n\t};\n\n\tonCancel(() => controller.abort());\n\n\tfor (const fn of config.interceptors.request._fns) {\n\t\trequestConfig = await fn(requestConfig);\n\t}\n\n\ttry {\n\t\treturn await axiosClient.request(requestConfig);\n\t} catch (error) {\n\t\tconst axiosError = error as AxiosError<T>;\n\t\tif (axiosError.response) {\n\t\t\treturn axiosError.response;\n\t\t}\n\t\tthrow error;\n\t}\n};"},useData:!0},Gn={1:function(e,t,n,r,o){return"import type { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { OpenAPIConfig } from './OpenAPI';\n"},3:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n"},5:function(e,t,n,r,o){return"\tconstructor(\n\t\tpublic readonly config: OpenAPIConfig,\n\t\tpublic readonly http: HttpClient,\n\t) {}\n"},7:function(e,t,n,r,o){return"\tconstructor(public readonly config: OpenAPIConfig) {}\n"},9:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions): Observable<T>;\n"},11:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:11,column:11}}}))?s:"")+"\nexport abstract class BaseHttpRequest {\n\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:15,column:1},end:{line:22,column:12}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.program(11,o,0),data:o,loc:{start:{line:24,column:1},end:{line:28,column:12}}}))?s:"")+"}"},useData:!0},Xn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export class CancelError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = 'CancelError';\n\t}\n\n\tpublic get isCancelled(): boolean {\n\t\treturn true;\n\t}\n}\n\nexport interface OnCancel {\n\treadonly isResolved: boolean;\n\treadonly isRejected: boolean;\n\treadonly isCancelled: boolean;\n\n\t(cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n\tprivate _isResolved: boolean;\n\tprivate _isRejected: boolean;\n\tprivate _isCancelled: boolean;\n\treadonly cancelHandlers: (() => void)[];\n\treadonly promise: Promise<T>;\n\tprivate _resolve?: (value: T | PromiseLike<T>) => void;\n\tprivate _reject?: (reason?: unknown) => void;\n\n\tconstructor(\n\t\texecutor: (\n\t\t\tresolve: (value: T | PromiseLike<T>) => void,\n\t\t\treject: (reason?: unknown) => void,\n\t\t\tonCancel: OnCancel\n\t\t) => void\n\t) {\n\t\tthis._isResolved = false;\n\t\tthis._isRejected = false;\n\t\tthis._isCancelled = false;\n\t\tthis.cancelHandlers = [];\n\t\tthis.promise = new Promise<T>((resolve, reject) => {\n\t\t\tthis._resolve = resolve;\n\t\t\tthis._reject = reject;\n\n\t\t\tconst onResolve = (value: T | PromiseLike<T>): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._isResolved = true;\n\t\t\t\tif (this._resolve) this._resolve(value);\n\t\t\t};\n\n\t\t\tconst onReject = (reason?: unknown): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._isRejected = true;\n\t\t\t\tif (this._reject) this._reject(reason);\n\t\t\t};\n\n\t\t\tconst onCancel = (cancelHandler: () => void): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.cancelHandlers.push(cancelHandler);\n\t\t\t};\n\n\t\t\tObject.defineProperty(onCancel, 'isResolved', {\n\t\t\t\tget: (): boolean => this._isResolved,\n\t\t\t});\n\n\t\t\tObject.defineProperty(onCancel, 'isRejected', {\n\t\t\t\tget: (): boolean => this._isRejected,\n\t\t\t});\n\n\t\t\tObject.defineProperty(onCancel, 'isCancelled', {\n\t\t\t\tget: (): boolean => this._isCancelled,\n\t\t\t});\n\n\t\t\treturn executor(onResolve, onReject, onCancel as OnCancel);\n\t\t});\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn \"Cancellable Promise\";\n\t}\n\n\tpublic then<TResult1 = T, TResult2 = never>(\n\t\tonFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n\t\tonRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null\n\t): Promise<TResult1 | TResult2> {\n\t\treturn this.promise.then(onFulfilled, onRejected);\n\t}\n\n\tpublic catch<TResult = never>(\n\t\tonRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null\n\t): Promise<T | TResult> {\n\t\treturn this.promise.catch(onRejected);\n\t}\n\n\tpublic finally(onFinally?: (() => void) | null): Promise<T> {\n\t\treturn this.promise.finally(onFinally);\n\t}\n\n\tpublic cancel(): void {\n\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\treturn;\n\t\t}\n\t\tthis._isCancelled = true;\n\t\tif (this.cancelHandlers.length) {\n\t\t\ttry {\n\t\t\t\tfor (const cancelHandler of this.cancelHandlers) {\n\t\t\t\t\tcancelHandler();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Cancellation threw an error', error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.cancelHandlers.length = 0;\n\t\tif (this._reject) this._reject(new CancelError('Request aborted'));\n\t}\n\n\tpublic get isCancelled(): boolean {\n\t\treturn this._isCancelled;\n\t}\n}"},useData:!0},Yn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t.reduce((headers, [key, value]) => ({\n\t\t\t...headers,\n\t\t\t[key]: String(value),\n\t\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t}\n\n\treturn new Headers(headers);\n};"},useData:!0},Zn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},er={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = async (response: Response): Promise<unknown> => {\n\tif (response.status !== 204) {\n\t\ttry {\n\t\t\tconst contentType = response.headers.get('Content-Type');\n\t\t\tif (contentType) {\n\t\t\t\tconst binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip', 'audio/', 'image/', 'video/'];\n\t\t\t\tif (contentType.includes('application/json') || contentType.includes('+json')) {\n\t\t\t\t\treturn await response.json();\n\t\t\t\t} else if (binaryTypes.some(type => contentType.includes(type))) {\n\t\t\t\t\treturn await response.blob();\n\t\t\t\t} else if (contentType.includes('multipart/form-data')) {\n\t\t\t\t\treturn await response.formData();\n\t\t\t\t} else if (contentType.includes('text/')) {\n\t\t\t\t\treturn await response.text();\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},tr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = response.headers.get(responseHeader);\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},nr={1:function(e,t,n,r,o){return"import fetch, { FormData, Headers } from 'node-fetch';\nimport type { RequestInit, Response } from 'node-fetch';\n\n"},3:function(e,t,n,r,o){return"ApiResult<T>"},5:function(e,t,n,r,o){return"T"},7:function(e,t,n,r,o){return"result.body"},9:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:5,column:11}}}))?s:"")+"import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getHeaders"),t,{name:"fetch/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getRequestBody"),t,{name:"fetch/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/sendRequest"),t,{name:"fetch/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getResponseHeader"),t,{name:"fetch/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getResponseBody"),t,{name:"fetch/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.program(5,o,0),data:o,loc:{start:{line:62,column:30},end:{line:62,column:114}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.program(5,o,0),data:o,loc:{start:{line:65,column:97},end:{line:65,column:181}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = await getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: response.ok,\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"body",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.program(9,o,0),data:o,loc:{start:{line:93,column:12},end:{line:93,column:96}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},rr={1:function(e,t,n,r,o){return"\tif (config.WITH_CREDENTIALS) {\n\t\trequest.credentials = config.CREDENTIALS;\n\t}\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"export const sendRequest = async (\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: any,\n\tformData: FormData | undefined,\n\theaders: Headers,\n\tonCancel: OnCancel\n): Promise<Response> => {\n\tconst controller = new AbortController();\n\n\tlet request: RequestInit = {\n\t\theaders,\n\t\tbody: body ?? formData,\n\t\tmethod: options.method,\n\t\tsignal: controller.signal,\n\t};\n\n"+(null!=(s=a(n,"equals").call(null!=t?t:e.nullContext||{},a(a(a(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:19,column:1},end:{line:23,column:12}}}))?s:"")+"\n\tfor (const fn of config.interceptors.request._fns) {\n\t\trequest = await fn(request);\n\t}\n\n\tonCancel(() => controller.abort());\n\n\treturn await fetch(url, request);\n};"},useData:!0},or={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const base64 = (str: string): string => {\n\ttry {\n\t\treturn btoa(str);\n\t} catch (err) {\n\t\t// @ts-ignore\n\t\treturn Buffer.from(str).toString('base64');\n\t}\n};"},useData:!0},sr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n\tconst errors: Record<number, string> = {\n\t\t400: 'Bad Request',\n\t\t401: 'Unauthorized',\n\t\t402: 'Payment Required',\n\t\t403: 'Forbidden',\n\t\t404: 'Not Found',\n\t\t405: 'Method Not Allowed',\n\t\t406: 'Not Acceptable',\n\t\t407: 'Proxy Authentication Required',\n\t\t408: 'Request Timeout',\n\t\t409: 'Conflict',\n\t\t410: 'Gone',\n\t\t411: 'Length Required',\n\t\t412: 'Precondition Failed',\n\t\t413: 'Payload Too Large',\n\t\t414: 'URI Too Long',\n\t\t415: 'Unsupported Media Type',\n\t\t416: 'Range Not Satisfiable',\n\t\t417: 'Expectation Failed',\n\t\t418: 'Im a teapot',\n\t\t421: 'Misdirected Request',\n\t\t422: 'Unprocessable Content',\n\t\t423: 'Locked',\n\t\t424: 'Failed Dependency',\n\t\t425: 'Too Early',\n\t\t426: 'Upgrade Required',\n\t\t428: 'Precondition Required',\n\t\t429: 'Too Many Requests',\n\t\t431: 'Request Header Fields Too Large',\n\t\t451: 'Unavailable For Legal Reasons',\n\t\t500: 'Internal Server Error',\n\t\t501: 'Not Implemented',\n\t\t502: 'Bad Gateway',\n\t\t503: 'Service Unavailable',\n\t\t504: 'Gateway Timeout',\n\t\t505: 'HTTP Version Not Supported',\n\t\t506: 'Variant Also Negotiates',\n\t\t507: 'Insufficient Storage',\n\t\t508: 'Loop Detected',\n\t\t510: 'Not Extended',\n\t\t511: 'Network Authentication Required',\n\t\t...options.errors,\n\t}\n\n\tconst error = errors[result.status];\n\tif (error) {\n\t\tthrow new ApiError(options, result, error);\n\t}\n\n\tif (!result.ok) {\n\t\tconst errorStatus = result.status ?? 'unknown';\n\t\tconst errorStatusText = result.statusText ?? 'unknown';\n\t\tconst errorBody = (() => {\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(result.body, null, 2);\n\t\t\t} catch (e) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})();\n\n\t\tthrow new ApiError(options, result,\n\t\t\t`Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n\t\t);\n\t}\n};"},useData:!0},ar={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n\tif (options.formData) {\n\t\tconst formData = new FormData();\n\n\t\tconst process = (key: string, value: unknown) => {\n\t\t\tif (isString(value) || isBlob(value)) {\n\t\t\t\tformData.append(key, value);\n\t\t\t} else {\n\t\t\t\tformData.append(key, JSON.stringify(value));\n\t\t\t}\n\t\t};\n\n\t\tObject.entries(options.formData)\n\t\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t\t.forEach(([key, value]) => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tvalue.forEach(v => process(key, v));\n\t\t\t\t} else {\n\t\t\t\t\tprocess(key, value);\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn formData;\n\t}\n\treturn undefined;\n};"},useData:!0},ir={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getQueryString = (params: Record<string, unknown>): string => {\n\tconst qs: string[] = [];\n\n\tconst append = (key: string, value: unknown) => {\n\t\tqs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n\t};\n\n\tconst encodePair = (key: string, value: unknown) => {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(v => encodePair(key, v));\n\t\t} else if (typeof value === 'object') {\n\t\t\tObject.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v));\n\t\t} else {\n\t\t\tappend(key, value);\n\t\t}\n\t};\n\n\tObject.entries(params).forEach(([key, value]) => encodePair(key, value));\n\n\treturn qs.length ? `?${qs.join('&')}` : '';\n};"},useData:!0},lr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n\tconst encoder = config.ENCODE_PATH || encodeURI;\n\n\tconst path = options.url\n\t\t.replace('{api-version}', config.VERSION)\n\t\t.replace(/{(.*?)}/g, (substring: string, group: string) => {\n\t\t\tif (options.path?.hasOwnProperty(group)) {\n\t\t\t\treturn encoder(String(options.path[group]));\n\t\t\t}\n\t\t\treturn substring;\n\t\t});\n\n\tconst url = config.BASE + path;\n\treturn options.query ? url + getQueryString(options.query) : url;\n};"},useData:!0},pr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isBlob = (value: any): value is Blob => {\n\treturn value instanceof Blob;\n};"},useData:!0},ur={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isFormData = (value: unknown): value is FormData => {\n\treturn value instanceof FormData;\n};"},useData:!0},cr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isString = (value: unknown): value is string => {\n\treturn typeof value === 'string';\n};"},useData:!0},mr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isStringWithValue = (value: unknown): value is string => {\n\treturn isString(value) && value !== '';\n};"},useData:!0},dr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isSuccess = (status: number): boolean => {\n\treturn status >= 200 && status < 300;\n};"},useData:!0},fr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n\tif (typeof resolver === 'function') {\n\t\treturn (resolver as Resolver<T>)(options);\n\t}\n\treturn resolver;\n};"},useData:!0},hr={1:function(e,t,n,r,o){return"import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { OpenAPI } from './OpenAPI';\nimport { request as __request } from './request';\n"},3:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n"},5:function(e,t,n,r,o){return"@Injectable()\n"},7:function(e,t,n,r,o){return"\tconstructor(\n\t\t@Inject(OpenAPI)\n\t\tconfig: OpenAPIConfig,\n\t\thttp: HttpClient,\n\t) {\n\t\tsuper(config, http);\n\t}\n"},9:function(e,t,n,r,o){return"\tconstructor(config: OpenAPIConfig) {\n\t\tsuper(config);\n\t}\n"},11:function(e,t,n,r,o){return"\t/**\n\t * Request method\n\t * @param options The request options from the service\n\t * @returns Observable<T>\n\t * @throws ApiError\n\t */\n\tpublic override request<T>(options: ApiRequestOptions): Observable<T> {\n\t\treturn __request(this.config, this.http, options);\n\t}\n"},13:function(e,t,n,r,o){return"\t/**\n\t * Request method\n\t * @param options The request options from the service\n\t * @returns CancelablePromise<T>\n\t * @throws ApiError\n\t */\n\tpublic override request<T>(options: ApiRequestOptions): CancelablePromise<T> {\n\t\treturn __request(this.config, options);\n\t}\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:19,column:0},end:{line:21,column:11}}}))?s:"")+"export class "+(null!=(s=e.lambda(e.strict(t,"httpRequest",{start:{line:22,column:15},end:{line:22,column:26}}),t))?s:"")+" extends BaseHttpRequest {\n\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.program(9,o,0),data:o,loc:{start:{line:24,column:1},end:{line:36,column:12}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.program(13,o,0),data:o,loc:{start:{line:38,column:1},end:{line:58,column:12}}}))?s:"")+"}"},useData:!0},yr={1:function(e,t,n,r,o){return"import type { HttpResponse } from '@angular/common/http';"},3:function(e,t,n,r,o){return"import type { AxiosRequestConfig, AxiosResponse } from 'axios';"},5:function(e,t,n,r,o){return"import type { RequestInit, Response } from 'node-fetch';"},7:function(e,t,n,r,o){return"response: Interceptors<HttpResponse<any>>;"},9:function(e,t,n,r,o){return"request: Interceptors<AxiosRequestConfig>;\n\t\tresponse: Interceptors<AxiosResponse>;"},11:function(e,t,n,r,o){return"request: Interceptors<RequestInit>;\n\t\tresponse: Interceptors<Response>;"},13:function(e,t,n,r,o){return"request: Interceptors<XMLHttpRequest>;\n\t\tresponse: Interceptors<XMLHttpRequest>;"},15:function(e,t,n,r,o){return"request: new Interceptors(),"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.strict,l=e.lambda,p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:3,column:13}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:4,column:0},end:{line:6,column:13}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:0},end:{line:9,column:13}}}))?s:"")+"import type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Headers = Record<string, string>;\ntype Middleware<T> = (value: T) => T | Promise<T>;\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>) {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [\n ...this._fns.slice(0, index),\n ...this._fns.slice(index + 1),\n ];\n }\n }\n\n use(fn: Middleware<T>) {\n this._fns = [...this._fns, fn];\n }\n}\n\nexport type OpenAPIConfig = {\n\tBASE: string;\n\tCREDENTIALS: 'include' | 'omit' | 'same-origin';\n\tENCODE_PATH?: ((path: string) => string) | undefined;\n\tHEADERS?: Headers | Resolver<Headers> | undefined;\n\tPASSWORD?: string | Resolver<string> | undefined;\n\tTOKEN?: string | Resolver<string> | undefined;\n\tUSERNAME?: string | Resolver<string> | undefined;\n\tVERSION: string;\n\tWITH_CREDENTIALS: boolean;\n\tinterceptors: {"+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:50,column:2},end:{line:52,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:53,column:2},end:{line:56,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:57,column:2},end:{line:60,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:61,column:2},end:{line:64,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(13,o,0),inverse:e.noop,data:o,loc:{start:{line:65,column:2},end:{line:68,column:15}}}))?s:"")+"};\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n\tBASE: '"+(null!=(s=l(i(t,"server",{start:{line:73,column:11},end:{line:73,column:17}}),t))?s:"")+"',\n\tCREDENTIALS: 'include',\n\tENCODE_PATH: undefined,\n\tHEADERS: undefined,\n\tPASSWORD: undefined,\n\tTOKEN: undefined,\n\tUSERNAME: undefined,\n\tVERSION: '"+(null!=(s=l(i(t,"version",{start:{line:80,column:14},end:{line:80,column:21}}),t))?s:"")+"',\n\tWITH_CREDENTIALS: false,\n\tinterceptors: {"+(null!=(s=p(n,"notEquals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"notEquals",hash:{},fn:e.program(15,o,0),inverse:e.noop,data:o,loc:{start:{line:83,column:2},end:{line:85,column:18}}}))?s:"")+"response: new Interceptors(),\n\t},\n};"},useData:!0},gr={1:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"angular/request"),t,{name:"angular/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},3:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"axios/request"),t,{name:"axios/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},5:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"fetch/request"),t,{name:"fetch/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},7:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"xhr/request"),t,{name:"xhr/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:1,column:75}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:2,column:0},end:{line:2,column:71}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:3,column:0},end:{line:3,column:71}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:5,column:0},end:{line:5,column:67}}}))?s:"")},usePartial:!0,useData:!0},vr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t.reduce((headers, [key, value]) => ({\n\t\t\t...headers,\n\t\t\t[key]: String(value),\n\t\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t}\n\n\treturn new Headers(headers);\n};"},useData:!0},xr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},br={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = (xhr: XMLHttpRequest): unknown => {\n\tif (xhr.status !== 204) {\n\t\ttry {\n\t\t\tconst contentType = xhr.getResponseHeader('Content-Type');\n\t\t\tif (contentType) {\n\t\t\t\tif (contentType.includes('application/json') || contentType.includes('+json')) {\n\t\t\t\t\treturn JSON.parse(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\treturn xhr.responseText;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Rr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (xhr: XMLHttpRequest, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = xhr.getResponseHeader(responseHeader);\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Pr={1:function(e,t,n,r,o){return"ApiResult<T>"},3:function(e,t,n,r,o){return"T"},5:function(e,t,n,r,o){return"result.body"},7:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isSuccess"),t,{name:"functions/isSuccess",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getHeaders"),t,{name:"fetch/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getRequestBody"),t,{name:"xhr/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/sendRequest"),t,{name:"xhr/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getResponseHeader"),t,{name:"xhr/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getResponseBody"),t,{name:"xhr/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:60,column:30},end:{line:60,column:114}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:63,column:97},end:{line:63,column:181}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: isSuccess(response.status),\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"serviceResponse"),"body",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:91,column:12},end:{line:91,column:96}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},Or={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async (\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: any,\n\tformData: FormData | undefined,\n\theaders: Headers,\n\tonCancel: OnCancel\n): Promise<XMLHttpRequest> => {\n\tlet xhr = new XMLHttpRequest();\n\txhr.open(options.method, url, true);\n\txhr.withCredentials = config.WITH_CREDENTIALS;\n\n\theaders.forEach((value, key) => {\n\t\txhr.setRequestHeader(key, value);\n\t});\n\n\treturn new Promise<XMLHttpRequest>(async (resolve, reject) => {\n\t\txhr.onload = () => resolve(xhr);\n\t\txhr.onabort = () => reject(new Error('Request aborted'));\n\t\txhr.onerror = () => reject(new Error('Network error'));\n\n\t\tfor (const fn of config.interceptors.request._fns) {\n\t\t\txhr = await fn(xhr);\n\t\t}\n\n\t\txhr.send(body ?? formData);\n\n\t\tonCancel(() => xhr.abort());\n\t});\n};"},useData:!0};const wr=()=>{Sn.registerHelper("camelCase",me),Sn.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Sn.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Sn.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)}))};function qr(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}function Ar(e){return e.sort(((e,t)=>qr(e.name,t.name)))}function kr(e){return{...e,enumNames:[],models:e.models.map((e=>function(e){return{...e,enum:Cr(e),enums:Er(e),imports:Tr(e)}}(e))),services:e.services.map((e=>function(e){const t={...e};return t.operations=function(e){const t=new Map;return e.operations.map((e=>{const n={...e};n.imports.push(...n.parameters.flatMap((e=>e.imports))),n.imports.push(...n.results.flatMap((e=>e.imports)));const r=n.name,o=t.get(r)||0;return o>0&&(n.name=`${r}${o}`),t.set(r,o+1),n}))}(t),t.operations.forEach((e=>{t.imports.push(...e.imports)})),t.imports=function(e){return e.imports.filter(Re).sort(qr)}(t),t}(e)))}}function Cr(e){return e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t))}function Er(e){return e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}function Tr(e){return e.imports.filter(Re).sort(qr).filter((t=>e.name!==t))}const $r={newLine:l.NewLineKind.LineFeed,scriptKind:l.ScriptKind.TS,scriptTarget:l.ScriptTarget.ES2015,useSingleQuotes:!0},Ir=l.createPrinter({newLine:$r.newLine}),Sr=e=>l.createSourceFile("",e,$r.scriptTarget,void 0,$r.scriptKind),Hr=Sr("");function _r(e){const t=Ir.printNode(l.EmitHint.Unspecified,e,Hr);try{return decodeURIComponent(t)}catch{return _e().debug&&console.warn("Could not decode value:",t),t}}const Dr=e=>e?l.factory.createTrue():l.factory.createFalse(),Nr=(e,t,n)=>{const r=l.factory.createIdentifier(encodeURIComponent(e));return l.factory.createExportSpecifier(t??!1,n?r:void 0,n?l.factory.createIdentifier(encodeURIComponent(n)):r)},jr=(e,t,n)=>{const r=l.factory.createIdentifier(encodeURIComponent(e));return l.factory.createImportSpecifier(t??!1,n?r:void 0,n?l.factory.createIdentifier(encodeURIComponent(n)):r)},Mr=e=>e<0?l.factory.createPrefixUnaryExpression(l.SyntaxKind.MinusToken,l.factory.createNumericLiteral(Math.abs(e))):l.factory.createNumericLiteral(e),Lr=(e,t=!1)=>{t&&(e=Ae(e));const n=e.includes("'")&&e.includes('"'),r=e.includes("\n"),o=e.startsWith("`"),s=e.startsWith("\\`")&&e.endsWith("\\`");(r||n||o)&&!s&&(e=`\`${e.replace(/`/g,"\\`")}\``);const a=encodeURIComponent(e);return e.startsWith("`")?l.factory.createIdentifier(a):l.factory.createStringLiteral(a,!e.includes("'")&&$r.useSingleQuotes)},Br=e=>void 0!==e,Fr=(e,t,n=!0,r=!0)=>{const o=t.filter(Boolean);if(!o.length)return"";if(!e){if(r){const e=["/**",...o.map((e=>` * ${e}`))," */"].join("\n");return n?`${e}\n`:e}const e=o.map((e=>`// ${e}`)).join("\n");return n?`${e}\n`:e}return l.addSyntheticLeadingComment(e,l.SyntaxKind.MultiLineCommentTrivia,encodeURIComponent(["*",...o.map((e=>` * ${e}`))," "].join("\n")),n),""},Ur=(e,t)=>l.isTypeNode(e)?e:l.factory.createTypeReferenceNode(e,t?.map((e=>Ur(e)))),Wr=(e,t=!1)=>{const n=l.factory.createTypeLiteralNode(e.map((e=>{const t=l.factory.createPropertySignature(e.isReadOnly?[l.factory.createModifier(l.SyntaxKind.ReadonlyKeyword)]:void 0,e.name,e.isRequired?void 0:l.factory.createToken(l.SyntaxKind.QuestionToken),Ur(e.type)),n=e.comment;return n&&Fr(t,n),t})));return t?l.factory.createUnionTypeNode([n,l.factory.createTypeReferenceNode("null")]):n},Vr=(e,t=!1)=>{const n=e.map((e=>Ur(e)));return t&&n.push(l.factory.createTypeReferenceNode("null")),l.factory.createUnionTypeNode(n)},Kr=({value:e,unescape:t=!1,shorthand:n=!1,identifiers:r=[]})=>null===e?l.factory.createNull():Array.isArray(e)?Qr({arr:e}):"object"==typeof e?Jr({identifiers:r,obj:e,shorthand:n}):"number"==typeof e?Mr(e):"boolean"==typeof e?Dr(e):"string"==typeof e?Lr(e,t):void 0,Qr=({arr:e,multiLine:t=!1})=>l.factory.createArrayLiteralExpression(e.map((e=>Kr({value:e}))).filter(Br),!Array.isArray(e[0])&&"object"==typeof e[0]||t),Jr=({comments:e={},identifiers:t=[],multiLine:n=!0,obj:r,shorthand:o=!1,unescape:s=!1})=>{const a=Object.entries(r).map((([n,r])=>{let a=Kr({identifiers:t.includes(n)?Object.keys(r):[],shorthand:o,unescape:s,value:r});if(!a)return;t.includes(n)&&!l.isObjectLiteralExpression(a)&&(a=l.factory.createIdentifier(r));const i=n===r;!n.match(/\W/g)||n.startsWith("'")||n.endsWith("'")||(n=`'${n}'`);const p=o&&i?l.factory.createShorthandPropertyAssignment(r):l.factory.createPropertyAssignment(n,a),u=e?.[n];return u?.length&&Fr(p,u),p})).filter(Br);return l.factory.createObjectLiteralExpression(a,n)},zr=e=>{const t="public"===e?l.SyntaxKind.PublicKeyword:"protected"===e?l.SyntaxKind.ProtectedKeyword:"private"===e?l.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(l.factory.createModifier(t)),n},Gr=e=>e.map((e=>{const t=zr(e.accessLevel);return e.isReadOnly&&t.push(l.factory.createModifier(l.SyntaxKind.ReadonlyKeyword)),l.factory.createParameterDeclaration(t,void 0,l.factory.createIdentifier(e.name),void 0===e.isRequired||e.isRequired?void 0:l.factory.createToken(l.SyntaxKind.QuestionToken),void 0!==e.type?Ur(e.type):void 0,void 0!==e.default?Kr({value:e.default}):void 0)})),Xr=e=>{const t=e.match(/\.[0-9a-z]+$/i),n=t?t[0].slice(1):"";return{extension:n,name:e.slice(0,e.length-(n?n.length+1:0))}};class Yr{_headers=[];_imports=[];_items=[];_name;_path;constructor({dir:e,name:n,header:r=!0}){if(this._name=this._setName(n),this._path=t.resolve(e,this.getName()),r){const e=Fr(void 0,["This file is auto-generated by @hey-api/openapi-ts"],!0,!1);this._headers=[...this._headers,e]}}add(...e){this._items=[...this._items,...e]}addNamedImport(...e){this._imports=[...this._imports,Zr.import.named(...e)]}getName(e=!0){if(e)return this._name;const{name:t}=Xr(this._name);return t}isEmpty(){return!this._items.length}remove(t){e.rmSync(this._path,t)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=Xr(e);return[n,"gen",t].filter(Boolean).join(".")}toString(e="\n"){let t=[];return this._headers.length&&(t=[...t,this._headers.join("\n")]),this._imports.length&&(t=[...t,this._imports.map((e=>_r(e))).join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:_r(e)))],t.join(e)}write(t="\n"){this.isEmpty()?this.remove({force:!0}):e.writeFileSync(this._path,this.toString(t))}}const Zr={class:{constructor:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=l.factory.createConstructorDeclaration(zr(e),Gr(r),l.factory.createBlock(o,n));return t?.length&&Fr(s,t),s},create:({decorator:e,members:t=[],name:n})=>{const r=[l.factory.createModifier(l.SyntaxKind.ExportKeyword)];e&&r.unshift(l.factory.createDecorator(l.factory.createCallExpression(l.factory.createIdentifier(e.name),void 0,e.args.map((e=>Kr({value:e}))).filter(Br))));const o=[];return t.forEach((e=>{o.push(e),o.push(l.factory.createIdentifier("\n"))})),l.factory.createClassDeclaration(r,l.factory.createIdentifier(n),[],[],o)},method:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:i=[]})=>{const p=zr(e);n&&p.push(l.factory.createModifier(l.SyntaxKind.StaticKeyword));const u=l.factory.createMethodDeclaration(p,void 0,l.factory.createIdentifier(o),void 0,[],Gr(s),a?Ur(a):void 0,l.factory.createBlock(i,r));return t?.length&&Fr(u,t),u},return:({args:e=[],name:t})=>l.factory.createReturnStatement(l.factory.createCallExpression(l.factory.createIdentifier(t),void 0,e.map((e=>l.factory.createIdentifier(e))).filter(Br)))},export:{all:e=>l.factory.createExportDeclaration(void 0,!1,void 0,Lr(e)),asConst:(e,t)=>l.factory.createVariableStatement([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createVariableDeclarationList([l.factory.createVariableDeclaration(l.factory.createIdentifier(e),void 0,void 0,l.factory.createAsExpression(t,l.factory.createTypeReferenceNode("const")))],l.NodeFlags.Const)),named:(e,t)=>{const n=(e=Array.isArray(e)?e:[e]).every((e=>"object"==typeof e&&e.isTypeOnly));return l.factory.createExportDeclaration(void 0,n,l.factory.createNamedExports(e.map((e=>{const{name:t,isTypeOnly:r,alias:o}="string"==typeof e?{name:e}:e;return Nr(t,!n&&Boolean(r),o)}))),Lr(t))}},import:{named:(e,t)=>{const n=(e=Array.isArray(e)?e:[e]).every((e=>"object"==typeof e&&e.isTypeOnly));return l.factory.createImportDeclaration(void 0,l.factory.createImportClause(n,void 0,l.factory.createNamedImports(e.map((e=>{const{name:t,isTypeOnly:r,alias:o}="string"==typeof e?{name:e}:e;return jr(t,!n&&Boolean(r),o)})))),Lr(t))}},typedef:{alias:(e,t,n)=>{const r=l.factory.createTypeAliasDeclaration([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createIdentifier(e),[],Ur(t));return n?.length&&Fr(r,n),r},array:(e,t=!1)=>{const n=l.factory.createTypeReferenceNode("Array",[Vr(e)]);return t?l.factory.createUnionTypeNode([n,l.factory.createTypeReferenceNode("null")]):n},basic:Ur,interface:Wr,intersect:(e,t=!1)=>{const n=e.map((e=>Ur(e))),r=l.factory.createIntersectionTypeNode(n);return t?l.factory.createUnionTypeNode([r,l.factory.createTypeReferenceNode("null")]):r},record:(e,t,n=!1)=>{const r=Vr(e),o=Vr(t),s=Wr([{isRequired:!0,name:`[key: ${_r(r)}]`,type:o}]);return n?l.factory.createUnionTypeNode([s,l.factory.createTypeReferenceNode("null")]):s},tuple:(e,t=!1)=>{const n=e.map((e=>Ur(e)));return t&&n.push(l.factory.createTypeReferenceNode("null")),l.factory.createTupleTypeNode(n)},union:Vr},types:{array:Qr,enum:({name:e,obj:t,leadingComment:n=[],comments:r={}})=>{const o=l.factory.createEnumDeclaration([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createIdentifier(e),Object.entries(t).map((([e,t])=>{const n=Kr({unescape:!0,value:t}),o=l.factory.createEnumMember(e,n),s=r?.[e];return s&&Fr(o,s),o})));return n.length&&Fr(o,n),o},object:Jr},utils:{toNode:function(e){return Sr(e).statements[0]},toString:_r}},eo=e=>{switch(e){case"angular":return"AngularHttpRequest";case"axios":return"AxiosHttpRequest";case"fetch":return"FetchHttpRequest";case"node":return"NodeHttpRequest";case"xhr":return"XHRHttpRequest"}},to=e=>"string"==typeof e?`'${e.replace(/'/g,"\\'")}'`:e,no=e=>{const t=_e();return t?.useOptions?e.isRequired?"":"?":e.isRequired||(e=>{if(void 0!==e.default)return JSON.stringify(e.default,null,4)})(e)?"":"?"},ro=e=>{const t=_e(),n=`$OpenApiTs['${e.path}']['${e.method.toLocaleLowerCase()}']['req']`;if(!e.parameters.length)return[];if(t.useOptions){return[{default:e.parameters.every((e=>!e.isRequired))?{}:void 0,name:"data",type:n}]}return e.parameters.map((e=>{const t=`${n}['${e.name}']`;return{default:e?.default,isRequired:""===no(e),name:e.name,type:t}}))},oo=e=>{const t=_e(),n=`$OpenApiTs['${e.path}']['${e.method.toLocaleLowerCase()}']['res']`,r=e.results.filter((e=>e.code>=200&&e.code<300));let o=Zr.typedef.basic("void");if(r.length){const e=r.map((e=>`${n}[${String(e.code)}]`));o=Zr.typedef.union(e)}return t.useOptions&&"response"===t.serviceResponse&&(o=Zr.typedef.basic("ApiResult",[o])),o="angular"===t.client?Zr.typedef.basic("Observable",[o]):Zr.typedef.basic("CancelablePromise",[o]),o},so=e=>{let t=[];!_e().useOptions&&e.parameters.length&&(t=e.parameters.map((e=>`@param ${e.name} ${e.description?ke(e.description):""}`)));return[e.deprecated&&"@deprecated",e.summary&&ke(e.summary),e.description&&ke(e.description),...t,...e.results.map((e=>`@returns ${e.type} ${e.description?ke(e.description):""}`)),"@throws ApiError"]},ao=e=>{const t=_e(),n=[];t.useOptions&&e.parameters.length&&n.push(Zr.utils.toNode((e=>{if(!_e().useOptions||!e.parameters.length)return"";const t={};e.parameters.forEach((e=>{t[e.name]=e.name}));const n=Zr.types.object({identifiers:Object.keys(t),obj:t,shorthand:!0});return`const ${Zr.utils.toString(n)} = data;`})(e)));const r=Zr.utils.toString((e=>{const t=e=>e.reduce(((e,t)=>{const n=t.prop,r=t.name;return n===r?e[n]=n:qe(n)===n?e[n]=r:e[`'${n}'`]=r,e}),{}),n={method:e.method,url:e.path};if(e.parametersPath.length&&(n.path=t(e.parametersPath)),e.parametersCookie.length&&(n.cookies=t(e.parametersCookie)),e.parametersHeader.length&&(n.headers=t(e.parametersHeader)),e.parametersQuery.length&&(n.query=t(e.parametersQuery)),e.parametersForm.length&&(n.formData=t(e.parametersForm)),e.parametersBody&&("formData"===e.parametersBody.in&&(n.formData=e.parametersBody.name),"body"===e.parametersBody.in&&(n.body=e.parametersBody.name)),e.parametersBody?.mediaType&&(n.mediaType=e.parametersBody?.mediaType),e.responseHeader&&(n.responseHeader=e.responseHeader),e.errors.length){const t={};e.errors.forEach((e=>{t[e.code]=e.description.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\${/g,"\\${")})),n.errors=t}return Zr.types.object({identifiers:["body","headers","formData","cookies","path","query"],obj:n,shorthand:!0})})(e));return t.name?n.push(Zr.class.return({args:[r],name:"this.httpRequest.request"})):"angular"===t.client?n.push(Zr.class.return({args:["OpenAPI","this.http",r],name:"__request"})):n.push(Zr.class.return({args:["OpenAPI",r],name:"__request"})),n},io=e=>{const t=_e(),n=e.operations.map((e=>Zr.class.method({accessLevel:"public",comment:so(e),isStatic:void 0===t.name&&"angular"!==t.client,name:e.name,parameters:ro(e),returnType:oo(e),statements:ao(e)})));return t.name?n.unshift(Zr.class.constructor({parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]})):"angular"===t.client&&n.unshift(Zr.class.constructor({parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]})),Zr.class.create({decorator:"angular"===t.client?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:n,name:`${e.name}${t.postfixServices}`})},lo=e=>{const t=_e();return"binary"===e.base?Zr.typedef.union(["Blob","File"]):t.useDateType&&"date-time"===e.format?Zr.typedef.basic("Date"):Zr.typedef.basic(e.base)},po=e=>{switch(e.export){case"all-of":return(e=>{const t=e.properties.map((e=>Zr.utils.toString(po(e)))).filter(Re);return Zr.typedef.intersect(t,e.isNullable)})(e);case"any-of":case"one-of":return(e=>{const t=e.properties.map((e=>Zr.utils.toString(po(e)))).filter(Re);return Zr.typedef.union(t,e.isNullable)})(e);case"array":return(e=>{if("array"===e.export&&e.link&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){const t=Array(e.maxItems).fill(po(e.link));return Zr.typedef.tuple(t,e.isNullable)}return e.link?Zr.typedef.array([po(e.link)],e.isNullable):Zr.typedef.array([lo(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link?po(e.link):lo(e);return Zr.typedef.record(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>to(e.value)));return Zr.typedef.union(t,e.isNullable)})(e);case"interface":return(e=>{if(!e.properties.length)return Zr.typedef.basic("unknown");const t=e.properties.map((e=>{let t=no(e),n=po(e);return"[key: string]"===e.name&&t&&(t="",n=Zr.typedef.union([n,"undefined"])),{comment:[e.description&&ke(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:e.name,type:n}}));return Zr.typedef.interface(t,e.isNullable)})(e);default:return(e=>Zr.typedef.union([lo(e)],e.isNullable))(e)}},uo={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},co=(e,t,n,r=!1)=>{const o=_e(),s={},a={};t.enum.forEach((e=>{const t=((e,t)=>{if(t)return t;if("number"==typeof e)return`'_${e}'`;let n="";return"string"==typeof e&&(n=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_").replace(/^([^$_\p{ID_Start}])/u,"_$1").replace(/(\p{Lowercase})(\p{Uppercase}+)/gu,"$1_$2")),n=n.trim(),n||(n="empty_string"),n.toUpperCase()})(e.value,e.customName),n=to(e.value);s[t]=n;const r=e.customDescription||e.description;r&&(a[t]=[ke(r)])}));const i=((e,t)=>{if(!t)return null;const n=Ae(t).replace(/[-_]([a-z])/gi,((e,t)=>t.toLocaleUpperCase())),r=`${n.charAt(0).toLocaleUpperCase()+n.slice(1)}Enum`;return e.enumNames.includes(r)?null:(e.enumNames=[...e.enumNames,r],r)})(e,t.name);if(null===i)return;const l=[t.description&&ke(t.description),t.deprecated&&"@deprecated"];if(r){n(Zr.typedef.alias(de(t.name),t.enum.map((e=>to(e.value))).filter(Re).join(" | "),l))}if("typescript"===o.enums){n(Zr.types.enum({comments:a,leadingComment:l,name:i,obj:s}),"enum")}if("javascript"===o.enums){const e=Zr.types.object({comments:a,multiLine:!0,obj:s,unescape:!0}),t=Zr.export.asConst(i,e);Fr(t,l),n(t,"enum")}},mo=(e,t,n)=>{const r=[t.description&&ke(t.description),t.deprecated&&"@deprecated"];var o;n(Zr.typedef.alias((o=t.name,"PascalCase"===_e().types.name?me(o,{pascalCase:!0}):o),po(t),r))},fo=(e,t,n)=>{switch(t.export){case"all-of":case"any-of":case"one-of":case"interface":return((e,t,n)=>{mo(e,t,n),t.enums.forEach((t=>co(e,t,n)))})(e,t,n);case"enum":return co(e,t,n,!0);default:return mo(e,t,n)}},ho=async({client:e,files:t})=>{for(const n of e.models)fo(e,n,((e,n)=>{"enum"===n?t.enums?.add(e):t.types?.add(e)}));t.services&&e.services.length&&((e,t)=>{const n=new Map;e.forEach((e=>{e.operations.forEach((e=>{const t=e.parameters.length,r=e.results.length;if(t||r){let o=n.get(e.path);o||(n.set(e.path,new Map),o=n.get(e.path));let s=o.get(e.method);if(s||(o.set(e.method,new Map),s=o.get(e.method)),t&&s.set("req",Ar([...e.parameters])),r){let t=s.get("res");if(t||(s.set("res",new Map),t=s.get("res")),Array.isArray(t))return;e.results.forEach((e=>{t.set(e.code,e)}))}}}))}));const r=Array.from(n).map((([e,t])=>{const n=Array.from(t).map((([e,t])=>{const n=Array.from(t).map((([e,t])=>{const n=Array.isArray(t)?t:Array.from(t).map((([e,t])=>({...uo,...t,isRequired:!0,name:String(e)})));return{...uo,export:"interface",isRequired:!0,name:e,properties:n}}));return{...uo,export:"interface",isRequired:!0,name:e.toLocaleLowerCase(),properties:n}}));return{...uo,export:"interface",isRequired:!0,name:`'${e}'`,properties:n}})),o=po({...uo,export:"interface",properties:r});t(Zr.typedef.alias("$OpenApiTs",o))})(e.services,(e=>{t.types?.add(e)}))},yo=async(n,r,o)=>{const s=_e();if("string"==typeof s.exportServices){const e=new RegExp(s.exportServices);r.services=r.services.filter((t=>e.test(t.name)))}if(s.types.include){const e=new RegExp(s.types.include);r.models=r.models.filter((t=>e.test(t.name)))}const a=t.resolve(s.output);e.existsSync(a)||e.mkdirSync(a,{recursive:!0});const i={index:new Yr({dir:s.output,name:"index.ts"})};s.enums&&(i.enums=new Yr({dir:s.output,name:"enums.ts"})),s.schemas&&(i.schemas=new Yr({dir:s.output,name:"schemas.ts"})),s.exportServices&&(i.services=new Yr({dir:s.output,name:"services.ts"})),s.types.export&&(i.types=new Yr({dir:s.output,name:"types.ts"})),await(async({file:e,openApi:t})=>{if(!e)return;const n=(t,n)=>{const r=`$${de(t)}`,o=Zr.types.object({obj:n}),s=Zr.export.asConst(r,o);e.add(s)};if("swagger"in t)for(const e in t.definitions)t.definitions.hasOwnProperty(e)&&n(e,t.definitions[e]);if("openapi"in t&&t.components){for(const e in t.components.schemas)t.components.schemas.hasOwnProperty(e)&&n(e,t.components.schemas[e]);for(const e in t.components.parameters)t.components.parameters.hasOwnProperty(e)&&n(e,t.components.parameters[e])}})({file:i.schemas,openApi:n}),await ho({client:r,files:i}),await(async({client:e,files:t})=>{const n=t.services;if(!n)return;const r=_e();let o=[];for(const t of e.services){n.add(io(t));const e="$OpenApiTs";o=[...o,e]}if("angular"===r.client?(n.addNamedImport("Injectable","@angular/core"),void 0===r.name&&n.addNamedImport("HttpClient","@angular/common/http"),n.addNamedImport({isTypeOnly:!0,name:"Observable"},"rxjs")):n.addNamedImport({isTypeOnly:!0,name:"CancelablePromise"},"./core/CancelablePromise"),"response"===r.serviceResponse&&n.addNamedImport({isTypeOnly:!0,name:"ApiResult"},"./core/ApiResult"),r.name?n.addNamedImport({isTypeOnly:"angular"!==r.client,name:"BaseHttpRequest"},"./core/BaseHttpRequest"):(n.addNamedImport("OpenAPI","./core/OpenAPI"),n.addNamedImport({alias:"__request",name:"request"},"./core/request")),t.types&&!t.types.isEmpty()){const e=o.filter(Re).map((e=>({isTypeOnly:!0,name:e})));n.addNamedImport(e,`./${t.types.getName(!1)}`)}})({client:r,files:i}),await(async(n,r,o,s)=>{const a=_e(),i=s.client({$config:a,...o,httpRequest:eo(a.client),models:Ar(o.models),services:Ar(o.services)});a.name&&await e.writeFileSync(t.resolve(r,`${a.name}.ts`),i)})(0,a,r,o),await(async(n,r,o,s)=>{const a=_e(),i={httpRequest:eo(a.client),server:void 0!==a.base?a.base:o.server,version:o.version};if(e.rmSync(t.resolve(r),{force:!0,recursive:!0}),e.mkdirSync(t.resolve(r),{recursive:!0}),a.exportCore&&(await e.writeFileSync(t.resolve(r,"OpenAPI.ts"),s.core.settings({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiError.ts"),s.core.apiError({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiRequestOptions.ts"),s.core.apiRequestOptions({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiResult.ts"),s.core.apiResult({$config:a,...i})),"angular"!==a.client&&await e.writeFileSync(t.resolve(r,"CancelablePromise.ts"),s.core.cancelablePromise({$config:a,...i})),await e.writeFileSync(t.resolve(r,"request.ts"),s.core.request({$config:a,...i})),a.name&&(await e.writeFileSync(t.resolve(r,"BaseHttpRequest.ts"),s.core.baseHttpRequest({$config:a,...i})),await e.writeFileSync(t.resolve(r,`${i.httpRequest}.ts`),s.core.httpRequest({$config:a,...i}))),a.request)){const n=t.resolve(process.cwd(),a.request);if(!await e.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await e.copyFileSync(n,t.resolve(r,"request.ts"))}})(0,t.resolve(s.output,"core"),r,o),await(async({files:e})=>{const t=_e();t.name&&e.index.add(Zr.export.named([t.name],`./${t.name}`)),t.exportCore&&(e.index.add(Zr.export.named("ApiError","./core/ApiError")),"response"===t.serviceResponse&&e.index.add(Zr.export.named({isTypeOnly:!0,name:"ApiResult"},"./core/ApiResult")),t.name&&e.index.add(Zr.export.named("BaseHttpRequest","./core/BaseHttpRequest")),"angular"!==t.client&&e.index.add(Zr.export.named(["CancelablePromise","CancelError"],"./core/CancelablePromise")),e.index.add(Zr.export.named(["OpenAPI",{isTypeOnly:!0,name:"OpenAPIConfig"}],"./core/OpenAPI"))),e.enums&&!e.enums.isEmpty()&&e.index.add(Zr.export.all(`./${e.enums.getName(!1)}`)),e.schemas&&!e.schemas.isEmpty()&&e.index.add(Zr.export.all(`./${e.schemas.getName(!1)}`)),e.services&&!e.services.isEmpty()&&e.index.add(Zr.export.all(`./${e.services.getName(!1)}`)),e.types&&!e.types.isEmpty()&&e.index.add(Zr.export.all(`./${e.types.getName(!1)}`))})({files:i}),i.enums?.write("\n\n"),i.schemas?.write("\n\n"),i.services?.write("\n\n"),i.types?.write("\n\n"),i.index.write()},go={angular:["@angular/common","@angular/core","rxjs"],axios:["axios"],fetch:[],node:["node-fetch"],xhr:[]},vo=async(e,r)=>{const{config:o}=await n.loadConfig({jitiOptions:{esmResolve:!0},name:"openapi-ts",overrides:e});o&&(e={...o,...e});const{base:s,debug:a=!1,dryRun:i=!1,enums:l=!1,exportCore:p=!0,exportServices:u=!0,format:c=!0,input:m,lint:d=!1,name:f,operationId:h=!0,postfixServices:y="Service",request:g,schemas:v=!0,serviceResponse:x="body",useDateType:b=!1,useOptions:R=!0}=e;if(a&&console.warn("userConfig:",e),!m)throw new Error("🚫 input not provided - provide path to OpenAPI specification");if(!e.output)throw new Error("🚫 output not provided - provide path where we should generate your client");y&&"Service"!==y&&console.warn("⚠️ Deprecation warning: postfixServices. This setting will be removed in future versions. Please create an issue wih your use case if you need this option https://github.com/hey-api/openapi-ts/issues"),R||console.warn("⚠️ Deprecation warning: useOptions set to false. This setting will be removed in future versions. Please migrate useOptions to true https://heyapi.vercel.app/openapi-ts/migrating.html#v0-27-38");const P=e.client||(e=>Object.keys(e).some((e=>e.startsWith("@angular")))?"angular":e.axios?"axios":e["node-fetch"]?"node":"fetch")(r),O=t.resolve(process.cwd(),e.output),w=(e=>{let t={export:!0,name:"preserve"};return"boolean"==typeof e.types?t.export=e.types:"string"==typeof e.types?t.include=e.types:t={...t,...e.types},t})(e);return He={base:s,client:P,debug:a,dryRun:i,enums:l,exportCore:p,exportServices:u,format:c,input:m,lint:d,name:f,operationId:h,output:O,postfixServices:y,request:g,schemas:v,serviceResponse:x,types:w,useDateType:b,useOptions:R},_e()};exports.createClient=async function(n){const r=JSON.parse(e.readFileSync(t.resolve(process.cwd(),"package.json")).toString()),o=[r.dependencies,r.devDependencies].reduce(((e,t)=>({...e,...t})),{});if(!o.typescript)throw new Error("🚫 dependency missing - TypeScript must be installed");const s=await vo(n,o),a="string"==typeof s.input?await(async n=>{const r=e.existsSync(n)?t.resolve(n):n;return await i.bundle(r,r,{})})(s.input):s.input,l=kr(function(e){if("openapi"in e)return ut(e);if("swagger"in e)return Qe(e);throw new Error(`Unsupported Open API specification: ${JSON.stringify(e,null,2)}`)}(a)),p=(()=>{wr();const e={client:Sn.template(Hn),core:{apiError:Sn.template(Bn),apiRequestOptions:Sn.template(Fn),apiResult:Sn.template(Un),baseHttpRequest:Sn.template(Gn),cancelablePromise:Sn.template(Xn),httpRequest:Sn.template(hr),request:Sn.template(gr),settings:Sn.template(yr)}};return Sn.registerPartial("functions/base64",Sn.template(or)),Sn.registerPartial("functions/catchErrorCodes",Sn.template(sr)),Sn.registerPartial("functions/getFormData",Sn.template(ar)),Sn.registerPartial("functions/getQueryString",Sn.template(ir)),Sn.registerPartial("functions/getUrl",Sn.template(lr)),Sn.registerPartial("functions/isBlob",Sn.template(pr)),Sn.registerPartial("functions/isFormData",Sn.template(ur)),Sn.registerPartial("functions/isString",Sn.template(cr)),Sn.registerPartial("functions/isStringWithValue",Sn.template(mr)),Sn.registerPartial("functions/isSuccess",Sn.template(dr)),Sn.registerPartial("functions/resolve",Sn.template(fr)),Sn.registerPartial("fetch/getHeaders",Sn.template(Yn)),Sn.registerPartial("fetch/getRequestBody",Sn.template(Zn)),Sn.registerPartial("fetch/getResponseBody",Sn.template(er)),Sn.registerPartial("fetch/getResponseHeader",Sn.template(tr)),Sn.registerPartial("fetch/request",Sn.template(nr)),Sn.registerPartial("fetch/sendRequest",Sn.template(rr)),Sn.registerPartial("xhr/getHeaders",Sn.template(vr)),Sn.registerPartial("xhr/getRequestBody",Sn.template(xr)),Sn.registerPartial("xhr/getResponseBody",Sn.template(br)),Sn.registerPartial("xhr/getResponseHeader",Sn.template(Rr)),Sn.registerPartial("xhr/request",Sn.template(Pr)),Sn.registerPartial("xhr/sendRequest",Sn.template(Or)),Sn.registerPartial("axios/getHeaders",Sn.template(Wn)),Sn.registerPartial("axios/getRequestBody",Sn.template(Vn)),Sn.registerPartial("axios/getResponseBody",Sn.template(Kn)),Sn.registerPartial("axios/getResponseHeader",Sn.template(Qn)),Sn.registerPartial("axios/request",Sn.template(Jn)),Sn.registerPartial("axios/sendRequest",Sn.template(zn)),Sn.registerPartial("angular/getHeaders",Sn.template(_n)),Sn.registerPartial("angular/getRequestBody",Sn.template(Dn)),Sn.registerPartial("angular/getResponseBody",Sn.template(Nn)),Sn.registerPartial("angular/getResponseHeader",Sn.template(jn)),Sn.registerPartial("angular/request",Sn.template(Mn)),Sn.registerPartial("angular/sendRequest",Sn.template(Ln)),e})();return s.dryRun||((()=>{const{client:e}=_e();switch(e){case"angular":return console.log("✨ Creating Angular client");case"axios":return console.log("✨ Creating Axios client");case"fetch":return console.log("✨ Creating Fetch client");case"node":return console.log("✨ Creating Node.js client");case"xhr":console.log("✨ Creating XHR client")}})(),(e=>{const{client:t}=_e(),n=go[t].filter((t=>void 0===e[t]));n.length>0&&console.log("⚠️ Dependencies used in generated client are missing: "+n.join(" "))})(o),await yo(a,l,p),(e=>{const t=_e();t.format&&e.prettier&&(console.log("✨ Running Prettier"),re("prettier",["--ignore-unknown",t.output,"--write","--ignore-path","./.prettierignore"])),t.lint&&e.eslint&&(console.log("✨ Running ESLint"),re("eslint",[t.output,"--fix"]))})(o)),console.log("✨ Done! Your client is located in:",s.output),l},exports.defineConfig=function(e){return e};
1
+ "use strict";var e=require("node:fs"),t=require("node:path"),n=require("c12"),r=require("child_process"),o=require("path"),s=require("fs"),a=require("os"),i=require("@apidevtools/json-schema-ref-parser"),l=require("typescript"),p="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var c,m,d,f,h,y={exports:{}};h="win32"===process.platform||p.TESTING_WINDOWS?function(){if(m)return c;m=1,c=n,n.sync=function(n,r){return t(e.statSync(n),n,r)};var e=s;function t(e,t,n){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var n=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!n)return!0;if(-1!==(n=n.split(";")).indexOf(""))return!0;for(var r=0;r<n.length;r++){var o=n[r].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}(t,n)}function n(n,r,o){e.stat(n,(function(e,s){o(e,!e&&t(s,n,r))}))}return c}():function(){if(f)return d;f=1,d=t,t.sync=function(t,r){return n(e.statSync(t),r)};var e=s;function t(t,r,o){e.stat(t,(function(e,t){o(e,!e&&n(t,r))}))}function n(e,t){return e.isFile()&&function(e,t){var n=e.mode,r=e.uid,o=e.gid,s=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),a=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),i=parseInt("100",8),l=parseInt("010",8);return n&parseInt("001",8)||n&l&&o===a||n&i&&r===s||n&(i|l)&&0===s}(e,t)}return d}();var g=v;function v(e,t,n){if("function"==typeof t&&(n=t,t={}),!n){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(n,r){v(e,t||{},(function(e,t){e?r(e):n(t)}))}))}h(e,t||{},(function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),n(e,r)}))}v.sync=function(e,t){try{return h.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const x="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,b=o,R=x?";":":",P=g,O=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),w=(e,t)=>{const n=t.colon||R,r=e.match(/\//)||x&&e.match(/\\/)?[""]:[...x?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=x?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=x?o.split(n):[""];return x&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},q=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});const{pathEnv:r,pathExt:o,pathExtExe:s}=w(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(O(e));const i=r[n],p=/^".*"$/.test(i)?i.slice(1,-1):i,u=b.join(p,e),c=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;o(l(c,n,0))})),l=(e,n,r)=>new Promise(((p,u)=>{if(r===o.length)return p(i(n+1));const c=o[r];P(e+c,{pathExt:s},((o,s)=>{if(!o&&s){if(!t.all)return p(e+c);a.push(e+c)}return p(l(e,n,r+1))}))}));return n?i(0).then((e=>n(null,e)),n):i(0)};var A=q;q.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=w(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],l=/^".*"$/.test(i)?i.slice(1,-1):i,p=b.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;for(let e=0;e<r.length;e++){const n=u+r[e];try{if(P.sync(n,{pathExt:o})){if(!t.all)return n;s.push(n)}}catch(e){}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw O(e)};var k={exports:{}};const C=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find((e=>"PATH"===e.toUpperCase()))||"Path"};k.exports=C,k.exports.default=C;var E=k.exports;const T=o,$=A,I=E;function S(e,t){const n=e.options.env||process.env,r=process.cwd(),o=null!=e.options.cwd,s=o&&void 0!==process.chdir&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch(e){}let a;try{a=$.sync(e.command,{path:n[I({env:n})],pathExt:t?T.delimiter:void 0})}catch(e){}finally{s&&process.chdir(r)}return a&&(a=T.resolve(o?e.options.cwd:"",a)),a}var H=function(e){return S(e)||S(e,!0)},_={};const D=/([()\][%!^"`<>&|;, *?])/g;_.command=function(e){return e=e.replace(D,"^$1")},_.argument=function(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(D,"^$1"),t&&(e=e.replace(D,"^$1")),e};const N=/^#!(.*)/;const j=s,M=(e="")=>{const t=e.match(N);if(!t)return null;const[n,r]=t[0].replace(/#! ?/,"").split(" "),o=n.split("/").pop();return"env"===o?r:r?`${o} ${r}`:o};const L=o,B=H,F=_,U=function(e){const t=Buffer.alloc(150);let n;try{n=j.openSync(e,"r"),j.readSync(n,t,0,150,0),j.closeSync(n)}catch(e){}return M(t.toString())},W="win32"===process.platform,V=/\.(?:com|exe)$/i,K=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q(e){if(!W)return e;const t=function(e){e.file=B(e);const t=e.file&&U(e.file);return t?(e.args.unshift(e.file),e.command=t,B(e)):e.file}(e),n=!V.test(t);if(e.options.forceShell||n){const n=K.test(t);e.command=L.normalize(e.command),e.command=F.command(e.command),e.args=e.args.map((e=>F.argument(e,n)));const r=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${r}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}var J=function(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null);const r={command:e,args:t=t?t.slice(0):[],options:n=Object.assign({},n),file:void 0,original:{command:e,args:t}};return n.shell?r:Q(r)};const z="win32"===process.platform;function G(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function X(e,t){return z&&1===e&&!t.file?G(t.original,"spawn"):null}var Y={hookChildProcess:function(e,t){if(!z)return;const n=e.emit;e.emit=function(r,o){if("exit"===r){const r=X(o,t);if(r)return n.call(e,"error",r)}return n.apply(e,arguments)}},verifyENOENT:X,verifyENOENTSync:function(e,t){return z&&1===e&&!t.file?G(t.original,"spawnSync"):null},notFoundError:G};const Z=r,ee=J,te=Y;function ne(e,t,n){const r=ee(e,t,n),o=Z.spawn(r.command,r.args,r.options);return te.hookChildProcess(o,r),o}y.exports=ne,y.exports.spawn=ne;var re=y.exports.sync=function(e,t,n){const r=ee(e,t,n),o=Z.spawnSync(r.command,r.args,r.options);return o.error=o.error||te.verifyENOENTSync(o.status,r),o};y.exports._parse=ee,y.exports._enoent=te;const oe=/[\p{Lu}]/u,se=/[\p{Ll}]/u,ae=/^[\p{Lu}](?![\p{Lu}])/gu,ie=/([\p{Alpha}\p{N}_]|$)/u,le=/[_.\- ]+/,pe=new RegExp("^"+le.source),ue=new RegExp(le.source+ie.source,"gu"),ce=new RegExp("\\d+"+ie.source,"gu");function me(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";const n=!1===t.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),r=!1===t.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);if(1===e.length)return le.test(e)?"":t.pascalCase?r(e):n(e);return e!==n(e)&&(e=((e,t,n,r)=>{let o=!1,s=!1,a=!1,i=!1;for(let l=0;l<e.length;l++){const p=e[l];i=!(l>2)||"-"===e[l-3],o&&oe.test(p)?(e=e.slice(0,l)+"-"+e.slice(l),o=!1,a=s,s=!0,l++):s&&a&&se.test(p)&&(!i||r)?(e=e.slice(0,l-1)+"-"+e.slice(l-1),a=s,s=!1,o=!0):(o=t(p)===p&&n(p)!==p,a=s,s=n(p)===p&&t(p)!==p)}return e})(e,n,r,t.preserveConsecutiveUppercase)),e=e.replace(pe,""),e=t.preserveConsecutiveUppercase?((e,t)=>(ae.lastIndex=0,e.replaceAll(ae,(e=>t(e)))))(e,n):n(e),t.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),((e,t)=>(ue.lastIndex=0,ce.lastIndex=0,e.replaceAll(ce,((n,r,o)=>["_","-"].includes(e.charAt(o+n.length))?n:t(n))).replaceAll(ue,((e,n)=>t(n)))))(e,r)}const de=e=>e.replace(/^[^$_\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"),fe=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-");function he(e="1.0"){return String(e).replace(/^v/gi,"")}const ye=e=>me(fe(e).trim(),{pascalCase:!0}),ge=/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,ve=e=>e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"").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\//,""),xe=(e,t)=>{if("binary"===t)return"binary";switch(e){case"any":case"object":return"unknown";case"array":return"unknown[]";case"boolean":return"boolean";case"byte":case"double":case"float":case"int":case"integer":case"long":case"number":case"short":return"number";case"char":case"date":case"date-time":case"password":case"string":return"string";case"file":return"binary";case"null":return"null";case"void":return"void"}},be=(e="unknown",t)=>{const n={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(e)){const r=e.filter((e=>"null"!==e)).map((e=>xe(e,t))).filter(Boolean).join(" | ");return n.type=r,n.base=r,n.isNullable=e.includes("null"),n}const r=xe(e,t);if(r)return n.type=r,n.base=r,n;const o=decodeURIComponent(ve(e));if(/\[.*\]$/g.test(o)){const e=o.match(/(.*?)\[(.*)\]$/);if(e?.length){const t=be(de(e[1])),r=be(de(e[2]));return"unknown[]"===t.type?(n.type=`${r.type}[]`,n.base=`${r.type}`,t.$refs=[],t.imports=[]):r.type?(n.type=`${t.type}<${r.type}>`,n.base=t.type,n.template=r.type):(n.type=t.type,n.base=t.type,n.template=t.type),n.$refs=[...n.$refs,...t.$refs,...r.$refs],n.imports=[...n.imports,...t.imports,...r.imports],n}}if(o){const t=de(o);return n.type=t,n.base=t,e.startsWith("#")&&(n.$refs=[...n.$refs,e]),n.imports=[...n.imports,t],n}return n};function Re(e,t,n){return n.indexOf(e)===t}const Pe=(e,t)=>{if(!Array.isArray(t))return[];const n=(e["x-enum-descriptions"]??[]).filter((e=>"string"==typeof e)),r=(e["x-enum-varnames"]??e["x-enumNames"]??[]).filter((e=>"string"==typeof e));return t.filter(Re).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},Oe=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),we=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,qe=e=>{if(e||""===e){if(!we.test(e))return`'${e}'`}return e},Ae=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,ke=(e,t=!0)=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,n)=>t?`${a.EOL} * ${n.trim()}`:a.EOL+n.trim())),Ce=(e,t,n)=>{const r=[];for(const o in t.properties)if(t.properties.hasOwnProperty(o)){const s=t.properties[o],a=!!t.required?.includes(o);if(s.$ref){const e=be(s.$ref);r.push({$refs:[],base:e.base,description:s.description||null,enum:[],enums:[],exclusiveMaximum:s.exclusiveMaximum,exclusiveMinimum:s.exclusiveMinimum,export:"reference",format:s.format,imports:e.imports,isDefinition:!1,isNullable:!0===s["x-nullable"],isReadOnly:!0===s.readOnly,isRequired:a,link:null,maxItems:s.maxItems,maxLength:s.maxLength,maxProperties:s.maxProperties,maximum:s.maximum,minItems:s.minItems,minLength:s.minLength,minProperties:s.minProperties,minimum:s.minimum,multipleOf:s.multipleOf,name:qe(o),pattern:Oe(s.pattern),properties:[],template:e.template,type:e.type,uniqueItems:s.uniqueItems})}else{const t=n(e,s);r.push({$refs:[],base:t.base,description:s.description||null,enum:t.enum,enums:t.enums,exclusiveMaximum:s.exclusiveMaximum,exclusiveMinimum:s.exclusiveMinimum,export:t.export,format:s.format,imports:t.imports,isDefinition:!1,isNullable:!0===s["x-nullable"],isReadOnly:!0===s.readOnly,isRequired:a,link:t.link,maxItems:s.maxItems,maxLength:s.maxLength,maxProperties:s.maxProperties,maximum:s.maximum,minItems:s.minItems,minLength:s.minLength,minProperties:s.minProperties,minimum:s.minimum,multipleOf:s.multipleOf,name:qe(o),pattern:Oe(s.pattern),properties:t.properties,template:t.template,type:t.type,uniqueItems:s.uniqueItems})}}return r},Ee=/~1/g,Te=/~0/g;function $e(e,t){if(t.$ref){const n=t.$ref.replace(/^#/g,"").split("/").filter((e=>e));let r=e;return n.forEach((e=>{const n=decodeURIComponent(e.replace(Ee,"/").replace(Te,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const Ie=(e,t,n,r,o)=>{const s={$refs:[],enums:[],export:r,imports:[],properties:[]},a=[];if(n.map((t=>o(e,t))).filter((e=>{const t=e.properties.length,n=e.enums.length;return!("unknown"===e.type&&!t&&!n)})).forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums),s.properties.push(e)})),t.required){const r=((e,t,n,r)=>n.reduce(((t,n)=>{if(n.$ref){const o=$e(e,n);return[...t,...r(e,o).properties]}return[...t,...r(e,n).properties]}),[]).filter((e=>!e.isRequired&&t.includes(e.name))).map((e=>({...e,isRequired:!0}))))(e,t.required,n,o);r.forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums)})),a.push(...r)}if(t.properties){const n=Ce(e,t,o);n.forEach((e=>{s.imports.push(...e.imports),s.enums.push(...e.enums),"enum"===e.export&&s.enums.push(e)})),a.push(...n)}return a.length&&s.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:a,template:null,type:"unknown"}),s},Se=(e,t,n=!1,r="")=>{const o={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],isDefinition:n,isNullable:!0===t["x-nullable"],isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:r,pattern:Oe(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}if(t.enum&&"boolean"!==t.type){const e=Pe(t,t.enum);if(e.length)return o.base="string",o.enum=[...o.enum,...e],o.export="enum",o.type="string",o}if("array"===t.type&&t.items){if(t.items.$ref){const e=be(t.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 n=Se(e,t.items);return o.export="array",o.type=n.type,o.base=n.base,o.template=n.template,o.link=n,o.imports.push(...n.imports),o}}if("object"===t.type&&"object"==typeof t.additionalProperties){if(t.additionalProperties.$ref){const e=be(t.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 n=Se(e,t.additionalProperties);return o.export="dictionary",o.type=n.type,o.base=n.base,o.template=n.template,o.link=n,o.imports.push(...n.imports),o}}if(t.allOf?.length){const n=Ie(e,t,t.allOf,"all-of",Se);return o.export=n.export,o.imports.push(...n.imports),o.properties.push(...n.properties),o.enums=[...o.enums,...n.enums],o}if("object"===t.type){if(o.export="interface",o.type="unknown",o.base="unknown",t.properties){Ce(e,t,Se).forEach((e=>{o.imports.push(...e.imports),o.enums=[...o.enums,...e.enums],o.properties.push(e),"enum"===e.export&&(o.enums=[...o.enums,e])}))}return o}if(t.type){const e=be(t.type,t.format);return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}return o};let He;const _e=()=>He,De=(e,t,n)=>{if(_e().operationId&&n)return me(fe(n).trim());return me(`${t}-${e.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"by-$1").replace(/\//g,"-")}`)},Ne=e=>me((e=>{const t=e.replace("[]","Array");return fe(t)})(e).trim()).replace(ge,"_$1"),je=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Me=e=>{if("default"===e)return 200;if(/[0-9]+/g.test(e)){const t=parseInt(e);if(Number.isInteger(t))return Math.abs(t)}return null},Le=e=>e.filter((e=>e.code>=300&&e.description)).map((e=>({code:e.code,description:e.description})));function Be(e){return e.sort(((e,t)=>{const n=e.isRequired&&void 0===e.default,r=t.isRequired&&void 0===t.default;return n&&!r?-1:r&&!n?1:0}))}const Fe=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(e.type||typeof e.default){case"int":case"integer":case"number":if("enum"===t?.export&&t.enum?.[e.default]){const{value:n}=t.enum[e.default];return n}return e.default;case"string":case"array":case"boolean":case"object":return e.default}},Ue=(e,t)=>{const n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const r=$e(e,t),o=((e,t)=>{const n={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:t.in,isDefinition:!1,isNullable:!0===t["x-nullable"],isReadOnly:!1,isRequired:!0===t.required,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maximum:t.maximum,mediaType:null,minItems:t.minItems,minLength:t.minLength,minimum:t.minimum,multipleOf:t.multipleOf,name:Ne(t.name),pattern:Oe(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}if(t.enum){const e=Pe(t,t.enum);if(e.length)return n.base="string",n.enum.push(...e),n.export="enum",n.type="string",n.default=Fe(t,n),n}if("array"===t.type&&t.items){const e=be(t.items.type,t.items.format);return n.export="array",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}if("object"===t.type&&t.items){const e=be(t.items.type,t.items.format);return n.export="dictionary",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}let r=t.schema;if(r){if(r.$ref?.startsWith("#/parameters/")&&(r=$e(e,r)),r.$ref){const e=be(r.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}{const o=Se(e,r);return n.export=o.export,n.type=o.type,n.base=o.base,n.template=o.template,n.link=o.link,n.imports.push(...o.imports),n.enum.push(...o.enum),n.enums.push(...o.enums),n.properties.push(...o.properties),n.default=Fe(t,n),n}}if(t.type){const e=be(t.type,t.format);return n.export="generic",n.type=e.type,n.base=e.base,n.template=e.template,n.imports.push(...e.imports),n.default=Fe(t,n),n}return n})(e,r);if("api-version"!==o.prop)switch(o.in){case"path":n.parametersPath.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"query":n.parametersQuery.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"header":n.parametersHeader.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"formData":n.parametersForm.push(o),n.parameters.push(o),n.imports.push(...o.imports);break;case"body":n.parametersBody=o,n.parameters.push(o),n.imports.push(...o.imports)}})),n},We=(e,t,n)=>{const r={$refs:[],base:204!==n?"unknown":"void",code:n,description:t.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:204!==n?"unknown":"void"};let o=t.schema;if(o){if(o.$ref?.startsWith("#/responses/")&&(o=$e(e,o)),o.$ref){const e=be(o.$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=Se(e,o);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=Oe(t.pattern),r.imports.push(...t.imports),r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}if(t.headers)for(const e in t.headers)if(t.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;return r},Ve=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?Ve(e.link,t.link):n},Ke=(e,t,n,r,o,s)=>{const a=ye(r),i=De(t,n,o.operationId),l={$refs:[],deprecated:!0===o.deprecated,description:o.description||null,errors:[],imports:[],method:n.toUpperCase(),name:i,parameters:[...s.parameters],parametersBody:s.parametersBody,parametersCookie:[...s.parametersCookie],parametersForm:[...s.parametersForm],parametersHeader:[...s.parametersHeader],parametersPath:[...s.parametersPath],parametersQuery:[...s.parametersQuery],path:t,responseHeader:null,results:[],service:a,summary:o.summary||null};if(o.parameters){const t=Ue(e,o.parameters);l.imports.push(...t.imports),l.parameters.push(...t.parameters),l.parametersPath.push(...t.parametersPath),l.parametersQuery.push(...t.parametersQuery),l.parametersForm.push(...t.parametersForm),l.parametersHeader.push(...t.parametersHeader),l.parametersCookie.push(...t.parametersCookie),l.parametersBody=t.parametersBody}if(o.responses){const t=((e,t)=>{const n=[];for(const r in t)if(t.hasOwnProperty(r)){const o=$e(e,t[r]),s=Me(r);if(s){const t=We(e,o,s);n.push(t)}}return n.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))})(e,o.responses),n=(e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&n>=200&&n<300&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>Ve(t,e)))===t))})(t);l.errors=Le(t),l.responseHeader=je(n),n.forEach((e=>{l.results.push(e),l.imports.push(...e.imports)}))}return l.parameters=Be(l.parameters),l},Qe=e=>{const t=he(e.info.version),n=(e=>{const t=e.schemes?.[0]||"http",n=e.host,r=e.basePath||"";return(n?`${t}://${n}${r}`:r).replace(/\/$/g,"")})(e),r=(e=>{const t=[];for(const n in e.definitions)if(e.definitions.hasOwnProperty(n)){const r=e.definitions[n],o=be(n),s=Se(e,r,!0,o.base.replace(ge,"_$1"));t.push(s)}return t})(e),o=(e=>{const t=new Map;for(const n in e.paths)if(e.paths.hasOwnProperty(n)){const r=e.paths[n],o=Ue(e,r.parameters||[]);for(const s in r)if(r.hasOwnProperty(s))switch(s){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":{const a=r[s];(a.tags?.length?a.tags.filter(Re):["Default"]).forEach((r=>{const i=Ke(e,n,s,r,a,o),l=t.get(i.service)||{$refs:[],imports:[],name:i.service,operations:[]};l.operations.push(i),l.imports.push(...i.imports),t.set(i.service,l)}));break}}}return Array.from(t.values())})(e);return{enumNames:[],models:r,server:n,services:o,version:t}},Je=(e,t)=>{if(e.mapping){const n=(e=>{const t={};for(const n in e)t[e[n]]=n;return t})(e.mapping),r=Object.keys(n).find((e=>ve(e)==t.name));if(r&&n[r])return n[r]}return t.name},ze=(e,t,n,r)=>{const o="object"==typeof t.additionalProperties?t.additionalProperties:{},s=n(e,o);if(o.$ref){const e=be(o.$ref);return r.base=e.base,r.default=Fe(t,r),r.export="dictionary",r.imports.push(...e.imports),r.template=e.template,r.type=e.type,r}return t.additionalProperties&&t.properties?(s.default=Fe(t,r),s.export="generic",s.isRequired=!0===t.additionalProperties,s.name="[key: string]",s):(r.base=s.base,r.default=Fe(t,r),r.export="dictionary",r.imports.push(...s.imports),r.link=s,r.template=s.template,r.type=s.type,r)},Ge=(e,t,n,r)=>{const o=[],s=((e,t)=>{if(e.components&&t)for(const n in e.components.schemas)if(e.components.schemas.hasOwnProperty(n)){const r=e.components.schemas[n];if(r.discriminator&&r.oneOf?.length&&r.oneOf.some((e=>e.$ref&&ve(e.$ref)==t.name)))return r.discriminator}})(e,r);for(const a in t.properties)if(t.properties.hasOwnProperty(a)){const i=t.properties[a],l=!!t.required?.includes(a),p={default:i.default,deprecated:!0===i.deprecated,description:i.description||null,exclusiveMaximum:i.exclusiveMaximum,exclusiveMinimum:i.exclusiveMinimum,format:i.format,isDefinition:!1,isReadOnly:!0===i.readOnly,isRequired:l,maxItems:i.maxItems,maxLength:i.maxLength,maxProperties:i.maxProperties,maximum:i.maximum,minItems:i.minItems,minLength:i.minLength,minProperties:i.minProperties,minimum:i.minimum,multipleOf:i.multipleOf,name:qe(a),pattern:Oe(i.pattern),uniqueItems:i.uniqueItems};if(r&&s?.propertyName==a)o.push({...p,$refs:[],base:`'${Je(s,r)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:!0===i.nullable,link:null,properties:[],template:null,type:"string"});else if(i.$ref){const e=be(i.$ref);o.push({...p,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||!0===i.nullable,link:null,properties:[],template:e.template,type:e.type})}else{const t=n(e,i);o.push({...p,$refs:t.$refs,base:t.base,default:t.default,enum:t.enum,enums:t.enums,export:t.export,imports:t.imports,isNullable:t.isNullable||!0===i.nullable,link:t.link,properties:t.properties,template:t.template,type:t.type})}}return o},Xe=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),Ye=({definition:e,definitions:t,getModel:n,model:r,openApi:o,type:s})=>{const a={$refs:r.$refs,enums:r.enums,export:s,imports:r.imports,properties:r.properties},i=[];if(t.map((t=>n(o,t,void 0,void 0,e))).forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums),a.properties.push(e)})),e.required){const r=((e,t,n,r)=>n.reduce(((t,n)=>{if(n.$ref){const o=$e(e,n);return[...t,...r(e,o).properties]}return[...t,...r(e,n).properties]}),[]).filter((e=>!e.isRequired&&t.includes(e.name))).map((e=>({...e,isRequired:!0}))))(o,e.required,t,n);r.forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums)})),i.push(...r)}if(e.properties){const t=Ge(o,e,n);t.forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.enums.push(...e.enums),"enum"===e.export&&a.enums.push(e)})),i.push(...t)}if(i.length){const t=Xe(e);"one-of"===t?.type?a.properties.forEach((e=>{e.properties.push(...i)})):a.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:i,template:null,type:"unknown"})}return a},Ze=(e,t,n=!1,r="",o=null)=>{const s=(e=>{if(e.enum&&"boolean"!==e.type)return"enum"})(t),a={$refs:[],base:"unknown",deprecated:Boolean(t.deprecated),description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],isDefinition:n,isNullable:!0===t.nullable,isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:r,pattern:Oe(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=be(t.$ref);return a.$refs=[...a.$refs,t.$ref],a.base=e.base,a.export="reference",a.imports=[...a.imports,...e.imports],a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}if("enum"===s){const e=Pe(t,t.enum);if(e.length)return a.base="string",a.enum=[...a.enum,...e],a.export="enum",a.type="string",a.default=Fe(t,a),a}if("array"===t.type&&t.items){if(t.items.$ref){const e=be(t.items.$ref);return a.$refs=[...a.$refs,t.items.$ref],a.base=e.base,a.export="array",a.imports=[...a.imports,...e.imports],a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}if(t.items.anyOf&&o&&o.type){const n=Xe(o);if(n&&n.definitions.some((e=>"array"!==e.type)))return Ze(e,t.items)}const n=Array.isArray(t.items)?{anyOf:t.items}:t.items,r=Ze(e,n);return a.base=r.base,a.export="array",a.$refs=[...a.$refs,...r.$refs],a.imports=[...a.imports,...r.imports],a.link=r,a.template=r.template,a.type=r.type,a.default=Fe(t,a),a}const i=Xe(t);if(i){const n=Ye({...i,definition:t,getModel:Ze,model:a,openApi:e});return{...a,...n}}if("object"===t.type||t.properties){if(t.properties){a.base="unknown",a.export="interface",a.type="unknown",a.default=Fe(t,a);if(Ge(e,t,Ze,a).forEach((e=>{a.$refs=[...a.$refs,...e.$refs],a.enums=[...a.enums,...e.enums],a.imports=[...a.imports,...e.imports],a.properties.push(e),"enum"===e.export&&(a.enums=[...a.enums,e])})),t.additionalProperties){const n=ze(e,t,Ze,a);a.properties.push(n)}return a}return ze(e,t,Ze,a)}if(void 0!==t.const){const e=t.const,n="string"==typeof e?`"${e}"`:`${e}`;return a.base=n,a.export="const",a.type=n,a}if(t.type){const e=be(t.type,t.format);return a.base=e.base,a.export="generic",a.$refs=[...a.$refs,...e.$refs],a.imports=[...a.imports,...e.imports],a.isNullable=e.isNullable||a.isNullable,a.template=e.template,a.type=e.type,a.default=Fe(t,a),a}return a},et=["cookie","formData","header","path","query"],tt=(e,t)=>{const n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const r=$e(e,t),o=((e,t)=>{const n={$refs:[],base:"unknown",deprecated:!0===t.deprecated,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:!0===t.nullable,isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,name:Ne(t.name),prop:t.name,properties:[],template:null,type:"unknown"};if(t.$ref){const e=be(t.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n}let r=t.schema;if(r){if(r.$ref?.startsWith("#/components/parameters/")&&(r=$e(e,r)),r.$ref){const e=be(r.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n.default=Fe(r),n}{const t=Ze(e,r);return n.export=t.export,n.type=t.type,n.base=t.base,n.template=t.template,n.link=t.link,n.isReadOnly=t.isReadOnly,n.isRequired=n.isRequired||t.isRequired,n.isNullable=n.isNullable||t.isNullable,n.format=t.format,n.maximum=t.maximum,n.exclusiveMaximum=t.exclusiveMaximum,n.minimum=t.minimum,n.exclusiveMinimum=t.exclusiveMinimum,n.multipleOf=t.multipleOf,n.maxLength=t.maxLength,n.minLength=t.minLength,n.maxItems=t.maxItems,n.minItems=t.minItems,n.uniqueItems=t.uniqueItems,n.maxProperties=t.maxProperties,n.minProperties=t.minProperties,n.pattern=Oe(t.pattern),n.default=t.default,n.$refs=[...n.$refs,...t.$refs],n.imports=[...n.imports,...t.imports],n.enum.push(...t.enum),n.enums.push(...t.enums),n.properties.push(...t.properties),n}}return n})(e,r),s=r.in;if("api-version"!==o.prop&&et.includes(s)){switch(s){case"cookie":n.parametersCookie=[...n.parametersCookie,o];break;case"formData":n.parametersForm=[...n.parametersForm,o];break;case"header":n.parametersHeader=[...n.parametersHeader,o];break;case"path":n.parametersPath=[...n.parametersPath,o];break;case"query":n.parametersQuery=[...n.parametersQuery,o]}n.$refs=[...n.$refs,...o.$refs],n.imports=[...n.imports,...o.imports],n.parameters=[...n.parameters,o]}})),n},nt=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","text/json","text/plain","multipart/form-data","multipart/mixed","multipart/related","multipart/batch"],rt=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return nt.includes(t)})).find((e=>Boolean(t[e]?.schema)));if(n)return{mediaType:n,schema:t[n].schema};const r=Object.keys(t).find((e=>Boolean(t[e]?.schema)));return r?{mediaType:r,schema:t[r].schema}:null},ot=(e,t,n)=>{const r={$refs:[],base:204!==n?"unknown":"void",code:n,description:t.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:204!==n?"unknown":"void"};if(t.content){const n=rt(0,t.content);if(n){if(n.schema.$ref?.startsWith("#/components/responses/")&&(n.schema=$e(e,n.schema)),n.schema.$ref){const e=be(n.schema.$ref);return r.base=e.base,r.export="reference",r.$refs=[...r.$refs,...e.$refs],r.imports=[...r.imports,...e.imports],r.template=e.template,r.type=e.type,r}{const t=Ze(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=Oe(t.pattern),r.$refs=[...r.$refs,...t.$refs],r.imports=[...r.imports,...t.imports],r.enum.push(...t.enum),r.enums.push(...t.enums),r.properties.push(...t.properties),r}}}if(t.headers)for(const e in t.headers)if(t.headers.hasOwnProperty(e))return r.in="header",r.name=e,r.type="string",r.base="string",r;return r},st=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?st(e.link,t.link):n},at=(e,t)=>{let n=[...e],r=[...t];for(;r.length>0;){const e=r[0];r=r.slice(1);n.every((t=>t.in!==e.in||t.name!==e.name))&&(n=[...n,e])}return n},it=(e,t)=>{const{method:n,op:r,pathParams:o,tag:s,url:a}=t,i=ye(s),l=De(a,n,r.operationId),p={$refs:[],deprecated:Boolean(r.deprecated),description:r.description||null,errors:[],imports:[],method:n.toUpperCase(),name:l,parameters:[],parametersBody:o.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,results:[],service:i,summary:r.summary||null};if(r.parameters){const t=tt(e,r.parameters);p.$refs=[...p.$refs,...t.$refs],p.imports=[...p.imports,...t.imports],p.parameters=[...p.parameters,...t.parameters],p.parametersBody=t.parametersBody,p.parametersCookie=[...p.parametersCookie,...t.parametersCookie],p.parametersForm=[...p.parametersForm,...t.parametersForm],p.parametersHeader=[...p.parametersHeader,...t.parametersHeader],p.parametersPath=[...p.parametersPath,...t.parametersPath],p.parametersQuery=[...p.parametersQuery,...t.parametersQuery]}if(r.requestBody){const t=((e,t)=>{const n={$refs:[],base:"unknown",default:void 0,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:!0===t.nullable,isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,name:t["x-body-name"]??"requestBody",prop:t["x-body-name"]??"requestBody",properties:[],template:null,type:"unknown"};if(t.content){const r=rt(0,t.content);if(r){switch(n.mediaType=r.mediaType,n.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":n.in="formData",n.name="formData",n.prop="formData"}if(r.schema.$ref){const e=be(r.schema.$ref);return n.export="reference",n.type=e.type,n.base=e.base,n.template=e.template,n.$refs=[...n.$refs,...e.$refs],n.imports=[...n.imports,...e.imports],n}{const t=Ze(e,r.schema);return n.export=t.export,n.type=t.type,n.base=t.base,n.template=t.template,n.link=t.link,n.isReadOnly=t.isReadOnly,n.isRequired=n.isRequired||t.isRequired,n.isNullable=n.isNullable||t.isNullable,n.format=t.format,n.maximum=t.maximum,n.exclusiveMaximum=t.exclusiveMaximum,n.minimum=t.minimum,n.exclusiveMinimum=t.exclusiveMinimum,n.multipleOf=t.multipleOf,n.maxLength=t.maxLength,n.minLength=t.minLength,n.maxItems=t.maxItems,n.minItems=t.minItems,n.uniqueItems=t.uniqueItems,n.maxProperties=t.maxProperties,n.minProperties=t.minProperties,n.pattern=Oe(t.pattern),n.$refs=[...n.$refs,...t.$refs],n.imports=[...n.imports,...t.imports],n.enum.push(...t.enum),n.enums.push(...t.enums),n.properties.push(...t.properties),n}}}return n})(e,$e(e,r.requestBody));p.$refs=[...p.$refs,...t.$refs],p.imports=[...p.imports,...t.imports],p.parameters=[...p.parameters,t],p.parametersBody=t}if(r.responses){const t=((e,t)=>{const n=[];for(const r in t)if(t.hasOwnProperty(r)){const o=$e(e,t[r]),s=Me(r);if(s){const t=ot(e,o,s);n.push(t)}}return n.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))})(e,r.responses),n=(e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&n>=200&&n<300&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>st(t,e)))===t))})(t);p.errors=Le(t),p.responseHeader=je(n),n.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.results=[...p.results,e]}))}return p.parameters=at(p.parameters,o.parameters),p.parametersCookie=at(p.parametersCookie,o.parametersCookie),p.parametersForm=at(p.parametersForm,o.parametersForm),p.parametersHeader=at(p.parametersHeader,o.parametersHeader),p.parametersPath=at(p.parametersPath,o.parametersPath),p.parametersQuery=at(p.parametersQuery,o.parametersQuery),p.parameters=Be(p.parameters),p},lt=["delete","get","head","options","patch","post","put"],pt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),ut=e=>{const t=he(e.info.version),n=(e=>{const t=e.servers?.[0],n=t?.variables||{};let r=t?.url||"";for(const e in n)n.hasOwnProperty(e)&&(r=r.replace(`{${e}}`,n[e].default));return r.replace(/\/$/g,"")})(e),r=(e=>{const t=[];if(e.components){for(const n in e.components.schemas)if(e.components.schemas.hasOwnProperty(n)){const r=e.components.schemas[n],o=be(n),s=Ze(e,r,!0,o.base.replace(ge,"_$1"));t.push(s)}for(const n in e.components.parameters)if(e.components.parameters.hasOwnProperty(n)){const r=e.components.parameters[n],o=be(n),s=r.schema;if(s){const n=Ze(e,s,!0,o.base.replace(ge,"_$1"));n.description=r.description||null,n.deprecated=r.deprecated,t.push(n)}}}return t})(e),o=(e=>{const t=new Map;for(const n in e.paths){const r=e.paths[n],o=tt(e,r.parameters??[]);for(const s in r){const a=s;if(lt.includes(a)){const s=r[a];(s.tags?.length?s.tags.filter(Re):["Default"]).forEach((r=>{const i=it(e,{method:a,op:s,pathParams:o,tag:r,url:n}),l=t.get(i.service)||pt(i);l.$refs=[...l.$refs,...i.$refs],l.imports=[...l.imports,...i.imports],l.operations=[...l.operations,i],t.set(i.service,l)}))}}}return Array.from(t.values())})(e);return{enumNames:[],models:r,server:n,services:o,version:t}};var ct={exports:{}},mt={},dt={__esModule:!0};dt.extend=vt,dt.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},dt.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}if(!yt.test(e))return e;return e.replace(ht,gt)},dt.isEmpty=function(e){return!e&&0!==e||!(!Rt(e)||0!==e.length)},dt.createFrame=function(e){var t=vt({},e);return t._parent=e,t},dt.blockParams=function(e,t){return e.path=t,e},dt.appendContextPath=function(e,t){return(e?e+".":"")+t};var ft={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},ht=/[&<>"'`=]/g,yt=/[&<>"'`=]/;function gt(e){return ft[e]}function vt(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var xt=Object.prototype.toString;dt.toString=xt;var bt=function(e){return"function"==typeof e};bt(/x/)&&(dt.isFunction=bt=function(e){return"function"==typeof e&&"[object Function]"===xt.call(e)}),dt.isFunction=bt;var Rt=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===xt.call(e)};dt.isArray=Rt;var Pt={exports:{}};!function(e,t){t.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function r(e,t){var o=t&&t.loc,s=void 0,a=void 0,i=void 0,l=void 0;o&&(s=o.start.line,a=o.end.line,i=o.start.column,l=o.end.column,e+=" - "+s+":"+i);for(var p=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=p[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);try{o&&(this.lineNumber=s,this.endLineNumber=a,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:l,enumerable:!0})):(this.column=i,this.endColumn=l))}catch(e){}}r.prototype=new Error,t.default=r,e.exports=t.default}(Pt,Pt.exports);var Ot=Pt.exports,wt={},qt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt;t.default=function(e){e.registerHelper("blockHelperMissing",(function(t,r){var o=r.inverse,s=r.fn;if(!0===t)return s(this);if(!1===t||null==t)return o(this);if(n.isArray(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):o(this);if(r.data&&r.ids){var a=n.createFrame(r.data);a.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:a}}return s(t,r)}))},e.exports=t.default}(qt,qt.exports);var At=qt.exports,kt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("each",(function(e,t){if(!t)throw new o.default("Must pass iterator to #each");var n,s=t.fn,a=t.inverse,i=0,l="",p=void 0,u=void 0;function c(t,n,o){p&&(p.key=t,p.index=n,p.first=0===n,p.last=!!o,u&&(p.contextPath=u+t)),l+=s(e[t],{data:p,blockParams:r.blockParams([e[t],t],[u+t,null])})}if(t.data&&t.ids&&(u=r.appendContextPath(t.data.contextPath,t.ids[0])+"."),r.isFunction(e)&&(e=e.call(this)),t.data&&(p=r.createFrame(t.data)),e&&"object"==typeof e)if(r.isArray(e))for(var m=e.length;i<m;i++)i in e&&c(i,i,i===e.length-1);else if("function"==typeof Symbol&&e[Symbol.iterator]){for(var d=[],f=e[Symbol.iterator](),h=f.next();!h.done;h=f.next())d.push(h.value);for(m=(e=d).length;i<m;i++)c(i,i,i===e.length-1)}else n=void 0,Object.keys(e).forEach((function(e){void 0!==n&&c(n,i-1),n=e,i++})),void 0!==n&&c(n,i-1,!0);return 0===i&&(l=a(this)),l}))},e.exports=t.default}(kt,kt.exports);var Ct=kt.exports,Et={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("helperMissing",(function(){if(1!==arguments.length)throw new r.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}))},e.exports=t.default}(Et,Et.exports);var Tt=Et.exports,$t={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("if",(function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)})),e.registerHelper("unless",(function(t,n){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}))},e.exports=t.default}($t,$t.exports);var It=$t.exports,St={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("log",(function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var o=1;null!=n.hash.level?o=n.hash.level:n.data&&null!=n.data.level&&(o=n.data.level),t[0]=o,e.log.apply(e,t)}))},e.exports=t.default}(St,St.exports);var Ht=St.exports,_t={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",(function(e,t,n){return e?n.lookupProperty(e,t):e}))},e.exports=t.default}(_t,_t.exports);var Dt=_t.exports,Nt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=dt,o=(n=Ot)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("with",(function(e,t){if(2!=arguments.length)throw new o.default("#with requires exactly one argument");r.isFunction(e)&&(e=e.call(this));var n=t.fn;if(r.isEmpty(e))return t.inverse(this);var s=t.data;return t.data&&t.ids&&((s=r.createFrame(t.data)).contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:s,blockParams:r.blockParams([e],[s&&s.contextPath])})}))},e.exports=t.default}(Nt,Nt.exports);var jt=Nt.exports;function Mt(e){return e&&e.__esModule?e:{default:e}}wt.__esModule=!0,wt.registerDefaultHelpers=function(e){Lt.default(e),Bt.default(e),Ft.default(e),Ut.default(e),Wt.default(e),Vt.default(e),Kt.default(e)},wt.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var Lt=Mt(At),Bt=Mt(Ct),Ft=Mt(Tt),Ut=Mt(It),Wt=Mt(Ht),Vt=Mt(Dt),Kt=Mt(jt);var Qt={},Jt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt;t.default=function(e){e.registerDecorator("inline",(function(e,t,r,o){var s=e;return t.partials||(t.partials={},s=function(o,s){var a=r.partials;r.partials=n.extend({},a,t.partials);var i=e(o,s);return r.partials=a,i}),t.partials[o.args[0]]=o.fn,s}))},e.exports=t.default}(Jt,Jt.exports);var zt=Jt.exports;Qt.__esModule=!0,Qt.registerDefaultDecorators=function(e){Xt.default(e)};var Gt,Xt=(Gt=zt)&&Gt.__esModule?Gt:{default:Gt};var Yt={exports:{}};!function(e,t){t.__esModule=!0;var n=dt,r={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=n.indexOf(r.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=r.lookupLevel(e),"undefined"!=typeof console&&r.lookupLevel(r.level)<=e){var t=r.methodMap[e];console[t]||(t="log");for(var n=arguments.length,o=Array(n>1?n-1:0),s=1;s<n;s++)o[s-1]=arguments[s];console[t].apply(console,o)}}};t.default=r,e.exports=t.default}(Yt,Yt.exports);var Zt=Yt.exports,en={},tn={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return nn.extend.apply(void 0,[Object.create(null)].concat(t))}},nn=dt;en.__esModule=!0,en.createProtoAccessControl=function(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:rn.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:rn.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},en.resultIsAllowed=function(e,t,n){return an("function"==typeof e?t.methods:t.properties,n)},en.resetLoggedProperties=function(){Object.keys(sn).forEach((function(e){delete sn[e]}))};var rn=tn,on=function(e){return e&&e.__esModule?e:{default:e}}(Zt),sn=Object.create(null);function an(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==sn[e]&&(sn[e]=!0,on.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}(t),!1)}function ln(e){return e&&e.__esModule?e:{default:e}}mt.__esModule=!0,mt.HandlebarsEnvironment=yn;var pn=dt,un=ln(Ot),cn=wt,mn=Qt,dn=ln(Zt),fn=en;mt.VERSION="4.7.8";mt.COMPILER_REVISION=8;mt.LAST_COMPATIBLE_COMPILER_REVISION=7;mt.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var hn="[object Object]";function yn(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},cn.registerDefaultHelpers(this),mn.registerDefaultDecorators(this)}yn.prototype={constructor:yn,logger:dn.default,log:dn.default.log,registerHelper:function(e,t){if(pn.toString.call(e)===hn){if(t)throw new un.default("Arg not supported with multiple helpers");pn.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(pn.toString.call(e)===hn)pn.extend(this.partials,e);else{if(void 0===t)throw new un.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(pn.toString.call(e)===hn){if(t)throw new un.default("Arg not supported with multiple decorators");pn.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){fn.resetLoggedProperties()}};var gn=dn.default.log;mt.log=gn,mt.createFrame=pn.createFrame,mt.logger=dn.default;var vn={exports:{}};!function(e,t){function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t.default=n,e.exports=t.default}(vn,vn.exports);var xn=vn.exports,bn={},Rn={};Rn.__esModule=!0,Rn.wrapHelper=function(e,t){if("function"!=typeof e)return e;return function(){return arguments[arguments.length-1]=t(arguments[arguments.length-1]),e.apply(this,arguments)}},bn.__esModule=!0,bn.checkRevision=function(e){var t=e&&e[0]||1,n=wn.COMPILER_REVISION;if(t>=wn.LAST_COMPATIBLE_COMPILER_REVISION&&t<=wn.COMPILER_REVISION)return;if(t<wn.LAST_COMPATIBLE_COMPILER_REVISION){var r=wn.REVISION_CHANGES[n],o=wn.REVISION_CHANGES[t];throw new On.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+o+").")}throw new On.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},bn.template=function(e,t){if(!t)throw new On.default("No environment passed to template");if(!e||!e.main)throw new On.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&7===e.compiler[0];var r={strict:function(e,t,n){if(!e||!(t in e))throw new On.default('"'+t+'" not defined in '+e,{loc:n});return r.lookupProperty(e,t)},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||kn.resultIsAllowed(n,r.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,o=0;o<n;o++){if(null!=(e[o]&&r.lookupProperty(e[o],t)))return e[o][t]}},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:Pn.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Pn.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Pn.extend({},o,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),a=t.VM.invokePartial.call(this,n,r,s);if(null==a&&t.compile&&(o.partials[o.name]=t.compile(n,e.compilerOptions,t),a=o.partials[o.name](r,s)),null!=a){if(o.indent){for(var i=a.split("\n"),l=0,p=i.length;l<p&&(i[l]||l+1!==p);l++)i[l]=o.indent+i[l];a=i.join("\n")}return a}throw new On.default("The partial "+o.name+" could not be compiled when running in runtime-only mode")},fn:function(t){var n=e[t];return n.decorator=e[t+"_d"],n},programs:[],program:function(e,t,n,r,o){var s=this.programs[e],a=this.fn(e);return t||o||r||n?s=Cn(this,e,a,t,n,r,o):s||(s=this.programs[e]=Cn(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=Pn.extend({},t,e)),n},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function o(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],s=n.data;o._setup(n),!n.partial&&e.useData&&(s=function(e,t){t&&"root"in t||((t=t?wn.createFrame(t):{}).root=e);return t}(t,s));var a=void 0,i=e.useBlockParams?[]:void 0;function l(t){return""+e.main(r,t,r.helpers,r.partials,s,i,a)}return e.useDepths&&(a=n.depths?t!=n.depths[0]?[t].concat(n.depths):n.depths:[t]),(l=Tn(e.main,l,r,n.depths||[],s,i))(t,n)}return o.isTop=!0,o._setup=function(o){if(o.partial)r.protoAccessControl=o.protoAccessControl,r.helpers=o.helpers,r.partials=o.partials,r.decorators=o.decorators,r.hooks=o.hooks;else{var s=Pn.extend({},t.helpers,o.helpers);!function(e,t){Object.keys(e).forEach((function(n){var r=e[n];e[n]=function(e,t){var n=t.lookupProperty;return An.wrapHelper(e,(function(e){return Pn.extend({lookupProperty:n},e)}))}(r,t)}))}(s,r),r.helpers=s,e.usePartial&&(r.partials=r.mergeIfNeeded(o.partials,t.partials)),(e.usePartial||e.useDecorators)&&(r.decorators=Pn.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=kn.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;qn.moveHelperToHooks(r,"helperMissing",a),qn.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new On.default("must pass block params");if(e.useDepths&&!s)throw new On.default("must pass parent depths");return Cn(r,t,e[t],n,0,o,s)},o},bn.wrapProgram=Cn,bn.resolvePartial=function(e,t,n){e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name];return e},bn.invokePartial=function(e,t,n){var r=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var o=void 0;n.fn&&n.fn!==En&&function(){n.data=wn.createFrame(n.data);var e=n.fn;o=n.data["partial-block"]=function(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return n.data=wn.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Pn.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new On.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},bn.noop=En;var Pn=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(dt),On=function(e){return e&&e.__esModule?e:{default:e}}(Ot),wn=mt,qn=wt,An=Rn,kn=en;function Cn(e,t,n,r,o,s,a){function i(t){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],i=a;return!a||t==a[0]||t===e.nullContext&&null===a[0]||(i=[t].concat(a)),n(e,t,e.helpers,e.partials,o.data||r,s&&[o.blockParams].concat(s),i)}return(i=Tn(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function En(){return""}function Tn(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Pn.extend(t,a)}return t}var $n={exports:{}};!function(e,t){t.__esModule=!0,t.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",(function(){return this})),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},e.exports=t.default}($n,$n.exports);var In=$n.exports;!function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0;var o=r(mt),s=n(xn),a=n(Ot),i=r(dt),l=r(bn),p=n(In);function u(){var e=new o.HandlebarsEnvironment;return i.extend(e,o),e.SafeString=s.default,e.Exception=a.default,e.Utils=i,e.escapeExpression=i.escapeExpression,e.VM=l,e.template=function(t){return l.template(t,e)},e}var c=u();c.create=u,p.default(c),c.default=c,t.default=c,e.exports=t.default}(ct,ct.exports);var Sn=u(ct.exports.default),Hn={1:function(e,t,n,r,o){return"import { NgModule} from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AngularHttpRequest } from './core/AngularHttpRequest';\nimport { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { OpenAPI } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\n"},3:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda;return"import type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { Interceptors } from './core/OpenAPI';\nimport { "+(null!=(s=i(a(t,"httpRequest",{start:{line:14,column:12},end:{line:14,column:23}}),t))?s:"")+" } from './core/"+(null!=(s=i(a(t,"httpRequest",{start:{line:14,column:45},end:{line:14,column:56}}),t))?s:"")+"';\n"},5:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=a(n,"each").call(null!=t?t:e.nullContext||{},a(t,"services"),{name:"each",hash:{},fn:e.program(6,o,0),inverse:e.noop,data:o,loc:{start:{line:18,column:0},end:{line:20,column:9}}}))?s:""},6:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { "+(null!=(s=a(n,"transformServiceName").call(null!=t?t:e.nullContext||{},a(t,"name"),{name:"transformServiceName",hash:{},data:o,loc:{start:{line:19,column:9},end:{line:19,column:40}}}))?s:"")+" } from './services.gen';\n"},8:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: OpenAPI,\n\t\t\tuseValue: {\n\t\t\t\tBASE: OpenAPI?.BASE ?? '"+(null!=(s=i(a(t,"server",{start:{line:30,column:31},end:{line:30,column:37}}),t))?s:"")+"',\n\t\t\t\tVERSION: OpenAPI?.VERSION ?? '"+(null!=(s=i(a(t,"version",{start:{line:31,column:37},end:{line:31,column:44}}),t))?s:"")+"',\n\t\t\t\tWITH_CREDENTIALS: OpenAPI?.WITH_CREDENTIALS ?? false,\n\t\t\t\tCREDENTIALS: OpenAPI?.CREDENTIALS ?? 'include',\n\t\t\t\tTOKEN: OpenAPI?.TOKEN,\n\t\t\t\tUSERNAME: OpenAPI?.USERNAME,\n\t\t\t\tPASSWORD: OpenAPI?.PASSWORD,\n\t\t\t\tHEADERS: OpenAPI?.HEADERS,\n\t\t\t\tENCODE_PATH: OpenAPI?.ENCODE_PATH,\n\t\t\t\tinterceptors: {\n\t\t\t\t\tresponse: OpenAPI?.interceptors?.response ?? new Interceptors(),\n\t\t\t\t},\n\t\t\t} as OpenAPIConfig,\n\t\t},\n\t\t{\n\t\t\tprovide: BaseHttpRequest,\n\t\t\tuseClass: AngularHttpRequest,\n\t\t},\n"+(null!=(s=l(n,"each").call(null!=t?t:e.nullContext||{},l(t,"services"),{name:"each",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:48,column:2},end:{line:50,column:11}}}))?s:"")+"\t]\n})\nexport class "+(null!=(s=i(a(l(l(o,"root"),"$config"),"name",{start:{line:53,column:16},end:{line:53,column:34}}),t))?s:"")+" {}\n"},9:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\t\t"+(null!=(s=a(n,"transformServiceName").call(null!=t?t:e.nullContext||{},a(t,"name"),{name:"transformServiceName",hash:{},data:o,loc:{start:{line:49,column:2},end:{line:49,column:33}}}))?s:"")+",\n"},11:function(e,t,n,r,o){var s,a=e.strict,i=e.lambda,l=null!=t?t:e.nullContext||{},p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class "+(null!=(s=i(a(p(p(o,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),t))?s:"")+" {\n\n"+(null!=(s=p(n,"each").call(l,p(t,"services"),{name:"each",hash:{},fn:e.program(12,o,0),inverse:e.noop,data:o,loc:{start:{line:59,column:1},end:{line:61,column:10}}}))?s:"")+"\n\tpublic readonly request: BaseHttpRequest;\n\n\tconstructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = "+(null!=(s=i(a(t,"httpRequest",{start:{line:65,column:87},end:{line:65,column:98}}),t))?s:"")+") {\n\t\tthis.request = new HttpRequest({\n\t\t\tBASE: config?.BASE ?? '"+(null!=(s=i(a(t,"server",{start:{line:67,column:29},end:{line:67,column:35}}),t))?s:"")+"',\n\t\t\tVERSION: config?.VERSION ?? '"+(null!=(s=i(a(t,"version",{start:{line:68,column:35},end:{line:68,column:42}}),t))?s:"")+"',\n\t\t\tWITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n\t\t\tCREDENTIALS: config?.CREDENTIALS ?? 'include',\n\t\t\tTOKEN: config?.TOKEN,\n\t\t\tUSERNAME: config?.USERNAME,\n\t\t\tPASSWORD: config?.PASSWORD,\n\t\t\tHEADERS: config?.HEADERS,\n\t\t\tENCODE_PATH: config?.ENCODE_PATH,\n\t\t\tinterceptors: {\n\t\t\t\trequest: config?.interceptors?.request ?? new Interceptors(),\n\t\t\t\tresponse: config?.interceptors?.response ?? new Interceptors(),\n },\n\t\t});\n\n"+(null!=(s=p(n,"each").call(l,p(t,"services"),{name:"each",hash:{},fn:e.program(14,o,0),inverse:e.noop,data:o,loc:{start:{line:82,column:2},end:{line:84,column:11}}}))?s:"")+"\t}\n}\n"},12:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\tpublic readonly "+(null!=(s=i(n,"camelCase").call(a,i(t,"name"),{name:"camelCase",hash:{},data:o,loc:{start:{line:60,column:17},end:{line:60,column:37}}}))?s:"")+": "+(null!=(s=i(n,"transformServiceName").call(a,i(t,"name"),{name:"transformServiceName",hash:{},data:o,loc:{start:{line:60,column:39},end:{line:60,column:70}}}))?s:"")+";\n"},14:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"\t\tthis."+(null!=(s=i(n,"camelCase").call(a,i(t,"name"),{name:"camelCase",hash:{},data:o,loc:{start:{line:83,column:7},end:{line:83,column:27}}}))?s:"")+" = new "+(null!=(s=i(n,"transformServiceName").call(a,i(t,"name"),{name:"transformServiceName",hash:{},data:o,loc:{start:{line:83,column:34},end:{line:83,column:65}}}))?s:"")+"(this.request);\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:15,column:11}}}))?s:"")+"\n"+(null!=(s=i(n,"if").call(a,i(t,"services"),{name:"if",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(8,o,0),inverse:e.program(11,o,0),data:o,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))?s:"")},useData:!0},_n={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = (config: OpenAPIConfig, options: ApiRequestOptions): Observable<HttpHeaders> => {\n\treturn forkJoin({\n\t\ttoken: resolve(options, config.TOKEN),\n\t\tusername: resolve(options, config.USERNAME),\n\t\tpassword: resolve(options, config.PASSWORD),\n\t\tadditionalHeaders: resolve(options, config.HEADERS),\n\t}).pipe(\n\t\tmap(({ token, username, password, additionalHeaders }) => {\n\t\t\tconst headers = Object.entries({\n\t\t\t\tAccept: 'application/json',\n\t\t\t\t...additionalHeaders,\n\t\t\t\t...options.headers,\n\t\t\t})\n\t\t\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t\t\t.reduce((headers, [key, value]) => ({\n\t\t\t\t\t...headers,\n\t\t\t\t\t[key]: String(value),\n\t\t\t\t}), {} as Record<string, string>);\n\n\t\t\tif (isStringWithValue(token)) {\n\t\t\t\theaders['Authorization'] = `Bearer ${token}`;\n\t\t\t}\n\n\t\t\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\t\t\tconst credentials = base64(`${username}:${password}`);\n\t\t\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t\t\t}\n\n\t\t\tif (options.body !== undefined) {\n\t\t\t\tif (options.mediaType) {\n\t\t\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t\t\t} else if (isBlob(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t\t\t} else if (isString(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t\t\t} else if (!isFormData(options.body)) {\n\t\t\t\t\theaders['Content-Type'] = 'application/json';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn new HttpHeaders(headers);\n\t\t}),\n\t);\n};"},useData:!0},Dn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Nn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = <T>(response: HttpResponse<T>): T | undefined => {\n\tif (response.status !== 204 && response.body !== null) {\n\t\treturn response.body;\n\t}\n\treturn undefined;\n};"},useData:!0},jn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = <T>(response: HttpResponse<T>, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst value = response.headers.get(responseHeader);\n\t\tif (isString(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Mn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport type { HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport { forkJoin, of, throwError } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport type { Observable } from 'rxjs';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getHeaders"),t,{name:"angular/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getRequestBody"),t,{name:"angular/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/sendRequest"),t,{name:"angular/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getResponseHeader"),t,{name:"angular/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"angular/getResponseBody"),t,{name:"angular/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(a(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param http The Angular HTTP client\n * @param options The request options from the service\n * @returns Observable<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, http: HttpClient, options: ApiRequestOptions): Observable<T> => {\n\tconst url = getUrl(config, options);\n\tconst formData = getFormData(options);\n\tconst body = getRequestBody(options);\n\n\treturn getHeaders(config, options).pipe(\n\t\tswitchMap(headers => {\n\t\t\treturn sendRequest<T>(config, options, http, url, body, formData, headers);\n\t\t}),\n\t\tswitchMap(async response => {\n\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\tresponse = await fn(response);\n\t\t\t}\n\t\t\tconst responseBody = getResponseBody(response);\n\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\t\t\treturn {\n\t\t\t\turl,\n\t\t\t\tok: response.ok,\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t} as ApiResult;\n\t\t}),\n\t\tcatchError((error: HttpErrorResponse) => {\n\t\t\tif (!error.status) {\n\t\t\t\treturn throwError(() => error);\n\t\t\t}\n\t\t\treturn of({\n\t\t\t\turl,\n\t\t\t\tok: error.ok,\n\t\t\t\tstatus: error.status,\n\t\t\t\tstatusText: error.statusText,\n\t\t\t\tbody: error.error ?? error.statusText,\n\t\t\t} as ApiResult);\n\t\t}),\n\t\tmap(result => {\n\t\t\tcatchErrorCodes(options, result);\n\t\t\treturn result.body as T;\n\t\t}),\n\t\tcatchError((error: ApiError) => {\n\t\t\treturn throwError(() => error);\n\t\t}),\n\t);\n};"},usePartial:!0,useData:!0},Ln={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\thttp: HttpClient,\n\turl: string,\n\tbody: unknown,\n\tformData: FormData | undefined,\n\theaders: HttpHeaders\n): Observable<HttpResponse<T>> => {\n\treturn http.request<T>(options.method, url, {\n\t\theaders,\n\t\tbody: body ?? formData,\n\t\twithCredentials: config.WITH_CREDENTIALS,\n\t\tobserve: 'response',\n\t});\n};"},useData:!0},Bn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n\tpublic readonly url: string;\n\tpublic readonly status: number;\n\tpublic readonly statusText: string;\n\tpublic readonly body: unknown;\n\tpublic readonly request: ApiRequestOptions;\n\n\tconstructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n\t\tsuper(message);\n\n\t\tthis.name = 'ApiError';\n\t\tthis.url = response.url;\n\t\tthis.status = response.status;\n\t\tthis.statusText = response.statusText;\n\t\tthis.body = response.body;\n\t\tthis.request = request;\n\t}\n}"},useData:!0},Fn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiRequestOptions = {\n\treadonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';\n\treadonly url: string;\n\treadonly path?: Record<string, unknown>;\n\treadonly cookies?: Record<string, unknown>;\n\treadonly headers?: Record<string, unknown>;\n\treadonly query?: Record<string, unknown>;\n\treadonly formData?: Record<string, unknown>;\n\treadonly body?: any;\n\treadonly mediaType?: string;\n\treadonly responseHeader?: string;\n\treadonly errors?: Record<number, string>;\n};"},useData:!0},Un={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiResult<TData = any> = {\n\treadonly body: TData;\n\treadonly ok: boolean;\n\treadonly status: number;\n\treadonly statusText: string;\n\treadonly url: string;\n};"},useData:!0},Wn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Record<string, string>> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t.filter(([, value]) => value !== undefined && value !== null)\n\t.reduce((headers, [key, value]) => ({\n\t\t...headers,\n\t\t[key]: String(value),\n\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t} else if (options.formData !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t}\n\t}\n\n\treturn headers;\n};"},useData:!0},Vn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body) {\n\t\treturn options.body;\n\t}\n\treturn undefined;\n};"},useData:!0},Kn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = (response: AxiosResponse<unknown>): unknown => {\n\tif (response.status !== 204) {\n\t\treturn response.data;\n\t}\n\treturn undefined;\n};"},useData:!0},Qn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (response: AxiosResponse<unknown>, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = response.headers[responseHeader];\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Jn={1:function(e,t,n,r,o){return"ApiResult<T>"},3:function(e,t,n,r,o){return"T"},5:function(e,t,n,r,o){return"result.body"},7:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isSuccess"),t,{name:"functions/isSuccess",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getHeaders"),t,{name:"axios/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getRequestBody"),t,{name:"axios/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/sendRequest"),t,{name:"axios/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getResponseHeader"),t,{name:"axios/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"axios/getResponseBody"),t,{name:"axios/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @param axiosClient The axios client instance to use\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:64,column:30},end:{line:64,column:116}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:67,column:133},end:{line:67,column:219}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: isSuccess(response.status),\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"body",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:95,column:12},end:{line:95,column:98}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},zn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: unknown,\n\tformData: FormData | undefined,\n\theaders: Record<string, string>,\n\tonCancel: OnCancel,\n\taxiosClient: AxiosInstance\n): Promise<AxiosResponse<T>> => {\n\tconst controller = new AbortController();\n\n\tlet requestConfig: AxiosRequestConfig = {\n\t\tdata: body ?? formData,\n\t\theaders,\n\t\tmethod: options.method,\n\t\tsignal: controller.signal,\n\t\turl,\n\t\twithCredentials: config.WITH_CREDENTIALS,\n\t};\n\n\tonCancel(() => controller.abort());\n\n\tfor (const fn of config.interceptors.request._fns) {\n\t\trequestConfig = await fn(requestConfig);\n\t}\n\n\ttry {\n\t\treturn await axiosClient.request(requestConfig);\n\t} catch (error) {\n\t\tconst axiosError = error as AxiosError<T>;\n\t\tif (axiosError.response) {\n\t\t\treturn axiosError.response;\n\t\t}\n\t\tthrow error;\n\t}\n};"},useData:!0},Gn={1:function(e,t,n,r,o){return"import type { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { OpenAPIConfig } from './OpenAPI';\n"},3:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n"},5:function(e,t,n,r,o){return"\tconstructor(\n\t\tpublic readonly config: OpenAPIConfig,\n\t\tpublic readonly http: HttpClient,\n\t) {}\n"},7:function(e,t,n,r,o){return"\tconstructor(public readonly config: OpenAPIConfig) {}\n"},9:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions): Observable<T>;\n"},11:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:11,column:11}}}))?s:"")+"\nexport abstract class BaseHttpRequest {\n\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:15,column:1},end:{line:22,column:12}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.program(11,o,0),data:o,loc:{start:{line:24,column:1},end:{line:28,column:12}}}))?s:"")+"}"},useData:!0},Xn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export class CancelError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = 'CancelError';\n\t}\n\n\tpublic get isCancelled(): boolean {\n\t\treturn true;\n\t}\n}\n\nexport interface OnCancel {\n\treadonly isResolved: boolean;\n\treadonly isRejected: boolean;\n\treadonly isCancelled: boolean;\n\n\t(cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n\tprivate _isResolved: boolean;\n\tprivate _isRejected: boolean;\n\tprivate _isCancelled: boolean;\n\treadonly cancelHandlers: (() => void)[];\n\treadonly promise: Promise<T>;\n\tprivate _resolve?: (value: T | PromiseLike<T>) => void;\n\tprivate _reject?: (reason?: unknown) => void;\n\n\tconstructor(\n\t\texecutor: (\n\t\t\tresolve: (value: T | PromiseLike<T>) => void,\n\t\t\treject: (reason?: unknown) => void,\n\t\t\tonCancel: OnCancel\n\t\t) => void\n\t) {\n\t\tthis._isResolved = false;\n\t\tthis._isRejected = false;\n\t\tthis._isCancelled = false;\n\t\tthis.cancelHandlers = [];\n\t\tthis.promise = new Promise<T>((resolve, reject) => {\n\t\t\tthis._resolve = resolve;\n\t\t\tthis._reject = reject;\n\n\t\t\tconst onResolve = (value: T | PromiseLike<T>): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._isResolved = true;\n\t\t\t\tif (this._resolve) this._resolve(value);\n\t\t\t};\n\n\t\t\tconst onReject = (reason?: unknown): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._isRejected = true;\n\t\t\t\tif (this._reject) this._reject(reason);\n\t\t\t};\n\n\t\t\tconst onCancel = (cancelHandler: () => void): void => {\n\t\t\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.cancelHandlers.push(cancelHandler);\n\t\t\t};\n\n\t\t\tObject.defineProperty(onCancel, 'isResolved', {\n\t\t\t\tget: (): boolean => this._isResolved,\n\t\t\t});\n\n\t\t\tObject.defineProperty(onCancel, 'isRejected', {\n\t\t\t\tget: (): boolean => this._isRejected,\n\t\t\t});\n\n\t\t\tObject.defineProperty(onCancel, 'isCancelled', {\n\t\t\t\tget: (): boolean => this._isCancelled,\n\t\t\t});\n\n\t\t\treturn executor(onResolve, onReject, onCancel as OnCancel);\n\t\t});\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn \"Cancellable Promise\";\n\t}\n\n\tpublic then<TResult1 = T, TResult2 = never>(\n\t\tonFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n\t\tonRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null\n\t): Promise<TResult1 | TResult2> {\n\t\treturn this.promise.then(onFulfilled, onRejected);\n\t}\n\n\tpublic catch<TResult = never>(\n\t\tonRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null\n\t): Promise<T | TResult> {\n\t\treturn this.promise.catch(onRejected);\n\t}\n\n\tpublic finally(onFinally?: (() => void) | null): Promise<T> {\n\t\treturn this.promise.finally(onFinally);\n\t}\n\n\tpublic cancel(): void {\n\t\tif (this._isResolved || this._isRejected || this._isCancelled) {\n\t\t\treturn;\n\t\t}\n\t\tthis._isCancelled = true;\n\t\tif (this.cancelHandlers.length) {\n\t\t\ttry {\n\t\t\t\tfor (const cancelHandler of this.cancelHandlers) {\n\t\t\t\t\tcancelHandler();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Cancellation threw an error', error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.cancelHandlers.length = 0;\n\t\tif (this._reject) this._reject(new CancelError('Request aborted'));\n\t}\n\n\tpublic get isCancelled(): boolean {\n\t\treturn this._isCancelled;\n\t}\n}"},useData:!0},Yn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t.reduce((headers, [key, value]) => ({\n\t\t\t...headers,\n\t\t\t[key]: String(value),\n\t\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t}\n\n\treturn new Headers(headers);\n};"},useData:!0},Zn={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},er={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = async (response: Response): Promise<unknown> => {\n\tif (response.status !== 204) {\n\t\ttry {\n\t\t\tconst contentType = response.headers.get('Content-Type');\n\t\t\tif (contentType) {\n\t\t\t\tconst binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip', 'audio/', 'image/', 'video/'];\n\t\t\t\tif (contentType.includes('application/json') || contentType.includes('+json')) {\n\t\t\t\t\treturn await response.json();\n\t\t\t\t} else if (binaryTypes.some(type => contentType.includes(type))) {\n\t\t\t\t\treturn await response.blob();\n\t\t\t\t} else if (contentType.includes('multipart/form-data')) {\n\t\t\t\t\treturn await response.formData();\n\t\t\t\t} else if (contentType.includes('text/')) {\n\t\t\t\t\treturn await response.text();\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},tr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = response.headers.get(responseHeader);\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},nr={1:function(e,t,n,r,o){return"import fetch, { FormData, Headers } from 'node-fetch';\nimport type { RequestInit, Response } from 'node-fetch';\n\n"},3:function(e,t,n,r,o){return"ApiResult<T>"},5:function(e,t,n,r,o){return"T"},7:function(e,t,n,r,o){return"result.body"},9:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:5,column:11}}}))?s:"")+"import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getHeaders"),t,{name:"fetch/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getRequestBody"),t,{name:"fetch/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/sendRequest"),t,{name:"fetch/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getResponseHeader"),t,{name:"fetch/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getResponseBody"),t,{name:"fetch/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.program(5,o,0),data:o,loc:{start:{line:62,column:30},end:{line:62,column:116}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.program(5,o,0),data:o,loc:{start:{line:65,column:97},end:{line:65,column:183}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = await getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: response.ok,\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"body",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.program(9,o,0),data:o,loc:{start:{line:93,column:12},end:{line:93,column:98}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},rr={1:function(e,t,n,r,o){return"\tif (config.WITH_CREDENTIALS) {\n\t\trequest.credentials = config.CREDENTIALS;\n\t}\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"export const sendRequest = async (\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: any,\n\tformData: FormData | undefined,\n\theaders: Headers,\n\tonCancel: OnCancel\n): Promise<Response> => {\n\tconst controller = new AbortController();\n\n\tlet request: RequestInit = {\n\t\theaders,\n\t\tbody: body ?? formData,\n\t\tmethod: options.method,\n\t\tsignal: controller.signal,\n\t};\n\n"+(null!=(s=a(n,"equals").call(null!=t?t:e.nullContext||{},a(a(a(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:19,column:1},end:{line:23,column:12}}}))?s:"")+"\n\tfor (const fn of config.interceptors.request._fns) {\n\t\trequest = await fn(request);\n\t}\n\n\tonCancel(() => controller.abort());\n\n\treturn await fetch(url, request);\n};"},useData:!0},or={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const base64 = (str: string): string => {\n\ttry {\n\t\treturn btoa(str);\n\t} catch (err) {\n\t\t// @ts-ignore\n\t\treturn Buffer.from(str).toString('base64');\n\t}\n};"},useData:!0},sr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n\tconst errors: Record<number, string> = {\n\t\t400: 'Bad Request',\n\t\t401: 'Unauthorized',\n\t\t402: 'Payment Required',\n\t\t403: 'Forbidden',\n\t\t404: 'Not Found',\n\t\t405: 'Method Not Allowed',\n\t\t406: 'Not Acceptable',\n\t\t407: 'Proxy Authentication Required',\n\t\t408: 'Request Timeout',\n\t\t409: 'Conflict',\n\t\t410: 'Gone',\n\t\t411: 'Length Required',\n\t\t412: 'Precondition Failed',\n\t\t413: 'Payload Too Large',\n\t\t414: 'URI Too Long',\n\t\t415: 'Unsupported Media Type',\n\t\t416: 'Range Not Satisfiable',\n\t\t417: 'Expectation Failed',\n\t\t418: 'Im a teapot',\n\t\t421: 'Misdirected Request',\n\t\t422: 'Unprocessable Content',\n\t\t423: 'Locked',\n\t\t424: 'Failed Dependency',\n\t\t425: 'Too Early',\n\t\t426: 'Upgrade Required',\n\t\t428: 'Precondition Required',\n\t\t429: 'Too Many Requests',\n\t\t431: 'Request Header Fields Too Large',\n\t\t451: 'Unavailable For Legal Reasons',\n\t\t500: 'Internal Server Error',\n\t\t501: 'Not Implemented',\n\t\t502: 'Bad Gateway',\n\t\t503: 'Service Unavailable',\n\t\t504: 'Gateway Timeout',\n\t\t505: 'HTTP Version Not Supported',\n\t\t506: 'Variant Also Negotiates',\n\t\t507: 'Insufficient Storage',\n\t\t508: 'Loop Detected',\n\t\t510: 'Not Extended',\n\t\t511: 'Network Authentication Required',\n\t\t...options.errors,\n\t}\n\n\tconst error = errors[result.status];\n\tif (error) {\n\t\tthrow new ApiError(options, result, error);\n\t}\n\n\tif (!result.ok) {\n\t\tconst errorStatus = result.status ?? 'unknown';\n\t\tconst errorStatusText = result.statusText ?? 'unknown';\n\t\tconst errorBody = (() => {\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(result.body, null, 2);\n\t\t\t} catch (e) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})();\n\n\t\tthrow new ApiError(options, result,\n\t\t\t`Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n\t\t);\n\t}\n};"},useData:!0},ar={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n\tif (options.formData) {\n\t\tconst formData = new FormData();\n\n\t\tconst process = (key: string, value: unknown) => {\n\t\t\tif (isString(value) || isBlob(value)) {\n\t\t\t\tformData.append(key, value);\n\t\t\t} else {\n\t\t\t\tformData.append(key, JSON.stringify(value));\n\t\t\t}\n\t\t};\n\n\t\tObject.entries(options.formData)\n\t\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t\t.forEach(([key, value]) => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tvalue.forEach(v => process(key, v));\n\t\t\t\t} else {\n\t\t\t\t\tprocess(key, value);\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn formData;\n\t}\n\treturn undefined;\n};"},useData:!0},ir={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getQueryString = (params: Record<string, unknown>): string => {\n\tconst qs: string[] = [];\n\n\tconst append = (key: string, value: unknown) => {\n\t\tqs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n\t};\n\n\tconst encodePair = (key: string, value: unknown) => {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(v => encodePair(key, v));\n\t\t} else if (typeof value === 'object') {\n\t\t\tObject.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v));\n\t\t} else {\n\t\t\tappend(key, value);\n\t\t}\n\t};\n\n\tObject.entries(params).forEach(([key, value]) => encodePair(key, value));\n\n\treturn qs.length ? `?${qs.join('&')}` : '';\n};"},useData:!0},lr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n\tconst encoder = config.ENCODE_PATH || encodeURI;\n\n\tconst path = options.url\n\t\t.replace('{api-version}', config.VERSION)\n\t\t.replace(/{(.*?)}/g, (substring: string, group: string) => {\n\t\t\tif (options.path?.hasOwnProperty(group)) {\n\t\t\t\treturn encoder(String(options.path[group]));\n\t\t\t}\n\t\t\treturn substring;\n\t\t});\n\n\tconst url = config.BASE + path;\n\treturn options.query ? url + getQueryString(options.query) : url;\n};"},useData:!0},pr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isBlob = (value: any): value is Blob => {\n\treturn value instanceof Blob;\n};"},useData:!0},ur={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isFormData = (value: unknown): value is FormData => {\n\treturn value instanceof FormData;\n};"},useData:!0},cr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isString = (value: unknown): value is string => {\n\treturn typeof value === 'string';\n};"},useData:!0},mr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isStringWithValue = (value: unknown): value is string => {\n\treturn isString(value) && value !== '';\n};"},useData:!0},dr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const isSuccess = (status: number): boolean => {\n\treturn status >= 200 && status < 300;\n};"},useData:!0},fr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n\tif (typeof resolver === 'function') {\n\t\treturn (resolver as Resolver<T>)(options);\n\t}\n\treturn resolver;\n};"},useData:!0},hr={1:function(e,t,n,r,o){return"import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport type { Observable } from 'rxjs';\n\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { OpenAPI } from './OpenAPI';\nimport { request as __request } from './request';\n"},3:function(e,t,n,r,o){return"import type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n"},5:function(e,t,n,r,o){return"@Injectable()\n"},7:function(e,t,n,r,o){return"\tconstructor(\n\t\t@Inject(OpenAPI)\n\t\tconfig: OpenAPIConfig,\n\t\thttp: HttpClient,\n\t) {\n\t\tsuper(config, http);\n\t}\n"},9:function(e,t,n,r,o){return"\tconstructor(config: OpenAPIConfig) {\n\t\tsuper(config);\n\t}\n"},11:function(e,t,n,r,o){return"\t/**\n\t * Request method\n\t * @param options The request options from the service\n\t * @returns Observable<T>\n\t * @throws ApiError\n\t */\n\tpublic override request<T>(options: ApiRequestOptions): Observable<T> {\n\t\treturn __request(this.config, this.http, options);\n\t}\n"},13:function(e,t,n,r,o){return"\t/**\n\t * Request method\n\t * @param options The request options from the service\n\t * @returns CancelablePromise<T>\n\t * @throws ApiError\n\t */\n\tpublic override request<T>(options: ApiRequestOptions): CancelablePromise<T> {\n\t\treturn __request(this.config, options);\n\t}\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:1,column:0},end:{line:17,column:11}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:19,column:0},end:{line:21,column:11}}}))?s:"")+"export class "+(null!=(s=e.lambda(e.strict(t,"httpRequest",{start:{line:22,column:15},end:{line:22,column:26}}),t))?s:"")+" extends BaseHttpRequest {\n\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.program(9,o,0),data:o,loc:{start:{line:24,column:1},end:{line:36,column:12}}}))?s:"")+"\n"+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.program(13,o,0),data:o,loc:{start:{line:38,column:1},end:{line:58,column:12}}}))?s:"")+"}"},useData:!0},yr={1:function(e,t,n,r,o){return"import type { HttpResponse } from '@angular/common/http';"},3:function(e,t,n,r,o){return"import type { AxiosRequestConfig, AxiosResponse } from 'axios';"},5:function(e,t,n,r,o){return"import type { RequestInit, Response } from 'node-fetch';"},7:function(e,t,n,r,o){return"response: Interceptors<HttpResponse<any>>;"},9:function(e,t,n,r,o){return"request: Interceptors<AxiosRequestConfig>;\n\t\tresponse: Interceptors<AxiosResponse>;"},11:function(e,t,n,r,o){return"request: Interceptors<RequestInit>;\n\t\tresponse: Interceptors<Response>;"},13:function(e,t,n,r,o){return"request: Interceptors<XMLHttpRequest>;\n\t\tresponse: Interceptors<XMLHttpRequest>;"},15:function(e,t,n,r,o){return"request: new Interceptors(),"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.strict,l=e.lambda,p=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:3,column:13}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:4,column:0},end:{line:6,column:13}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:0},end:{line:9,column:13}}}))?s:"")+"import type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Headers = Record<string, string>;\ntype Middleware<T> = (value: T) => T | Promise<T>;\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>) {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [\n ...this._fns.slice(0, index),\n ...this._fns.slice(index + 1),\n ];\n }\n }\n\n use(fn: Middleware<T>) {\n this._fns = [...this._fns, fn];\n }\n}\n\nexport type OpenAPIConfig = {\n\tBASE: string;\n\tCREDENTIALS: 'include' | 'omit' | 'same-origin';\n\tENCODE_PATH?: ((path: string) => string) | undefined;\n\tHEADERS?: Headers | Resolver<Headers> | undefined;\n\tPASSWORD?: string | Resolver<string> | undefined;\n\tTOKEN?: string | Resolver<string> | undefined;\n\tUSERNAME?: string | Resolver<string> | undefined;\n\tVERSION: string;\n\tWITH_CREDENTIALS: boolean;\n\tinterceptors: {"+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:50,column:2},end:{line:52,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:53,column:2},end:{line:56,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:57,column:2},end:{line:60,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:61,column:2},end:{line:64,column:15}}}))?s:"")+(null!=(s=p(n,"equals").call(a,p(p(p(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(13,o,0),inverse:e.noop,data:o,loc:{start:{line:65,column:2},end:{line:68,column:15}}}))?s:"")+"};\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n\tBASE: '"+(null!=(s=l(i(t,"server",{start:{line:73,column:11},end:{line:73,column:17}}),t))?s:"")+"',\n\tCREDENTIALS: 'include',\n\tENCODE_PATH: undefined,\n\tHEADERS: undefined,\n\tPASSWORD: undefined,\n\tTOKEN: undefined,\n\tUSERNAME: undefined,\n\tVERSION: '"+(null!=(s=l(i(t,"version",{start:{line:80,column:14},end:{line:80,column:21}}),t))?s:"")+"',\n\tWITH_CREDENTIALS: false,\n\tinterceptors: {"+(null!=(s=p(n,"notEquals").call(a,p(p(p(o,"root"),"$config"),"client"),"angular",{name:"notEquals",hash:{},fn:e.program(15,o,0),inverse:e.noop,data:o,loc:{start:{line:83,column:2},end:{line:85,column:18}}}))?s:"")+"response: new Interceptors(),\n\t},\n};"},useData:!0},gr={1:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"angular/request"),t,{name:"angular/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},3:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"axios/request"),t,{name:"axios/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},5:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"fetch/request"),t,{name:"fetch/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},7:function(e,t,n,r,o){var s,a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return null!=(s=e.invokePartial(a(r,"xhr/request"),t,{name:"xhr/request",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:""},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:0},end:{line:1,column:75}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:2,column:0},end:{line:2,column:71}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:3,column:0},end:{line:3,column:71}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.noop,data:o,loc:{start:{line:4,column:0},end:{line:4,column:70}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:5,column:0},end:{line:5,column:67}}}))?s:"")},usePartial:!0,useData:!0},vr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\tresolve(options, config.TOKEN),\n\t\tresolve(options, config.USERNAME),\n\t\tresolve(options, config.PASSWORD),\n\t\tresolve(options, config.HEADERS),\n\t]);\n\n\tconst headers = Object.entries({\n\t\tAccept: 'application/json',\n\t\t...additionalHeaders,\n\t\t...options.headers,\n\t})\n\t\t.filter(([, value]) => value !== undefined && value !== null)\n\t\t.reduce((headers, [key, value]) => ({\n\t\t\t...headers,\n\t\t\t[key]: String(value),\n\t\t}), {} as Record<string, string>);\n\n\tif (isStringWithValue(token)) {\n\t\theaders['Authorization'] = `Bearer ${token}`;\n\t}\n\n\tif (isStringWithValue(username) && isStringWithValue(password)) {\n\t\tconst credentials = base64(`${username}:${password}`);\n\t\theaders['Authorization'] = `Basic ${credentials}`;\n\t}\n\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType) {\n\t\t\theaders['Content-Type'] = options.mediaType;\n\t\t} else if (isBlob(options.body)) {\n\t\t\theaders['Content-Type'] = options.body.type || 'application/octet-stream';\n\t\t} else if (isString(options.body)) {\n\t\t\theaders['Content-Type'] = 'text/plain';\n\t\t} else if (!isFormData(options.body)) {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t}\n\t}\n\n\treturn new Headers(headers);\n};"},useData:!0},xr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getRequestBody = (options: ApiRequestOptions): unknown => {\n\tif (options.body !== undefined) {\n\t\tif (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {\n\t\t\treturn JSON.stringify(options.body);\n\t\t} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n\t\t\treturn options.body;\n\t\t} else {\n\t\t\treturn JSON.stringify(options.body);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},br={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseBody = (xhr: XMLHttpRequest): unknown => {\n\tif (xhr.status !== 204) {\n\t\ttry {\n\t\t\tconst contentType = xhr.getResponseHeader('Content-Type');\n\t\t\tif (contentType) {\n\t\t\t\tif (contentType.includes('application/json') || contentType.includes('+json')) {\n\t\t\t\t\treturn JSON.parse(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\treturn xhr.responseText;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Rr={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getResponseHeader = (xhr: XMLHttpRequest, responseHeader?: string): string | undefined => {\n\tif (responseHeader) {\n\t\tconst content = xhr.getResponseHeader(responseHeader);\n\t\tif (isString(content)) {\n\t\t\treturn content;\n\t\t}\n\t}\n\treturn undefined;\n};"},useData:!0},Pr={1:function(e,t,n,r,o){return"ApiResult<T>"},3:function(e,t,n,r,o){return"T"},5:function(e,t,n,r,o){return"result.body"},7:function(e,t,n,r,o){return"result"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return"import { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isString"),t,{name:"functions/isString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isStringWithValue"),t,{name:"functions/isStringWithValue",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isBlob"),t,{name:"functions/isBlob",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isFormData"),t,{name:"functions/isFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/isSuccess"),t,{name:"functions/isSuccess",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/base64"),t,{name:"functions/base64",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getQueryString"),t,{name:"functions/getQueryString",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getUrl"),t,{name:"functions/getUrl",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/getFormData"),t,{name:"functions/getFormData",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/resolve"),t,{name:"functions/resolve",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"fetch/getHeaders"),t,{name:"fetch/getHeaders",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getRequestBody"),t,{name:"xhr/getRequestBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/sendRequest"),t,{name:"xhr/sendRequest",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getResponseHeader"),t,{name:"xhr/getResponseHeader",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"xhr/getResponseBody"),t,{name:"xhr/getResponseBody",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n"+(null!=(s=e.invokePartial(i(r,"functions/catchErrorCodes"),t,{name:"functions/catchErrorCodes",data:o,helpers:n,partials:r,decorators:e.decorators}))?s:"")+"\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:60,column:30},end:{line:60,column:116}}}))?s:"")+">\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<"+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"response",{name:"equals",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o,loc:{start:{line:63,column:97},end:{line:63,column:183}}}))?s:"")+"> => {\n\treturn new CancelablePromise(async (resolve, reject, onCancel) => {\n\t\ttry {\n\t\t\tconst url = getUrl(config, options);\n\t\t\tconst formData = getFormData(options);\n\t\t\tconst body = getRequestBody(options);\n\t\t\tconst headers = await getHeaders(config, options);\n\n\t\t\tif (!onCancel.isCancelled) {\n\t\t\t\tlet response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n\n\t\t\t\tfor (const fn of config.interceptors.response._fns) {\n\t\t\t\t\tresponse = await fn(response);\n\t\t\t\t}\n\n\t\t\t\tconst responseBody = getResponseBody(response);\n\t\t\t\tconst responseHeader = getResponseHeader(response, options.responseHeader);\n\n\t\t\t\tconst result: ApiResult = {\n\t\t\t\t\turl,\n\t\t\t\t\tok: isSuccess(response.status),\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\tbody: responseHeader ?? responseBody,\n\t\t\t\t};\n\n\t\t\t\tcatchErrorCodes(options, result);\n\n\t\t\t\tresolve("+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"services"),"response"),"body",{name:"equals",hash:{},fn:e.program(5,o,0),inverse:e.program(7,o,0),data:o,loc:{start:{line:91,column:12},end:{line:91,column:98}}}))?s:"")+");\n\t\t\t}\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};"},usePartial:!0,useData:!0},Or={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async (\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions,\n\turl: string,\n\tbody: any,\n\tformData: FormData | undefined,\n\theaders: Headers,\n\tonCancel: OnCancel\n): Promise<XMLHttpRequest> => {\n\tlet xhr = new XMLHttpRequest();\n\txhr.open(options.method, url, true);\n\txhr.withCredentials = config.WITH_CREDENTIALS;\n\n\theaders.forEach((value, key) => {\n\t\txhr.setRequestHeader(key, value);\n\t});\n\n\treturn new Promise<XMLHttpRequest>(async (resolve, reject) => {\n\t\txhr.onload = () => resolve(xhr);\n\t\txhr.onabort = () => reject(new Error('Request aborted'));\n\t\txhr.onerror = () => reject(new Error('Network error'));\n\n\t\tfor (const fn of config.interceptors.request._fns) {\n\t\t\txhr = await fn(xhr);\n\t\t}\n\n\t\txhr.send(body ?? formData);\n\n\t\tonCancel(() => xhr.abort());\n\t});\n};"},useData:!0};const wr=e=>{const t=_e();return t.services.name?t.services.name.replace("{{name}}",e):e},qr=e=>"PascalCase"===_e().types.name?me(e,{pascalCase:!0}):e,Ar=()=>{Sn.registerHelper("camelCase",me),Sn.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Sn.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Sn.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)})),Sn.registerHelper("transformServiceName",wr)};function kr(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}function Cr(e){return e.sort(((e,t)=>kr(e.name,t.name)))}function Er(e){return{...e,enumNames:[],models:e.models.map((e=>function(e){return{...e,enum:Tr(e),enums:$r(e),imports:Ir(e)}}(e))),services:e.services.map((e=>function(e){const t={...e};return t.operations=function(e){const t=new Map;return e.operations.map((e=>{const n={...e};n.imports.push(...n.parameters.flatMap((e=>e.imports))),n.imports.push(...n.results.flatMap((e=>e.imports)));const r=n.name,o=t.get(r)||0;return o>0&&(n.name=`${r}${o}`),t.set(r,o+1),n}))}(t),t.operations.forEach((e=>{t.imports.push(...e.imports)})),t.imports=function(e){return e.imports.filter(Re).sort(kr)}(t),t}(e)))}}function Tr(e){return e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t))}function $r(e){return e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}function Ir(e){return e.imports.filter(Re).sort(kr).filter((t=>e.name!==t))}const Sr={newLine:l.NewLineKind.LineFeed,scriptKind:l.ScriptKind.TS,scriptTarget:l.ScriptTarget.ES2015,useSingleQuotes:!0},Hr=l.createPrinter({newLine:Sr.newLine}),_r=e=>l.createSourceFile("",e,Sr.scriptTarget,void 0,Sr.scriptKind),Dr=_r("");function Nr(e){const t=Hr.printNode(l.EmitHint.Unspecified,e,Dr);try{return decodeURIComponent(t)}catch{return _e().debug&&console.warn("Could not decode value:",t),t}}const jr=e=>e?l.factory.createTrue():l.factory.createFalse(),Mr=(e,t,n)=>{const r=l.factory.createIdentifier(encodeURIComponent(e));return l.factory.createExportSpecifier(t??!1,n?r:void 0,n?l.factory.createIdentifier(encodeURIComponent(n)):r)},Lr=(e,t,n)=>{const r=l.factory.createIdentifier(encodeURIComponent(e));return l.factory.createImportSpecifier(t??!1,n?r:void 0,n?l.factory.createIdentifier(encodeURIComponent(n)):r)},Br=e=>e<0?l.factory.createPrefixUnaryExpression(l.SyntaxKind.MinusToken,l.factory.createNumericLiteral(Math.abs(e))):l.factory.createNumericLiteral(e),Fr=(e,t=!1)=>{t&&(e=Ae(e));const n=e.includes("'")&&e.includes('"'),r=e.includes("\n"),o=e.startsWith("`"),s=e.startsWith("\\`")&&e.endsWith("\\`");(r||n||o)&&!s&&(e=`\`${e.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``);const a=encodeURIComponent(e);return e.startsWith("`")?l.factory.createIdentifier(a):l.factory.createStringLiteral(a,!e.includes("'")&&Sr.useSingleQuotes)},Ur=e=>void 0!==e,Wr=(e,t,n=!0,r=!0)=>{const o=t.filter(Boolean);if(!o.length)return"";if(!e){if(r){const e=["/**",...o.map((e=>` * ${e}`))," */"].join("\n");return n?`${e}\n`:e}const e=o.map((e=>`// ${e}`)).join("\n");return n?`${e}\n`:e}return l.addSyntheticLeadingComment(e,l.SyntaxKind.MultiLineCommentTrivia,encodeURIComponent(["*",...o.map((e=>` * ${e}`))," "].join("\n")),n),""},Vr=(e,t)=>l.isTypeNode(e)?e:"number"==typeof e?l.factory.createLiteralTypeNode(l.factory.createNumericLiteral(e)):l.factory.createTypeReferenceNode(e,t?.map((e=>Vr(e)))),Kr=(e,t=!1)=>{const n=l.factory.createTypeLiteralNode(e.map((e=>{const t=l.factory.createPropertySignature(e.isReadOnly?[l.factory.createModifier(l.SyntaxKind.ReadonlyKeyword)]:void 0,e.name,e.isRequired?void 0:l.factory.createToken(l.SyntaxKind.QuestionToken),Vr(e.type)),n=e.comment;return n&&Wr(t,n),t})));return t?l.factory.createUnionTypeNode([n,l.factory.createTypeReferenceNode("null")]):n},Qr=(e,t=!1)=>{const n=e.map((e=>Vr(e)));return t&&n.push(l.factory.createTypeReferenceNode("null")),l.factory.createUnionTypeNode(n)},Jr=({value:e,unescape:t=!1,shorthand:n=!1,identifiers:r=[]})=>null===e?l.factory.createNull():Array.isArray(e)?zr({arr:e}):"object"==typeof e?Gr({identifiers:r,obj:e,shorthand:n}):"number"==typeof e?Br(e):"boolean"==typeof e?jr(e):"string"==typeof e?Fr(e,t):void 0,zr=({arr:e,multiLine:t=!1})=>l.factory.createArrayLiteralExpression(e.map((e=>Jr({value:e}))).filter(Ur),!Array.isArray(e[0])&&"object"==typeof e[0]||t),Gr=({comments:e={},identifiers:t=[],multiLine:n=!0,obj:r,shorthand:o=!1,unescape:s=!1})=>{const a=Object.entries(r).map((([n,r])=>{let a=Jr({identifiers:t.includes(n)?Object.keys(r):[],shorthand:o,unescape:s,value:r});if(!a)return;t.includes(n)&&!l.isObjectLiteralExpression(a)&&(a=l.factory.createIdentifier(r));const i=n===r;!n.match(/\W/g)||n.startsWith("'")||n.endsWith("'")||(n=`'${n}'`);const p=o&&i?l.factory.createShorthandPropertyAssignment(r):l.factory.createPropertyAssignment(n,a),u=e?.[n];return u?.length&&Wr(p,u),p})).filter(Ur);return l.factory.createObjectLiteralExpression(a,n)},Xr=e=>{const t="public"===e?l.SyntaxKind.PublicKeyword:"protected"===e?l.SyntaxKind.ProtectedKeyword:"private"===e?l.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(l.factory.createModifier(t)),n},Yr=e=>e.map((e=>{const t=Xr(e.accessLevel);return e.isReadOnly&&t.push(l.factory.createModifier(l.SyntaxKind.ReadonlyKeyword)),l.factory.createParameterDeclaration(t,void 0,l.factory.createIdentifier(e.name),void 0===e.isRequired||e.isRequired?void 0:l.factory.createToken(l.SyntaxKind.QuestionToken),void 0!==e.type?Vr(e.type):void 0,void 0!==e.default?Jr({value:e.default}):void 0)})),Zr=e=>{const t=e.match(/\.[0-9a-z]+$/i),n=t?t[0].slice(1):"";return{extension:n,name:e.slice(0,e.length-(n?n.length+1:0))}};class eo{_headers=[];_imports=[];_items=[];_name;_path;constructor({dir:e,name:n,header:r=!0}){if(this._name=this._setName(n),this._path=t.resolve(e,this.getName()),r){const e=Wr(void 0,["This file is auto-generated by @hey-api/openapi-ts"],!0,!1);this._headers=[...this._headers,e]}}add(...e){this._items=[...this._items,...e]}addNamedImport(...e){this._imports=[...this._imports,to.import.named(...e)]}getName(e=!0){if(e)return this._name;const{name:t}=Zr(this._name);return t}isEmpty(){return!this._items.length}remove(t){e.rmSync(this._path,t)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=Zr(e);return[n,"gen",t].filter(Boolean).join(".")}toString(e="\n"){let t=[];return this._headers.length&&(t=[...t,this._headers.join("\n")]),this._imports.length&&(t=[...t,this._imports.map((e=>Nr(e))).join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:Nr(e)))],t.join(e)}write(t="\n"){this.isEmpty()?this.remove({force:!0}):e.writeFileSync(this._path,this.toString(t))}}const to={class:{constructor:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=l.factory.createConstructorDeclaration(Xr(e),Yr(r),l.factory.createBlock(o,n));return t?.length&&Wr(s,t),s},create:({decorator:e,members:t=[],name:n})=>{const r=[l.factory.createModifier(l.SyntaxKind.ExportKeyword)];e&&r.unshift(l.factory.createDecorator(l.factory.createCallExpression(l.factory.createIdentifier(e.name),void 0,e.args.map((e=>Jr({value:e}))).filter(Ur))));const o=[];return t.forEach((e=>{o.push(e),o.push(l.factory.createIdentifier("\n"))})),l.factory.createClassDeclaration(r,l.factory.createIdentifier(n),[],[],o)},method:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:i=[]})=>{const p=Xr(e);n&&p.push(l.factory.createModifier(l.SyntaxKind.StaticKeyword));const u=l.factory.createMethodDeclaration(p,void 0,l.factory.createIdentifier(o),void 0,[],Yr(s),a?Vr(a):void 0,l.factory.createBlock(i,r));return t?.length&&Wr(u,t),u},return:({args:e=[],name:t})=>l.factory.createReturnStatement(l.factory.createCallExpression(l.factory.createIdentifier(t),void 0,e.map((e=>l.factory.createIdentifier(e))).filter(Ur)))},export:{all:e=>l.factory.createExportDeclaration(void 0,!1,void 0,Fr(e)),asConst:(e,t)=>l.factory.createVariableStatement([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createVariableDeclarationList([l.factory.createVariableDeclaration(l.factory.createIdentifier(e),void 0,void 0,l.factory.createAsExpression(t,l.factory.createTypeReferenceNode("const")))],l.NodeFlags.Const)),named:(e,t)=>{const n=(e=Array.isArray(e)?e:[e]).every((e=>"object"==typeof e&&e.isTypeOnly));return l.factory.createExportDeclaration(void 0,n,l.factory.createNamedExports(e.map((e=>{const{name:t,isTypeOnly:r,alias:o}="string"==typeof e?{name:e}:e;return Mr(t,!n&&Boolean(r),o)}))),Fr(t))}},import:{named:(e,t)=>{const n=(e=Array.isArray(e)?e:[e]).every((e=>"object"==typeof e&&e.isTypeOnly));return l.factory.createImportDeclaration(void 0,l.factory.createImportClause(n,void 0,l.factory.createNamedImports(e.map((e=>{const{name:t,isTypeOnly:r,alias:o}="string"==typeof e?{name:e}:e;return Lr(t,!n&&Boolean(r),o)})))),Fr(t))}},typedef:{alias:(e,t,n)=>{const r=l.factory.createTypeAliasDeclaration([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createIdentifier(e),[],Vr(t));return n?.length&&Wr(r,n),r},array:(e,t=!1)=>{const n=l.factory.createTypeReferenceNode("Array",[Qr(e)]);return t?l.factory.createUnionTypeNode([n,l.factory.createTypeReferenceNode("null")]):n},basic:Vr,interface:Kr,intersect:(e,t=!1)=>{const n=e.map((e=>Vr(e))),r=l.factory.createIntersectionTypeNode(n);return t?l.factory.createUnionTypeNode([r,l.factory.createTypeReferenceNode("null")]):r},record:(e,t,n=!1)=>{const r=Qr(e),o=Qr(t),s=Kr([{isRequired:!0,name:`[key: ${Nr(r)}]`,type:o}]);return n?l.factory.createUnionTypeNode([s,l.factory.createTypeReferenceNode("null")]):s},tuple:(e,t=!1)=>{const n=e.map((e=>Vr(e)));return t&&n.push(l.factory.createTypeReferenceNode("null")),l.factory.createTupleTypeNode(n)},union:Qr},types:{array:zr,enum:({name:e,obj:t,leadingComment:n=[],comments:r={}})=>{const o=l.factory.createEnumDeclaration([l.factory.createModifier(l.SyntaxKind.ExportKeyword)],l.factory.createIdentifier(e),Object.entries(t).map((([e,t])=>{const n=Jr({unescape:!0,value:t}),o=l.factory.createEnumMember(e,n),s=r?.[e];return s&&Wr(o,s),o})));return n.length&&Wr(o,n),o},object:Gr},utils:{toNode:function(e){return _r(e).statements[0]},toString:Nr}},no=e=>{switch(e){case"angular":return"AngularHttpRequest";case"axios":return"AxiosHttpRequest";case"fetch":return"FetchHttpRequest";case"node":return"NodeHttpRequest";case"xhr":return"XHRHttpRequest"}},ro=e=>"string"==typeof e?`'${e.replace(/'/g,"\\'")}'`:e,oo=e=>{const t=_e();return t?.useOptions?e.isRequired?"":"?":e.isRequired||(e=>{if(void 0!==e.default)return JSON.stringify(e.default,null,4)})(e)?"":"?"},so=e=>{const t=_e(),n=`$OpenApiTs['${e.path}']['${e.method.toLocaleLowerCase()}']['req']`;if(!e.parameters.length)return[];if(t.useOptions){return[{default:e.parameters.every((e=>!e.isRequired))?{}:void 0,name:"data",type:n}]}return e.parameters.map((e=>{const t=`${n}['${e.name}']`;return{default:e?.default,isRequired:""===oo(e),name:e.name,type:t}}))},ao=e=>{const t=_e(),n=`$OpenApiTs['${e.path}']['${e.method.toLocaleLowerCase()}']['res']`,r=e.results.filter((e=>e.code>=200&&e.code<300));let o=to.typedef.basic("void");if(r.length){const e=r.map((e=>`${n}[${String(e.code)}]`));o=to.typedef.union(e)}return t.useOptions&&"response"===t.services.response&&(o=to.typedef.basic("ApiResult",[o])),o="angular"===t.client?to.typedef.basic("Observable",[o]):to.typedef.basic("CancelablePromise",[o]),o},io=e=>{let t=[];!_e().useOptions&&e.parameters.length&&(t=e.parameters.map((e=>`@param ${e.name} ${e.description?ke(e.description):""}`)));return[e.deprecated&&"@deprecated",e.summary&&ke(e.summary),e.description&&ke(e.description),...t,...e.results.map((e=>`@returns ${e.type} ${e.description?ke(e.description):""}`)),"@throws ApiError"]},lo=e=>{const t=_e(),n=[];t.useOptions&&e.parameters.length&&n.push(to.utils.toNode((e=>{if(!_e().useOptions||!e.parameters.length)return"";const t={};e.parameters.forEach((e=>{t[e.name]=e.name}));const n=to.types.object({identifiers:Object.keys(t),obj:t,shorthand:!0});return`const ${to.utils.toString(n)} = data;`})(e)));const r=to.utils.toString((e=>{const t=e=>e.reduce(((e,t)=>{const n=t.prop,r=t.name;return n===r?e[n]=n:qe(n)===n?e[n]=r:e[`'${n}'`]=r,e}),{}),n={method:e.method,url:e.path};if(e.parametersPath.length&&(n.path=t(e.parametersPath)),e.parametersCookie.length&&(n.cookies=t(e.parametersCookie)),e.parametersHeader.length&&(n.headers=t(e.parametersHeader)),e.parametersQuery.length&&(n.query=t(e.parametersQuery)),e.parametersForm.length&&(n.formData=t(e.parametersForm)),e.parametersBody&&("formData"===e.parametersBody.in&&(n.formData=e.parametersBody.name),"body"===e.parametersBody.in&&(n.body=e.parametersBody.name)),e.parametersBody?.mediaType&&(n.mediaType=e.parametersBody?.mediaType),e.responseHeader&&(n.responseHeader=e.responseHeader),e.errors.length){const t={};e.errors.forEach((e=>{t[e.code]=e.description.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\${/g,"\\${")})),n.errors=t}return to.types.object({identifiers:["body","headers","formData","cookies","path","query"],obj:n,shorthand:!0})})(e));return t.name?n.push(to.class.return({args:[r],name:"this.httpRequest.request"})):"angular"===t.client?n.push(to.class.return({args:["OpenAPI","this.http",r],name:"__request"})):n.push(to.class.return({args:["OpenAPI",r],name:"__request"})),n},po=e=>{const t=_e(),n=e.operations.map((e=>to.class.method({accessLevel:"public",comment:io(e),isStatic:void 0===t.name&&"angular"!==t.client,name:e.name,parameters:so(e),returnType:ao(e),statements:lo(e)})));return t.name?n.unshift(to.class.constructor({parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]})):"angular"===t.client&&n.unshift(to.class.constructor({parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]})),to.class.create({decorator:"angular"===t.client?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:n,name:wr(e.name)})},uo=e=>{const t=_e();return"binary"===e.base?to.typedef.union(["Blob","File"]):t.types.dates&&"date-time"===e.format?to.typedef.basic("Date"):e.base===e.type&&e.$refs.length&&e.$refs.some((t=>t.endsWith(e.base)))?to.typedef.basic(qr(e.base)):to.typedef.basic(e.base)},co=e=>{switch(e.export){case"all-of":return(e=>{const t=e.properties.map((e=>to.utils.toString(co(e)))).filter(Re);return to.typedef.intersect(t,e.isNullable)})(e);case"any-of":case"one-of":return(e=>{const t=e.properties.map((e=>to.utils.toString(co(e)))).filter(Re);return to.typedef.union(t,e.isNullable)})(e);case"array":return(e=>{if("array"===e.export&&e.link&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){const t=Array(e.maxItems).fill(co(e.link));return to.typedef.tuple(t,e.isNullable)}return e.link?to.typedef.array([co(e.link)],e.isNullable):to.typedef.array([uo(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link?co(e.link):uo(e);return to.typedef.record(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>ro(e.value)));return to.typedef.union(t,e.isNullable)})(e);case"interface":return(e=>{if(!e.properties.length)return to.typedef.basic("unknown");const t=e.properties.map((e=>{let t=oo(e),n=co(e);return"[key: string]"===e.name&&t&&(t="",n=to.typedef.union([n,"undefined"])),{comment:[e.description&&ke(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:e.name,type:n}}));return to.typedef.interface(t,e.isNullable)})(e);default:return(e=>to.typedef.union([uo(e)],e.isNullable))(e)}},mo={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},fo=(e,t,n,r=!1)=>{const o=_e(),s={},a={};t.enum.forEach((e=>{const t=((e,t)=>{if(t)return t;if("number"==typeof e)return`'_${e}'`;let n="";return"string"==typeof e&&(n=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_").replace(/^([^$_\p{ID_Start}])/u,"_$1").replace(/(\p{Lowercase})(\p{Uppercase}+)/gu,"$1_$2")),n=n.trim(),n||(n="empty_string"),n.toUpperCase()})(e.value,e.customName),n=ro(e.value);s[t]=n;const r=e.customDescription||e.description;r&&(a[t]=[ke(r)])}));const i=((e,t)=>{if(!t)return null;const n=Ae(t).replace(/[-_]([a-z])/gi,((e,t)=>t.toLocaleUpperCase())),r=`${n.charAt(0).toLocaleUpperCase()+n.slice(1)}Enum`;return e.enumNames.includes(r)?null:(e.enumNames=[...e.enumNames,r],r)})(e,t.name);if(null===i)return;const l=[t.description&&ke(t.description),t.deprecated&&"@deprecated"];if(r){n(to.typedef.alias(de(t.name),t.enum.map((e=>ro(e.value))).filter(Re).join(" | "),l))}if("typescript"===o.enums){n(to.types.enum({comments:a,leadingComment:l,name:i,obj:s}),"enum")}if("javascript"===o.enums){const e=to.types.object({comments:a,multiLine:!0,obj:s,unescape:!0}),t=to.export.asConst(i,e);Wr(t,l),n(t,"enum")}},ho=(e,t,n)=>{const r=[t.description&&ke(t.description),t.deprecated&&"@deprecated"];n(to.typedef.alias(qr(t.name),co(t),r))},yo=(e,t,n)=>{switch(t.export){case"all-of":case"any-of":case"one-of":case"interface":return((e,t,n)=>{ho(e,t,n),t.enums.forEach((t=>fo(e,t,n)))})(e,t,n);case"enum":return fo(e,t,n,!0);default:return ho(e,t,n)}},go=async({client:e,files:t})=>{for(const n of e.models)yo(e,n,((e,n)=>{"enum"===n?t.enums?.add(e):t.types?.add(e)}));t.services&&e.services.length&&((e,t)=>{const n=new Map;e.forEach((e=>{e.operations.forEach((e=>{const t=e.parameters.length,r=e.results.length;if(t||r){let o=n.get(e.path);o||(n.set(e.path,new Map),o=n.get(e.path));let s=o.get(e.method);if(s||(o.set(e.method,new Map),s=o.get(e.method)),t&&s.set("req",Cr([...e.parameters])),r){let t=s.get("res");if(t||(s.set("res",new Map),t=s.get("res")),Array.isArray(t))return;e.results.forEach((e=>{t.set(e.code,e)}))}}}))}));const r=Array.from(n).map((([e,t])=>{const n=Array.from(t).map((([e,t])=>{const n=Array.from(t).map((([e,t])=>{const n=Array.isArray(t)?t:Array.from(t).map((([e,t])=>({...mo,...t,isRequired:!0,name:String(e)})));return{...mo,export:"interface",isRequired:!0,name:e,properties:n}}));return{...mo,export:"interface",isRequired:!0,name:e.toLocaleLowerCase(),properties:n}}));return{...mo,export:"interface",isRequired:!0,name:`'${e}'`,properties:n}})),o=co({...mo,export:"interface",properties:r});t(to.typedef.alias("$OpenApiTs",o))})(e.services,(e=>{t.types?.add(e)}))},vo=e=>{if(Array.isArray(e))return e.map((e=>vo(e)));if("object"!=typeof e||null===e)return e;const t={...e};return Object.entries(t).forEach((([e,n])=>{["description","x-enum-descriptions","x-enum-varnames","x-enumNames"].includes(e)?delete t[e]:n&&"object"==typeof n&&(t[e]=vo(n))})),t},xo=async(n,r,o)=>{const s=_e();if(s.services.include){const e=new RegExp(s.services.include);r.services=r.services.filter((t=>e.test(t.name)))}if(s.types.include){const e=new RegExp(s.types.include);r.models=r.models.filter((t=>e.test(t.name)))}const a=t.resolve(s.output);e.existsSync(a)||e.mkdirSync(a,{recursive:!0});const i={index:new eo({dir:s.output,name:"index.ts"})};s.enums&&(i.enums=new eo({dir:s.output,name:"enums.ts"})),s.schemas.export&&(i.schemas=new eo({dir:s.output,name:"schemas.ts"})),s.services.export&&(i.services=new eo({dir:s.output,name:"services.ts"})),s.types.export&&(i.types=new eo({dir:s.output,name:"types.ts"})),await(async({file:e,openApi:t})=>{if(!e)return;const n=_e(),r=(t,r)=>{const o=`$${de(t)}`,s="form"===n.schemas.type?vo(r):r,a=to.types.object({obj:s}),i=to.export.asConst(o,a);e.add(i)};if("swagger"in t)for(const e in t.definitions)t.definitions.hasOwnProperty(e)&&r(e,t.definitions[e]);if("openapi"in t&&t.components)for(const e in t.components.schemas)t.components.schemas.hasOwnProperty(e)&&r(e,t.components.schemas[e])})({file:i.schemas,openApi:n}),await go({client:r,files:i}),await(async({client:e,files:t})=>{const n=t.services;if(!n)return;const r=_e();let o=[];for(const t of e.services){n.add(po(t));const e="$OpenApiTs";o=[...o,e]}if("angular"===r.client?(n.addNamedImport("Injectable","@angular/core"),void 0===r.name&&n.addNamedImport("HttpClient","@angular/common/http"),n.addNamedImport({isTypeOnly:!0,name:"Observable"},"rxjs")):n.addNamedImport({isTypeOnly:!0,name:"CancelablePromise"},"./core/CancelablePromise"),"response"===r.services.response&&n.addNamedImport({isTypeOnly:!0,name:"ApiResult"},"./core/ApiResult"),r.name?n.addNamedImport({isTypeOnly:"angular"!==r.client,name:"BaseHttpRequest"},"./core/BaseHttpRequest"):(n.addNamedImport("OpenAPI","./core/OpenAPI"),n.addNamedImport({alias:"__request",name:"request"},"./core/request")),t.types&&!t.types.isEmpty()){const e=o.filter(Re).map((e=>({isTypeOnly:!0,name:e})));n.addNamedImport(e,`./${t.types.getName(!1)}`)}})({client:r,files:i}),await(async(n,r,o,s)=>{const a=_e(),i=s.client({$config:a,...o,httpRequest:no(a.client),models:Cr(o.models),services:Cr(o.services)});a.name&&await e.writeFileSync(t.resolve(r,`${a.name}.ts`),i)})(0,a,r,o),await(async(n,r,o,s)=>{const a=_e(),i={httpRequest:no(a.client),server:void 0!==a.base?a.base:o.server,version:o.version};if(e.rmSync(t.resolve(r),{force:!0,recursive:!0}),e.mkdirSync(t.resolve(r),{recursive:!0}),a.exportCore&&(await e.writeFileSync(t.resolve(r,"OpenAPI.ts"),s.core.settings({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiError.ts"),s.core.apiError({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiRequestOptions.ts"),s.core.apiRequestOptions({$config:a,...i})),await e.writeFileSync(t.resolve(r,"ApiResult.ts"),s.core.apiResult({$config:a,...i})),"angular"!==a.client&&await e.writeFileSync(t.resolve(r,"CancelablePromise.ts"),s.core.cancelablePromise({$config:a,...i})),await e.writeFileSync(t.resolve(r,"request.ts"),s.core.request({$config:a,...i})),a.name&&(await e.writeFileSync(t.resolve(r,"BaseHttpRequest.ts"),s.core.baseHttpRequest({$config:a,...i})),await e.writeFileSync(t.resolve(r,`${i.httpRequest}.ts`),s.core.httpRequest({$config:a,...i}))),a.request)){const n=t.resolve(process.cwd(),a.request);if(!await e.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await e.copyFileSync(n,t.resolve(r,"request.ts"))}})(0,t.resolve(s.output,"core"),r,o),await(async({files:e})=>{const t=_e();t.name&&e.index.add(to.export.named([t.name],`./${t.name}`)),t.exportCore&&(e.index.add(to.export.named("ApiError","./core/ApiError")),"response"===t.services.response&&e.index.add(to.export.named({isTypeOnly:!0,name:"ApiResult"},"./core/ApiResult")),t.name&&e.index.add(to.export.named("BaseHttpRequest","./core/BaseHttpRequest")),"angular"!==t.client&&e.index.add(to.export.named(["CancelablePromise","CancelError"],"./core/CancelablePromise")),e.index.add(to.export.named(["OpenAPI",{isTypeOnly:!0,name:"OpenAPIConfig"}],"./core/OpenAPI"))),e.enums&&!e.enums.isEmpty()&&e.index.add(to.export.all(`./${e.enums.getName(!1)}`)),e.schemas&&!e.schemas.isEmpty()&&e.index.add(to.export.all(`./${e.schemas.getName(!1)}`)),e.services&&!e.services.isEmpty()&&e.index.add(to.export.all(`./${e.services.getName(!1)}`)),e.types&&!e.types.isEmpty()&&e.index.add(to.export.all(`./${e.types.getName(!1)}`))})({files:i}),i.enums?.write("\n\n"),i.schemas?.write("\n\n"),i.services?.write("\n\n"),i.types?.write("\n\n"),i.index.write()},bo={angular:["@angular/common","@angular/core","rxjs"],axios:["axios"],fetch:[],node:["node-fetch"],xhr:[]},Ro=async(e,r)=>{const{config:o}=await n.loadConfig({jitiOptions:{esmResolve:!0},name:"openapi-ts",overrides:e});o&&(e={...o,...e});const{base:s,debug:a=!1,dryRun:i=!1,enums:l=!1,exportCore:p=!0,format:u=!0,input:c,lint:m=!1,name:d,operationId:f=!0,request:h,useOptions:y=!0}=e;if(a&&console.warn("userConfig:",e),!c)throw new Error("🚫 input not provided - provide path to OpenAPI specification");if(!e.output)throw new Error("🚫 output not provided - provide path where we should generate your client");y||console.warn("⚠️ Deprecation warning: useOptions set to false. This setting will be removed in future versions. Please migrate useOptions to true https://heyapi.vercel.app/openapi-ts/migrating.html#v0-27-38");const g=e.client||(e=>Object.keys(e).some((e=>e.startsWith("@angular")))?"angular":e.axios?"axios":e["node-fetch"]?"node":"fetch")(r),v=t.resolve(process.cwd(),e.output),x=(e=>{let t={export:!0,type:"json"};return"boolean"==typeof e.schemas?t.export=e.schemas:t={...t,...e.schemas},t})(e),b=(e=>{let t={export:!0,name:"{{name}}Service",response:"body"};return"boolean"==typeof e.services?t.export=e.services:"string"==typeof e.services?t.include=e.services:t={...t,...e.services},t})(e),R=(e=>{let t={dates:!1,export:!0,name:"preserve"};return"boolean"==typeof e.types?t.export=e.types:"string"==typeof e.types?t.include=e.types:t={...t,...e.types},t})(e);return He={base:s,client:g,debug:a,dryRun:i,enums:l,exportCore:p,format:u,input:c,lint:m,name:d,operationId:f,output:v,request:h,schemas:x,services:b,types:R,useOptions:y},_e()};exports.createClient=async function(n){const r=JSON.parse(e.readFileSync(t.resolve(process.cwd(),"package.json")).toString()),o=[r.dependencies,r.devDependencies].reduce(((e,t)=>({...e,...t})),{});if(!o.typescript)throw new Error("🚫 dependency missing - TypeScript must be installed");const s=await Ro(n,o),a="string"==typeof s.input?await(async n=>{const r=e.existsSync(n)?t.resolve(n):n;return await i.bundle(r,r,{})})(s.input):s.input,l=Er(function(e){if("openapi"in e)return ut(e);if("swagger"in e)return Qe(e);throw new Error(`Unsupported Open API specification: ${JSON.stringify(e,null,2)}`)}(a)),p=(()=>{Ar();const e={client:Sn.template(Hn),core:{apiError:Sn.template(Bn),apiRequestOptions:Sn.template(Fn),apiResult:Sn.template(Un),baseHttpRequest:Sn.template(Gn),cancelablePromise:Sn.template(Xn),httpRequest:Sn.template(hr),request:Sn.template(gr),settings:Sn.template(yr)}};return Sn.registerPartial("functions/base64",Sn.template(or)),Sn.registerPartial("functions/catchErrorCodes",Sn.template(sr)),Sn.registerPartial("functions/getFormData",Sn.template(ar)),Sn.registerPartial("functions/getQueryString",Sn.template(ir)),Sn.registerPartial("functions/getUrl",Sn.template(lr)),Sn.registerPartial("functions/isBlob",Sn.template(pr)),Sn.registerPartial("functions/isFormData",Sn.template(ur)),Sn.registerPartial("functions/isString",Sn.template(cr)),Sn.registerPartial("functions/isStringWithValue",Sn.template(mr)),Sn.registerPartial("functions/isSuccess",Sn.template(dr)),Sn.registerPartial("functions/resolve",Sn.template(fr)),Sn.registerPartial("fetch/getHeaders",Sn.template(Yn)),Sn.registerPartial("fetch/getRequestBody",Sn.template(Zn)),Sn.registerPartial("fetch/getResponseBody",Sn.template(er)),Sn.registerPartial("fetch/getResponseHeader",Sn.template(tr)),Sn.registerPartial("fetch/request",Sn.template(nr)),Sn.registerPartial("fetch/sendRequest",Sn.template(rr)),Sn.registerPartial("xhr/getHeaders",Sn.template(vr)),Sn.registerPartial("xhr/getRequestBody",Sn.template(xr)),Sn.registerPartial("xhr/getResponseBody",Sn.template(br)),Sn.registerPartial("xhr/getResponseHeader",Sn.template(Rr)),Sn.registerPartial("xhr/request",Sn.template(Pr)),Sn.registerPartial("xhr/sendRequest",Sn.template(Or)),Sn.registerPartial("axios/getHeaders",Sn.template(Wn)),Sn.registerPartial("axios/getRequestBody",Sn.template(Vn)),Sn.registerPartial("axios/getResponseBody",Sn.template(Kn)),Sn.registerPartial("axios/getResponseHeader",Sn.template(Qn)),Sn.registerPartial("axios/request",Sn.template(Jn)),Sn.registerPartial("axios/sendRequest",Sn.template(zn)),Sn.registerPartial("angular/getHeaders",Sn.template(_n)),Sn.registerPartial("angular/getRequestBody",Sn.template(Dn)),Sn.registerPartial("angular/getResponseBody",Sn.template(Nn)),Sn.registerPartial("angular/getResponseHeader",Sn.template(jn)),Sn.registerPartial("angular/request",Sn.template(Mn)),Sn.registerPartial("angular/sendRequest",Sn.template(Ln)),e})();return s.dryRun||((()=>{const{client:e}=_e();switch(e){case"angular":return console.log("✨ Creating Angular client");case"axios":return console.log("✨ Creating Axios client");case"fetch":return console.log("✨ Creating Fetch client");case"node":return console.log("✨ Creating Node.js client");case"xhr":console.log("✨ Creating XHR client")}})(),(e=>{const{client:t}=_e(),n=bo[t].filter((t=>void 0===e[t]));n.length>0&&console.log("⚠️ Dependencies used in generated client are missing: "+n.join(" "))})(o),await xo(a,l,p),(e=>{const t=_e();t.format&&e.prettier&&(console.log("✨ Running Prettier"),re("prettier",["--ignore-unknown",t.output,"--write","--ignore-path","./.prettierignore"])),t.lint&&e.eslint&&(console.log("✨ Running ESLint"),re("eslint",[t.output,"--fix"]))})(o)),console.log("✨ Done! Your client is located in:",s.output),l},exports.defineConfig=function(e){return e};
@@ -128,11 +128,6 @@ interface UserConfig {
128
128
  * @default true
129
129
  */
130
130
  exportCore?: boolean;
131
- /**
132
- * Generate services?
133
- * @default true
134
- */
135
- exportServices?: boolean | string;
136
131
  /**
137
132
  * Process output folder with formatter?
138
133
  * @default true
@@ -160,30 +155,63 @@ interface UserConfig {
160
155
  * The relative location of the output directory
161
156
  */
162
157
  output: string;
163
- /**
164
- * Service name postfix
165
- * @default 'Service'
166
- */
167
- postfixServices?: string;
168
158
  /**
169
159
  * Path to custom request file
170
160
  */
171
161
  request?: string;
172
162
  /**
173
- * Export JSON schemas?
163
+ * Generate JSON schemas?
174
164
  * @default true
175
165
  */
176
- schemas?: boolean;
166
+ schemas?: boolean | {
167
+ /**
168
+ * Generate JSON schemas?
169
+ * @default true
170
+ */
171
+ export?: boolean;
172
+ /**
173
+ * Choose schema type to generate. Select 'form' if you don't want
174
+ * descriptions to reduce bundle size and you plan to use schemas
175
+ * for form validation
176
+ * @default 'json'
177
+ */
178
+ type?: 'form' | 'json';
179
+ };
177
180
  /**
178
- * Define shape of returned value from service calls
179
- * @default 'body'
181
+ * Generate services?
182
+ * @default true
180
183
  */
181
- serviceResponse?: 'body' | 'response';
184
+ services?: boolean | string | {
185
+ /**
186
+ * Generate services?
187
+ * @default true
188
+ */
189
+ export?: boolean;
190
+ /**
191
+ * Include only services matching regular expression
192
+ */
193
+ include?: string;
194
+ /**
195
+ * Use your preferred naming pattern
196
+ * @default '{{name}}Service'
197
+ */
198
+ name?: string;
199
+ /**
200
+ * Define shape of returned value from service calls
201
+ * @default 'body'
202
+ */
203
+ response?: 'body' | 'response';
204
+ };
182
205
  /**
183
206
  * Generate types?
184
207
  * @default true
185
208
  */
186
209
  types?: boolean | string | {
210
+ /**
211
+ * Output Date instead of string for format "date-time"
212
+ * @default false
213
+ */
214
+ dates?: boolean;
187
215
  /**
188
216
  * Generate types?
189
217
  * @default true
@@ -199,11 +227,6 @@ interface UserConfig {
199
227
  */
200
228
  name?: 'PascalCase' | 'preserve';
201
229
  };
202
- /**
203
- * Output Date instead of string for the format "date-time" in the models
204
- * @default false
205
- */
206
- useDateType?: boolean;
207
230
  /**
208
231
  * Use options or arguments functions
209
232
  * @default true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hey-api/openapi-ts",
3
- "version": "0.40.1",
3
+ "version": "0.41.0",
4
4
  "type": "module",
5
5
  "description": "Turn your OpenAPI specification into a beautiful TypeScript client",
6
6
  "homepage": "https://heyapi.vercel.app/",
@@ -40,7 +40,7 @@
40
40
  "node": "^18.0.0 || >=20.0.0"
41
41
  },
42
42
  "dependencies": {
43
- "@apidevtools/json-schema-ref-parser": "11.5.4",
43
+ "@apidevtools/json-schema-ref-parser": "11.5.5",
44
44
  "c12": "1.10.0",
45
45
  "camelcase": "8.0.0",
46
46
  "commander": "12.0.0",
@@ -50,17 +50,17 @@
50
50
  "typescript": "^5.x"
51
51
  },
52
52
  "devDependencies": {
53
- "@angular-devkit/build-angular": "17.3.4",
54
- "@angular/animations": "17.3.4",
55
- "@angular/cli": "17.3.4",
56
- "@angular/common": "17.3.4",
57
- "@angular/compiler": "17.3.4",
58
- "@angular/compiler-cli": "17.3.4",
59
- "@angular/core": "17.3.4",
60
- "@angular/forms": "17.3.4",
61
- "@angular/platform-browser": "17.3.4",
62
- "@angular/platform-browser-dynamic": "17.3.4",
63
- "@angular/router": "17.3.4",
53
+ "@angular-devkit/build-angular": "17.3.5",
54
+ "@angular/animations": "17.3.5",
55
+ "@angular/cli": "17.3.5",
56
+ "@angular/common": "17.3.5",
57
+ "@angular/compiler": "17.3.5",
58
+ "@angular/compiler-cli": "17.3.5",
59
+ "@angular/core": "17.3.5",
60
+ "@angular/forms": "17.3.5",
61
+ "@angular/platform-browser": "17.3.5",
62
+ "@angular/platform-browser-dynamic": "17.3.5",
63
+ "@angular/router": "17.3.5",
64
64
  "@rollup/plugin-commonjs": "25.0.7",
65
65
  "@rollup/plugin-json": "6.1.0",
66
66
  "@rollup/plugin-node-resolve": "15.2.3",
@@ -81,15 +81,15 @@
81
81
  "globals": "15.0.0",
82
82
  "node-fetch": "3.3.2",
83
83
  "prettier": "3.2.5",
84
- "puppeteer": "22.6.4",
84
+ "puppeteer": "22.6.5",
85
85
  "rimraf": "5.0.5",
86
- "rollup": "4.14.2",
86
+ "rollup": "4.14.3",
87
87
  "rollup-plugin-dts": "6.1.0",
88
88
  "rxjs": "7.8.1",
89
89
  "ts-node": "10.9.2",
90
90
  "tslib": "2.6.2",
91
91
  "typescript": "5.4.5",
92
- "typescript-eslint": "7.6.0",
92
+ "typescript-eslint": "7.7.0",
93
93
  "vitest": "1.5.0"
94
94
  },
95
95
  "scripts": {
@@ -101,9 +101,8 @@
101
101
  "build": "pnpm clean && pnpm build-bundle && pnpm build-types",
102
102
  "clean": "rimraf dist test/generated test/e2e/generated coverage node_modules/.cache",
103
103
  "dev": "rimraf dist && pnpm build-bundle --watch",
104
- "format": "prettier --write .",
105
- "lint:fix": "prettier --check . && eslint . --fix",
106
- "lint": "prettier --check . && eslint .",
104
+ "lint:fix": "eslint . --fix",
105
+ "lint": "eslint .",
107
106
  "test:coverage": "vitest run --config vitest.config.unit.ts --coverage",
108
107
  "test:e2e": "vitest run --config vitest.config.e2e.ts",
109
108
  "test:sample": "node test/sample.cjs",