@hey-api/openapi-ts 0.46.1 → 0.46.2
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/dist/node/index.cjs +1 -1
- package/dist/node/index.d.ts +135 -2
- package/package.json +1 -1
package/dist/node/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("node:path"),t=require("c12"),n=require("child_process"),r=require("path"),o=require("fs"),s=require("os"),a=require("node:fs"),i=require("@apidevtools/json-schema-ref-parser"),p=require("typescript"),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var u,m,d,f,y,h={exports:{}};y="win32"===process.platform||l.TESTING_WINDOWS?function(){if(m)return u;m=1,u=n,n.sync=function(n,r){return t(e.statSync(n),n,r)};var e=o;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 u}():function(){if(f)return d;f=1,d=t,t.sync=function(t,r){return n(e.statSync(t),r)};var e=o;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),p=parseInt("010",8);return n&parseInt("001",8)||n&p&&o===a||n&i&&r===s||n&(i|p)&&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)}))}))}y(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 y.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const b="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,x=r,R=b?";":":",P=g,A=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),q=(e,t)=>{const n=t.colon||R,r=e.match(/\//)||b&&e.match(/\\/)?[""]:[...b?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=b?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=b?o.split(n):[""];return b&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},O=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});const{pathEnv:r,pathExt:o,pathExtExe:s}=q(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(A(e));const i=r[n],l=/^".*"$/.test(i)?i.slice(1,-1):i,c=x.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;o(p(u,n,0))})),p=(e,n,r)=>new Promise(((l,c)=>{if(r===o.length)return l(i(n+1));const u=o[r];P(e+u,{pathExt:s},((o,s)=>{if(!o&&s){if(!t.all)return l(e+u);a.push(e+u)}return l(p(e,n,r+1))}))}));return n?i(0).then((e=>n(null,e)),n):i(0)};var w=O;O.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=q(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,l=x.join(p,e),c=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let e=0;e<r.length;e++){const n=c+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 A(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=r,$=w,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=o,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 B=r,L=H,F=_,W=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())},U="win32"===process.platform,V=/\.(?:com|exe)$/i,K=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q(e){if(!U)return e;const t=function(e){e.file=L(e);const t=e.file&&W(e.file);return t?(e.args.unshift(e.file),e.command=t,L(e)):e.file}(e),n=!V.test(t);if(e.options.forceShell||n){const n=K.test(t);e.command=B.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=n,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}h.exports=ne,h.exports.spawn=ne;var re=h.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};h.exports._parse=ee,h.exports._enoent=te;const oe=/[\p{Lu}]/u,se=/[\p{Ll}]/u,ae=/^[\p{Lu}](?![\p{Lu}])/gu,ie=/([\p{Alpha}\p{N}_]|$)/u,pe=/[_.\- ]+/,le=new RegExp("^"+pe.source),ce=new RegExp(pe.source+ie.source,"gu"),ue=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 pe.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 p=0;p<e.length;p++){const l=e[p];i=!(p>2)||"-"===e[p-3],o&&oe.test(l)?(e=e.slice(0,p)+"-"+e.slice(p),o=!1,a=s,s=!0,p++):s&&a&&se.test(l)&&(!i||r)?(e=e.slice(0,p-1)+"-"+e.slice(p-1),a=s,s=!1,o=!0):(o=t(l)===l&&n(l)!==l,a=s,s=n(l)===l&&t(l)!==l)}return e})(e,n,r,t.preserveConsecutiveUppercase)),e=e.replace(le,""),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)=>(ce.lastIndex=0,ue.lastIndex=0,e.replaceAll(ue,((n,r,o)=>["_","-"].includes(e.charAt(o+n.length))?n:t(n))).replaceAll(ce,((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 ye(e="1.0"){return String(e).replace(/^v/gi,"")}const he=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;let ve;const be=()=>ve,xe=e=>("string"==typeof e?e:e.client).startsWith("@hey-api"),Re=e=>{const t=be();return t.services.name?t.services.name.replace("{{name}}",e):e},Pe=e=>qe(e).includes("null"),Ae=e=>!0===e.nullable||Pe(e),qe=({type:e})=>Array.isArray(e)?e:e?[e]:[],Oe=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\//,""),we=(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"}},ke=({format:e,type:t="unknown"})=>{const n={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(t)){const r=t.filter((e=>"null"!==e)).map((t=>we(t,e))).filter(Boolean).join(" | ");return n.type=r,n.base=r,n.isNullable=Pe({type:t}),n}const r=we(t,e);if(r)return n.type=r,n.base=r,n;const o=decodeURIComponent(Oe(t));if(/\[.*\]$/g.test(o)){const e=o.match(/(.*?)\[(.*)\]$/);if(e?.length){const t=ke({type:de(e[1])}),r=ke({type: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){let e=(s=de(o),"PascalCase"===be().types.name?me(s,{pascalCase:!0}):s);return t.startsWith("#/components/parameters/")&&(e=`Parameter${e}`),n.type=e,n.base=e,t.startsWith("#")&&(n.$refs=[...n.$refs,t]),n.imports=[...n.imports,e],n}var s;return n};function Ce(e,t,n){return n.indexOf(e)===t}const Ee=(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(Ce).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},Te=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),$e=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,Ie=e=>{if(e||""===e){if(!$e.test(e))return`'${e}'`}return e},Se=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,He=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,t)=>s.EOL+t.trim())),_e=({definition:e,getModel:t,openApi:n,types:r})=>{const o=[];return Object.entries(e.properties??{}).forEach((([s,a])=>{const i=Boolean(e.required?.includes(s));if(a.$ref){const e=ke({type:a.$ref});o.push({$refs:[],base:e.base,description:a.description||null,enum:[],enums:[],exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:"reference",format:a.format,imports:e.imports,isDefinition:!1,isNullable:!0===a["x-nullable"],isReadOnly:!0===a.readOnly,isRequired:i,link:null,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Ie(s),pattern:Te(a.pattern),properties:[],template:e.template,type:e.type,uniqueItems:a.uniqueItems})}else{const e=t({definition:a,openApi:n,types:r});o.push({$refs:[],base:e.base,description:a.description||null,enum:e.enum,enums:e.enums,exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:e.export,format:a.format,imports:e.imports,isDefinition:!1,isNullable:!0===a["x-nullable"],isReadOnly:!0===a.readOnly,isRequired:i,link:e.link,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Ie(s),pattern:Te(a.pattern),properties:e.properties,template:e.template,type:e.type,uniqueItems:a.uniqueItems})}})),o},De=/~1/g,Ne=/~0/g;function je(e,t){if(t.$ref){const n=t.$ref.replace(/^#/g,"").split("/").filter(Boolean);let r=e;return n.forEach((e=>{const n=decodeURIComponent(e.replace(De,"/").replace(Ne,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const Me=({definition:e,definitions:t,getModel:n,openApi:r,type:o,types:s})=>{const a={$refs:[],enums:[],export:o,imports:[],properties:[]},i=[];if(t.map((e=>n({definition:e,openApi:r,types:s}))).filter((e=>{const t=e.properties.length,n=e.enums.length;return!("unknown"===e.type&&!t&&!n)})).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),e.required){const o=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=je(n,r);return[...e,...t({definition:s,openApi:n,types:o}).properties]}return[...e,...t({definition:r,openApi:n,types:o}).properties]}),[]).filter((e=>!e.isRequired&&r.includes(e.name))).map((e=>({...e,isRequired:!0}))))({definitions:t,getModel:n,openApi:r,required:e.required,types:s});o.forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums)})),i.push(...o)}if(e.properties){const t=_e({definition:e,getModel:n,openApi:r,types:s});t.forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),"enum"===e.export&&a.enums.push(e)})),i.push(...t)}return i.length&&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"}),a},Be=({definition:e,isDefinition:t=!1,meta:n,openApi:r,types:o})=>{const s={$refs:[],base:"unknown",description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],isDefinition:t,isNullable:!0===e["x-nullable"],isReadOnly:!0===e.readOnly,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:n,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:n?.name??"",pattern:Te(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){const t=ke({type:e.$ref});return s.export="reference",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}if(e.enum&&"boolean"!==e.type){const t=Ee(e,e.enum);if(t.length)return s.base="string",s.enum=[...s.enum,...t],s.export="enum",s.type="string",s}if("array"===e.type&&e.items){if(e.items.$ref){const t=ke({type:e.items.$ref});return s.export="array",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}{const t=Be({definition:e.items,openApi:r,types:o});return s.export="array",s.type=t.type,s.base=t.base,s.template=t.template,s.link=t,s.imports.push(...t.imports),s}}if("object"===e.type&&"object"==typeof e.additionalProperties){if(e.additionalProperties.$ref){const t=ke({type:e.additionalProperties.$ref});return s.export="dictionary",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}{const t=Be({definition:e.additionalProperties,openApi:r,types:o});return s.export="dictionary",s.type=t.type,s.base=t.base,s.template=t.template,s.link=t,s.imports.push(...t.imports),s}}if(e.allOf?.length){const t=Me({definition:e,definitions:e.allOf,getModel:Be,openApi:r,type:"all-of",types:o});return s.export=t.export,s.imports.push(...t.imports),s.properties.push(...t.properties),s.enums=[...s.enums,...t.enums],s}if("object"===e.type){if(s.export="interface",s.type="unknown",s.base="unknown",e.properties){_e({definition:e,getModel:Be,openApi:r,types:o}).forEach((e=>{s.imports.push(...e.imports),s.enums=[...s.enums,...e.enums],s.properties.push(e),"enum"===e.export&&(s.enums=[...s.enums,e])}))}return s}if(e.type){const t=ke({format:e.format,type:e.type});return s.export="generic",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}return s},Le=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?Le(e.link,t.link):n},Fe=e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&("default"===n||n>=200&&n<300)&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>Le(t,e)))===t))},We=(e,t,n)=>{if(be().services.operationId&&n)return me(fe(n).trim());return me(`${t}-${e.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"by-$1").replace(/\//g,"-")}`)},Ue=e=>me((e=>{const t=e.replace("[]","Array");return fe(t)})(e).trim()).replace(ge,"_$1"),Ve=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Ke=e=>{if("default"===e)return"default";if(/[0-9]+/g.test(e)){const t=Number.parseInt(e);if(Number.isInteger(t))return Math.abs(t)}return null},Qe=e=>e.filter((({code:e,description:t})=>"number"==typeof e&&e>=300&&t));function Je(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 ze=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(qe(e).find((e=>"null"!==e))||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"array":case"boolean":case"object":case"string":return e.default;default:return}},Ge=({openApi:e,parameters:t,types:n})=>{const r={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const o=je(e,t),s=(({openApi:e,parameter:t,types:n})=>{const r={$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:Ue(t.name),pattern:Te(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=ke({type:t.$ref});return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r.default=ze(t,r),r}if(t.enum){const e=Ee(t,t.enum);if(e.length)return r.base="string",r.enum.push(...e),r.export="enum",r.type="string",r.default=ze(t,r),r}if("array"===t.type&&t.items){const e=ke({format:t.items.format,type:t.items.type});return r.export="array",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r.default=ze(t,r),r}if("object"===t.type&&t.items){const e=ke({format:t.items.format,type:t.items.type});return r.export="dictionary",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r.default=ze(t,r),r}let o=t.schema;if(o){if(o.$ref?.startsWith("#/parameters/")&&(o=je(e,o)),o.$ref){const e=ke({type:o.$ref});return r.export="reference",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r.default=ze(t,r),r}{const s=Be({definition:o,openApi:e,types:n});return r.export=s.export,r.type=s.type,r.base=s.base,r.template=s.template,r.link=s.link,r.imports.push(...s.imports),r.enum.push(...s.enum),r.enums.push(...s.enums),r.properties.push(...s.properties),r.default=ze(t,r),r}}if(t.type){const e=ke({format:t.format,type:t.type});return r.export="generic",r.type=e.type,r.base=e.base,r.template=e.template,r.imports.push(...e.imports),r.default=ze(t,r),r}return r})({openApi:e,parameter:o,types:n});if("api-version"!==s.prop)switch(s.in){case"path":r.parametersPath.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"query":r.parametersQuery.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"header":r.parametersHeader.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"formData":r.parametersForm.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"body":r.parametersBody=s,r.parameters.push(s),r.imports.push(...s.imports)}})),r},Xe=({openApi:e,responses:t,types:n})=>{const r=[];return Object.entries(t).forEach((([t,o])=>{const s=je(e,o),a=Ke(t);if(a){const t=(({code:e,openApi:t,response:n,types:r})=>{const o={$refs:[],base:204!==e?"unknown":"void",code:e,description:n.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!==e?"unknown":"void"};let s=n.schema;if(s){if(s.$ref?.startsWith("#/responses/")&&(s=je(t,s)),s.$ref){const e=ke({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const e=Be({definition:s,openApi:t,types:r});return o.export=e.export,o.type=e.type,o.base=e.base,o.template=e.template,o.link=e.link,o.isReadOnly=e.isReadOnly,o.isRequired=e.isRequired,o.isNullable=e.isNullable,o.format=e.format,o.maximum=e.maximum,o.exclusiveMaximum=e.exclusiveMaximum,o.minimum=e.minimum,o.exclusiveMinimum=e.exclusiveMinimum,o.multipleOf=e.multipleOf,o.maxLength=e.maxLength,o.minLength=e.minLength,o.maxItems=e.maxItems,o.minItems=e.minItems,o.uniqueItems=e.uniqueItems,o.maxProperties=e.maxProperties,o.minProperties=e.minProperties,o.pattern=Te(e.pattern),o.imports.push(...e.imports),o.enum.push(...e.enum),o.enums.push(...e.enums),o.properties.push(...e.properties),o}}return Object.keys(n.headers??{}).forEach((e=>(o.in="header",o.name=e,o.type="string",o.base="string",o))),o})({code:a,openApi:e,response:s,types:n});r.push(t)}})),r.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))},Ye=({openApi:e,types:t})=>{const n=be(),r=new Map;return Object.entries(e.paths).forEach((([o,s])=>{const a=Ge({openApi:e,parameters:s.parameters||[],types:t});Object.keys(s).forEach((i=>{switch(i){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":{const p=s[i];(p.tags?.length&&n.services.asClass?p.tags.filter(Ce):["Default"]).forEach((n=>{const s=(({method:e,op:t,openApi:n,pathParams:r,tag:o,types:s,url:a})=>{const i=he(o),p=We(a,e,t.operationId),l={$refs:[],deprecated:!0===t.deprecated,description:t.description||null,errors:[],imports:[],method:e.toUpperCase(),name:p,parameters:[...r.parameters],parametersBody:r.parametersBody,parametersCookie:[...r.parametersCookie],parametersForm:[...r.parametersForm],parametersHeader:[...r.parametersHeader],parametersPath:[...r.parametersPath],parametersQuery:[...r.parametersQuery],path:a,responseHeader:null,results:[],service:i,summary:t.summary||null};if(t.parameters){const e=Ge({openApi:n,parameters:t.parameters,types:s});l.imports.push(...e.imports),l.parameters.push(...e.parameters),l.parametersPath.push(...e.parametersPath),l.parametersQuery.push(...e.parametersQuery),l.parametersForm.push(...e.parametersForm),l.parametersHeader.push(...e.parametersHeader),l.parametersCookie.push(...e.parametersCookie),l.parametersBody=e.parametersBody}if(t.responses){const e=Xe({openApi:n,responses:t.responses,types:s}),r=Fe(e);l.errors=Qe(e),l.responseHeader=Ve(r),r.forEach((e=>{l.results.push(e),l.imports.push(...e.imports)}))}return l.parameters=Je(l.parameters),l})({method:i,op:p,openApi:e,pathParams:a,tag:n,types:t,url:o}),l=r.get(s.service)||{$refs:[],imports:[],name:s.service,operations:[]};l.operations.push(s),l.imports.push(...s.imports),r.set(s.service,l)}));break}}}))})),Array.from(r.values())},Ze=e=>{const t=ye(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),{models:r,types:o}=(e=>{const t={};let n=[];return Object.entries(e.definitions??{}).forEach((([r,o])=>{const s=ke({type:r}).base.replace(ge,"_$1"),a={$ref:`#/definitions/${r}`,name:s};t[s]=a;const i=Be({definition:o,isDefinition:!0,meta:a,openApi:e,types:t});n=[...n,i]})),{models:n,types:t}})(e);return{models:r,server:n,services:Ye({openApi:e,types:o}),types:o,version:t}};function et(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}const tt=(e,t)=>et(e.name,t.name);function nt(e){return e.sort(tt)}const rt=(e,t=!1)=>"string"==typeof e?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,ot=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);return{key:t,value:rt(e.value)}},st=e=>{const t=e.enum.map((e=>ot(e))).sort(((e,t)=>et(e.key,t.key))).map((e=>`${e.key}=${e.value}`)).join("&");return{$ref:`enum/${e.name}/${t}`,name:de(Se(e.name))}},at=(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=>Oe(e)==t.name));if(r&&n[r])return n[r]}return t.name},it=({definition:e,getModel:t,model:n,openApi:r,types:o})=>{const s="object"==typeof e.additionalProperties?e.additionalProperties:{},a=t({definition:s,openApi:r,parentDefinition:e,types:o});if(s.$ref){const t=ke({type:s.$ref});return n.base=t.base,n.default=ze(e,n),n.export="dictionary",n.imports.push(...t.imports),n.template=t.template,n.type=t.type,n}if(e.additionalProperties&&e.properties){const t=["object"==typeof e.additionalProperties&&e.additionalProperties.type&&!Array.isArray(e.additionalProperties.type)?e.additionalProperties.type:a.base,...n.properties.map((e=>e.base))];return a.base=t.filter(Ce).join(" | "),a.default=ze(e,n),a.export="generic",a.isRequired=!0===e.additionalProperties,a.name="[key: string]",a}return n.base=a.base,n.default=ze(e,n),n.export="dictionary",n.imports.push(...a.imports),n.link=a,n.template=a.template,n.type=a.type,n},pt=({definition:e,getModel:t,openApi:n,parent:r,types:o})=>{let s=[];const a=((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&&Oe(e.$ref)==t.name)))return r.discriminator}})(n,r);return Object.entries(e.properties??{}).forEach((([i,p])=>{const l=Boolean(e.required?.includes(i)),c={default:p.default,deprecated:!0===p.deprecated,description:p.description||null,exclusiveMaximum:p.exclusiveMaximum,exclusiveMinimum:p.exclusiveMinimum,format:p.format,isDefinition:!1,isReadOnly:!0===p.readOnly,isRequired:l,maxItems:p.maxItems,maxLength:p.maxLength,maxProperties:p.maxProperties,maximum:p.maximum,minItems:p.minItems,minLength:p.minLength,minProperties:p.minProperties,minimum:p.minimum,multipleOf:p.multipleOf,name:Ie(i),pattern:Te(p.pattern),uniqueItems:p.uniqueItems};if(r&&a?.propertyName==i)s=[...s,{...c,$refs:[],base:`'${at(a,r)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:Ae(p),link:null,properties:[],template:null,type:"string"}];else if(p.$ref){const e=ke({type:p.$ref});s=[...s,{...c,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||Ae(p),link:null,properties:[],template:e.template,type:e.type}]}else{const r=t({definition:p,initialValues:c,openApi:n,parentDefinition:e,types:o});r.isNullable=r.isNullable||Ae(p),s=[...s,r]}})),s},lt=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),ct=({definition:e,definitions:t,getModel:n,model:r,openApi:o,type:s,types:a})=>{const i={$refs:r.$refs,enums:r.enums,export:s,imports:r.imports,properties:r.properties};let p=[];if(t.map((t=>n({definition:t,openApi:o,parentDefinition:e,types:a}))).forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums],i.properties=[...i.properties,e]})),e.required){const r=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=ke({type:r.$ref}),a={$ref:r.$ref,name:s.base};o[s.base]=a;const i=je(n,r);return[...e,...t({definition:i,meta:a,openApi:n,types:o}).properties]}return[...e,...t({definition:r,openApi:n,parentDefinition:r,types:o}).properties]}),[]).filter((e=>!e.isRequired&&r.includes(e.name))).map((e=>({...e,isRequired:!0}))))({definitions:t,getModel:n,openApi:o,required:e.required,types:a});r.forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums]})),p=[...p,...r]}if(e.properties){const t=pt({definition:e,getModel:n,openApi:o,types:a});t.forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums],"enum"===e.export&&(i.enums=[...i.enums,e])})),p=[...p,...t]}if(p.length){const t=lt(e);"one-of"===t?.type?i.properties.forEach((e=>{e.properties=[...e.properties,...p]})):i.properties=[...i.properties,{$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:p,template:null,type:"unknown"}]}return i},ut=({definition:e,initialValues:t={},isDefinition:n=!1,meta:r,openApi:o,parentDefinition:s=null,types:a})=>{const i=qe(e),p=((e,t)=>{if(e.enum&&!t.includes("boolean"))return"enum"})(e,i),l={$refs:[],base:"unknown",deprecated:Boolean(e.deprecated),description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],isDefinition:n,isNullable:Ae(e),isReadOnly:!0===e.readOnly,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:r,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:r?.name??"",pattern:Te(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems,...t};if(e.$ref){const t=ke({type:e.$ref});return l.$refs=[...l.$refs,e.$ref],l.base=t.base,l.export="reference",l.imports=[...l.imports,...t.imports],l.template=t.template,l.type=t.type,l.default=ze(e,l),l}if("enum"===p){const t=Ee(e,e.enum);if(t.length)return l.base="string",l.enum=[...l.enum,...t],l.export="enum",l.type="string",l.default=ze(e,l),l.meta||(l.meta=st(l)),l}if(i.includes("array")&&e.items){if(e.items.$ref){const t=ke({type:e.items.$ref});return l.$refs=[...l.$refs,e.items.$ref],l.base=t.base,l.export="array",l.imports=[...l.imports,...t.imports],l.template=t.template,l.type=t.type,l.default=ze(e,l),l}if(e.items.anyOf&&s&&s.type){const t=lt(s);if(t&&t.definitions.some((e=>!qe(e).includes("array"))))return ut({definition:e.items,openApi:o,parentDefinition:e,types:a})}const t=Array.isArray(e.items)?{anyOf:e.items}:e.items,n=ut({definition:t,openApi:o,parentDefinition:e,types:a});return l.base=n.base,l.export="array",l.$refs=[...l.$refs,...n.$refs],l.imports=[...l.imports,...n.imports],l.link=n,l.template=n.template,l.type=n.type,l.default=ze(e,l),l}const c=lt(e);if(c){const t=ct({...c,definition:e,getModel:ut,model:l,openApi:o,types:a});return{...l,...t}}if(i.includes("object")||e.properties){if(e.properties){l.base="unknown",l.export="interface",l.type="unknown",l.default=ze(e,l);if(pt({definition:e,getModel:ut,openApi:o,parent:l,types:a}).forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.enums=[...l.enums,...e.enums],l.imports=[...l.imports,...e.imports],l.properties=[...l.properties,e],"enum"===e.export&&(l.enums=[...l.enums,e])})),e.additionalProperties){const t=it({definition:e,getModel:ut,model:l,openApi:o,types:a});l.properties.push(t)}return l}return it({definition:e,getModel:ut,model:l,openApi:o,types:a})}if(void 0!==e.const){const t=e.const,n="string"==typeof t?`"${t}"`:`${t}`;return l.base=n,l.export="const",l.type=n,l}if(i.length){const t=ke({format:e.format,type:e.type});return l.base=t.base,l.export="generic",l.$refs=[...l.$refs,...t.$refs],l.imports=[...l.imports,...t.imports],l.isNullable=t.isNullable||l.isNullable,l.template=t.template,l.type=t.type,l.default=ze(e,l),l}return l},mt=e=>{if(e.schema)return e.schema;if(e.content){const t=Object.entries(e.content);for(const[n,r]of t)if(r.schema){const t=n;return e.content[t].schema}}},dt=["cookie","formData","header","path","query"],ft=({debug:e,openApi:t,parameters:n,types:r})=>{const o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return n.forEach((n=>{const s=je(t,n),a=(({debug:e,openApi:t,parameter:n,types:r})=>{let o={$refs:[],base:"unknown",deprecated:!0===n.deprecated,description:n.description||null,enum:[],enums:[],export:"interface",imports:[],in:n.in,isDefinition:!1,isNullable:Ae(n),isReadOnly:!1,isRequired:!0===n.required,link:null,mediaType:null,name:Ue(n.name),prop:n.name,properties:[],template:null,type:"unknown"};if(n.$ref){const e=ke({type:n.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o}let s=mt(n);if(s){if(s.$ref?.startsWith("#/components/parameters/")&&(s=je(t,s)),s.$ref){const e=ke({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o.default=ze(s),o}const e=ut({definition:s,openApi:t,types:r});return o={...o,$refs:[...o.$refs,...e.$refs],base:e.base,enum:[...o.enum,...e.enum],enums:[...o.enums,...e.enums],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:e.export,format:e.format,imports:[...o.imports,...e.imports],isNullable:o.isNullable||e.isNullable,isReadOnly:e.isReadOnly,isRequired:o.isRequired||e.isRequired,link:e.link,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,pattern:Te(e.pattern),properties:[...o.properties,...e.properties],template:e.template,type:e.type,uniqueItems:e.uniqueItems},!o.enum.length&&!o.enums.length||o.meta||(o.meta=st(o)),o.default=e.default,o}return o})({debug:e,openApi:t,parameter:s,types:r});if("api-version"!==a.prop&&dt.includes(s.in)){switch(s.in){case"cookie":o.parametersCookie=[...o.parametersCookie,a];break;case"formData":o.parametersForm=[...o.parametersForm,a];break;case"header":o.parametersHeader=[...o.parametersHeader,a];break;case"path":o.parametersPath=[...o.parametersPath,a];break;case"query":o.parametersQuery=[...o.parametersQuery,a]}o.$refs=[...o.$refs,...a.$refs],o.imports=[...o.imports,...a.imports],o.parameters=[...o.parameters,a]}})),o},yt=["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"],ht=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return yt.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},gt=({openApi:e,responses:t,types:n})=>{const r=[];return Object.entries(t).forEach((([t,o])=>{const s=je(e,o),a=Ke(t);if(a){const t=(({code:e,openApi:t,response:n,types:r})=>{const o={$refs:[],base:204!==e?"unknown":"void",code:e,description:n.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!==e?"unknown":"void"};if(n.content){const e=ht(0,n.content);if(e){if(e.schema.$ref?.startsWith("#/components/responses/")&&(e.schema=je(t,e.schema)),e.schema.$ref){const t=ke({type:e.schema.$ref});return o.base=t.base,o.export="reference",o.$refs=[...o.$refs,...t.$refs],o.imports=[...o.imports,...t.imports],o.template=t.template,o.type=t.type,o}{const n=ut({definition:e.schema,openApi:t,types:r});return o.export=n.export,o.type=n.type,o.base=n.base,o.template=n.template,o.link=n.link,o.isReadOnly=n.isReadOnly,o.isRequired=n.isRequired,o.isNullable=n.isNullable,o.format=n.format,o.maximum=n.maximum,o.exclusiveMaximum=n.exclusiveMaximum,o.minimum=n.minimum,o.exclusiveMinimum=n.exclusiveMinimum,o.multipleOf=n.multipleOf,o.maxLength=n.maxLength,o.minLength=n.minLength,o.maxItems=n.maxItems,o.minItems=n.minItems,o.uniqueItems=n.uniqueItems,o.maxProperties=n.maxProperties,o.minProperties=n.minProperties,o.pattern=Te(n.pattern),o.$refs=[...o.$refs,...n.$refs],o.imports=[...o.imports,...n.imports],o.enum.push(...n.enum),o.enums.push(...n.enums),o.properties.push(...n.properties),o}}}return Object.keys(n.headers??{}).forEach((e=>(o.in="header",o.name=e,o.type="string",o.base="string",o))),o})({code:a,openApi:e,response:s,types:n});r.push(t)}})),r.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))},vt=(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},bt=({method:e,op:t,openApi:n,pathParams:r,tag:o,types:s,url:a})=>{const i=he(o),p=We(a,e,t.operationId),l={$refs:[],deprecated:Boolean(t.deprecated),description:t.description||null,errors:[],imports:[],method:e.toUpperCase(),name:p,parameters:[],parametersBody:r.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,results:[],service:i,summary:t.summary||null};if(t.parameters){const e=ft({openApi:n,parameters:t.parameters,types:s});l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.parameters=[...l.parameters,...e.parameters],l.parametersBody=e.parametersBody,l.parametersCookie=[...l.parametersCookie,...e.parametersCookie],l.parametersForm=[...l.parametersForm,...e.parametersForm],l.parametersHeader=[...l.parametersHeader,...e.parametersHeader],l.parametersPath=[...l.parametersPath,...e.parametersPath],l.parametersQuery=[...l.parametersQuery,...e.parametersQuery]}if(t.requestBody){const e=(({body:e,openApi:t,types:n})=>{const r=e["x-body-name"]??"requestBody",o={$refs:[],base:"unknown",default:void 0,description:e.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:!0===e.nullable,isReadOnly:!1,isRequired:!0===e.required,link:null,mediaType:null,name:r,prop:r,properties:[],template:null,type:"unknown"};if(e.content){const r=ht(0,e.content);if(r){switch(o.mediaType=r.mediaType,o.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":o.in="formData",o.name="formData",o.prop="formData"}if(r.schema.$ref){const e=ke({type:r.schema.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o}{const e=ut({definition:r.schema,openApi:t,types:n});return o.export=e.export,o.type=e.type,o.base=e.base,o.template=e.template,o.link=e.link,o.isReadOnly=e.isReadOnly,o.isRequired=o.isRequired||e.isRequired,o.isNullable=o.isNullable||e.isNullable,o.format=e.format,o.maximum=e.maximum,o.exclusiveMaximum=e.exclusiveMaximum,o.minimum=e.minimum,o.exclusiveMinimum=e.exclusiveMinimum,o.multipleOf=e.multipleOf,o.maxLength=e.maxLength,o.minLength=e.minLength,o.maxItems=e.maxItems,o.minItems=e.minItems,o.uniqueItems=e.uniqueItems,o.maxProperties=e.maxProperties,o.minProperties=e.minProperties,o.pattern=Te(e.pattern),o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o.enum.push(...e.enum),o.enums.push(...e.enums),o.properties.push(...e.properties),o}}}return o})({body:je(n,t.requestBody),openApi:n,types:s});l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.parameters=[...l.parameters,e],l.parametersBody=e}if(t.responses){const e=gt({openApi:n,responses:t.responses,types:s}),r=Fe(e);l.errors=Qe(e),l.responseHeader=Ve(r),r.forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.results=[...l.results,e]}))}return l.parameters=vt(l.parameters,r.parameters),l.parametersCookie=vt(l.parametersCookie,r.parametersCookie),l.parametersForm=vt(l.parametersForm,r.parametersForm),l.parametersHeader=vt(l.parametersHeader,r.parametersHeader),l.parametersPath=vt(l.parametersPath,r.parametersPath),l.parametersQuery=vt(l.parametersQuery,r.parametersQuery),l.parameters=Je(l.parameters),l},xt=["connect","delete","get","head","options","patch","post","put","trace"],Rt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),Pt=e=>{const t=ye(e.info.version),n=(e=>{const t=e.servers?.[0],n=t?.variables||{};let r=t?.url||"";return Object.entries(n).forEach((([e,t])=>{r=r.replace(`{${e}}`,t.default)})),r.replace(/\/$/g,"")})(e),{models:r,types:o}=(e=>{const t=be(),n={};let r=[];return e.components?(Object.entries(e.components.schemas??{}).forEach((([t,o])=>{const s=ke({type:t}).base.replace(ge,"_$1"),a={$ref:`#/components/schemas/${t}`,name:s};n[s]=a;const i=ut({definition:o,isDefinition:!0,meta:a,openApi:e,types:n});r=[...r,i]})),Object.entries(e.components.parameters??{}).forEach((([o,s])=>{const a=mt(s);if(!a)return void(t.debug&&console.warn("Skipping generating parameter:",o));const i=`Parameter${ke({type:o}).base.replace(ge,"_$1")}`,p={$ref:`#/components/parameters/${o}`,name:i};n[i]=p;const l=ut({definition:a,isDefinition:!0,meta:p,openApi:e,types:n});l.deprecated=s.deprecated,l.description=s.description||null,r=[...r,l]})),{models:r,types:n}):{models:r,types:n}})(e),s=(({openApi:e,types:t})=>{const n=be(),r=new Map;for(const o in e.paths){const s=e.paths[o],a=ft({openApi:e,parameters:s.parameters??[],types:t});for(const i in s){const p=i;if(xt.includes(p)){const i=s[p];(i.tags?.length&&n.services.asClass?i.tags.filter(Ce):["Default"]).forEach((n=>{const s=bt({method:p,op:i,openApi:e,pathParams:a,tag:n,types:t,url:o}),l=r.get(s.service)||Rt(s);l.$refs=[...l.$refs,...s.$refs],l.imports=[...l.imports,...s.imports],l.operations=[...l.operations,s],r.set(s.service,l)}))}}}return Array.from(r.values())})({openApi:e,types:o});return{models:r,server:n,services:s,types:o,version:t}};var At={exports:{}},qt={},Ot={__esModule:!0};Ot.extend=Tt,Ot.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Ot.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(!Ct.test(e))return e;return e.replace(kt,Et)},Ot.isEmpty=function(e){return!e&&0!==e||!(!St(e)||0!==e.length)},Ot.createFrame=function(e){var t=Tt({},e);return t._parent=e,t},Ot.blockParams=function(e,t){return e.path=t,e},Ot.appendContextPath=function(e,t){return(e?e+".":"")+t};var wt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},kt=/[&<>"'`=]/g,Ct=/[&<>"'`=]/;function Et(e){return wt[e]}function Tt(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 $t=Object.prototype.toString;Ot.toString=$t;var It=function(e){return"function"==typeof e};It(/x/)&&(Ot.isFunction=It=function(e){return"function"==typeof e&&"[object Function]"===$t.call(e)}),Ot.isFunction=It;var St=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===$t.call(e)};Ot.isArray=St;var Ht={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,p=void 0;o&&(s=o.start.line,a=o.end.line,i=o.start.column,p=o.end.column,e+=" - "+s+":"+i);for(var l=Error.prototype.constructor.call(this,e),c=0;c<n.length;c++)this[n[c]]=l[n[c]];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:p,enumerable:!0})):(this.column=i,this.endColumn=p))}catch(e){}}r.prototype=new Error,t.default=r,e.exports=t.default}(Ht,Ht.exports);var _t=Ht.exports,Dt={},Nt={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot;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}(Nt,Nt.exports);var jt=Nt.exports,Mt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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,p="",l=void 0,c=void 0;function u(t,n,o){l&&(l.key=t,l.index=n,l.first=0===n,l.last=!!o,c&&(l.contextPath=c+t)),p+=s(e[t],{data:l,blockParams:r.blockParams([e[t],t],[c+t,null])})}if(t.data&&t.ids&&(c=r.appendContextPath(t.data.contextPath,t.ids[0])+"."),r.isFunction(e)&&(e=e.call(this)),t.data&&(l=r.createFrame(t.data)),e&&"object"==typeof e)if(r.isArray(e))for(var m=e.length;i<m;i++)i in e&&u(i,i,i===e.length-1);else if("function"==typeof Symbol&&e[Symbol.iterator]){for(var d=[],f=e[Symbol.iterator](),y=f.next();!y.done;y=f.next())d.push(y.value);for(m=(e=d).length;i<m;i++)u(i,i,i===e.length-1)}else n=void 0,Object.keys(e).forEach((function(e){void 0!==n&&u(n,i-1),n=e,i++})),void 0!==n&&u(n,i-1,!0);return 0===i&&(p=a(this)),p}))},e.exports=t.default}(Mt,Mt.exports);var Bt=Mt.exports,Lt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=_t)&&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}(Lt,Lt.exports);var Ft=Lt.exports,Wt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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}(Wt,Wt.exports);var Ut=Wt.exports,Vt={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}(Vt,Vt.exports);var Kt=Vt.exports,Qt={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}(Qt,Qt.exports);var Jt=Qt.exports,zt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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}(zt,zt.exports);var Gt=zt.exports;function Xt(e){return e&&e.__esModule?e:{default:e}}Dt.__esModule=!0,Dt.registerDefaultHelpers=function(e){Yt.default(e),Zt.default(e),en.default(e),tn.default(e),nn.default(e),rn.default(e),on.default(e)},Dt.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var Yt=Xt(jt),Zt=Xt(Bt),en=Xt(Ft),tn=Xt(Ut),nn=Xt(Kt),rn=Xt(Jt),on=Xt(Gt);var sn={},an={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot;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}(an,an.exports);var pn=an.exports;sn.__esModule=!0,sn.registerDefaultDecorators=function(e){cn.default(e)};var ln,cn=(ln=pn)&&ln.__esModule?ln:{default:ln};var un={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot,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}(un,un.exports);var mn=un.exports,dn={},fn={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return yn.extend.apply(void 0,[Object.create(null)].concat(t))}},yn=Ot;dn.__esModule=!0,dn.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:hn.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:hn.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},dn.resultIsAllowed=function(e,t,n){return bn("function"==typeof e?t.methods:t.properties,n)},dn.resetLoggedProperties=function(){Object.keys(vn).forEach((function(e){delete vn[e]}))};var hn=fn,gn=function(e){return e&&e.__esModule?e:{default:e}}(mn),vn=Object.create(null);function bn(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==vn[e]&&(vn[e]=!0,gn.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 xn(e){return e&&e.__esModule?e:{default:e}}qt.__esModule=!0,qt.HandlebarsEnvironment=Cn;var Rn=Ot,Pn=xn(_t),An=Dt,qn=sn,On=xn(mn),wn=dn;qt.VERSION="4.7.8";qt.COMPILER_REVISION=8;qt.LAST_COMPATIBLE_COMPILER_REVISION=7;qt.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 kn="[object Object]";function Cn(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},An.registerDefaultHelpers(this),qn.registerDefaultDecorators(this)}Cn.prototype={constructor:Cn,logger:On.default,log:On.default.log,registerHelper:function(e,t){if(Rn.toString.call(e)===kn){if(t)throw new Pn.default("Arg not supported with multiple helpers");Rn.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(Rn.toString.call(e)===kn)Rn.extend(this.partials,e);else{if(void 0===t)throw new Pn.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(Rn.toString.call(e)===kn){if(t)throw new Pn.default("Arg not supported with multiple decorators");Rn.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){wn.resetLoggedProperties()}};var En=On.default.log;qt.log=En,qt.createFrame=Rn.createFrame,qt.logger=On.default;var Tn={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}(Tn,Tn.exports);var $n=Tn.exports,In={},Sn={};Sn.__esModule=!0,Sn.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)}},In.__esModule=!0,In.checkRevision=function(e){var t=e&&e[0]||1,n=Dn.COMPILER_REVISION;if(t>=Dn.LAST_COMPATIBLE_COMPILER_REVISION&&t<=Dn.COMPILER_REVISION)return;if(t<Dn.LAST_COMPATIBLE_COMPILER_REVISION){var r=Dn.REVISION_CHANGES[n],o=Dn.REVISION_CHANGES[t];throw new _n.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 _n.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},In.template=function(e,t){if(!t)throw new _n.default("No environment passed to template");if(!e||!e.main)throw new _n.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 _n.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)||Mn.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:Hn.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Hn.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Hn.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"),p=0,l=i.length;p<l&&(i[p]||p+1!==l);p++)i[p]=o.indent+i[p];a=i.join("\n")}return a}throw new _n.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=Bn(this,e,a,t,n,r,o):s||(s=this.programs[e]=Bn(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=Hn.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?Dn.createFrame(t):{}).root=e);return t}(t,s));var a=void 0,i=e.useBlockParams?[]:void 0;function p(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]),(p=Fn(e.main,p,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=Hn.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 jn.wrapHelper(e,(function(e){return Hn.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=Hn.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=Mn.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;Nn.moveHelperToHooks(r,"helperMissing",a),Nn.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new _n.default("must pass block params");if(e.useDepths&&!s)throw new _n.default("must pass parent depths");return Bn(r,t,e[t],n,0,o,s)},o},In.wrapProgram=Bn,In.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},In.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!==Ln&&function(){n.data=Dn.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=Dn.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Hn.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new _n.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},In.noop=Ln;var Hn=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}(Ot),_n=function(e){return e&&e.__esModule?e:{default:e}}(_t),Dn=qt,Nn=Dt,jn=Sn,Mn=dn;function Bn(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=Fn(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function Ln(){return""}function Fn(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Hn.extend(t,a)}return t}var Wn={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}(Wn,Wn.exports);var Un=Wn.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(qt),s=n($n),a=n(_t),i=r(Ot),p=r(In),l=n(Un);function c(){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=p,e.template=function(t){return p.template(t,e)},e}var u=c();u.create=c,l.default(u),u.default=u,t.default=u,e.exports=t.default}(At,At.exports);var Vn=c(At.exports.default),Kn={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,p=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=p(n,"each").call(null!=t?t:e.nullContext||{},p(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(p(p(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,p=null!=t?t:e.nullContext||{},l=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(l(l(o,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),t))?s:"")+" {\n\n"+(null!=(s=l(n,"each").call(p,l(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=l(n,"each").call(p,l(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},Qn={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},Jn={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},zn={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},Gn={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},Xn={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},Yn={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},Zn={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},er={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},tr={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},nr={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},rr={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},or={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},sr={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},ar={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},ir={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},pr={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},lr={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},cr={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},ur={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},mr={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},dr={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},fr={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},yr={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},hr={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},gr={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},vr={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},br={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 (value instanceof Date) {\n\t\t\tappend(key, value.toISOString());\n\t\t} else if (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},xr={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},Rr={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},Pr={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},Ar={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},qr={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},Or={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},wr={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},kr={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},Cr={1:function(e,t,n,r,o){return"import type { HttpResponse } from '@angular/common/http';\n"},3:function(e,t,n,r,o){return"import type { AxiosRequestConfig, AxiosResponse } from 'axios';\n"},5:function(e,t,n,r,o){return"import type { RequestInit, Response } from 'node-fetch';\n"},7:function(e,t,n,r,o){return"\t\tresponse: Interceptors<HttpResponse<any>>;\n"},9:function(e,t,n,r,o){return"\t\trequest: Interceptors<AxiosRequestConfig>;\n\t\tresponse: Interceptors<AxiosResponse>;\n"},11:function(e,t,n,r,o){return"\t\trequest: Interceptors<RequestInit>;\n\t\tresponse: Interceptors<Response>;\n"},13:function(e,t,n,r,o){return"\t\trequest: Interceptors<XMLHttpRequest>;\n\t\tresponse: Interceptors<XMLHttpRequest>;\n"},15:function(e,t,n,r,o){return"\t\trequest: new Interceptors(),\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.strict,p=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?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 = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];\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: {\n"+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:46,column:2},end:{line:48,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:49,column:2},end:{line:52,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:53,column:2},end:{line:56,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:57,column:2},end:{line:60,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(13,o,0),inverse:e.noop,data:o,loc:{start:{line:61,column:2},end:{line:64,column:13}}}))?s:"")+"\t};\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n\tBASE: '"+(null!=(s=p(i(t,"server",{start:{line:69,column:11},end:{line:69,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=p(i(t,"version",{start:{line:76,column:14},end:{line:76,column:21}}),t))?s:"")+"',\n\tWITH_CREDENTIALS: false,\n\tinterceptors: {\n"+(null!=(s=l(n,"notEquals").call(a,l(l(l(o,"root"),"$config"),"client"),"angular",{name:"notEquals",hash:{},fn:e.program(15,o,0),inverse:e.noop,data:o,loc:{start:{line:79,column:2},end:{line:81,column:16}}}))?s:"")+"\t\tresponse: new Interceptors(),\n\t},\n};"},useData:!0},Er={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},Tr={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},$r={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},Ir={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},Sr={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},Hr={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},_r={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 Dr=()=>{Vn.registerHelper("camelCase",me),Vn.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Vn.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Vn.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)})),Vn.registerHelper("transformServiceName",Re)};function Nr(e){return{...e,models:e.models.map((e=>function(e){return{...e,enum:jr(e),enums:Mr(e),imports:Br(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(Ce).sort(et)}(t),t}(e))),types:{}}}function jr(e){return e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t))}function Mr(e){return e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}function Br(e){return e.imports.filter(Ce).sort(et).filter((t=>e.name!==t))}const Lr={newLine:p.NewLineKind.LineFeed,scriptKind:p.ScriptKind.TS,scriptTarget:p.ScriptTarget.ES2015,useSingleQuotes:!0},Fr=p.createPrinter({newLine:Lr.newLine}),Wr=e=>p.createSourceFile("",e,Lr.scriptTarget,void 0,Lr.scriptKind),Ur=Wr("");function Vr({node:e,unescape:t=!1}){const n=Fr.printNode(p.EmitHint.Unspecified,e,Ur);if(!t)return n;try{return n.replace(/\\u([0-9a-fA-F]{4})/g,((e,t)=>String.fromCharCode(Number.parseInt(t,16))))}catch{return be().debug&&console.warn("Could not decode value:",n),n}}const Kr=e=>e?p.factory.createTrue():p.factory.createFalse(),Qr=({alias:e,asType:t=!1,name:n})=>{const r=p.factory.createIdentifier(n);if(e){const n=p.factory.createIdentifier(e);return p.factory.createExportSpecifier(t,r,n)}return p.factory.createExportSpecifier(t,void 0,r)},Jr=({alias:e,asType:t=!1,name:n})=>{const r=p.factory.createIdentifier(n);if(e){const n=p.factory.createIdentifier(e);return p.factory.createImportSpecifier(t,r,n)}return p.factory.createImportSpecifier(t,void 0,r)},zr=e=>e<0?p.factory.createPrefixUnaryExpression(p.SyntaxKind.MinusToken,p.factory.createNumericLiteral(Math.abs(e))):p.factory.createNumericLiteral(e),Gr=(e,t=!1)=>{let n=e;t&&(n=Se(n));const r=n.includes("'")&&n.includes('"'),o=n.includes("\n"),s=n.startsWith("`"),a=n.startsWith("\\`")&&n.endsWith("\\`");return(o||r||s)&&!a&&(n=`\`${n.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),n.startsWith("`")?p.factory.createIdentifier(n):p.factory.createStringLiteral(n,!n.includes("'")&&Lr.useSingleQuotes)},Xr=e=>void 0!==e,Yr=(e,t)=>{const n=t.filter(Boolean);if(!n.length)return;const r=n.map(((e,t)=>p.factory.createJSDocText(`${e}${t!==n.length?"\n":""}`))),o=Vr({node:p.factory.createJSDocComment(p.factory.createNodeArray(r)),unescape:!0}).replace("/*","").replace("* */","");p.addSyntheticLeadingComment(e,p.SyntaxKind.MultiLineCommentTrivia,o,!0)},Zr=(e,t)=>p.isTypeNode(e)?e:"number"==typeof e?p.factory.createLiteralTypeNode(zr(e)):p.factory.createTypeReferenceNode(e,t?.map((e=>Zr(e)))),eo=(e,t=!1)=>{const n=p.factory.createTypeLiteralNode(e.map((e=>{const t=p.factory.createPropertySignature(e.isReadOnly?[p.factory.createModifier(p.SyntaxKind.ReadonlyKeyword)]:void 0,e.name,e.isRequired?void 0:p.factory.createToken(p.SyntaxKind.QuestionToken),Zr(e.type));return e.comment&&Yr(t,e.comment),t})));return t?p.factory.createUnionTypeNode([n,p.factory.createTypeReferenceNode("null")]):n},to=(e,t=!1)=>{const n=e.map((e=>Zr(e)));return t&&n.push(p.factory.createTypeReferenceNode("null")),p.factory.createUnionTypeNode(n)},no=({identifiers:e=[],shorthand:t=!1,unescape:n=!1,value:r})=>null===r?p.factory.createNull():Array.isArray(r)?so({arr:r}):"object"==typeof r?ao({identifiers:e,obj:r,shorthand:t}):"number"==typeof r?zr(r):"boolean"==typeof r?Kr(r):"string"==typeof r?Gr(r,n):void 0,ro=e=>{const t="public"===e?p.SyntaxKind.PublicKeyword:"protected"===e?p.SyntaxKind.ProtectedKeyword:"private"===e?p.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(p.factory.createModifier(t)),n},oo=e=>e.map((e=>{const t=ro(e.accessLevel);return e.isReadOnly&&t.push(p.factory.createModifier(p.SyntaxKind.ReadonlyKeyword)),p.factory.createParameterDeclaration(t,void 0,p.factory.createIdentifier(e.name),void 0===e.isRequired||e.isRequired?void 0:p.factory.createToken(p.SyntaxKind.QuestionToken),void 0!==e.type?Zr(e.type):void 0,void 0!==e.default?no({value:e.default}):void 0)})),so=({arr:e,multiLine:t=!1})=>p.factory.createArrayLiteralExpression(e.map((e=>no({value:e}))).filter(Xr),!Array.isArray(e[0])&&"object"==typeof e[0]||t),ao=({comments:e,identifiers:t=[],leadingComment:n,multiLine:r=!0,obj:o,shorthand:s=!1,unescape:a=!1})=>{const i=Array.isArray(o)?o.map((n=>{let r,o=!1;if("key"in n){let{key:e}=n;o=e===n.value,e.match(/^[0-9]/)&&e.match(/\D+/g)&&!e.startsWith("'")&&!e.endsWith("'")&&(e=`'${e}'`),!e.match(/\W/g)||e.startsWith("'")||e.endsWith("'")||(e=`'${e}'`)}if("spread"in n)r=p.factory.createSpreadAssignment(p.factory.createIdentifier(n.spread));else if(s&&o)r=p.factory.createShorthandPropertyAssignment(n.value);else{let e=no({identifiers:t.includes(n.key)?Object.keys(n.value):[],shorthand:s,unescape:a,value:n.value});if(!e)return;t.includes(n.key)&&!p.isObjectLiteralExpression(e)&&(e=p.factory.createIdentifier(n.value)),r=p.factory.createPropertyAssignment(n.key,e)}if("key"in n){const t=e?.[n.key];t&&Yr(r,t)}return r})).filter(Xr):Object.entries(o).map((([n,r])=>{let o=no({identifiers:t.includes(n)?Object.keys(r):[],shorthand:s,unescape:a,value:r});if(!o)return;t.includes(n)&&!p.isObjectLiteralExpression(o)&&(o=p.factory.createIdentifier(r));const i=n===r;n.match(/^[0-9]/)&&n.match(/\D+/g)&&!n.startsWith("'")&&!n.endsWith("'")&&(n=`'${n}'`),!n.match(/\W/g)||n.startsWith("'")||n.endsWith("'")||(n=`'${n}'`);const l=s&&i?p.factory.createShorthandPropertyAssignment(r):p.factory.createPropertyAssignment(n,o),c=e?.[n];return c&&Yr(l,c),l})).filter(Xr),l=p.factory.createObjectLiteralExpression(i,r);return n&&Yr(l,n),l},io=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 po{_headers=[];_imports=[];_items=[];_name;_path;constructor({dir:t,name:n,header:r=!0}){this._name=this._setName(n),this._path=e.resolve(t,this.getName()),r&&(this._headers=[...this._headers,"// This file is auto-generated by @hey-api/openapi-ts"])}add(...e){this._items=[...this._items,...e]}addImport(...e){this._imports=[...this._imports,lo.import.named(...e)]}getName(e=!0){if(e)return this._name;const{name:t}=io(this._name);return t}isEmpty(){return!this._items.length}remove(e){a.rmSync(this._path,e)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=io(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=>Vr({node:e}))).join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:Vr({node:e,unescape:!0})))],t.join(e)}write(e="\n"){this.isEmpty()?this.remove({force:!0}):a.writeFileSync(this._path,this.toString(e))}}const lo={class:{constructor:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=p.factory.createConstructorDeclaration(ro(e),oo(r),p.factory.createBlock(o,n));return t?.length&&Yr(s,t),s},create:({decorator:e,members:t=[],name:n})=>{const r=[p.factory.createModifier(p.SyntaxKind.ExportKeyword)];e&&r.unshift(p.factory.createDecorator(p.factory.createCallExpression(p.factory.createIdentifier(e.name),void 0,e.args.map((e=>no({value:e}))).filter(Xr))));const o=[];return t.forEach((e=>{o.push(e),o.push(p.factory.createIdentifier("\n"))})),p.factory.createClassDeclaration(r,p.factory.createIdentifier(n),[],[],o)},method:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:i=[]})=>{const l=ro(e);n&&l.push(p.factory.createModifier(p.SyntaxKind.StaticKeyword));const c=p.factory.createMethodDeclaration(l,void 0,p.factory.createIdentifier(o),void 0,[],oo(s),a?Zr(a):void 0,p.factory.createBlock(i,r));return t&&Yr(c,t),c}},export:{all:e=>p.factory.createExportDeclaration(void 0,!1,void 0,Gr(e)),const:({comment:e,constAssertion:t=!1,expression:n,name:r})=>{const o=t?p.factory.createAsExpression(n,p.factory.createTypeReferenceNode("const")):n,s=p.factory.createVariableDeclaration(p.factory.createIdentifier(r),void 0,void 0,o),a=p.factory.createVariableStatement([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createVariableDeclarationList([s],p.NodeFlags.Const));return e&&Yr(a,e),a},named:(e,t)=>{e=Array.isArray(e)?e:[e];const n=(Array.isArray(e)?e:[e]).some((e=>"object"!=typeof e||!e.asType)),r=e.map((e=>{const t="string"==typeof e?{name:e}:e;return Qr({alias:t.alias,asType:n&&t.asType,name:t.name})})),o=p.factory.createNamedExports(r),s=Gr(t);return p.factory.createExportDeclaration(void 0,!n,o,s)}},import:{named:(e,t)=>{const n=Array.isArray(e)?e:[e],r=n.some((e=>"object"!=typeof e||!e.asType)),o=n.map((e=>{const t="string"==typeof e?{name:e}:e;return Jr({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=p.factory.createNamedImports(o),a=p.factory.createImportClause(!r,void 0,s),i=Gr(t);return p.factory.createImportDeclaration(void 0,a,i)}},return:{functionCall:({args:e=[],name:t,types:n=[]})=>{const r=p.factory.createCallExpression(p.factory.createIdentifier(t),n.map((e=>p.factory.createTypeReferenceNode(e))),e.map((e=>p.isExpression(e)?e:p.factory.createIdentifier(e))).filter(Xr));return p.factory.createReturnStatement(r)}},typedef:{alias:({comment:e,name:t,type:n})=>{const r=p.factory.createTypeAliasDeclaration([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createIdentifier(t),[],Zr(n));return e&&Yr(r,e),r},array:(e,t=!1)=>{const n=p.factory.createTypeReferenceNode("Array",[to(e)]);return t?p.factory.createUnionTypeNode([n,p.factory.createTypeReferenceNode("null")]):n},basic:Zr,interface:eo,intersect:(e,t=!1)=>{const n=e.map((e=>Zr(e))),r=p.factory.createIntersectionTypeNode(n);return t?p.factory.createUnionTypeNode([r,p.factory.createTypeReferenceNode("null")]):r},record:(e,t,n=!1)=>{const r=to(e),o=to(t),s=eo([{isRequired:!0,name:`[key: ${Vr({node:r,unescape:!0})}]`,type:o}]);return n?p.factory.createUnionTypeNode([s,p.factory.createTypeReferenceNode("null")]):s},tuple:({isNullable:e=!1,types:t})=>{const n=t.map((e=>Zr(e))),r=p.factory.createTupleTypeNode(n);if(e){return p.factory.createUnionTypeNode([r,p.factory.createTypeReferenceNode("null")])}return r},union:to},types:{array:so,enum:({comments:e,leadingComment:t,name:n,obj:r})=>{const o=p.factory.createEnumDeclaration([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createIdentifier(n),Object.entries(r).map((([t,n])=>{const r=no({unescape:!0,value:n}),o=p.factory.createEnumMember(t,r),s=e?.[t];return s&&Yr(o,s),o})));return t&&Yr(o,t),o},function:({comment:e,multiLine:t,parameters:n=[],returnType:r,statements:o=[]})=>{const s=p.factory.createArrowFunction(void 0,void 0,oo(n),r?Zr(r):void 0,void 0,p.factory.createBlock(o,t));return e&&Yr(s,e),s},object:ao},utils:{toNode:function(e){return Wr(e).statements[0]},toString:Vr}},co=e=>{switch(e){case"angular":return"AngularHttpRequest";case"axios":return"AxiosHttpRequest";case"fetch":return"FetchHttpRequest";case"node":return"NodeHttpRequest";case"xhr":return"XHRHttpRequest";default:return""}},uo=e=>{const t=be();if(Array.isArray(e))return e.map((e=>uo(e)));if("object"!=typeof e||null===e)return e;const n={...e};return Object.entries(n).forEach((([e,r])=>{"form"===t.schemas.type&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(e)?delete n[e]:("$ref"===e&&"string"==typeof r&&(n[e]=decodeURIComponent(r)),r&&"object"==typeof r&&(n[e]=uo(r)))})),n},mo=e=>{const t=be();return"binary"===e.base?lo.typedef.union(["Blob","File"]):t.types.dates&&"date-time"===e.format?lo.typedef.basic("Date"):lo.typedef.basic(e.base)},fo=e=>{switch(e.export){case"all-of":return(e=>{const t=e.properties.map((e=>lo.utils.toString({node:fo(e),unescape:!0}))).filter(Ce);return lo.typedef.intersect(t,e.isNullable)})(e);case"any-of":case"one-of":return(e=>{const t=e.properties.map((e=>lo.utils.toString({node:fo(e),unescape:!0}))).filter(Ce);return lo.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(fo(e.link));return lo.typedef.tuple({isNullable:e.isNullable,types:t})}return e.link?lo.typedef.array([fo(e.link)],e.isNullable):lo.typedef.array([mo(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link?fo(e.link):mo(e);return lo.typedef.record(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>rt(e.value)));return lo.typedef.union(t,e.isNullable)})(e);case"interface":return(e=>{if(!e.properties.length)return lo.typedef.basic("unknown");const t=e.properties.map((e=>{let t=e.isRequired?"":"?",n=fo(e);return"[key: string]"===e.name&&t&&(t="",n=lo.typedef.union([n,"undefined"])),{comment:[e.description&&He(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:e.name,type:n}}));return lo.typedef.interface(t,e.isNullable)})(e);default:return(e=>{const t="null"!==e.base&&e.isNullable;return lo.typedef.union([mo(e)],t)})(e)}},yo=({client:e,count:t=1,create:n=!1,meta:r,nameTransformer:o})=>{let s={created:!1,name:""},a=r.name;o&&(a=o(a)),t>1&&(a=`${a}${t}`);const i=e.types[a];return i?s=i.$ref===r.$ref?{created:!1,name:a}:yo({client:e,count:t+1,create:n,meta:r,nameTransformer:o}):n&&(e.types[a]=r,s={created:!0,name:a}),s},ho=({meta:e,onImport:t,...n})=>{if(!e)return;const{name:r}=yo({meta:e,...n});r&&t(r)},go=e=>`${me(e,{pascalCase:!0})}Data`,vo=e=>`${me(e,{pascalCase:!0})}Error`,bo=e=>`${me(e,{pascalCase:!0})}Response`,xo=(e,t)=>{const n=be(),{name:r}=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:go}),o=t.parameters.some((e=>e.isRequired));if(xe(n))return[{isRequired:o,name:"options",type:r?`Options<${r}>`:"Options"}];if(!t.parameters.length)return[];const s=e=>{if(void 0!==e.default)return JSON.stringify(e.default,null,4)};return n.useOptions?[{default:o?void 0:{},name:"data",type:r}]:t.parameters.map((e=>{const t=`${r}['${e.name}']`;return{default:e?.default,isRequired:""==(e.isRequired||s(e)?"":"?"),name:e.name,type:t}}))},Ro=(e,t)=>{const n=be();let r=lo.typedef.basic("void");if(t.results.length){const{name:n}=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo});r=lo.typedef.union([n])}return n.useOptions&&"response"===n.services.response&&(r=lo.typedef.basic("ApiResult",[r])),r="angular"===n.client?lo.typedef.basic("Observable",[r]):lo.typedef.basic("CancelablePromise",[r]),r},Po=e=>{const t=be();if(xe(t)){return[e.deprecated&&"@deprecated",e.summary&&He(e.summary),e.description&&He(e.description)]}let n=[];e.parameters.length&&(n=t.useOptions?["@param data The data for the request.",...e.parameters.map((e=>`@param data.${e.name} ${e.description?He(e.description):""}`))]:e.parameters.map((e=>`@param ${e.name} ${e.description?He(e.description):""}`)));return[e.deprecated&&"@deprecated",e.summary&&He(e.summary),e.description&&He(e.description),...n,...e.results.map((e=>`@returns ${e.type} ${e.description?He(e.description):""}`)),"@throws ApiError"]},Ao=(e,t,n)=>{const r=be(),o=((e,t)=>{const n=be();if(xe(n)){let n=[{spread:"options"}];const r=e.parameters.filter((e=>"body"===e.in||"formData"===e.in)).map((e=>e.mediaType)).filter(Boolean).filter(Ce);return 1===r.length&&"multipart/form-data"===r[0]&&(n=[...n,{spread:"formDataBodySerializer"}],t?.("formDataBodySerializer")),n=[...n,{key:"url",value:e.path}],lo.types.object({obj:n})}const r=e=>e.reduce(((e,t)=>{const r=t.prop,o=n.useOptions?`data.${t.name}`:t.name;return r===o?e[r]=r:Ie(r)===r?e[r]=o:e[`'${r}'`]=o,e}),{}),o={method:e.method,url:e.path};if(e.parametersPath.length&&(o.path=r(e.parametersPath)),e.parametersCookie.length&&(o.cookies=r(e.parametersCookie)),e.parametersHeader.length&&(o.headers=r(e.parametersHeader)),e.parametersQuery.length&&(o.query=r(e.parametersQuery)),e.parametersForm.length&&(o.formData=r(e.parametersForm)),e.parametersBody&&("formData"===e.parametersBody.in&&(n.useOptions?o.formData=`data.${e.parametersBody.name}`:o.formData=e.parametersBody.name),"body"===e.parametersBody.in&&(n.useOptions?o.body=`data.${e.parametersBody.name}`:o.body=e.parametersBody.name)),e.parametersBody?.mediaType&&(o.mediaType=e.parametersBody?.mediaType),e.responseHeader&&(o.responseHeader=e.responseHeader),e.errors.length){const t={};e.errors.forEach((e=>{t[e.code]=e.description??""})),o.errors=t}return lo.types.object({identifiers:["body","cookies","formData","headers","path","query"],obj:o,shorthand:!0})})(t,n);if(xe(r)){const n=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:vo}).name,r=t.results.length?yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo}).name:"void";return[lo.return.functionCall({args:[o],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:n&&r?[r,n]:n?["unknown",n]:r?[r]:[]})]}return r.name?[lo.return.functionCall({args:[o],name:"this.httpRequest.request"})]:"angular"===r.client?[lo.return.functionCall({args:["OpenAPI","this.http",o],name:"__request"})]:[lo.return.functionCall({args:["OpenAPI",o],name:"__request"})]},qo=(e,t,n,r,o)=>{const s=be(),a=xe(s);if(t.operations.forEach((t=>{t.parameters.length&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:go,onImport:r}),a&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:vo,onImport:r}),t.results.length&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo,onImport:r})})),!s.services.asClass)return void t.operations.forEach((t=>{const r=lo.types.function({parameters:xo(e,t),returnType:a?void 0:Ro(e,t),statements:Ao(e,t,o)}),s=lo.export.const({comment:Po(t),expression:r,name:t.name});n(s)}));const i=t.operations.map((t=>lo.class.method({accessLevel:"public",comment:Po(t),isStatic:void 0===s.name&&"angular"!==s.client,name:t.name,parameters:xo(e,t),returnType:a?void 0:Ro(e,t),statements:Ao(e,t,o)})));s.name?i.unshift(lo.class.constructor({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]})):"angular"===s.client&&i.unshift(lo.class.constructor({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}));const p=lo.class.create({decorator:"angular"===s.client?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:i,name:Re(t.name)});n(p)},Oo={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},wo=({comment:e,meta:t,onCreated:n,onNode:r,type:o,...s})=>{if(!t)return;const{created:a,name:i}=yo({create:!0,meta:t,...s});if(a){r(lo.typedef.alias({comment:e,name:i,type:o})),n?.(i)}},ko=(e,t,n)=>{const r=be(),o={},s={};t.enum.forEach((e=>{const{key:t,value:n}=ot(e);o[t]=n;const r=e.customDescription||e.description;r&&(s[t]=[He(r)])}));const a=[t.description&&He(t.description),t.deprecated&&"@deprecated"];var i;"typescript"!==r.types.enums?wo({client:e,comment:a,meta:t.meta,onCreated:e=>{if("javascript"===r.types.enums){const t=lo.types.object({comments:s,multiLine:!0,obj:o,unescape:!0}),r=lo.export.const({comment:a,constAssertion:!0,expression:t,name:e});n(r)}},onNode:n,type:(i=t.enum,i.map((e=>rt(e.value,!0))).filter(Ce).join(" | "))}):(({leadingComment:e,comments:t,meta:n,obj:r,onNode:o,...s})=>{if(!n)return;const{created:a,name:i}=yo({create:!0,meta:n,...s});a&&o(lo.types.enum({comments:t,leadingComment:e,name:i,obj:r}))})({client:e,comments:s,leadingComment:a,meta:t.meta,obj:o,onNode:n})},Co=(e,t,n)=>{wo({client:e,comment:[t.description&&He(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:n,type:fo(t)})},Eo=(e,t,n)=>{switch(t.export){case"all-of":case"any-of":case"one-of":case"interface":return((e,t,n)=>{Co(e,t,n),t.enums.forEach((t=>ko(e,t,n)))})(e,t,n);case"enum":return ko(e,t,n);default:return Co(e,t,n)}},To=async({client:e,files:t})=>{for(const n of e.models)Eo(e,n,(e=>{t.types?.add(e)}));t.services&&e.services.length&&((e,t)=>{const n={},r=be(),o=xe(r);e.services.forEach((s=>{s.operations.forEach((s=>{const a=s.parameters.length,i=s.results.length,p=s.errors.length;if(a||i||p){n[s.path]||(n[s.path]={});const l=n[s.path];l[s.method]||(l[s.method]={});const c=l[s.method];if(c.$ref=s.name,a){const n=s.parameters.filter((e=>"body"===e.in)).sort(tt)[0],r={...Oo,...n,in:"body",isRequired:!!n&&n.isRequired,name:"body",prop:"body"},a={...Oo,in:"header",isRequired:s.parameters.filter((e=>"header"===e.in)).some((e=>e.isRequired)),mediaType:null,name:o?"headers":"header",prop:o?"headers":"header",properties:s.parameters.filter((e=>"header"===e.in)).sort(tt)},i={...Oo,in:"path",isRequired:s.parameters.filter((e=>"path"===e.in)).some((e=>e.isRequired)),mediaType:null,name:"path",prop:"path",properties:s.parameters.filter((e=>"path"===e.in)).sort(tt)},p={...Oo,in:"query",isRequired:s.parameters.filter((e=>"query"===e.in)).some((e=>e.isRequired)),mediaType:null,name:"query",prop:"query",properties:s.parameters.filter((e=>"query"===e.in)).sort(tt)},l=o?[r,a,i,p].filter((e=>e.properties.length||e.$refs.length||e.mediaType)):nt([...s.parameters]);c.req=l,wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:go,onNode:t,type:fo({...Oo,isRequired:!0,properties:l})})}if(i){if(c.res||(c.res={}),Array.isArray(c.res))return;if(s.results.forEach((e=>{c.res[e.code]=e})),wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:bo,onNode:t,type:fo({...Oo,export:"any-of",isRequired:!0,properties:s.results.filter((e=>"default"===e.code||e.code>=200&&e.code<300))})}),xe(r)){const n=s.errors.filter((e=>"default"===e.code||e.code>=400&&e.code<600));wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:vo,onNode:t,type:fo(n.length?{...Oo,export:"all-of",isRequired:!0,properties:n}:{...Oo,base:"unknown",isRequired:!0,type:"unknown"})})}}if(p){if(c.res||(c.res={}),Array.isArray(c.res))return;s.errors.forEach((e=>{c.res[e.code]=e}))}}}))}));const s=Object.entries(n).map((([t,n])=>{const r=Object.entries(n).map((([t,n])=>{const r=t;let o=[];if(n.req){const t=n.$ref,{name:r}=yo({client:e,meta:{$ref:t,name:t},nameTransformer:go}),s={...Oo,base:r,export:"reference",isRequired:!0,name:"req",properties:[],type:r};o=[...o,s]}if(n.res){const e=Object.entries(n.res).map((([e,t])=>({...Oo,...t,isRequired:!0,name:String(e)}))),t={...Oo,isRequired:!0,name:"res",properties:e};o=[...o,t]}return{...Oo,isRequired:!0,name:r.toLocaleLowerCase(),properties:o}})).filter(Boolean);return{...Oo,isRequired:!0,name:`'${t}'`,properties:r}}));wo({client:e,meta:{$ref:"@hey-api/openapi-ts",name:"$OpenApiTs"},onNode:t,type:fo({...Oo,properties:s})})})(e,(e=>{t.types?.add(e)}))},$o=async(t,n,r)=>{const o=be();if(o.services.include&&o.services.asClass){const e=new RegExp(o.services.include);n.services=n.services.filter((t=>e.test(t.name)))}if(o.types.include){const e=new RegExp(o.types.include);n.models=n.models.filter((t=>e.test(t.name)))}const s=e.resolve(o.output.path);a.existsSync(s)||a.mkdirSync(s,{recursive:!0});const i={index:new po({dir:o.output.path,name:"index.ts"})};o.schemas.export&&(i.schemas=new po({dir:o.output.path,name:"schemas.ts"})),o.services.export&&(i.services=new po({dir:o.output.path,name:"services.ts"})),o.types.export&&(i.types=new po({dir:o.output.path,name:"types.ts"})),await(async({file:e,openApi:t})=>{if(!e)return;const n=(t,n)=>{const r=`$${de(t)}`,o=uo(n),s=lo.types.object({obj:o}),a=lo.export.const({constAssertion:!0,expression:s,name:r});e.add(a)};"swagger"in t&&Object.entries(t.definitions??{}).forEach((([e,t])=>{n(e,t)})),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach((([e,t])=>{n(e,t)}))})({file:i.schemas,openApi:t}),await To({client:n,files:i}),await(async({client:e,files:t})=>{if(!t.services)return;const n=be();let r=[],o=[];for(const n of e.services)qo(e,n,(e=>{t.services?.add(e)}),(e=>{r=[...r,e]}),(e=>{o=[...o,e]}));if(xe(n)?t.services?.addImport(["client",{asType:!0,name:"Options"},...o.filter(Ce)],n.client):("angular"===n.client?(t.services?.addImport("Injectable","@angular/core"),n.name||t.services?.addImport("HttpClient","@angular/common/http"),t.services?.addImport({asType:!0,name:"Observable"},"rxjs")):t.services?.addImport({asType:!0,name:"CancelablePromise"},"./core/CancelablePromise"),"response"===n.services.response&&t.services?.addImport({asType:!0,name:"ApiResult"},"./core/ApiResult"),n.name?t.services?.addImport({asType:"angular"!==n.client,name:"BaseHttpRequest"},"./core/BaseHttpRequest"):(t.services?.addImport("OpenAPI","./core/OpenAPI"),t.services?.addImport({alias:"__request",name:"request"},"./core/request"))),t.types&&!t.types.isEmpty()){const e=r.filter(Ce).map((e=>({asType:!0,name:e})));t.services?.addImport(e,`./${t.types.getName(!1)}`)}})({client:n,files:i}),await(async(t,n,r,o)=>{const s=be(),i=o.client({$config:s,...r,httpRequest:co(s.client),models:nt(r.models),services:nt(r.services)});s.name&&await a.writeFileSync(e.resolve(n,`${s.name}.ts`),i)})(0,s,n,r),await(async(t,n,r)=>{const o=be();if(o.exportCore){const s={httpRequest:co(o.client),server:void 0!==o.base?o.base:n.server,version:n.version};if(a.rmSync(e.resolve(t),{force:!0,recursive:!0}),a.mkdirSync(e.resolve(t),{recursive:!0}),await a.writeFileSync(e.resolve(t,"OpenAPI.ts"),r.core.settings({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiError.ts"),r.core.apiError({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiResult.ts"),r.core.apiResult({$config:o,...s})),"angular"!==o.client&&await a.writeFileSync(e.resolve(t,"CancelablePromise.ts"),r.core.cancelablePromise({$config:o,...s})),await a.writeFileSync(e.resolve(t,"request.ts"),r.core.request({$config:o,...s})),o.name&&(await a.writeFileSync(e.resolve(t,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:o,...s})),await a.writeFileSync(e.resolve(t,`${s.httpRequest}.ts`),r.core.httpRequest({$config:o,...s}))),o.request){const n=e.resolve(process.cwd(),o.request);if(!await a.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await a.copyFileSync(n,e.resolve(t,"request.ts"))}}})(e.resolve(o.output.path,"core"),n,r),await(async({files:e})=>{const t=be();t.name&&e.index.add(lo.export.named([t.name],`./${t.name}`)),t.exportCore&&(e.index.add(lo.export.named("ApiError","./core/ApiError")),"response"===t.services.response&&e.index.add(lo.export.named({asType:!0,name:"ApiResult"},"./core/ApiResult")),t.name&&e.index.add(lo.export.named("BaseHttpRequest","./core/BaseHttpRequest")),"angular"!==t.client&&e.index.add(lo.export.named(["CancelablePromise","CancelError"],"./core/CancelablePromise")),e.index.add(lo.export.named(["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],"./core/OpenAPI"))),e.schemas&&!e.schemas.isEmpty()&&e.index.add(lo.export.all(`./${e.schemas.getName(!1)}`)),e.services&&!e.services.isEmpty()&&e.index.add(lo.export.all(`./${e.services.getName(!1)}`)),e.types&&!e.types.isEmpty()&&e.index.add(lo.export.all(`./${e.types.getName(!1)}`))})({files:i}),i.schemas?.write("\n\n"),i.services?.write("\n\n"),i.types?.write("\n\n"),i.index.write()},Io={biome:{args:e=>["format","--write",e],command:"biome",name:"Biome (Format)"},prettier:{args:e=>["--ignore-unknown",e,"--write","--ignore-path","./.prettierignore"],command:"prettier",name:"Prettier"}},So={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},Ho=async n=>{const{config:r}=await t.loadConfig({jitiOptions:{esmResolve:!0},name:"openapi-ts"});return(Array.isArray(n)?n:Array.isArray(r)?r.map((e=>({...e,...n}))):[{...r??{},...n}]).map((t=>{const{base:n,client:r="fetch",debug:o=!1,dryRun:s=!1,exportCore:a=!0,input:i,name:p,request:l,useOptions:c=!0}=t;o&&console.warn("userConfig:",t);const u=(e=>{let t={format:!1,lint:!1,path:""};return"string"==typeof e.output?t.path=e.output:t={...t,...e.output},t})(t);if(!i)throw new Error("🚫 input not provided - provide path to OpenAPI specification");if(!u.path)throw new Error("🚫 output not provided - provide path where we should generate your client");c||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 m=(e=>{let t={export:!0,type:"json"};return"boolean"==typeof e.schemas?t.export=e.schemas:t={...t,...e.schemas},t})(t),d=(e=>{let t={asClass:!1,export:!0,name:"{{name}}Service",operationId:!0,response:"body"};return"boolean"==typeof e.services?t.export=e.services:"string"==typeof e.services?t.include=e.services:t={...t,...e.services},t})(t),f=(e=>{let t={dates:!1,enums:!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})(t);return u.path=e.resolve(process.cwd(),u.path),y={base:n,client:r,debug:o,dryRun:s,exportCore:!xe(r)&&a,input:i,name:p,output:u,request:l,schemas:m,services:d,types:f,useOptions:c},ve=y,be();var y}))};exports.createClient=async function(t){const n=await Ho(t),r=t=>async()=>{const n="string"==typeof t.input?await(async t=>{const n=a.existsSync(t)?e.resolve(t):t;return await i.bundle(n,n,{})})(t.input):t.input,r=Nr(function(e){if("openapi"in e)return Pt(e);if("swagger"in e)return Ze(e);throw new Error(`Unsupported Open API specification: ${JSON.stringify(e,null,2)}`)}(n)),o=(()=>{Dr();const e={client:Vn.template(Kn),core:{apiError:Vn.template(Zn),apiRequestOptions:Vn.template(er),apiResult:Vn.template(tr),baseHttpRequest:Vn.template(pr),cancelablePromise:Vn.template(lr),httpRequest:Vn.template(kr),request:Vn.template(Er),settings:Vn.template(Cr)}};return Vn.registerPartial("functions/base64",Vn.template(hr)),Vn.registerPartial("functions/catchErrorCodes",Vn.template(gr)),Vn.registerPartial("functions/getFormData",Vn.template(vr)),Vn.registerPartial("functions/getQueryString",Vn.template(br)),Vn.registerPartial("functions/getUrl",Vn.template(xr)),Vn.registerPartial("functions/isBlob",Vn.template(Rr)),Vn.registerPartial("functions/isFormData",Vn.template(Pr)),Vn.registerPartial("functions/isString",Vn.template(Ar)),Vn.registerPartial("functions/isStringWithValue",Vn.template(qr)),Vn.registerPartial("functions/isSuccess",Vn.template(Or)),Vn.registerPartial("functions/resolve",Vn.template(wr)),Vn.registerPartial("fetch/getHeaders",Vn.template(cr)),Vn.registerPartial("fetch/getRequestBody",Vn.template(ur)),Vn.registerPartial("fetch/getResponseBody",Vn.template(mr)),Vn.registerPartial("fetch/getResponseHeader",Vn.template(dr)),Vn.registerPartial("fetch/request",Vn.template(fr)),Vn.registerPartial("fetch/sendRequest",Vn.template(yr)),Vn.registerPartial("xhr/getHeaders",Vn.template(Tr)),Vn.registerPartial("xhr/getRequestBody",Vn.template($r)),Vn.registerPartial("xhr/getResponseBody",Vn.template(Ir)),Vn.registerPartial("xhr/getResponseHeader",Vn.template(Sr)),Vn.registerPartial("xhr/request",Vn.template(Hr)),Vn.registerPartial("xhr/sendRequest",Vn.template(_r)),Vn.registerPartial("axios/getHeaders",Vn.template(nr)),Vn.registerPartial("axios/getRequestBody",Vn.template(rr)),Vn.registerPartial("axios/getResponseBody",Vn.template(or)),Vn.registerPartial("axios/getResponseHeader",Vn.template(sr)),Vn.registerPartial("axios/request",Vn.template(ar)),Vn.registerPartial("axios/sendRequest",Vn.template(ir)),Vn.registerPartial("angular/getHeaders",Vn.template(Qn)),Vn.registerPartial("angular/getRequestBody",Vn.template(Jn)),Vn.registerPartial("angular/getResponseBody",Vn.template(zn)),Vn.registerPartial("angular/getResponseHeader",Vn.template(Gn)),Vn.registerPartial("angular/request",Vn.template(Xn)),Vn.registerPartial("angular/sendRequest",Vn.template(Yn)),e})();return t.dryRun||((()=>{const{client:e}=be();switch(e){case"angular":return console.log("✨ Creating Angular client");case"@hey-api/client-axios":case"axios":return console.log("✨ Creating Axios client");case"@hey-api/client-fetch":case"fetch":return console.log("✨ Creating Fetch client");case"node":return console.log("✨ Creating Node.js client");case"xhr":console.log("✨ Creating XHR client")}})(),await $o(n,r,o),(()=>{const e=be();if(e.output.format){const t=Io[e.output.format];console.log(`✨ Running ${t.name}`),re(t.command,t.args(e.output.path))}if(e.output.lint){const t=So[e.output.lint];console.log(`✨ Running ${t.name}`),re(t.command,t.args(e.output.path))}})()),console.log("✨ Done! Your client is located in:",t.output.path),r};let o=[];const s=n.map((e=>r(e)));for(const e of s){const t=await e();o=[...o,t]}return o},exports.defineConfig=function(e){return e};
|
|
1
|
+
"use strict";var e=require("node:path"),t=require("c12"),n=require("child_process"),r=require("path"),o=require("fs"),s=require("os"),a=require("node:fs"),i=require("@apidevtools/json-schema-ref-parser"),p=require("typescript"),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var u,m,d,f,y,h={exports:{}};y="win32"===process.platform||l.TESTING_WINDOWS?function(){if(m)return u;m=1,u=n,n.sync=function(n,r){return t(e.statSync(n),n,r)};var e=o;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 u}():function(){if(f)return d;f=1,d=t,t.sync=function(t,r){return n(e.statSync(t),r)};var e=o;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),p=parseInt("010",8);return n&parseInt("001",8)||n&p&&o===a||n&i&&r===s||n&(i|p)&&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)}))}))}y(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 y.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const b="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,x=r,R=b?";":":",P=g,A=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),q=(e,t)=>{const n=t.colon||R,r=e.match(/\//)||b&&e.match(/\\/)?[""]:[...b?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=b?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=b?o.split(n):[""];return b&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},O=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});const{pathEnv:r,pathExt:o,pathExtExe:s}=q(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(A(e));const i=r[n],l=/^".*"$/.test(i)?i.slice(1,-1):i,c=x.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;o(p(u,n,0))})),p=(e,n,r)=>new Promise(((l,c)=>{if(r===o.length)return l(i(n+1));const u=o[r];P(e+u,{pathExt:s},((o,s)=>{if(!o&&s){if(!t.all)return l(e+u);a.push(e+u)}return l(p(e,n,r+1))}))}));return n?i(0).then((e=>n(null,e)),n):i(0)};var w=O;O.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=q(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,l=x.join(p,e),c=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let e=0;e<r.length;e++){const n=c+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 A(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=r,$=w,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=o,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 B=r,L=H,F=_,W=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())},U="win32"===process.platform,V=/\.(?:com|exe)$/i,K=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q(e){if(!U)return e;const t=function(e){e.file=L(e);const t=e.file&&W(e.file);return t?(e.args.unshift(e.file),e.command=t,L(e)):e.file}(e),n=!V.test(t);if(e.options.forceShell||n){const n=K.test(t);e.command=B.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=n,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}h.exports=ne,h.exports.spawn=ne;var re=h.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};h.exports._parse=ee,h.exports._enoent=te;const oe=/[\p{Lu}]/u,se=/[\p{Ll}]/u,ae=/^[\p{Lu}](?![\p{Lu}])/gu,ie=/([\p{Alpha}\p{N}_]|$)/u,pe=/[_.\- ]+/,le=new RegExp("^"+pe.source),ce=new RegExp(pe.source+ie.source,"gu"),ue=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 pe.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 p=0;p<e.length;p++){const l=e[p];i=!(p>2)||"-"===e[p-3],o&&oe.test(l)?(e=e.slice(0,p)+"-"+e.slice(p),o=!1,a=s,s=!0,p++):s&&a&&se.test(l)&&(!i||r)?(e=e.slice(0,p-1)+"-"+e.slice(p-1),a=s,s=!1,o=!0):(o=t(l)===l&&n(l)!==l,a=s,s=n(l)===l&&t(l)!==l)}return e})(e,n,r,t.preserveConsecutiveUppercase)),e=e.replace(le,""),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)=>(ce.lastIndex=0,ue.lastIndex=0,e.replaceAll(ue,((n,r,o)=>["_","-"].includes(e.charAt(o+n.length))?n:t(n))).replaceAll(ce,((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 ye(e="1.0"){return String(e).replace(/^v/gi,"")}const he=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;let ve;const be=()=>ve,xe=e=>("string"==typeof e?e:e.client).startsWith("@hey-api"),Re=e=>{const t=be();return t.services.name?t.services.name.replace("{{name}}",e):e},Pe=e=>qe(e).includes("null"),Ae=e=>!0===e.nullable||Pe(e),qe=({type:e})=>Array.isArray(e)?e:e?[e]:[],Oe=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\//,""),we=(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"}},ke=({format:e,type:t="unknown"})=>{const n={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(t)){const r=t.filter((e=>"null"!==e)).map((t=>we(t,e))).filter(Boolean).join(" | ");return n.type=r,n.base=r,n.isNullable=Pe({type:t}),n}const r=we(t,e);if(r)return n.type=r,n.base=r,n;const o=decodeURIComponent(Oe(t));if(/\[.*\]$/g.test(o)){const e=o.match(/(.*?)\[(.*)\]$/);if(e?.length){const t=ke({type:de(e[1])}),r=ke({type: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){let e=(s=de(o),"PascalCase"===be().types.name?me(s,{pascalCase:!0}):s);return t.startsWith("#/components/parameters/")&&(e=`Parameter${e}`),n.type=e,n.base=e,t.startsWith("#")&&(n.$refs=[...n.$refs,t]),n.imports=[...n.imports,e],n}var s;return n},Ce=e=>{const t=be();if(xe(t))return e;return me((e=>{const t=e.replace("[]","Array");return fe(t)})(e).trim()).replace(ge,"_$1")};function Ee(e,t,n){return n.indexOf(e)===t}const Te=(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(Ee).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},$e=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Ie=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,Se=e=>{if(e||""===e){if(!Ie.test(e))return`'${e}'`}return e},He=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,_e=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,t)=>s.EOL+t.trim())),De=({definition:e,getModel:t,openApi:n,types:r})=>{const o=[];return Object.entries(e.properties??{}).forEach((([s,a])=>{const i=Boolean(e.required?.includes(s));if(a.$ref){const e=ke({type:a.$ref});o.push({$refs:[],base:e.base,description:a.description||null,enum:[],enums:[],exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:"reference",format:a.format,imports:e.imports,in:"",isDefinition:!1,isNullable:!0===a["x-nullable"],isReadOnly:!0===a.readOnly,isRequired:i,link:null,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Se(s),pattern:$e(a.pattern),properties:[],template:e.template,type:e.type,uniqueItems:a.uniqueItems})}else{const e=t({definition:a,openApi:n,types:r});o.push({$refs:[],base:e.base,description:a.description||null,enum:e.enum,enums:e.enums,exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:e.export,format:a.format,imports:e.imports,in:"",isDefinition:!1,isNullable:!0===a["x-nullable"],isReadOnly:!0===a.readOnly,isRequired:i,link:e.link,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Se(s),pattern:$e(a.pattern),properties:e.properties,template:e.template,type:e.type,uniqueItems:a.uniqueItems})}})),o},Ne=/~1/g,je=/~0/g;function Me(e,t){if(t.$ref){const n=t.$ref.replace(/^#/g,"").split("/").filter(Boolean);let r=e;return n.forEach((e=>{const n=decodeURIComponent(e.replace(Ne,"/").replace(je,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const Be=({definition:e,definitions:t,getModel:n,openApi:r,type:o,types:s})=>{const a={$refs:[],enums:[],export:o,imports:[],properties:[]},i=[];if(t.map((e=>n({definition:e,openApi:r,types:s}))).filter((e=>{const t=e.properties.length,n=e.enums.length;return!("unknown"===e.type&&!t&&!n)})).forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),a.properties.push(e)})),e.required){const o=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=Me(n,r);return[...e,...t({definition:s,openApi:n,types:o}).properties]}return[...e,...t({definition:r,openApi:n,types:o}).properties]}),[]).filter((e=>!e.isRequired&&r.includes(e.name))).map((e=>({...e,isRequired:!0}))))({definitions:t,getModel:n,openApi:r,required:e.required,types:s});o.forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums)})),i.push(...o)}if(e.properties){const t=De({definition:e,getModel:n,openApi:r,types:s});t.forEach((e=>{a.imports.push(...e.imports),a.enums.push(...e.enums),"enum"===e.export&&a.enums.push(e)})),i.push(...t)}return i.length&&a.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:i,template:null,type:"unknown"}),a},Le=({definition:e,isDefinition:t=!1,meta:n,openApi:r,types:o})=>{const s={$refs:[],base:"unknown",description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],in:"",isDefinition:t,isNullable:!0===e["x-nullable"],isReadOnly:!0===e.readOnly,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:n,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:n?.name??"",pattern:$e(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){const t=ke({type:e.$ref});return s.export="reference",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}if(e.enum&&"boolean"!==e.type){const t=Te(e,e.enum);if(t.length)return s.base="string",s.enum=[...s.enum,...t],s.export="enum",s.type="string",s}if("array"===e.type&&e.items){if(e.items.$ref){const t=ke({type:e.items.$ref});return s.export="array",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}{const t=Le({definition:e.items,openApi:r,types:o});return s.export="array",s.type=t.type,s.base=t.base,s.template=t.template,s.link=t,s.imports.push(...t.imports),s}}if("object"===e.type&&"object"==typeof e.additionalProperties){if(e.additionalProperties.$ref){const t=ke({type:e.additionalProperties.$ref});return s.export="dictionary",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}{const t=Le({definition:e.additionalProperties,openApi:r,types:o});return s.export="dictionary",s.type=t.type,s.base=t.base,s.template=t.template,s.link=t,s.imports.push(...t.imports),s}}if(e.allOf?.length){const t=Be({definition:e,definitions:e.allOf,getModel:Le,openApi:r,type:"all-of",types:o});return s.export=t.export,s.imports.push(...t.imports),s.properties.push(...t.properties),s.enums=[...s.enums,...t.enums],s}if("object"===e.type){if(s.export="interface",s.type="unknown",s.base="unknown",e.properties){De({definition:e,getModel:Le,openApi:r,types:o}).forEach((e=>{s.imports.push(...e.imports),s.enums=[...s.enums,...e.enums],s.properties.push(e),"enum"===e.export&&(s.enums=[...s.enums,e])}))}return s}if(e.type){const t=ke({format:e.format,type:e.type});return s.export="generic",s.type=t.type,s.base=t.base,s.template=t.template,s.imports.push(...t.imports),s}return s},Fe=(e,t)=>{const n=e.type===t.type&&e.base===t.base&&e.template===t.template;return n&&e.link&&t.link?Fe(e.link,t.link):n},We=e=>{const t=[];return e.forEach((e=>{const{code:n}=e;n&&("default"===n||n>=200&&n<300)&&t.push(e)})),t.filter(((e,t,n)=>n.findIndex((t=>Fe(t,e)))===t))},Ue=(e,t,n)=>{if(be().services.operationId&&n)return me(fe(n).trim());return me(`${t}-${e.replace(/[^/]*?{api-version}.*?\//g,"").replace(/{(.*?)}/g,"by-$1").replace(/\//g,"-")}`)},Ve=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Ke=e=>{if("default"===e)return"default";if(/[0-9]+/g.test(e)){const t=Number.parseInt(e);if(Number.isInteger(t))return Math.abs(t)}return null},Qe=e=>e.filter((({code:e,description:t})=>"number"==typeof e&&e>=300&&t));function Je(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 ze=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(qe(e).find((e=>"null"!==e))||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"array":case"boolean":case"object":case"string":return e.default;default:return}},Ge=({openApi:e,parameters:t,types:n})=>{const r={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const o=Me(e,t),s=(({openApi:e,parameter:t,types:n})=>{const r=be(),o={$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:xe(r)?t.name:Ce(t.name),pattern:$e(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};if(t.$ref){const e=ke({type:t.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o.default=ze(t,o),o}if(t.enum){const e=Te(t,t.enum);if(e.length)return o.base="string",o.enum.push(...e),o.export="enum",o.type="string",o.default=ze(t,o),o}if("array"===t.type&&t.items){const e=ke({format:t.items.format,type:t.items.type});return o.export="array",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o.default=ze(t,o),o}if("object"===t.type&&t.items){const e=ke({format:t.items.format,type:t.items.type});return o.export="dictionary",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o.default=ze(t,o),o}let s=t.schema;if(s){if(s.$ref?.startsWith("#/parameters/")&&(s=Me(e,s)),s.$ref){const e=ke({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o.default=ze(t,o),o}{const r=Le({definition:s,openApi:e,types:n});return o.export=r.export,o.type=r.type,o.base=r.base,o.template=r.template,o.link=r.link,o.imports.push(...r.imports),o.enum.push(...r.enum),o.enums.push(...r.enums),o.properties.push(...r.properties),o.default=ze(t,o),o}}if(t.type){const e=ke({format:t.format,type:t.type});return o.export="generic",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o.default=ze(t,o),o}return o})({openApi:e,parameter:o,types:n});if("api-version"!==s.prop)switch(s.in){case"path":r.parametersPath.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"query":r.parametersQuery.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"header":r.parametersHeader.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"formData":r.parametersForm.push(s),r.parameters.push(s),r.imports.push(...s.imports);break;case"body":r.parametersBody=s,r.parameters.push(s),r.imports.push(...s.imports)}})),r},Xe=({openApi:e,responses:t,types:n})=>{const r=[];return Object.entries(t).forEach((([t,o])=>{const s=Me(e,o),a=Ke(t);if(a){const t=(({code:e,openApi:t,response:n,types:r})=>{const o={$refs:[],base:204!==e?"unknown":"void",code:e,description:n.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!==e?"unknown":"void"};let s=n.schema;if(s){if(s.$ref?.startsWith("#/responses/")&&(s=Me(t,s)),s.$ref){const e=ke({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports.push(...e.imports),o}{const e=Le({definition:s,openApi:t,types:r});return o.export=e.export,o.type=e.type,o.base=e.base,o.template=e.template,o.link=e.link,o.isReadOnly=e.isReadOnly,o.isRequired=e.isRequired,o.isNullable=e.isNullable,o.format=e.format,o.maximum=e.maximum,o.exclusiveMaximum=e.exclusiveMaximum,o.minimum=e.minimum,o.exclusiveMinimum=e.exclusiveMinimum,o.multipleOf=e.multipleOf,o.maxLength=e.maxLength,o.minLength=e.minLength,o.maxItems=e.maxItems,o.minItems=e.minItems,o.uniqueItems=e.uniqueItems,o.maxProperties=e.maxProperties,o.minProperties=e.minProperties,o.pattern=$e(e.pattern),o.imports.push(...e.imports),o.enum.push(...e.enum),o.enums.push(...e.enums),o.properties.push(...e.properties),o}}return Object.keys(n.headers??{}).forEach((e=>(o.in="header",o.name=e,o.type="string",o.base="string",o))),o})({code:a,openApi:e,response:s,types:n});r.push(t)}})),r.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))},Ye=({openApi:e,types:t})=>{const n=be(),r=new Map;return Object.entries(e.paths).forEach((([o,s])=>{const a=Ge({openApi:e,parameters:s.parameters||[],types:t});Object.keys(s).forEach((i=>{switch(i){case"get":case"put":case"post":case"delete":case"options":case"head":case"patch":{const p=s[i];(p.tags?.length&&n.services.asClass?p.tags.filter(Ee):["Default"]).forEach((n=>{const s=(({method:e,op:t,openApi:n,pathParams:r,tag:o,types:s,url:a})=>{const i=he(o),p=Ue(a,e,t.operationId),l={$refs:[],deprecated:!0===t.deprecated,description:t.description||null,errors:[],imports:[],method:e.toUpperCase(),name:p,parameters:[...r.parameters],parametersBody:r.parametersBody,parametersCookie:[...r.parametersCookie],parametersForm:[...r.parametersForm],parametersHeader:[...r.parametersHeader],parametersPath:[...r.parametersPath],parametersQuery:[...r.parametersQuery],path:a,responseHeader:null,results:[],service:i,summary:t.summary||null};if(t.parameters){const e=Ge({openApi:n,parameters:t.parameters,types:s});l.imports.push(...e.imports),l.parameters.push(...e.parameters),l.parametersPath.push(...e.parametersPath),l.parametersQuery.push(...e.parametersQuery),l.parametersForm.push(...e.parametersForm),l.parametersHeader.push(...e.parametersHeader),l.parametersCookie.push(...e.parametersCookie),l.parametersBody=e.parametersBody}if(t.responses){const e=Xe({openApi:n,responses:t.responses,types:s}),r=We(e);l.errors=Qe(e),l.responseHeader=Ve(r),r.forEach((e=>{l.results.push(e),l.imports.push(...e.imports)}))}return l.parameters=Je(l.parameters),l})({method:i,op:p,openApi:e,pathParams:a,tag:n,types:t,url:o}),l=r.get(s.service)||{$refs:[],imports:[],name:s.service,operations:[]};l.operations.push(s),l.imports.push(...s.imports),r.set(s.service,l)}));break}}}))})),Array.from(r.values())},Ze=e=>{const t=ye(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),{models:r,types:o}=(e=>{const t={};let n=[];return Object.entries(e.definitions??{}).forEach((([r,o])=>{const s=ke({type:r}).base.replace(ge,"_$1"),a={$ref:`#/definitions/${r}`,name:s};t[s]=a;const i=Le({definition:o,isDefinition:!0,meta:a,openApi:e,types:t});n=[...n,i]})),{models:n,types:t}})(e);return{models:r,server:n,services:Ye({openApi:e,types:o}),types:o,version:t}};function et(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}const tt=(e,t)=>et(e.name,t.name);function nt(e){return e.sort(tt)}const rt=(e,t=!1)=>"string"==typeof e?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,ot=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);return{key:t,value:rt(e.value)}},st=e=>{const t=e.enum.map((e=>ot(e))).sort(((e,t)=>et(e.key,t.key))).map((e=>`${e.key}=${e.value}`)).join("&");return{$ref:`enum/${e.name}/${t}`,name:de(He(e.name))}},at=(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=>Oe(e)==t.name));if(r&&n[r])return n[r]}return t.name},it=({definition:e,getModel:t,model:n,openApi:r,types:o})=>{const s="object"==typeof e.additionalProperties?e.additionalProperties:{},a=t({definition:s,openApi:r,parentDefinition:e,types:o});if(s.$ref){const t=ke({type:s.$ref});return n.base=t.base,n.default=ze(e,n),n.export="dictionary",n.imports.push(...t.imports),n.template=t.template,n.type=t.type,n}if(e.additionalProperties&&e.properties){const t=["object"==typeof e.additionalProperties&&e.additionalProperties.type&&!Array.isArray(e.additionalProperties.type)?e.additionalProperties.type:a.base,...n.properties.map((e=>e.base))];return a.base=t.filter(Ee).join(" | "),a.default=ze(e,n),a.export="generic",a.isRequired=!0===e.additionalProperties,a.name="[key: string]",a}return n.base=a.base,n.default=ze(e,n),n.export="dictionary",n.imports.push(...a.imports),n.link=a,n.template=a.template,n.type=a.type,n},pt=({definition:e,getModel:t,openApi:n,parent:r,types:o})=>{let s=[];const a=((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&&Oe(e.$ref)==t.name)))return r.discriminator}})(n,r);return Object.entries(e.properties??{}).forEach((([i,p])=>{const l=Boolean(e.required?.includes(i)),c={default:p.default,deprecated:!0===p.deprecated,description:p.description||null,exclusiveMaximum:p.exclusiveMaximum,exclusiveMinimum:p.exclusiveMinimum,format:p.format,in:"",isDefinition:!1,isReadOnly:!0===p.readOnly,isRequired:l,maxItems:p.maxItems,maxLength:p.maxLength,maxProperties:p.maxProperties,maximum:p.maximum,minItems:p.minItems,minLength:p.minLength,minProperties:p.minProperties,minimum:p.minimum,multipleOf:p.multipleOf,name:Se(i),pattern:$e(p.pattern),uniqueItems:p.uniqueItems};if(r&&a?.propertyName==i)s=[...s,{...c,$refs:[],base:`'${at(a,r)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:Ae(p),link:null,properties:[],template:null,type:"string"}];else if(p.$ref){const e=ke({type:p.$ref});s=[...s,{...c,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||Ae(p),link:null,properties:[],template:e.template,type:e.type}]}else{const r=t({definition:p,initialValues:c,openApi:n,parentDefinition:e,types:o});r.isNullable=r.isNullable||Ae(p),s=[...s,r]}})),s},lt=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),ct=({definition:e,definitions:t,getModel:n,model:r,openApi:o,type:s,types:a})=>{const i={$refs:r.$refs,enums:r.enums,export:s,imports:r.imports,properties:r.properties};let p=[];if(t.map((t=>n({definition:t,openApi:o,parentDefinition:e,types:a}))).forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums],i.properties=[...i.properties,e]})),e.required){const r=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=ke({type:r.$ref}),a={$ref:r.$ref,name:s.base};o[s.base]=a;const i=Me(n,r);return[...e,...t({definition:i,meta:a,openApi:n,types:o}).properties]}return[...e,...t({definition:r,openApi:n,parentDefinition:r,types:o}).properties]}),[]).filter((e=>!e.isRequired&&r.includes(e.name))).map((e=>({...e,isRequired:!0}))))({definitions:t,getModel:n,openApi:o,required:e.required,types:a});r.forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums]})),p=[...p,...r]}if(e.properties){const t=pt({definition:e,getModel:n,openApi:o,types:a});t.forEach((e=>{i.$refs=[...i.$refs,...e.$refs],i.imports=[...i.imports,...e.imports],i.enums=[...i.enums,...e.enums],"enum"===e.export&&(i.enums=[...i.enums,e])})),p=[...p,...t]}if(p.length){const t=lt(e);"one-of"===t?.type?i.properties.forEach((e=>{e.properties=[...e.properties,...p]})):i.properties=[...i.properties,{$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:p,template:null,type:"unknown"}]}return i},ut=({definition:e,initialValues:t={},isDefinition:n=!1,meta:r,openApi:o,parentDefinition:s=null,types:a})=>{const i=qe(e),p=((e,t)=>{if(e.enum&&!t.includes("boolean"))return"enum"})(e,i),l={$refs:[],base:"unknown",deprecated:Boolean(e.deprecated),description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],in:"",isDefinition:n,isNullable:Ae(e),isReadOnly:!0===e.readOnly,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:r,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:r?.name??"",pattern:$e(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems,...t};if(e.$ref){const t=ke({type:e.$ref});return l.$refs=[...l.$refs,e.$ref],l.base=t.base,l.export="reference",l.imports=[...l.imports,...t.imports],l.template=t.template,l.type=t.type,l.default=ze(e,l),l}if("enum"===p){const t=Te(e,e.enum);if(t.length)return l.base="string",l.enum=[...l.enum,...t],l.export="enum",l.type="string",l.default=ze(e,l),l.meta||(l.meta=st(l)),l}if(i.includes("array")&&e.items){if(e.items.$ref){const t=ke({type:e.items.$ref});return l.$refs=[...l.$refs,e.items.$ref],l.base=t.base,l.export="array",l.imports=[...l.imports,...t.imports],l.template=t.template,l.type=t.type,l.default=ze(e,l),l}if(e.items.anyOf&&s&&s.type){const t=lt(s);if(t&&t.definitions.some((e=>!qe(e).includes("array"))))return ut({definition:e.items,openApi:o,parentDefinition:e,types:a})}const t=Array.isArray(e.items)?{anyOf:e.items}:e.items,n=ut({definition:t,openApi:o,parentDefinition:e,types:a});return l.base=n.base,l.export="array",l.$refs=[...l.$refs,...n.$refs],l.imports=[...l.imports,...n.imports],l.link=n,l.template=n.template,l.type=n.type,l.default=ze(e,l),l}const c=lt(e);if(c){const t=ct({...c,definition:e,getModel:ut,model:l,openApi:o,types:a});return{...l,...t}}if(i.includes("object")||e.properties){if(e.properties){l.base="unknown",l.export="interface",l.type="unknown",l.default=ze(e,l);if(pt({definition:e,getModel:ut,openApi:o,parent:l,types:a}).forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.enums=[...l.enums,...e.enums],l.imports=[...l.imports,...e.imports],l.properties=[...l.properties,e],"enum"===e.export&&(l.enums=[...l.enums,e])})),e.additionalProperties){const t=it({definition:e,getModel:ut,model:l,openApi:o,types:a});l.properties.push(t)}return l}return it({definition:e,getModel:ut,model:l,openApi:o,types:a})}if(void 0!==e.const){const t=e.const,n="string"==typeof t?`"${t}"`:`${t}`;return l.base=n,l.export="const",l.type=n,l}if(i.length){const t=ke({format:e.format,type:e.type});return l.base=t.base,l.export="generic",l.$refs=[...l.$refs,...t.$refs],l.imports=[...l.imports,...t.imports],l.isNullable=t.isNullable||l.isNullable,l.template=t.template,l.type=t.type,l.default=ze(e,l),l}return l},mt=e=>{if(e.schema)return e.schema;if(e.content){const t=Object.entries(e.content);for(const[n,r]of t)if(r.schema){const t=n;return e.content[t].schema}}},dt=["cookie","formData","header","path","query"],ft=({debug:e,openApi:t,parameters:n,types:r})=>{const o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return n.forEach((n=>{const s=Me(t,n),a=(({debug:e,openApi:t,parameter:n,types:r})=>{const o=be();let s={$refs:[],base:"unknown",deprecated:!0===n.deprecated,description:n.description||null,enum:[],enums:[],export:"interface",imports:[],in:n.in,isDefinition:!1,isNullable:Ae(n),isReadOnly:!1,isRequired:!0===n.required,link:null,mediaType:null,name:xe(o)?n.name:Ce(n.name),prop:n.name,properties:[],template:null,type:"unknown"};if(n.$ref){const e=ke({type:n.$ref});return s.export="reference",s.type=e.type,s.base=e.base,s.template=e.template,s.$refs=[...s.$refs,...e.$refs],s.imports=[...s.imports,...e.imports],s}let a=mt(n);if(a){if(a.$ref?.startsWith("#/components/parameters/")&&(a=Me(t,a)),a.$ref){const e=ke({type:a.$ref});return s.export="reference",s.type=e.type,s.base=e.base,s.template=e.template,s.$refs=[...s.$refs,...e.$refs],s.imports=[...s.imports,...e.imports],s.default=ze(a),s}const e=ut({definition:a,openApi:t,types:r});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,enum:[...s.enum,...e.enum],enums:[...s.enums,...e.enums],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:e.export,format:e.format,imports:[...s.imports,...e.imports],isNullable:s.isNullable||e.isNullable,isReadOnly:e.isReadOnly,isRequired:s.isRequired||e.isRequired,link:e.link,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,pattern:$e(e.pattern),properties:[...s.properties,...e.properties],template:e.template,type:e.type,uniqueItems:e.uniqueItems},!s.enum.length&&!s.enums.length||s.meta||(s.meta=st(s)),s.default=e.default,s}return s})({debug:e,openApi:t,parameter:s,types:r});if("api-version"!==a.prop&&dt.includes(s.in)){switch(s.in){case"cookie":o.parametersCookie=[...o.parametersCookie,a];break;case"formData":o.parametersForm=[...o.parametersForm,a];break;case"header":o.parametersHeader=[...o.parametersHeader,a];break;case"path":o.parametersPath=[...o.parametersPath,a];break;case"query":o.parametersQuery=[...o.parametersQuery,a]}o.$refs=[...o.$refs,...a.$refs],o.imports=[...o.imports,...a.imports],o.parameters=[...o.parameters,a]}})),o},yt=["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"],ht=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return yt.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},gt=({openApi:e,responses:t,types:n})=>{const r=[];return Object.entries(t).forEach((([t,o])=>{const s=Me(e,o),a=Ke(t);if(a){const t=(({code:e,openApi:t,response:n,types:r})=>{const o={$refs:[],base:204!==e?"unknown":"void",code:e,description:n.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!==e?"unknown":"void"};if(n.content){const e=ht(0,n.content);if(e){if(e.schema.$ref?.startsWith("#/components/responses/")&&(e.schema=Me(t,e.schema)),e.schema.$ref){const t=ke({type:e.schema.$ref});return o.base=t.base,o.export="reference",o.$refs=[...o.$refs,...t.$refs],o.imports=[...o.imports,...t.imports],o.template=t.template,o.type=t.type,o}{const n=ut({definition:e.schema,openApi:t,types:r});return o.export=n.export,o.type=n.type,o.base=n.base,o.template=n.template,o.link=n.link,o.isReadOnly=n.isReadOnly,o.isRequired=n.isRequired,o.isNullable=n.isNullable,o.format=n.format,o.maximum=n.maximum,o.exclusiveMaximum=n.exclusiveMaximum,o.minimum=n.minimum,o.exclusiveMinimum=n.exclusiveMinimum,o.multipleOf=n.multipleOf,o.maxLength=n.maxLength,o.minLength=n.minLength,o.maxItems=n.maxItems,o.minItems=n.minItems,o.uniqueItems=n.uniqueItems,o.maxProperties=n.maxProperties,o.minProperties=n.minProperties,o.pattern=$e(n.pattern),o.$refs=[...o.$refs,...n.$refs],o.imports=[...o.imports,...n.imports],o.enum.push(...n.enum),o.enums.push(...n.enums),o.properties.push(...n.properties),o}}}return Object.keys(n.headers??{}).forEach((e=>(o.in="header",o.name=e,o.type="string",o.base="string",o))),o})({code:a,openApi:e,response:s,types:n});r.push(t)}})),r.sort(((e,t)=>e.code<t.code?-1:e.code>t.code?1:0))},vt=(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},bt=({method:e,op:t,openApi:n,pathParams:r,tag:o,types:s,url:a})=>{const i=he(o),p=Ue(a,e,t.operationId),l={$refs:[],deprecated:Boolean(t.deprecated),description:t.description||null,errors:[],imports:[],method:e.toUpperCase(),name:p,parameters:[],parametersBody:r.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,results:[],service:i,summary:t.summary||null};if(t.parameters){const e=ft({openApi:n,parameters:t.parameters,types:s});l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.parameters=[...l.parameters,...e.parameters],l.parametersBody=e.parametersBody,l.parametersCookie=[...l.parametersCookie,...e.parametersCookie],l.parametersForm=[...l.parametersForm,...e.parametersForm],l.parametersHeader=[...l.parametersHeader,...e.parametersHeader],l.parametersPath=[...l.parametersPath,...e.parametersPath],l.parametersQuery=[...l.parametersQuery,...e.parametersQuery]}if(t.requestBody){const e=(({body:e,openApi:t,types:n})=>{const r=e["x-body-name"]??"requestBody",o={$refs:[],base:"unknown",default:void 0,description:e.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:!0===e.nullable,isReadOnly:!1,isRequired:!0===e.required,link:null,mediaType:null,name:r,prop:r,properties:[],template:null,type:"unknown"};if(e.content){const r=ht(0,e.content);if(r){switch(o.mediaType=r.mediaType,o.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":o.in="formData",o.name="formData",o.prop="formData"}if(r.schema.$ref){const e=ke({type:r.schema.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o}{const e=ut({definition:r.schema,openApi:t,types:n});return o.export=e.export,o.type=e.type,o.base=e.base,o.template=e.template,o.link=e.link,o.isReadOnly=e.isReadOnly,o.isRequired=o.isRequired||e.isRequired,o.isNullable=o.isNullable||e.isNullable,o.format=e.format,o.maximum=e.maximum,o.exclusiveMaximum=e.exclusiveMaximum,o.minimum=e.minimum,o.exclusiveMinimum=e.exclusiveMinimum,o.multipleOf=e.multipleOf,o.maxLength=e.maxLength,o.minLength=e.minLength,o.maxItems=e.maxItems,o.minItems=e.minItems,o.uniqueItems=e.uniqueItems,o.maxProperties=e.maxProperties,o.minProperties=e.minProperties,o.pattern=$e(e.pattern),o.$refs=[...o.$refs,...e.$refs],o.imports=[...o.imports,...e.imports],o.enum.push(...e.enum),o.enums.push(...e.enums),o.properties.push(...e.properties),o}}}return o})({body:Me(n,t.requestBody),openApi:n,types:s});l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.parameters=[...l.parameters,e],l.parametersBody=e}if(t.responses){const e=gt({openApi:n,responses:t.responses,types:s}),r=We(e);l.errors=Qe(e),l.responseHeader=Ve(r),r.forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports],l.results=[...l.results,e]}))}return l.parameters=vt(l.parameters,r.parameters),l.parametersCookie=vt(l.parametersCookie,r.parametersCookie),l.parametersForm=vt(l.parametersForm,r.parametersForm),l.parametersHeader=vt(l.parametersHeader,r.parametersHeader),l.parametersPath=vt(l.parametersPath,r.parametersPath),l.parametersQuery=vt(l.parametersQuery,r.parametersQuery),l.parameters=Je(l.parameters),l},xt=["connect","delete","get","head","options","patch","post","put","trace"],Rt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),Pt=e=>{const t=ye(e.info.version),n=(e=>{const t=e.servers?.[0],n=t?.variables||{};let r=t?.url||"";return Object.entries(n).forEach((([e,t])=>{r=r.replace(`{${e}}`,t.default)})),r.replace(/\/$/g,"")})(e),{models:r,types:o}=(e=>{const t=be(),n={};let r=[];return e.components?(Object.entries(e.components.schemas??{}).forEach((([t,o])=>{const s=ke({type:t}).base.replace(ge,"_$1"),a={$ref:`#/components/schemas/${t}`,name:s};n[s]=a;const i=ut({definition:o,isDefinition:!0,meta:a,openApi:e,types:n});r=[...r,i]})),Object.entries(e.components.parameters??{}).forEach((([o,s])=>{const a=mt(s);if(!a)return void(t.debug&&console.warn("Skipping generating parameter:",o));const i=`Parameter${ke({type:o}).base.replace(ge,"_$1")}`,p={$ref:`#/components/parameters/${o}`,name:i};n[i]=p;const l=ut({definition:a,isDefinition:!0,meta:p,openApi:e,types:n});l.deprecated=s.deprecated,l.description=s.description||null,r=[...r,l]})),{models:r,types:n}):{models:r,types:n}})(e),s=(({openApi:e,types:t})=>{const n=be(),r=new Map;for(const o in e.paths){const s=e.paths[o],a=ft({openApi:e,parameters:s.parameters??[],types:t});for(const i in s){const p=i;if(xt.includes(p)){const i=s[p];(i.tags?.length&&n.services.asClass?i.tags.filter(Ee):["Default"]).forEach((n=>{const s=bt({method:p,op:i,openApi:e,pathParams:a,tag:n,types:t,url:o}),l=r.get(s.service)||Rt(s);l.$refs=[...l.$refs,...s.$refs],l.imports=[...l.imports,...s.imports],l.operations=[...l.operations,s],r.set(s.service,l)}))}}}return Array.from(r.values())})({openApi:e,types:o});return{models:r,server:n,services:s,types:o,version:t}};var At={exports:{}},qt={},Ot={__esModule:!0};Ot.extend=Tt,Ot.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Ot.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(!Ct.test(e))return e;return e.replace(kt,Et)},Ot.isEmpty=function(e){return!e&&0!==e||!(!St(e)||0!==e.length)},Ot.createFrame=function(e){var t=Tt({},e);return t._parent=e,t},Ot.blockParams=function(e,t){return e.path=t,e},Ot.appendContextPath=function(e,t){return(e?e+".":"")+t};var wt={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},kt=/[&<>"'`=]/g,Ct=/[&<>"'`=]/;function Et(e){return wt[e]}function Tt(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 $t=Object.prototype.toString;Ot.toString=$t;var It=function(e){return"function"==typeof e};It(/x/)&&(Ot.isFunction=It=function(e){return"function"==typeof e&&"[object Function]"===$t.call(e)}),Ot.isFunction=It;var St=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===$t.call(e)};Ot.isArray=St;var Ht={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,p=void 0;o&&(s=o.start.line,a=o.end.line,i=o.start.column,p=o.end.column,e+=" - "+s+":"+i);for(var l=Error.prototype.constructor.call(this,e),c=0;c<n.length;c++)this[n[c]]=l[n[c]];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:p,enumerable:!0})):(this.column=i,this.endColumn=p))}catch(e){}}r.prototype=new Error,t.default=r,e.exports=t.default}(Ht,Ht.exports);var _t=Ht.exports,Dt={},Nt={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot;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}(Nt,Nt.exports);var jt=Nt.exports,Mt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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,p="",l=void 0,c=void 0;function u(t,n,o){l&&(l.key=t,l.index=n,l.first=0===n,l.last=!!o,c&&(l.contextPath=c+t)),p+=s(e[t],{data:l,blockParams:r.blockParams([e[t],t],[c+t,null])})}if(t.data&&t.ids&&(c=r.appendContextPath(t.data.contextPath,t.ids[0])+"."),r.isFunction(e)&&(e=e.call(this)),t.data&&(l=r.createFrame(t.data)),e&&"object"==typeof e)if(r.isArray(e))for(var m=e.length;i<m;i++)i in e&&u(i,i,i===e.length-1);else if("function"==typeof Symbol&&e[Symbol.iterator]){for(var d=[],f=e[Symbol.iterator](),y=f.next();!y.done;y=f.next())d.push(y.value);for(m=(e=d).length;i<m;i++)u(i,i,i===e.length-1)}else n=void 0,Object.keys(e).forEach((function(e){void 0!==n&&u(n,i-1),n=e,i++})),void 0!==n&&u(n,i-1,!0);return 0===i&&(p=a(this)),p}))},e.exports=t.default}(Mt,Mt.exports);var Bt=Mt.exports,Lt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=_t)&&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}(Lt,Lt.exports);var Ft=Lt.exports,Wt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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}(Wt,Wt.exports);var Ut=Wt.exports,Vt={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}(Vt,Vt.exports);var Kt=Vt.exports,Qt={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}(Qt,Qt.exports);var Jt=Qt.exports,zt={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Ot,o=(n=_t)&&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}(zt,zt.exports);var Gt=zt.exports;function Xt(e){return e&&e.__esModule?e:{default:e}}Dt.__esModule=!0,Dt.registerDefaultHelpers=function(e){Yt.default(e),Zt.default(e),en.default(e),tn.default(e),nn.default(e),rn.default(e),on.default(e)},Dt.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var Yt=Xt(jt),Zt=Xt(Bt),en=Xt(Ft),tn=Xt(Ut),nn=Xt(Kt),rn=Xt(Jt),on=Xt(Gt);var sn={},an={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot;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}(an,an.exports);var pn=an.exports;sn.__esModule=!0,sn.registerDefaultDecorators=function(e){cn.default(e)};var ln,cn=(ln=pn)&&ln.__esModule?ln:{default:ln};var un={exports:{}};!function(e,t){t.__esModule=!0;var n=Ot,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}(un,un.exports);var mn=un.exports,dn={},fn={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return yn.extend.apply(void 0,[Object.create(null)].concat(t))}},yn=Ot;dn.__esModule=!0,dn.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:hn.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:hn.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},dn.resultIsAllowed=function(e,t,n){return bn("function"==typeof e?t.methods:t.properties,n)},dn.resetLoggedProperties=function(){Object.keys(vn).forEach((function(e){delete vn[e]}))};var hn=fn,gn=function(e){return e&&e.__esModule?e:{default:e}}(mn),vn=Object.create(null);function bn(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==vn[e]&&(vn[e]=!0,gn.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 xn(e){return e&&e.__esModule?e:{default:e}}qt.__esModule=!0,qt.HandlebarsEnvironment=Cn;var Rn=Ot,Pn=xn(_t),An=Dt,qn=sn,On=xn(mn),wn=dn;qt.VERSION="4.7.8";qt.COMPILER_REVISION=8;qt.LAST_COMPATIBLE_COMPILER_REVISION=7;qt.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 kn="[object Object]";function Cn(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},An.registerDefaultHelpers(this),qn.registerDefaultDecorators(this)}Cn.prototype={constructor:Cn,logger:On.default,log:On.default.log,registerHelper:function(e,t){if(Rn.toString.call(e)===kn){if(t)throw new Pn.default("Arg not supported with multiple helpers");Rn.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(Rn.toString.call(e)===kn)Rn.extend(this.partials,e);else{if(void 0===t)throw new Pn.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(Rn.toString.call(e)===kn){if(t)throw new Pn.default("Arg not supported with multiple decorators");Rn.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){wn.resetLoggedProperties()}};var En=On.default.log;qt.log=En,qt.createFrame=Rn.createFrame,qt.logger=On.default;var Tn={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}(Tn,Tn.exports);var $n=Tn.exports,In={},Sn={};Sn.__esModule=!0,Sn.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)}},In.__esModule=!0,In.checkRevision=function(e){var t=e&&e[0]||1,n=Dn.COMPILER_REVISION;if(t>=Dn.LAST_COMPATIBLE_COMPILER_REVISION&&t<=Dn.COMPILER_REVISION)return;if(t<Dn.LAST_COMPATIBLE_COMPILER_REVISION){var r=Dn.REVISION_CHANGES[n],o=Dn.REVISION_CHANGES[t];throw new _n.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 _n.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},In.template=function(e,t){if(!t)throw new _n.default("No environment passed to template");if(!e||!e.main)throw new _n.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 _n.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)||Mn.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:Hn.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Hn.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Hn.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"),p=0,l=i.length;p<l&&(i[p]||p+1!==l);p++)i[p]=o.indent+i[p];a=i.join("\n")}return a}throw new _n.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=Bn(this,e,a,t,n,r,o):s||(s=this.programs[e]=Bn(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=Hn.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?Dn.createFrame(t):{}).root=e);return t}(t,s));var a=void 0,i=e.useBlockParams?[]:void 0;function p(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]),(p=Fn(e.main,p,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=Hn.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 jn.wrapHelper(e,(function(e){return Hn.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=Hn.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=Mn.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;Nn.moveHelperToHooks(r,"helperMissing",a),Nn.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new _n.default("must pass block params");if(e.useDepths&&!s)throw new _n.default("must pass parent depths");return Bn(r,t,e[t],n,0,o,s)},o},In.wrapProgram=Bn,In.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},In.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!==Ln&&function(){n.data=Dn.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=Dn.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Hn.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new _n.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},In.noop=Ln;var Hn=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}(Ot),_n=function(e){return e&&e.__esModule?e:{default:e}}(_t),Dn=qt,Nn=Dt,jn=Sn,Mn=dn;function Bn(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=Fn(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function Ln(){return""}function Fn(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Hn.extend(t,a)}return t}var Wn={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}(Wn,Wn.exports);var Un=Wn.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(qt),s=n($n),a=n(_t),i=r(Ot),p=r(In),l=n(Un);function c(){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=p,e.template=function(t){return p.template(t,e)},e}var u=c();u.create=c,l.default(u),u.default=u,t.default=u,e.exports=t.default}(At,At.exports);var Vn=c(At.exports.default),Kn={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,p=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=p(n,"each").call(null!=t?t:e.nullContext||{},p(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(p(p(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,p=null!=t?t:e.nullContext||{},l=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(l(l(o,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),t))?s:"")+" {\n\n"+(null!=(s=l(n,"each").call(p,l(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=l(n,"each").call(p,l(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},Qn={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},Jn={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},zn={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},Gn={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},Xn={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},Yn={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},Zn={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},er={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},tr={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},nr={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},rr={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},or={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},sr={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},ar={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},ir={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},pr={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},lr={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},cr={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},ur={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},mr={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},dr={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},fr={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},yr={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},hr={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},gr={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},vr={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},br={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 (value instanceof Date) {\n\t\t\tappend(key, value.toISOString());\n\t\t} else if (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},xr={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},Rr={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},Pr={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},Ar={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},qr={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},Or={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},wr={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},kr={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},Cr={1:function(e,t,n,r,o){return"import type { HttpResponse } from '@angular/common/http';\n"},3:function(e,t,n,r,o){return"import type { AxiosRequestConfig, AxiosResponse } from 'axios';\n"},5:function(e,t,n,r,o){return"import type { RequestInit, Response } from 'node-fetch';\n"},7:function(e,t,n,r,o){return"\t\tresponse: Interceptors<HttpResponse<any>>;\n"},9:function(e,t,n,r,o){return"\t\trequest: Interceptors<AxiosRequestConfig>;\n\t\tresponse: Interceptors<AxiosResponse>;\n"},11:function(e,t,n,r,o){return"\t\trequest: Interceptors<RequestInit>;\n\t\tresponse: Interceptors<Response>;\n"},13:function(e,t,n,r,o){return"\t\trequest: Interceptors<XMLHttpRequest>;\n\t\tresponse: Interceptors<XMLHttpRequest>;\n"},15:function(e,t,n,r,o){return"\t\trequest: new Interceptors(),\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){var s,a=null!=t?t:e.nullContext||{},i=e.strict,p=e.lambda,l=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(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:11}}}))?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 = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];\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: {\n"+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"angular",{name:"equals",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o,loc:{start:{line:46,column:2},end:{line:48,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"axios",{name:"equals",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o,loc:{start:{line:49,column:2},end:{line:52,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"fetch",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:53,column:2},end:{line:56,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"node",{name:"equals",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o,loc:{start:{line:57,column:2},end:{line:60,column:13}}}))?s:"")+(null!=(s=l(n,"equals").call(a,l(l(l(o,"root"),"$config"),"client"),"xhr",{name:"equals",hash:{},fn:e.program(13,o,0),inverse:e.noop,data:o,loc:{start:{line:61,column:2},end:{line:64,column:13}}}))?s:"")+"\t};\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n\tBASE: '"+(null!=(s=p(i(t,"server",{start:{line:69,column:11},end:{line:69,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=p(i(t,"version",{start:{line:76,column:14},end:{line:76,column:21}}),t))?s:"")+"',\n\tWITH_CREDENTIALS: false,\n\tinterceptors: {\n"+(null!=(s=l(n,"notEquals").call(a,l(l(l(o,"root"),"$config"),"client"),"angular",{name:"notEquals",hash:{},fn:e.program(15,o,0),inverse:e.noop,data:o,loc:{start:{line:79,column:2},end:{line:81,column:16}}}))?s:"")+"\t\tresponse: new Interceptors(),\n\t},\n};"},useData:!0},Er={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},Tr={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},$r={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},Ir={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},Sr={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},Hr={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},_r={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 Dr=()=>{Vn.registerHelper("camelCase",me),Vn.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Vn.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Vn.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)})),Vn.registerHelper("transformServiceName",Re)};function Nr(e){return{...e,models:e.models.map((e=>function(e){return{...e,enum:jr(e),enums:Mr(e),imports:Br(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(Ee).sort(et)}(t),t}(e))),types:{}}}function jr(e){return e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t))}function Mr(e){return e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t))}function Br(e){return e.imports.filter(Ee).sort(et).filter((t=>e.name!==t))}const Lr={newLine:p.NewLineKind.LineFeed,scriptKind:p.ScriptKind.TS,scriptTarget:p.ScriptTarget.ES2015,useSingleQuotes:!0},Fr=p.createPrinter({newLine:Lr.newLine}),Wr=e=>p.createSourceFile("",e,Lr.scriptTarget,void 0,Lr.scriptKind),Ur=Wr("");function Vr({node:e,unescape:t=!1}){const n=Fr.printNode(p.EmitHint.Unspecified,e,Ur);if(!t)return n;try{return n.replace(/\\u([0-9a-fA-F]{4})/g,((e,t)=>String.fromCharCode(Number.parseInt(t,16))))}catch{return be().debug&&console.warn("Could not decode value:",n),n}}const Kr=e=>e?p.factory.createTrue():p.factory.createFalse(),Qr=({alias:e,asType:t=!1,name:n})=>{const r=p.factory.createIdentifier(n);if(e){const n=p.factory.createIdentifier(e);return p.factory.createExportSpecifier(t,r,n)}return p.factory.createExportSpecifier(t,void 0,r)},Jr=({alias:e,asType:t=!1,name:n})=>{const r=p.factory.createIdentifier(n);if(e){const n=p.factory.createIdentifier(e);return p.factory.createImportSpecifier(t,r,n)}return p.factory.createImportSpecifier(t,void 0,r)},zr=e=>e<0?p.factory.createPrefixUnaryExpression(p.SyntaxKind.MinusToken,p.factory.createNumericLiteral(Math.abs(e))):p.factory.createNumericLiteral(e),Gr=(e,t=!1)=>{let n=e;t&&(n=He(n));const r=n.includes("'")&&n.includes('"'),o=n.includes("\n"),s=n.startsWith("`"),a=n.startsWith("\\`")&&n.endsWith("\\`");return(o||r||s)&&!a&&(n=`\`${n.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),n.startsWith("`")?p.factory.createIdentifier(n):p.factory.createStringLiteral(n,!n.includes("'")&&Lr.useSingleQuotes)},Xr=e=>void 0!==e,Yr=(e,t)=>{const n=t.filter(Boolean);if(!n.length)return;const r=n.map(((e,t)=>p.factory.createJSDocText(`${e}${t!==n.length?"\n":""}`))),o=Vr({node:p.factory.createJSDocComment(p.factory.createNodeArray(r)),unescape:!0}).replace("/*","").replace("* */","");p.addSyntheticLeadingComment(e,p.SyntaxKind.MultiLineCommentTrivia,o,!0)},Zr=(e,t)=>p.isTypeNode(e)?e:"number"==typeof e?p.factory.createLiteralTypeNode(zr(e)):p.factory.createTypeReferenceNode(e,t?.map((e=>Zr(e)))),eo=(e,t=!1)=>{const n=p.factory.createTypeLiteralNode(e.map((e=>{const t=p.factory.createPropertySignature(e.isReadOnly?[p.factory.createModifier(p.SyntaxKind.ReadonlyKeyword)]:void 0,e.name,e.isRequired?void 0:p.factory.createToken(p.SyntaxKind.QuestionToken),Zr(e.type));return e.comment&&Yr(t,e.comment),t})));return t?p.factory.createUnionTypeNode([n,p.factory.createTypeReferenceNode("null")]):n},to=(e,t=!1)=>{const n=e.map((e=>Zr(e)));return t&&n.push(p.factory.createTypeReferenceNode("null")),p.factory.createUnionTypeNode(n)},no=({identifiers:e=[],shorthand:t=!1,unescape:n=!1,value:r})=>null===r?p.factory.createNull():Array.isArray(r)?so({arr:r}):"object"==typeof r?ao({identifiers:e,obj:r,shorthand:t}):"number"==typeof r?zr(r):"boolean"==typeof r?Kr(r):"string"==typeof r?Gr(r,n):void 0,ro=e=>{const t="public"===e?p.SyntaxKind.PublicKeyword:"protected"===e?p.SyntaxKind.ProtectedKeyword:"private"===e?p.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(p.factory.createModifier(t)),n},oo=e=>e.map((e=>{const t=ro(e.accessLevel);return e.isReadOnly&&t.push(p.factory.createModifier(p.SyntaxKind.ReadonlyKeyword)),p.factory.createParameterDeclaration(t,void 0,p.factory.createIdentifier(e.name),void 0===e.isRequired||e.isRequired?void 0:p.factory.createToken(p.SyntaxKind.QuestionToken),void 0!==e.type?Zr(e.type):void 0,void 0!==e.default?no({value:e.default}):void 0)})),so=({arr:e,multiLine:t=!1})=>p.factory.createArrayLiteralExpression(e.map((e=>no({value:e}))).filter(Xr),!Array.isArray(e[0])&&"object"==typeof e[0]||t),ao=({comments:e,identifiers:t=[],leadingComment:n,multiLine:r=!0,obj:o,shorthand:s=!1,unescape:a=!1})=>{const i=Array.isArray(o)?o.map((n=>{let r,o=!1;if("key"in n){let{key:e}=n;o=e===n.value,e.match(/^[0-9]/)&&e.match(/\D+/g)&&!e.startsWith("'")&&!e.endsWith("'")&&(e=`'${e}'`),!e.match(/\W/g)||e.startsWith("'")||e.endsWith("'")||(e=`'${e}'`)}if("spread"in n)r=p.factory.createSpreadAssignment(p.factory.createIdentifier(n.spread));else if(s&&o)r=p.factory.createShorthandPropertyAssignment(n.value);else{let e=no({identifiers:t.includes(n.key)?Object.keys(n.value):[],shorthand:s,unescape:a,value:n.value});if(!e)return;t.includes(n.key)&&!p.isObjectLiteralExpression(e)&&(e=p.factory.createIdentifier(n.value)),r=p.factory.createPropertyAssignment(n.key,e)}if("key"in n){const t=e?.[n.key];t&&Yr(r,t)}return r})).filter(Xr):Object.entries(o).map((([n,r])=>{let o=no({identifiers:t.includes(n)?Object.keys(r):[],shorthand:s,unescape:a,value:r});if(!o)return;t.includes(n)&&!p.isObjectLiteralExpression(o)&&(o=p.factory.createIdentifier(r));const i=n===r;n.match(/^[0-9]/)&&n.match(/\D+/g)&&!n.startsWith("'")&&!n.endsWith("'")&&(n=`'${n}'`),!n.match(/\W/g)||n.startsWith("'")||n.endsWith("'")||(n=`'${n}'`);const l=s&&i?p.factory.createShorthandPropertyAssignment(r):p.factory.createPropertyAssignment(n,o),c=e?.[n];return c&&Yr(l,c),l})).filter(Xr),l=p.factory.createObjectLiteralExpression(i,r);return n&&Yr(l,n),l},io=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 po{_headers=[];_imports=[];_items=[];_name;_path;constructor({dir:t,name:n,header:r=!0}){this._name=this._setName(n),this._path=e.resolve(t,this.getName()),r&&(this._headers=[...this._headers,"// This file is auto-generated by @hey-api/openapi-ts"])}add(...e){this._items=[...this._items,...e]}addImport(...e){this._imports=[...this._imports,lo.import.named(...e)]}getName(e=!0){if(e)return this._name;const{name:t}=io(this._name);return t}isEmpty(){return!this._items.length}remove(e){a.rmSync(this._path,e)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=io(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=>Vr({node:e}))).join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:Vr({node:e,unescape:!0})))],t.join(e)}write(e="\n"){this.isEmpty()?this.remove({force:!0}):a.writeFileSync(this._path,this.toString(e))}}const lo={class:{constructor:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=p.factory.createConstructorDeclaration(ro(e),oo(r),p.factory.createBlock(o,n));return t?.length&&Yr(s,t),s},create:({decorator:e,members:t=[],name:n})=>{const r=[p.factory.createModifier(p.SyntaxKind.ExportKeyword)];e&&r.unshift(p.factory.createDecorator(p.factory.createCallExpression(p.factory.createIdentifier(e.name),void 0,e.args.map((e=>no({value:e}))).filter(Xr))));const o=[];return t.forEach((e=>{o.push(e),o.push(p.factory.createIdentifier("\n"))})),p.factory.createClassDeclaration(r,p.factory.createIdentifier(n),[],[],o)},method:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:i=[]})=>{const l=ro(e);n&&l.push(p.factory.createModifier(p.SyntaxKind.StaticKeyword));const c=p.factory.createMethodDeclaration(l,void 0,p.factory.createIdentifier(o),void 0,[],oo(s),a?Zr(a):void 0,p.factory.createBlock(i,r));return t&&Yr(c,t),c}},export:{all:e=>p.factory.createExportDeclaration(void 0,!1,void 0,Gr(e)),const:({comment:e,constAssertion:t=!1,expression:n,name:r})=>{const o=t?p.factory.createAsExpression(n,p.factory.createTypeReferenceNode("const")):n,s=p.factory.createVariableDeclaration(p.factory.createIdentifier(r),void 0,void 0,o),a=p.factory.createVariableStatement([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createVariableDeclarationList([s],p.NodeFlags.Const));return e&&Yr(a,e),a},named:(e,t)=>{e=Array.isArray(e)?e:[e];const n=(Array.isArray(e)?e:[e]).some((e=>"object"!=typeof e||!e.asType)),r=e.map((e=>{const t="string"==typeof e?{name:e}:e;return Qr({alias:t.alias,asType:n&&t.asType,name:t.name})})),o=p.factory.createNamedExports(r),s=Gr(t);return p.factory.createExportDeclaration(void 0,!n,o,s)}},import:{named:(e,t)=>{const n=Array.isArray(e)?e:[e],r=n.some((e=>"object"!=typeof e||!e.asType)),o=n.map((e=>{const t="string"==typeof e?{name:e}:e;return Jr({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=p.factory.createNamedImports(o),a=p.factory.createImportClause(!r,void 0,s),i=Gr(t);return p.factory.createImportDeclaration(void 0,a,i)}},return:{functionCall:({args:e=[],name:t,types:n=[]})=>{const r=p.factory.createCallExpression(p.factory.createIdentifier(t),n.map((e=>p.factory.createTypeReferenceNode(e))),e.map((e=>p.isExpression(e)?e:p.factory.createIdentifier(e))).filter(Xr));return p.factory.createReturnStatement(r)}},typedef:{alias:({comment:e,name:t,type:n})=>{const r=p.factory.createTypeAliasDeclaration([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createIdentifier(t),[],Zr(n));return e&&Yr(r,e),r},array:(e,t=!1)=>{const n=p.factory.createTypeReferenceNode("Array",[to(e)]);return t?p.factory.createUnionTypeNode([n,p.factory.createTypeReferenceNode("null")]):n},basic:Zr,interface:eo,intersect:(e,t=!1)=>{const n=e.map((e=>Zr(e))),r=p.factory.createIntersectionTypeNode(n);return t?p.factory.createUnionTypeNode([r,p.factory.createTypeReferenceNode("null")]):r},record:(e,t,n=!1)=>{const r=to(e),o=to(t),s=eo([{isRequired:!0,name:`[key: ${Vr({node:r,unescape:!0})}]`,type:o}]);return n?p.factory.createUnionTypeNode([s,p.factory.createTypeReferenceNode("null")]):s},tuple:({isNullable:e=!1,types:t})=>{const n=t.map((e=>Zr(e))),r=p.factory.createTupleTypeNode(n);if(e){return p.factory.createUnionTypeNode([r,p.factory.createTypeReferenceNode("null")])}return r},union:to},types:{array:so,enum:({comments:e,leadingComment:t,name:n,obj:r})=>{const o=p.factory.createEnumDeclaration([p.factory.createModifier(p.SyntaxKind.ExportKeyword)],p.factory.createIdentifier(n),Object.entries(r).map((([t,n])=>{const r=no({unescape:!0,value:n}),o=p.factory.createEnumMember(t,r),s=e?.[t];return s&&Yr(o,s),o})));return t&&Yr(o,t),o},function:({comment:e,multiLine:t,parameters:n=[],returnType:r,statements:o=[]})=>{const s=p.factory.createArrowFunction(void 0,void 0,oo(n),r?Zr(r):void 0,void 0,p.factory.createBlock(o,t));return e&&Yr(s,e),s},object:ao},utils:{toNode:function(e){return Wr(e).statements[0]},toString:Vr}},co=e=>{switch(e){case"angular":return"AngularHttpRequest";case"axios":return"AxiosHttpRequest";case"fetch":return"FetchHttpRequest";case"node":return"NodeHttpRequest";case"xhr":return"XHRHttpRequest";default:return""}},uo=e=>{const t=be();if(Array.isArray(e))return e.map((e=>uo(e)));if("object"!=typeof e||null===e)return e;const n={...e};return Object.entries(n).forEach((([e,r])=>{"form"===t.schemas.type&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(e)?delete n[e]:("$ref"===e&&"string"==typeof r&&(n[e]=decodeURIComponent(r)),r&&"object"==typeof r&&(n[e]=uo(r)))})),n},mo=e=>{const t=be();return"binary"===e.base?lo.typedef.union(["Blob","File"]):t.types.dates&&"date-time"===e.format?lo.typedef.basic("Date"):lo.typedef.basic(e.base)},fo=e=>{switch(e.export){case"all-of":return(e=>{const t=e.properties.map((e=>lo.utils.toString({node:fo(e),unescape:!0}))).filter(Ee);return lo.typedef.intersect(t,e.isNullable)})(e);case"any-of":case"one-of":return(e=>{const t=e.properties.map((e=>lo.utils.toString({node:fo(e),unescape:!0}))).filter(Ee);return lo.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(fo(e.link));return lo.typedef.tuple({isNullable:e.isNullable,types:t})}return e.link?lo.typedef.array([fo(e.link)],e.isNullable):lo.typedef.array([mo(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link?fo(e.link):mo(e);return lo.typedef.record(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>rt(e.value)));return lo.typedef.union(t,e.isNullable)})(e);case"interface":return(e=>{if(!e.properties.length)return lo.typedef.basic("unknown");const t=be(),n=xe(t),r=e.properties.map((e=>{let t=e.isRequired?"":"?",r=fo(e);return"[key: string]"===e.name&&t&&(t="",r=lo.typedef.union([r,"undefined"])),{comment:[e.description&&_e(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:n?Se(He(Ce(e.name))):e.name,type:r}}));return lo.typedef.interface(r,e.isNullable)})(e);default:return(e=>{const t="null"!==e.base&&e.isNullable;return lo.typedef.union([mo(e)],t)})(e)}},yo=({client:e,count:t=1,create:n=!1,meta:r,nameTransformer:o})=>{let s={created:!1,name:""},a=r.name;o&&(a=o(a)),t>1&&(a=`${a}${t}`);const i=e.types[a];return i?s=i.$ref===r.$ref?{created:!1,name:a}:yo({client:e,count:t+1,create:n,meta:r,nameTransformer:o}):n&&(e.types[a]=r,s={created:!0,name:a}),s},ho=({meta:e,onImport:t,...n})=>{if(!e)return;const{name:r}=yo({meta:e,...n});r&&t(r)},go=e=>`${me(e,{pascalCase:!0})}Data`,vo=e=>`${me(e,{pascalCase:!0})}Error`,bo=e=>`${me(e,{pascalCase:!0})}Response`,xo=(e,t)=>{const n=be(),{name:r}=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:go}),o=t.parameters.some((e=>e.isRequired));if(xe(n))return[{isRequired:o,name:"options",type:r?`Options<${r}>`:"Options"}];if(!t.parameters.length)return[];const s=e=>{if(void 0!==e.default)return JSON.stringify(e.default,null,4)};return n.useOptions?[{default:o?void 0:{},name:"data",type:r}]:t.parameters.map((e=>{const t=`${r}['${e.name}']`;return{default:e?.default,isRequired:""==(e.isRequired||s(e)?"":"?"),name:e.name,type:t}}))},Ro=(e,t)=>{const n=be();let r=lo.typedef.basic("void");if(t.results.length){const{name:n}=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo});r=lo.typedef.union([n])}return n.useOptions&&"response"===n.services.response&&(r=lo.typedef.basic("ApiResult",[r])),r="angular"===n.client?lo.typedef.basic("Observable",[r]):lo.typedef.basic("CancelablePromise",[r]),r},Po=e=>{const t=be();if(xe(t)){return[e.deprecated&&"@deprecated",e.summary&&_e(e.summary),e.description&&_e(e.description)]}let n=[];e.parameters.length&&(n=t.useOptions?["@param data The data for the request.",...e.parameters.map((e=>`@param data.${e.name} ${e.description?_e(e.description):""}`))]:e.parameters.map((e=>`@param ${e.name} ${e.description?_e(e.description):""}`)));return[e.deprecated&&"@deprecated",e.summary&&_e(e.summary),e.description&&_e(e.description),...n,...e.results.map((e=>`@returns ${e.type} ${e.description?_e(e.description):""}`)),"@throws ApiError"]},Ao=(e,t,n)=>{const r=be(),o=((e,t)=>{const n=be();if(xe(n)){let n=[{spread:"options"}];const r=e.parameters.filter((e=>"body"===e.in||"formData"===e.in)).map((e=>e.mediaType)).filter(Boolean).filter(Ee);return 1===r.length&&"multipart/form-data"===r[0]&&(n=[...n,{spread:"formDataBodySerializer"}],t?.("formDataBodySerializer")),n=[...n,{key:"url",value:e.path}],lo.types.object({obj:n})}const r=e=>e.reduce(((e,t)=>{const r=t.prop,o=n.useOptions?`data.${t.name}`:t.name;return r===o?e[r]=r:Se(r)===r?e[r]=o:e[`'${r}'`]=o,e}),{}),o={method:e.method,url:e.path};if(e.parametersPath.length&&(o.path=r(e.parametersPath)),e.parametersCookie.length&&(o.cookies=r(e.parametersCookie)),e.parametersHeader.length&&(o.headers=r(e.parametersHeader)),e.parametersQuery.length&&(o.query=r(e.parametersQuery)),e.parametersForm.length&&(o.formData=r(e.parametersForm)),e.parametersBody&&("formData"===e.parametersBody.in&&(n.useOptions?o.formData=`data.${e.parametersBody.name}`:o.formData=e.parametersBody.name),"body"===e.parametersBody.in&&(n.useOptions?o.body=`data.${e.parametersBody.name}`:o.body=e.parametersBody.name)),e.parametersBody?.mediaType&&(o.mediaType=e.parametersBody?.mediaType),e.responseHeader&&(o.responseHeader=e.responseHeader),e.errors.length){const t={};e.errors.forEach((e=>{t[e.code]=e.description??""})),o.errors=t}return lo.types.object({identifiers:["body","cookies","formData","headers","path","query"],obj:o,shorthand:!0})})(t,n);if(xe(r)){const n=yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:vo}).name,r=t.results.length?yo({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo}).name:"void";return[lo.return.functionCall({args:[o],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:n&&r?[r,n]:n?["unknown",n]:r?[r]:[]})]}return r.name?[lo.return.functionCall({args:[o],name:"this.httpRequest.request"})]:"angular"===r.client?[lo.return.functionCall({args:["OpenAPI","this.http",o],name:"__request"})]:[lo.return.functionCall({args:["OpenAPI",o],name:"__request"})]},qo=(e,t,n,r,o)=>{const s=be(),a=xe(s);if(t.operations.forEach((t=>{t.parameters.length&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:go,onImport:r}),a&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:vo,onImport:r}),t.results.length&&ho({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:bo,onImport:r})})),!s.services.asClass)return void t.operations.forEach((t=>{const r=lo.types.function({parameters:xo(e,t),returnType:a?void 0:Ro(e,t),statements:Ao(e,t,o)}),s=lo.export.const({comment:Po(t),expression:r,name:t.name});n(s)}));const i=t.operations.map((t=>lo.class.method({accessLevel:"public",comment:Po(t),isStatic:void 0===s.name&&"angular"!==s.client,name:t.name,parameters:xo(e,t),returnType:a?void 0:Ro(e,t),statements:Ao(e,t,o)})));s.name?i.unshift(lo.class.constructor({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]})):"angular"===s.client&&i.unshift(lo.class.constructor({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}));const p=lo.class.create({decorator:"angular"===s.client?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:i,name:Re(t.name)});n(p)},Oo={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},wo=({comment:e,meta:t,onCreated:n,onNode:r,type:o,...s})=>{if(!t)return;const{created:a,name:i}=yo({create:!0,meta:t,...s});if(a){r(lo.typedef.alias({comment:e,name:i,type:o})),n?.(i)}},ko=(e,t,n)=>{const r=be(),o={},s={};t.enum.forEach((e=>{const{key:t,value:n}=ot(e);o[t]=n;const r=e.customDescription||e.description;r&&(s[t]=[_e(r)])}));const a=[t.description&&_e(t.description),t.deprecated&&"@deprecated"];var i;"typescript"!==r.types.enums?wo({client:e,comment:a,meta:t.meta,onCreated:e=>{if("javascript"===r.types.enums){const t=lo.types.object({comments:s,multiLine:!0,obj:o,unescape:!0}),r=lo.export.const({comment:a,constAssertion:!0,expression:t,name:e});n(r)}},onNode:n,type:(i=t.enum,i.map((e=>rt(e.value,!0))).filter(Ee).join(" | "))}):(({leadingComment:e,comments:t,meta:n,obj:r,onNode:o,...s})=>{if(!n)return;const{created:a,name:i}=yo({create:!0,meta:n,...s});a&&o(lo.types.enum({comments:t,leadingComment:e,name:i,obj:r}))})({client:e,comments:s,leadingComment:a,meta:t.meta,obj:o,onNode:n})},Co=(e,t,n)=>{wo({client:e,comment:[t.description&&_e(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:n,type:fo(t)})},Eo=(e,t,n)=>{switch(t.export){case"all-of":case"any-of":case"one-of":case"interface":return((e,t,n)=>{Co(e,t,n),t.enums.forEach((t=>ko(e,t,n)))})(e,t,n);case"enum":return ko(e,t,n);default:return Co(e,t,n)}},To=async({client:e,files:t})=>{for(const n of e.models)Eo(e,n,(e=>{t.types?.add(e)}));t.services&&e.services.length&&((e,t)=>{const n={},r=be(),o=xe(r);e.services.forEach((s=>{s.operations.forEach((s=>{const a=s.parameters.length,i=s.results.length,p=s.errors.length;if(!a&&!i&&!p)return;n[s.path]||(n[s.path]={});const l=n[s.path];l[s.method]||(l[s.method]={});const c=l[s.method];if(c.$ref=s.name,a){const n=s.parameters.filter((e=>"body"===e.in)).sort(tt)[0],r={...Oo,...n,in:"body",isRequired:!!n&&n.isRequired,name:"body",prop:"body"},a={...Oo,in:"header",isRequired:s.parameters.filter((e=>"header"===e.in)).some((e=>e.isRequired)),mediaType:null,name:o?"headers":"header",prop:o?"headers":"header",properties:s.parameters.filter((e=>"header"===e.in)).sort(tt)},i={...Oo,in:"path",isRequired:s.parameters.filter((e=>"path"===e.in)).some((e=>e.isRequired)),mediaType:null,name:"path",prop:"path",properties:s.parameters.filter((e=>"path"===e.in)).sort(tt)},p={...Oo,in:"query",isRequired:s.parameters.filter((e=>"query"===e.in)).some((e=>e.isRequired)),mediaType:null,name:"query",prop:"query",properties:s.parameters.filter((e=>"query"===e.in)).sort(tt)},l=o?[r,a,i,p].filter((e=>e.properties.length||e.$refs.length||e.mediaType)):nt([...s.parameters]);c.req=l,wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:go,onNode:t,type:fo({...Oo,isRequired:!0,properties:l})})}if(i){if(c.res||(c.res={}),Array.isArray(c.res))return;if(s.results.forEach((e=>{c.res[e.code]=e})),wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:bo,onNode:t,type:fo({...Oo,export:"any-of",isRequired:!0,properties:s.results.filter((e=>"default"===e.code||e.code>=200&&e.code<300))})}),xe(r)){const n=s.errors.filter((e=>"default"===e.code||e.code>=400&&e.code<600));wo({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:vo,onNode:t,type:fo(n.length?{...Oo,export:"all-of",isRequired:!0,properties:n}:{...Oo,base:"unknown",isRequired:!0,type:"unknown"})})}}if(p){if(c.res||(c.res={}),Array.isArray(c.res))return;s.errors.forEach((e=>{c.res[e.code]=e}))}}))}));const s=Object.entries(n).map((([t,n])=>{const r=Object.entries(n).map((([t,n])=>{const r=t;let o=[];if(n.req){const t=n.$ref,{name:r}=yo({client:e,meta:{$ref:t,name:t},nameTransformer:go}),s={...Oo,base:r,export:"reference",isRequired:!0,name:"req",properties:[],type:r};o=[...o,s]}if(n.res){const e=Object.entries(n.res).map((([e,t])=>({...Oo,...t,isRequired:!0,name:String(e)}))),t={...Oo,isRequired:!0,name:"res",properties:e};o=[...o,t]}return{...Oo,isRequired:!0,name:r.toLocaleLowerCase(),properties:o}})).filter(Boolean);return{...Oo,isRequired:!0,name:`'${t}'`,properties:r}}));wo({client:e,meta:{$ref:"@hey-api/openapi-ts",name:"$OpenApiTs"},onNode:t,type:fo({...Oo,properties:s})})})(e,(e=>{t.types?.add(e)}))},$o=async(t,n,r)=>{const o=be();if(o.services.include&&o.services.asClass){const e=new RegExp(o.services.include);n.services=n.services.filter((t=>e.test(t.name)))}if(o.types.include){const e=new RegExp(o.types.include);n.models=n.models.filter((t=>e.test(t.name)))}const s=e.resolve(o.output.path);a.existsSync(s)||a.mkdirSync(s,{recursive:!0});const i={index:new po({dir:o.output.path,name:"index.ts"})};o.schemas.export&&(i.schemas=new po({dir:o.output.path,name:"schemas.ts"})),o.services.export&&(i.services=new po({dir:o.output.path,name:"services.ts"})),o.types.export&&(i.types=new po({dir:o.output.path,name:"types.ts"})),await(async({file:e,openApi:t})=>{if(!e)return;const n=(t,n)=>{const r=`$${de(t)}`,o=uo(n),s=lo.types.object({obj:o}),a=lo.export.const({constAssertion:!0,expression:s,name:r});e.add(a)};"swagger"in t&&Object.entries(t.definitions??{}).forEach((([e,t])=>{n(e,t)})),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach((([e,t])=>{n(e,t)}))})({file:i.schemas,openApi:t}),await To({client:n,files:i}),await(async({client:e,files:t})=>{if(!t.services)return;const n=be();let r=[],o=[];for(const n of e.services)qo(e,n,(e=>{t.services?.add(e)}),(e=>{r=[...r,e]}),(e=>{o=[...o,e]}));if(xe(n)?t.services?.addImport(["client",{asType:!0,name:"Options"},...o.filter(Ee)],n.client):("angular"===n.client?(t.services?.addImport("Injectable","@angular/core"),n.name||t.services?.addImport("HttpClient","@angular/common/http"),t.services?.addImport({asType:!0,name:"Observable"},"rxjs")):t.services?.addImport({asType:!0,name:"CancelablePromise"},"./core/CancelablePromise"),"response"===n.services.response&&t.services?.addImport({asType:!0,name:"ApiResult"},"./core/ApiResult"),n.name?t.services?.addImport({asType:"angular"!==n.client,name:"BaseHttpRequest"},"./core/BaseHttpRequest"):(t.services?.addImport("OpenAPI","./core/OpenAPI"),t.services?.addImport({alias:"__request",name:"request"},"./core/request"))),t.types&&!t.types.isEmpty()){const e=r.filter(Ee).map((e=>({asType:!0,name:e})));t.services?.addImport(e,`./${t.types.getName(!1)}`)}})({client:n,files:i}),await(async(t,n,r,o)=>{const s=be(),i=o.client({$config:s,...r,httpRequest:co(s.client),models:nt(r.models),services:nt(r.services)});s.name&&await a.writeFileSync(e.resolve(n,`${s.name}.ts`),i)})(0,s,n,r),await(async(t,n,r)=>{const o=be();if(o.exportCore){const s={httpRequest:co(o.client),server:void 0!==o.base?o.base:n.server,version:n.version};if(a.rmSync(e.resolve(t),{force:!0,recursive:!0}),a.mkdirSync(e.resolve(t),{recursive:!0}),await a.writeFileSync(e.resolve(t,"OpenAPI.ts"),r.core.settings({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiError.ts"),r.core.apiError({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:o,...s})),await a.writeFileSync(e.resolve(t,"ApiResult.ts"),r.core.apiResult({$config:o,...s})),"angular"!==o.client&&await a.writeFileSync(e.resolve(t,"CancelablePromise.ts"),r.core.cancelablePromise({$config:o,...s})),await a.writeFileSync(e.resolve(t,"request.ts"),r.core.request({$config:o,...s})),o.name&&(await a.writeFileSync(e.resolve(t,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:o,...s})),await a.writeFileSync(e.resolve(t,`${s.httpRequest}.ts`),r.core.httpRequest({$config:o,...s}))),o.request){const n=e.resolve(process.cwd(),o.request);if(!await a.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await a.copyFileSync(n,e.resolve(t,"request.ts"))}}})(e.resolve(o.output.path,"core"),n,r),await(async({files:e})=>{const t=be();t.name&&e.index.add(lo.export.named([t.name],`./${t.name}`)),t.exportCore&&(e.index.add(lo.export.named("ApiError","./core/ApiError")),"response"===t.services.response&&e.index.add(lo.export.named({asType:!0,name:"ApiResult"},"./core/ApiResult")),t.name&&e.index.add(lo.export.named("BaseHttpRequest","./core/BaseHttpRequest")),"angular"!==t.client&&e.index.add(lo.export.named(["CancelablePromise","CancelError"],"./core/CancelablePromise")),e.index.add(lo.export.named(["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],"./core/OpenAPI"))),e.schemas&&!e.schemas.isEmpty()&&e.index.add(lo.export.all(`./${e.schemas.getName(!1)}`)),e.services&&!e.services.isEmpty()&&e.index.add(lo.export.all(`./${e.services.getName(!1)}`)),e.types&&!e.types.isEmpty()&&e.index.add(lo.export.all(`./${e.types.getName(!1)}`))})({files:i}),i.schemas?.write("\n\n"),i.services?.write("\n\n"),i.types?.write("\n\n"),i.index.write()},Io={biome:{args:e=>["format","--write",e],command:"biome",name:"Biome (Format)"},prettier:{args:e=>["--ignore-unknown",e,"--write","--ignore-path","./.prettierignore"],command:"prettier",name:"Prettier"}},So={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},Ho=async n=>{const{config:r}=await t.loadConfig({jitiOptions:{esmResolve:!0},name:"openapi-ts"});return(Array.isArray(n)?n:Array.isArray(r)?r.map((e=>({...e,...n}))):[{...r??{},...n}]).map((t=>{const{base:n,client:r="fetch",debug:o=!1,dryRun:s=!1,exportCore:a=!0,input:i,name:p,request:l,useOptions:c=!0}=t;o&&console.warn("userConfig:",t);const u=(e=>{let t={format:!1,lint:!1,path:""};return"string"==typeof e.output?t.path=e.output:t={...t,...e.output},t})(t);if(!i)throw new Error("🚫 input not provided - provide path to OpenAPI specification");if(!u.path)throw new Error("🚫 output not provided - provide path where we should generate your client");c||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 m=(e=>{let t={export:!0,type:"json"};return"boolean"==typeof e.schemas?t.export=e.schemas:t={...t,...e.schemas},t})(t),d=(e=>{let t={asClass:!1,export:!0,name:"{{name}}Service",operationId:!0,response:"body"};return"boolean"==typeof e.services?t.export=e.services:"string"==typeof e.services?t.include=e.services:t={...t,...e.services},t})(t),f=(e=>{let t={dates:!1,enums:!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})(t);return u.path=e.resolve(process.cwd(),u.path),y={base:n,client:r,debug:o,dryRun:s,exportCore:!xe(r)&&a,input:i,name:p,output:u,request:l,schemas:m,services:d,types:f,useOptions:c},ve=y,be();var y}))};exports.createClient=async function(t){const n=await Ho(t),r=t=>async()=>{const n="string"==typeof t.input?await(async t=>{const n=a.existsSync(t)?e.resolve(t):t;return await i.bundle(n,n,{})})(t.input):t.input,r=Nr(function(e){if("openapi"in e)return Pt(e);if("swagger"in e)return Ze(e);throw new Error(`Unsupported Open API specification: ${JSON.stringify(e,null,2)}`)}(n)),o=(()=>{Dr();const e={client:Vn.template(Kn),core:{apiError:Vn.template(Zn),apiRequestOptions:Vn.template(er),apiResult:Vn.template(tr),baseHttpRequest:Vn.template(pr),cancelablePromise:Vn.template(lr),httpRequest:Vn.template(kr),request:Vn.template(Er),settings:Vn.template(Cr)}};return Vn.registerPartial("functions/base64",Vn.template(hr)),Vn.registerPartial("functions/catchErrorCodes",Vn.template(gr)),Vn.registerPartial("functions/getFormData",Vn.template(vr)),Vn.registerPartial("functions/getQueryString",Vn.template(br)),Vn.registerPartial("functions/getUrl",Vn.template(xr)),Vn.registerPartial("functions/isBlob",Vn.template(Rr)),Vn.registerPartial("functions/isFormData",Vn.template(Pr)),Vn.registerPartial("functions/isString",Vn.template(Ar)),Vn.registerPartial("functions/isStringWithValue",Vn.template(qr)),Vn.registerPartial("functions/isSuccess",Vn.template(Or)),Vn.registerPartial("functions/resolve",Vn.template(wr)),Vn.registerPartial("fetch/getHeaders",Vn.template(cr)),Vn.registerPartial("fetch/getRequestBody",Vn.template(ur)),Vn.registerPartial("fetch/getResponseBody",Vn.template(mr)),Vn.registerPartial("fetch/getResponseHeader",Vn.template(dr)),Vn.registerPartial("fetch/request",Vn.template(fr)),Vn.registerPartial("fetch/sendRequest",Vn.template(yr)),Vn.registerPartial("xhr/getHeaders",Vn.template(Tr)),Vn.registerPartial("xhr/getRequestBody",Vn.template($r)),Vn.registerPartial("xhr/getResponseBody",Vn.template(Ir)),Vn.registerPartial("xhr/getResponseHeader",Vn.template(Sr)),Vn.registerPartial("xhr/request",Vn.template(Hr)),Vn.registerPartial("xhr/sendRequest",Vn.template(_r)),Vn.registerPartial("axios/getHeaders",Vn.template(nr)),Vn.registerPartial("axios/getRequestBody",Vn.template(rr)),Vn.registerPartial("axios/getResponseBody",Vn.template(or)),Vn.registerPartial("axios/getResponseHeader",Vn.template(sr)),Vn.registerPartial("axios/request",Vn.template(ar)),Vn.registerPartial("axios/sendRequest",Vn.template(ir)),Vn.registerPartial("angular/getHeaders",Vn.template(Qn)),Vn.registerPartial("angular/getRequestBody",Vn.template(Jn)),Vn.registerPartial("angular/getResponseBody",Vn.template(zn)),Vn.registerPartial("angular/getResponseHeader",Vn.template(Gn)),Vn.registerPartial("angular/request",Vn.template(Xn)),Vn.registerPartial("angular/sendRequest",Vn.template(Yn)),e})();return t.dryRun||((()=>{const{client:e}=be();switch(e){case"angular":return console.log("✨ Creating Angular client");case"@hey-api/client-axios":case"axios":return console.log("✨ Creating Axios client");case"@hey-api/client-fetch":case"fetch":return console.log("✨ Creating Fetch client");case"node":return console.log("✨ Creating Node.js client");case"xhr":console.log("✨ Creating XHR client")}})(),await $o(n,r,o),(()=>{const e=be();if(e.output.format){const t=Io[e.output.format];console.log(`✨ Running ${t.name}`),re(t.command,t.args(e.output.path))}if(e.output.lint){const t=So[e.output.lint];console.log(`✨ Running ${t.name}`),re(t.command,t.args(e.output.path))}})()),console.log("✨ Done! Your client is located in:",t.output.path),r};let o=[];const s=n.map((e=>r(e)));for(const e of s){const t=await e();o=[...o,t]}return o},exports.defineConfig=function(e){return e};
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,3 +1,135 @@
|
|
|
1
|
+
interface Dictionary<T = unknown> {
|
|
2
|
+
[key: string]: T;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface WithEnumExtension {
|
|
6
|
+
'x-enumNames'?: ReadonlyArray<string>;
|
|
7
|
+
'x-enum-descriptions'?: ReadonlyArray<string>;
|
|
8
|
+
'x-enum-varnames'?: ReadonlyArray<string>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#external-documentation-object
|
|
13
|
+
*/
|
|
14
|
+
interface OpenApiExternalDocs {
|
|
15
|
+
description?: string;
|
|
16
|
+
url: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#reference-object
|
|
21
|
+
*/
|
|
22
|
+
interface OpenApiReference {
|
|
23
|
+
$ref?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#example-object
|
|
28
|
+
*/
|
|
29
|
+
interface OpenApiExample extends OpenApiReference {
|
|
30
|
+
summary?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
value?: unknown;
|
|
33
|
+
externalValue?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#discriminator-object
|
|
38
|
+
*/
|
|
39
|
+
interface OpenApiDiscriminator {
|
|
40
|
+
propertyName: string;
|
|
41
|
+
mapping?: Dictionary<string>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#xml-object
|
|
46
|
+
*/
|
|
47
|
+
interface OpenApiXml {
|
|
48
|
+
name?: string;
|
|
49
|
+
namespace?: string;
|
|
50
|
+
prefix?: string;
|
|
51
|
+
attribute?: boolean;
|
|
52
|
+
wrapped?: boolean;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#schema-object
|
|
57
|
+
*/
|
|
58
|
+
interface OpenApiSchema extends OpenApiReference, WithEnumExtension {
|
|
59
|
+
additionalProperties?: boolean | OpenApiSchema;
|
|
60
|
+
allOf?: OpenApiSchema[];
|
|
61
|
+
anyOf?: OpenApiSchema[];
|
|
62
|
+
const?: string | number | boolean | null;
|
|
63
|
+
default?: unknown;
|
|
64
|
+
deprecated?: boolean;
|
|
65
|
+
description?: string;
|
|
66
|
+
discriminator?: OpenApiDiscriminator;
|
|
67
|
+
enum?: (string | number)[];
|
|
68
|
+
example?: unknown;
|
|
69
|
+
exclusiveMaximum?: boolean;
|
|
70
|
+
exclusiveMinimum?: boolean;
|
|
71
|
+
externalDocs?: OpenApiExternalDocs;
|
|
72
|
+
format?: 'binary' | 'boolean' | 'byte' | 'date-time' | 'date' | 'double' | 'float' | 'int32' | 'int64' | 'password' | 'string';
|
|
73
|
+
items?: OpenApiSchema;
|
|
74
|
+
maximum?: number;
|
|
75
|
+
maxItems?: number;
|
|
76
|
+
maxLength?: number;
|
|
77
|
+
maxProperties?: number;
|
|
78
|
+
minimum?: number;
|
|
79
|
+
minItems?: number;
|
|
80
|
+
minLength?: number;
|
|
81
|
+
minProperties?: number;
|
|
82
|
+
multipleOf?: number;
|
|
83
|
+
not?: OpenApiSchema[];
|
|
84
|
+
nullable?: boolean;
|
|
85
|
+
oneOf?: OpenApiSchema[];
|
|
86
|
+
pattern?: string;
|
|
87
|
+
properties?: Dictionary<OpenApiSchema>;
|
|
88
|
+
readOnly?: boolean;
|
|
89
|
+
required?: string[];
|
|
90
|
+
title?: string;
|
|
91
|
+
type?: string | string[];
|
|
92
|
+
uniqueItems?: boolean;
|
|
93
|
+
writeOnly?: boolean;
|
|
94
|
+
xml?: OpenApiXml;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* add only one type for now as that's needed to resolve the reported issue,
|
|
99
|
+
* more types should be added though
|
|
100
|
+
* {@link https://github.com/hey-api/openapi-ts/issues/612}
|
|
101
|
+
*/
|
|
102
|
+
type MediaType = 'application/json';
|
|
103
|
+
/**
|
|
104
|
+
* encoding interface should be added, not adding it for now as it's not needed
|
|
105
|
+
* to resolve the issue reported
|
|
106
|
+
* {@link https://github.com/hey-api/openapi-ts/issues/612}
|
|
107
|
+
*/
|
|
108
|
+
interface MediaTypeObject {
|
|
109
|
+
example?: unknown;
|
|
110
|
+
examples?: Dictionary<OpenApiExample>;
|
|
111
|
+
schema: OpenApiSchema;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* {@link} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#parameter-object
|
|
115
|
+
*/
|
|
116
|
+
interface OpenApiParameter extends OpenApiReference {
|
|
117
|
+
allowEmptyValue?: boolean;
|
|
118
|
+
allowReserved?: boolean;
|
|
119
|
+
content?: Record<MediaType, MediaTypeObject>;
|
|
120
|
+
deprecated?: boolean;
|
|
121
|
+
description?: string;
|
|
122
|
+
example?: unknown;
|
|
123
|
+
examples?: Dictionary<OpenApiExample>;
|
|
124
|
+
explode?: boolean;
|
|
125
|
+
in: 'cookie' | 'formData' | 'header' | 'path' | 'query';
|
|
126
|
+
name: string;
|
|
127
|
+
nullable?: boolean;
|
|
128
|
+
required?: boolean;
|
|
129
|
+
schema?: OpenApiSchema;
|
|
130
|
+
style?: string;
|
|
131
|
+
}
|
|
132
|
+
|
|
1
133
|
interface Enum {
|
|
2
134
|
customDescription?: string;
|
|
3
135
|
customName?: string;
|
|
@@ -5,7 +137,7 @@ interface Enum {
|
|
|
5
137
|
value: string | number;
|
|
6
138
|
}
|
|
7
139
|
interface OperationParameter extends Model {
|
|
8
|
-
in: '
|
|
140
|
+
in: 'body' | 'cookie' | 'formData' | 'header' | 'path' | 'query';
|
|
9
141
|
prop: string;
|
|
10
142
|
mediaType: string | null;
|
|
11
143
|
}
|
|
@@ -19,7 +151,7 @@ interface OperationParameters extends Pick<Model, '$refs' | 'imports'> {
|
|
|
19
151
|
parametersQuery: OperationParameter[];
|
|
20
152
|
}
|
|
21
153
|
interface OperationResponse extends Model {
|
|
22
|
-
in: '
|
|
154
|
+
in: 'header' | 'response';
|
|
23
155
|
code: number | 'default';
|
|
24
156
|
}
|
|
25
157
|
type Method = 'CONNECT' | 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | 'TRACE';
|
|
@@ -87,6 +219,7 @@ interface Model extends Schema {
|
|
|
87
219
|
enums: Model[];
|
|
88
220
|
export: 'all-of' | 'any-of' | 'array' | 'const' | 'dictionary' | 'enum' | 'generic' | 'interface' | 'one-of' | 'reference';
|
|
89
221
|
imports: string[];
|
|
222
|
+
in: OperationParameter['in'] | OpenApiParameter['in'] | OperationResponse['in'] | '';
|
|
90
223
|
link: Model | null;
|
|
91
224
|
meta?: ModelMeta;
|
|
92
225
|
/**
|