@hey-api/openapi-ts 0.53.1 → 0.53.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 +1 -1
- package/package.json +4 -4
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("node:fs"),a=require("node:module"),i=require("typescript"),p=require("os"),l=require("@apidevtools/json-schema-ref-parser"),c="undefined"!=typeof document?document.currentScript:null,u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d,f,y,h,g,x={exports:{}};g="win32"===process.platform||u.TESTING_WINDOWS?function(){if(f)return d;f=1,d=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 d}():function(){if(h)return y;h=1,y=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 y}();var v=b;function b(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){b(e,t||{},(function(e,t){e?r(e):n(t)}))}))}g(e,t||{},(function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),n(e,r)}))}b.sync=function(e,t){try{return g.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const P="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,R=r,w=P?";":":",A=v,q=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),T=(e,t)=>{const n=t.colon||w,r=e.match(/\//)||P&&e.match(/\\/)?[""]:[...P?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=P?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=P?o.split(n):[""];return P&&-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}=T(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(q(e));const i=r[n],l=/^".*"$/.test(i)?i.slice(1,-1):i,c=R.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];A(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 k=O;O.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=T(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,l=R.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(A.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 q(e)};var E={exports:{}};const $=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find((e=>"PATH"===e.toUpperCase()))||"Path"};E.exports=$,E.exports.default=$;var C=E.exports;const S=r,N=k,I=C;function D(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=N.sync(e.command,{path:n[I({env:n})],pathExt:t?S.delimiter:void 0})}catch(e){}finally{s&&process.chdir(r)}return a&&(a=S.resolve(o?e.options.cwd:"",a)),a}var _=function(e){return D(e)||D(e,!0)},H={};const j=/([()\][%!^"`<>&|;, *?])/g;H.command=function(e){return e=e.replace(j,"^$1")},H.argument=function(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(j,"^$1"),t&&(e=e.replace(j,"^$1")),e};const B=/^#!(.*)/;const M=o,L=(e="")=>{const t=e.match(B);if(!t)return null;const[n,r]=t[0].replace(/#! ?/,"").split(" "),o=n.split("/").pop();return"env"===o?r:r?`${o} ${r}`:o};const F=r,V=_,U=H,K=function(e){const t=Buffer.alloc(150);let n;try{n=M.openSync(e,"r"),M.readSync(n,t,0,150,0),M.closeSync(n)}catch(e){}return L(t.toString())},W="win32"===process.platform,Q=/\.(?:com|exe)$/i,X=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function z(e){if(!W)return e;const t=function(e){e.file=V(e);const t=e.file&&K(e.file);return t?(e.args.unshift(e.file),e.command=t,V(e)):e.file}(e),n=!Q.test(t);if(e.options.forceShell||n){const n=X.test(t);e.command=F.normalize(e.command),e.command=U.command(e.command),e.args=e.args.map((e=>U.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 G=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:z(r)};const J="win32"===process.platform;function Y(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 Z(e,t){return J&&1===e&&!t.file?Y(t.original,"spawn"):null}var ee={hookChildProcess:function(e,t){if(!J)return;const n=e.emit;e.emit=function(r,o){if("exit"===r){const r=Z(o,t);if(r)return n.call(e,"error",r)}return n.apply(e,arguments)}},verifyENOENT:Z,verifyENOENTSync:function(e,t){return J&&1===e&&!t.file?Y(t.original,"spawnSync"):null},notFoundError:Y};const te=n,ne=G,re=ee;function oe(e,t,n){const r=ne(e,t,n),o=te.spawn(r.command,r.args,r.options);return re.hookChildProcess(o,r),o}x.exports=oe,x.exports.spawn=oe;var se=x.exports.sync=function(e,t,n){const r=ne(e,t,n),o=te.spawnSync(r.command,r.args,r.options);return o.error=o.error||re.verifyENOENTSync(o.status,r),o};let ae;x.exports._parse=ne,x.exports._enoent=re;const ie=()=>ae,pe=e=>("client"in e?e.client.name:e.name).startsWith("@hey-api"),le=e=>{switch(e.name){case"legacy/angular":return"AngularHttpRequest";case"legacy/axios":return"AxiosHttpRequest";case"legacy/fetch":return"FetchHttpRequest";case"legacy/node":return"NodeHttpRequest";case"legacy/xhr":return"XHRHttpRequest";default:return""}};function ce(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}const ue=(e,t)=>ce(e.name,t.name);function me(e){return e.sort(ue)}const de=e=>{s.existsSync(e)||s.mkdirSync(e,{recursive:!0})},fe=a.createRequire("undefined"==typeof document?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("index.cjs",document.baseURI).href),ye=()=>{const e=ie();return e.client.bundle?"./client":e.client.name},he=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,ge=e=>{if(e||""===e){he.lastIndex=0;if(!he.test(e))return`'${e}'`}return e},xe=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,ve=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,t)=>p.EOL+t.trim())),be={newLine:i.NewLineKind.LineFeed,scriptKind:i.ScriptKind.TS,scriptTarget:i.ScriptTarget.ES2015,useSingleQuotes:!0},Pe=i.createPrinter({newLine:be.newLine}),Re=e=>i.createSourceFile("",e,be.scriptTarget,void 0,be.scriptKind),we=Re("");function Ae({node:e,unescape:t=!1}){const n=Pe.printNode(i.EmitHint.Unspecified,e,we);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 ie().debug&&console.warn("Could not decode value:",n),n}}const qe=({text:e})=>i.factory.createIdentifier(e),Te={boolean:e=>e?i.factory.createTrue():i.factory.createFalse(),export:({alias:e,asType:t=!1,name:n})=>{const r=qe({text:n});if(e){const n=qe({text:e});return i.factory.createExportSpecifier(t,r,n)}return i.factory.createExportSpecifier(t,void 0,r)},import:({alias:e,asType:t=!1,name:n})=>{const r=qe({text:n});if(e){const n=qe({text:e});return i.factory.createImportSpecifier(t,r,n)}return i.factory.createImportSpecifier(t,void 0,r)},number:e=>e<0?i.factory.createPrefixUnaryExpression(i.SyntaxKind.MinusToken,i.factory.createNumericLiteral(Math.abs(e))):i.factory.createNumericLiteral(e),string:(e,t=!1)=>{let n=e;t&&(n=xe(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("`")?qe({text:n}):i.factory.createStringLiteral(n,!n.includes("'")&&be.useSingleQuotes)}},Oe=e=>null!==e&&"object"==typeof e&&"number"==typeof e.kind&&"number"==typeof e.flags&&"number"==typeof e.pos&&"number"==typeof e.end,ke=e=>void 0!==e,Ee=({commentObject:e,node:t})=>{const n=e.lines.filter((e=>Boolean(e)||""===e));if(!n.length)return;if(!e.jsdoc){for(const e of n)i.addSyntheticLeadingComment(t,i.SyntaxKind.SingleLineCommentTrivia,` ${e}`,!0);return}const r=n.map(((e,t)=>{let r=e;t!==n.length&&(r=`${r}\n`);return i.factory.createJSDocText(r)})),o=Ae({node:i.factory.createJSDocComment(i.factory.createNodeArray(r),void 0),unescape:!0}).replace("/*","").replace("* */","");i.addSyntheticLeadingComment(t,i.SyntaxKind.MultiLineCommentTrivia,o,!0)},$e=({comments:e=[],node:t})=>{const n=Boolean(e.find((e=>"object"==typeof e&&e)));let r=e;n||(r=[{jsdoc:!0,lines:e}]);for(const e of r)Ee({commentObject:e,node:t})},Ce=(e,t)=>i.isTypeNode(e)?e:"number"==typeof e?i.factory.createLiteralTypeNode(Te.number(e)):Le({typeArguments:t?.map((e=>Ce(e))),typeName:e}),Se=({expression:e,isOptional:t,name:n})=>{const r="string"==typeof e?qe({text:e}):e,o="string"==typeof n?qe({text:n}):n;if(t){return i.factory.createPropertyAccessChain(r,i.factory.createToken(i.SyntaxKind.QuestionDotToken),o)}return i.factory.createPropertyAccessExpression(r,o)},Ne=({identifiers:e=[],isValueAccess:t,shorthand:n,unescape:r,value:o})=>{if(null===o)return i.factory.createNull();if(Array.isArray(o))return Be({elements:o});if("object"==typeof o)return Me({identifiers:e,obj:o,shorthand:n});if("number"==typeof o)return Te.number(o);if("boolean"==typeof o)return Te.boolean(o);if("string"==typeof o){if(t){const e=o.split(".");return Se({expression:e[0],name:e[1]})}return Te.string(o,r)}},Ie=e=>{const t="public"===e?i.SyntaxKind.PublicKeyword:"protected"===e?i.SyntaxKind.ProtectedKeyword:"private"===e?i.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(i.factory.createModifier(t)),n},De=e=>e.map((e=>{if("destructure"in e)return i.factory.createParameterDeclaration(void 0,void 0,i.factory.createObjectBindingPattern(e.destructure.map((e=>{if("destructure"in e)return;return i.factory.createBindingElement(void 0,void 0,qe({text:e.name}),void 0)})).filter(Boolean)),void 0,void 0,void 0);let t=Ie(e.accessLevel);return e.isReadOnly&&(t=[...t,i.factory.createModifier(i.SyntaxKind.ReadonlyKeyword)]),i.factory.createParameterDeclaration(t,void 0,qe({text:e.name}),!1===e.isRequired?i.factory.createToken(i.SyntaxKind.QuestionToken):void 0,void 0!==e.type?Ce(e.type):void 0,void 0!==e.default?Ne({value:e.default}):void 0)})),_e=({keyword:e})=>{let t=i.SyntaxKind.AnyKeyword;switch(e){case"boolean":t=i.SyntaxKind.BooleanKeyword;break;case"string":t=i.SyntaxKind.StringKeyword}return i.factory.createKeywordTypeNode(t)},He=e=>e.map((e=>i.factory.createTypeParameterDeclaration(void 0,e.name,e.extends?"string"==typeof e.extends?_e({keyword:"boolean"}):e.extends:void 0,void 0!==e.default?Oe(e.default)?e.default:i.factory.createLiteralTypeNode(e.default?i.factory.createTrue():i.factory.createFalse()):void 0))),je=({async:e,comment:t,multiLine:n,parameters:r=[],returnType:o,statements:s=[],types:a=[]})=>{const p=i.factory.createArrowFunction(e?[i.factory.createModifier(i.SyntaxKind.AsyncKeyword)]:void 0,a?He(a):void 0,De(r),o?Ce(o):void 0,void 0,Array.isArray(s)?i.factory.createBlock(s,n):s);return $e({comments:t,node:p}),p},Be=({elements:e,multiLine:t=!1})=>i.factory.createArrayLiteralExpression(e.map((e=>Oe(e)?e:Ne({value:e}))).filter(ke),t||!Array.isArray(e[0])&&"object"==typeof e[0]),Me=({comments:e,identifiers:t=[],multiLine:n=!0,obj:r,shorthand:o,unescape:s=!1})=>{const a=Array.isArray(r)?r.map((e=>{let n,r=!1;if("key"in e){let{key:t}=e;r=t===e.value,t.match(/^[0-9]/)&&t.match(/\D+/g)&&!t.startsWith("'")&&!t.endsWith("'")&&(t=`'${t}'`),!t.match(/\W/g)||t.startsWith("'")||t.endsWith("'")||(t=`'${t}'`)}if("spread"in e){const t=Oe(e.spread)?e.spread:qe({text:e.spread});n=i.factory.createSpreadAssignment(e.assertion?i.factory.createAsExpression(t,_e({keyword:e.assertion})):t)}else if(e.shorthand||o&&r)n=i.factory.createShorthandPropertyAssignment(e.value);else{let r=Oe(e.value)?e.value:Ne({identifiers:t.includes(e.key)?Object.keys(e.value):[],isValueAccess:e.isValueAccess,shorthand:o,unescape:s,value:e.value});if(!r)return;t.includes(e.key)&&!i.isObjectLiteralExpression(r)&&(r=qe({text:e.value})),n=i.factory.createPropertyAssignment(e.key,r)}return $e({comments:e.comments,node:n}),n})).filter(ke):Object.entries(r).map((([e,n])=>{let r=Ne({identifiers:t.includes(e)?Object.keys(n):[],shorthand:o,unescape:s,value:n});if(!r)return;t.includes(e)&&!i.isObjectLiteralExpression(r)&&(r=qe({text:n}));const a=e===n;e.match(/^[0-9]/)&&e.match(/\D+/g)&&!e.startsWith("'")&&!e.endsWith("'")&&(e=`'${e}'`),!e.match(/\W/g)||e.startsWith("'")||e.endsWith("'")||(e=`'${e}'`);return o&&a?i.factory.createShorthandPropertyAssignment(n):i.factory.createPropertyAssignment(e,r)})).filter(ke),p=i.factory.createObjectLiteralExpression(a,n);return $e({comments:e,node:p}),p},Le=({typeArguments:e,typeName:t})=>i.factory.createTypeReferenceNode(t,e),Fe=({parameters:e=[],functionName:t,types:n})=>{const r="string"==typeof t?qe({text:t}):t,o=e.filter((e=>void 0!==e)).map((e=>"string"==typeof e?qe({text:e}):e));return i.factory.createCallExpression(r,n,o)},Ve=({expression:e})=>i.factory.createExpressionStatement(e),Ue=({expression:e})=>i.factory.createReturnStatement(e),Ke=e=>e.slice(1).reduce(((e,t)=>i.factory.createPropertyAccessChain(e,i.factory.createToken(i.SyntaxKind.QuestionDotToken),qe({text:t}))),qe({text:e[0]})),We=e=>e.slice(1).reduce(((e,t)=>Se({expression:e,name:t})),qe({text:e[0]})),Qe=({expression:e,thenStatement:t,elseStatement:n})=>i.factory.createIfStatement(e,t,n),Xe=Le({typeName:"null"}),ze=({isNullable:e,node:t})=>e?i.factory.createUnionTypeNode([t,Xe]):t,Ge=({isNullable:e,properties:t})=>{const n=i.factory.createTypeLiteralNode(t.map((e=>{const t=e.isReadOnly?[i.factory.createModifier(i.SyntaxKind.ReadonlyKeyword)]:void 0,n=!1!==e.isRequired?void 0:i.factory.createToken(i.SyntaxKind.QuestionToken),r=Ce(e.type),o=i.factory.createPropertySignature(t,e.name,n,r);return $e({comments:e.comment,node:o}),o})));return ze({isNullable:e,node:n})},Je=({isNullable:e,types:t})=>{const n=t.map((e=>Ce(e))),r=i.factory.createUnionTypeNode(n);return ze({isNullable:e,node:r})},Ye=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 Ze{_headers=[];_imports=new Map;_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]}import({module:e,...t}){let n=this._imports.get(e);n||(n=new Map,this._imports.set(e,n));const r=n.get(t.name);return r||(n.set(t.name,t),t)}getName(e=!0){if(e)return this._name;const{name:t}=Ye(this._name);return t}isEmpty(){return!this._items.length}remove(e){s.rmSync(this._path,e)}removeNode(){this._items=this._items.slice(0,this._items.length-1)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=Ye(e);return[n,"gen",t].filter(Boolean).join(".")}toString(e="\n"){let t=[];this._headers.length&&(t=[...t,this._headers.join("\n")]);let n=[];for(const[e,t]of this._imports.entries()){const r=Array.from(t.values()),o=et.namedImportDeclarations({imports:r,module:e});n=[...n,Ae({node:o})]}return n.length&&(t=[...t,n.join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:Ae({node:e,unescape:!0})))],t.join(e)}write(t="\n"){if(this.isEmpty())return void this.remove({force:!0});let n=this._path;if("string"==typeof this._path){const t=this._path.split(e.sep);n=t.slice(0,t.length-1).join(e.sep)}de(n),s.writeFileSync(this._path,this.toString(t))}}const et={anonymousFunction:({async:e,comment:t,multiLine:n,parameters:r=[],returnType:o,statements:s=[],types:a=[]})=>{const p=i.factory.createFunctionExpression(e?[i.factory.createModifier(i.SyntaxKind.AsyncKeyword)]:void 0,void 0,void 0,a?He(a):void 0,De(r),o?Ce(o):void 0,i.factory.createBlock(s,n));return $e({comments:t,node:p}),p},arrayLiteralExpression:Be,arrowFunction:je,awaitExpression:({expression:e})=>i.factory.createAwaitExpression(e),binaryExpression:({left:e,operator:t="=",right:n})=>i.factory.createBinaryExpression(e,"="===t?i.SyntaxKind.EqualsToken:"==="===t?i.SyntaxKind.EqualsEqualsEqualsToken:i.SyntaxKind.InKeyword,"string"==typeof n?qe({text:n}):n),callExpression:Fe,classDeclaration:({decorator:e,members:t=[],name:n})=>{let r=[i.factory.createModifier(i.SyntaxKind.ExportKeyword)];e&&(r=[i.factory.createDecorator(Fe({functionName:e.name,parameters:e.args.map((e=>Ne({value:e}))).filter(ke)})),...r]);let o=[];return t.forEach((e=>{o=[...o,e,qe({text:"\n"})]})),i.factory.createClassDeclaration(r,qe({text:n}),[],[],o)},conditionalExpression:({condition:e,whenFalse:t,whenTrue:n})=>i.factory.createConditionalExpression(e,i.factory.createToken(i.SyntaxKind.QuestionToken),n,i.factory.createToken(i.SyntaxKind.ColonToken),t),constVariable:({comment:e,assertion:t,destructure:n,exportConst:r,expression:o,name:s,typeName:a})=>{const p=t?i.factory.createAsExpression(o,"string"==typeof t?Le({typeName:t}):t):o,l=qe({text:s}),c=i.factory.createVariableDeclaration(n?i.factory.createObjectBindingPattern([i.factory.createBindingElement(void 0,void 0,l,void 0)]):l,void 0,a?"string"==typeof a?Le({typeName:a}):a:void 0,p),u=i.factory.createVariableStatement(r?[i.factory.createModifier(i.SyntaxKind.ExportKeyword)]:void 0,i.factory.createVariableDeclarationList([c],i.NodeFlags.Const));return $e({comments:e,node:u}),u},constructorDeclaration:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=i.factory.createConstructorDeclaration(Ie(e),De(r),i.factory.createBlock(o,n));return $e({comments:t,node:s}),s},elementAccessExpression:({index:e,name:t})=>i.factory.createElementAccessExpression(qe({text:t}),Te.number(e)),enumDeclaration:({comments:e,leadingComment:t,name:n,obj:r})=>{const o=i.factory.createEnumDeclaration([i.factory.createModifier(i.SyntaxKind.ExportKeyword)],qe({text:n}),Object.entries(r).map((([t,n])=>{const r=Ne({unescape:!0,value:n}),o=i.factory.createEnumMember(t,r),s=e?.[t];return $e({comments:s,node:o}),o})));return $e({comments:t,node:o}),o},exportAllDeclaration:({module:e})=>i.factory.createExportDeclaration(void 0,!1,void 0,Te.string(e)),exportNamedDeclaration:({exports:e,module: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 Te.export({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=i.factory.createNamedExports(o),a=Te.string(t);return i.factory.createExportDeclaration(void 0,!r,s,a)},expressionToStatement:Ve,identifier:qe,ifStatement:Qe,indexedAccessTypeNode:({indexType:e,objectType:t})=>i.factory.createIndexedAccessTypeNode(t,e),isTsNode:Oe,keywordTypeNode:_e,methodDeclaration:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:p=[],types:l=[]})=>{let c=Ie(e);n&&(c=[...c,i.factory.createModifier(i.SyntaxKind.StaticKeyword)]);const u=i.factory.createMethodDeclaration(c,void 0,qe({text:o}),void 0,l?He(l):void 0,De(s),a?Ce(a):void 0,i.factory.createBlock(p,r));return $e({comments:t,node:u}),u},namedImportDeclarations:({imports:e,module: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 Te.import({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=i.factory.createNamedImports(o),a=i.factory.createImportClause(!r,void 0,s),p=Te.string(t);return i.factory.createImportDeclaration(void 0,a,p)},namespaceDeclaration:({name:e,statements:t})=>i.factory.createModuleDeclaration([i.factory.createModifier(i.SyntaxKind.ExportKeyword)],qe({text:e}),i.factory.createModuleBlock(t),i.NodeFlags.Namespace),nodeToString:Ae,objectExpression:Me,ots:Te,propertyAccessExpression:Se,propertyAccessExpressions:({expressions:e})=>e.reduce(((e,t)=>Se({expression:e,name:t}))),returnFunctionCall:({args:e=[],name:t,types:n=[]})=>{const r=n.map((e=>Le({typeName:e}))),o=e.map((e=>i.isExpression(e)?e:qe({text:e}))).filter(ke),s=Fe({functionName:t,parameters:o,types:r});return Ue({expression:s})},returnVariable:({name:e})=>Ue({expression:qe({text:e})}),safeAccessExpression:Ke,stringLiteral:({text:e})=>i.factory.createStringLiteral(e),stringToTsNodes:function(e){return Re(e).statements[0]},transformArrayMap:({path:e,transformExpression:t})=>{const n=Ke(e),r=We(e);return Qe({expression:Fe({functionName:Se({expression:"Array",name:"isArray"}),parameters:[n]}),thenStatement:i.factory.createBlock([Ve({expression:i.factory.createBinaryExpression(r,i.factory.createToken(i.SyntaxKind.EqualsToken),i.factory.createCallChain(Se({expression:r,name:"map"}),void 0,void 0,[je({parameters:[{name:"item"}],statements:t})]))})],!0)})},transformArrayMutation:({path:e,transformerName:t})=>{const n=Ke(e),r=We(e);return Qe({expression:Fe({functionName:Se({expression:"Array",name:"isArray"}),parameters:[n]}),thenStatement:i.factory.createBlock([Ve({expression:i.factory.createCallChain(Se({expression:r,name:"forEach"}),void 0,void 0,[qe({text:t})])})],!0)})},transformDateMutation:({path:e})=>{const t=Ke(e),n=We(e),r=i.factory.createBlock([Ve({expression:i.factory.createBinaryExpression(n,i.SyntaxKind.EqualsToken,i.factory.createNewExpression(qe({text:"Date"}),void 0,[n]))})]);return Qe({expression:t,thenStatement:r})},transformFunctionMutation:({path:e,transformerName:t})=>{const n=Ke(e),r=We(e),o=i.factory.createBlock([Ve({expression:Fe({functionName:t,parameters:[r]})})],!0);return[Qe({expression:n,thenStatement:o})]},transformNewDate:({parameterName:e})=>i.factory.createNewExpression(qe({text:"Date"}),void 0,[qe({text:e})]),typeAliasDeclaration:({comment:e,exportType:t,name:n,type:r,typeParameters:o=[]})=>{const s=i.factory.createTypeAliasDeclaration(t?[i.factory.createModifier(i.SyntaxKind.ExportKeyword)]:void 0,qe({text:n}),He(o),Ce(r));return $e({comments:e,node:s}),s},typeArrayNode:(e,t=!1)=>{const n=Le({typeArguments:[Je({types:e})],typeName:"Array"});return ze({isNullable:t,node:n})},typeInterfaceNode:Ge,typeIntersectionNode:({isNullable:e,types:t})=>{const n=t.map((e=>Ce(e))),r=i.factory.createIntersectionTypeNode(n);return ze({isNullable:e,node:r})},typeNode:Ce,typeOfExpression:({text:e})=>i.factory.createTypeOfExpression(qe({text:e})),typeParenthesizedNode:({type:e})=>i.factory.createParenthesizedType(e),typeRecordNode:(e,t,n=!1)=>{const r=Je({types:e}),o=Je({types:t}),s=Ge({properties:[{name:`[key: ${Ae({node:r,unescape:!0})}]`,type:o}]});return ze({isNullable:n,node:s})},typeReferenceNode:Le,typeTupleNode:({isNullable:e=!1,types:t})=>{const n=t.map((e=>Ce(e))),r=i.factory.createTupleTypeNode(n);return ze({isNullable:e,node:r})},typeUnionNode:Je},tt=({method:e,operation:t,operationIds:n,path:r})=>{const o=`${e} ${r}`,s=ie(),a=s.services.filter?new RegExp(s.services.filter):void 0;a&&!a.test(o)||(t.operationId&&(n.has(t.operationId)?console.warn(`❗️ Duplicate operationId: ${t.operationId} in ${o}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):n.set(t.operationId,o)),console.log(t))};let nt;const rt=()=>nt,ot=e=>(nt=e,rt()),st=["connect","delete","get","head","options","patch","post","put","trace"];function at(e="1.0"){return String(e).replace(/^v/gi,"")}const it=/^[^$_\p{ID_Start}]+/u,pt=/^(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,lt="#/components/parameters/",ct="#/components/schemas/",ut=/[\p{Lu}]/u,mt=/[\p{Ll}]/u,dt=/([\p{Alpha}\p{N}_]|$)/u,ft=/[_.\- ]+/,yt=new RegExp("^"+ft.source),ht=new RegExp(ft.source+dt.source,"gu"),gt=new RegExp("\\d+"+dt.source,"gu"),xt=({input:e,pascalCase:t})=>{let n=e.trim();if(!n.length)return"";if(1===n.length)return ft.test(n)?"":t?n.toLocaleUpperCase():n.toLocaleLowerCase();return n!==n.toLocaleLowerCase()&&(n=(e=>{let t=!1,n=!1,r=!1,o=!1;for(let s=0;s<e.length;s++){const a=e[s];o=!(s>2)||"-"===e[s-3],t&&ut.test(a)?(e=e.slice(0,s)+"-"+e.slice(s),t=!1,r=n,n=!0,s++):n&&r&&mt.test(a)&&!o?(e=e.slice(0,s-1)+"-"+e.slice(s-1),r=n,n=!1,t=!0):(t=a.toLocaleLowerCase()===a&&a.toLocaleUpperCase()!==a,r=n,n=a.toLocaleUpperCase()===a&&a.toLocaleLowerCase()!==a)}return e})(n)),n=n.replace(yt,""),n=n.toLocaleLowerCase(),t&&(n=n.charAt(0).toLocaleUpperCase()+n.slice(1)),ht.lastIndex=0,gt.lastIndex=0,n=n.replaceAll(gt,((e,t,r)=>["_","-","."].includes(n.charAt(r+e.length))?e:e.toLocaleUpperCase())),n=n.replaceAll(ht,((e,t)=>t.toLocaleUpperCase())),n},vt=e=>{const t=ie();return t.services.name?t.services.name.replace("{{name}}",e):e},bt=e=>"PascalCase"===ie().types.name?xt({input:e,pascalCase:!0}):e,Pt=e=>wt(e).includes("null"),Rt=e=>!0===e.nullable||Pt(e),wt=({type:e})=>Array.isArray(e)?e:e?[e]:[],At=e=>{it.lastIndex=0;const t=(e=>e.replace(it,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"))(it.test(e)?`_${e}`:e);return t},qt=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-"),Tt=e=>{const t=e.replace("[]","Array");return qt(t)},Ot=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\//,""),kt=(e,t)=>{if("binary"===t)return"binary";switch(e){case"any":case"object":case"unknown":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"}},Et=/(?<!`1)\[.*\]$/g,$t=({debug:e,format:t,type:n="unknown"})=>{const r={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(n)){const e=n.filter((e=>"null"!==e)).map((e=>kt(e,t))).filter(Boolean).join(" | ");return r.type=e,r.base=e,r.isNullable=Pt({type:n}),r}const o=kt(n,t);if(o)return r.type=o,r.base=o,r;const s=decodeURIComponent(Ot(n));if(Et.lastIndex=0,Et.test(s)){const t=s.match(/(.*?)\[(.*)\]$/);if(t?.length){const n=$t({debug:e,type:At(t[1])}),o=$t({debug:e,type:At(t[2])});return"unknown[]"===n.type?(r.type=`${o.type}[]`,r.base=`${o.type}`,n.$refs=[],n.imports=[]):o.type?(r.type=`${n.type}<${o.type}>`,r.base=n.type,r.template=o.type):(r.type=n.type,r.base=n.type,r.template=n.type),r.$refs=[...r.$refs,...n.$refs,...o.$refs],r.imports=[...r.imports,...n.imports,...o.imports],r}}if(s){let e=bt(At(s));return n.startsWith(lt)&&(e=`Parameter${e}`),r.type=e,r.base=e,n.startsWith("#")&&(r.$refs=[...r.$refs,decodeURIComponent(n)]),r.imports=[...r.imports,e],r}return r};function Ct(e,t,n){return n.indexOf(e)===t}const St=(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(Ct).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},Nt=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),It=({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=$t({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:ge(s),pattern:Nt(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:ge(s),pattern:Nt(a.pattern),properties:e.properties,template:e.template,type:e.type,uniqueItems:a.uniqueItems})}})),o},Dt=/~1/g,_t=/~0/g;function Ht(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(Dt,"/").replace(_t,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const jt=({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=Ht(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=It({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},Bt=({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:Nt(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){const t=$t({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=St(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=$t({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=Bt({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=$t({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=Bt({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=jt({definition:e,definitions:e.allOf,getModel:Bt,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){It({definition:e,getModel:Bt,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=$t({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},Mt=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(wt(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}},Lt=["body","formData","header","path","query"],Ft=({openApi:e,parameters:t,types:n})=>{const r=rt(),o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const s=Ht(e,t),a=(({openApi:e,parameter:t,types:n})=>{const r=rt(),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,pattern:Nt(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};let s={...o,name:r.nameFn.operationParameter(o)};if(t.$ref){const e=$t({type:t.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(t,s),s}if(t.enum){const e=St(t,t.enum);if(e.length)return s={...s,base:"string",enum:[...s.enum,...e],export:"enum",type:"string"},s.default=Mt(t,s),s}if("array"===t.type&&t.items){const e=$t({format:t.items.format,type:t.items.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"array",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(t,s),s}if("object"===t.type&&t.items){const e=$t({format:t.items.format,type:t.items.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"dictionary",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(t,s),s}let a=t.schema;if(a){if(a.$ref?.startsWith("#/parameters/")&&(a=Ht(e,a)),a.$ref){const e=$t({type:a.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(t,s),s}const r=Bt({definition:a,openApi:e,types:n});return s={...s,$refs:[...s.$refs,...r.$refs],base:r.base,enum:[...s.enum,...r.enum],enums:[...s.enums,...r.enums],export:r.export,imports:[...s.imports,...r.imports],link:r.link,properties:[...s.properties,...r.properties],template:r.template,type:r.type},s.default=Mt(t,s),s}if(t.type){const e=$t({format:t.format,type:t.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"generic",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(t,s),s}return s})({openApi:e,parameter:s,types:n}),i=r.filterFn?.operationParameter&&!r.filterFn?.operationParameter(a);if(Lt.includes(s.in)&&!i){switch(s.in){case"body":o.parametersBody=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},Vt=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Ut=e=>e.some((e=>e.isRequired)),Kt=e=>{if("default"===e)return"default";if("1XX"===e)return"1XX";if("2XX"===e)return"2XX";if("3XX"===e)return"3XX";if("4XX"===e)return"4XX";if("5XX"===e)return"5XX";if(/\d{3}/g.test(e)){const t=Number.parseInt(e,10);if(t>=100&&t<600)return t}return null},Wt=(e,t)=>e.code>t.code?1:e.code<t.code?-1:0,Qt=e=>"2XX"===e||"number"==typeof e&&e>=200&&e<300,Xt=e=>e.map((t=>{const{code:n}=t;return"default"===n?t.responseTypes=((e,t)=>{let n=[];const r=e=>{n.includes(e)||(n=[...n,e])};t.some((({code:e})=>Qt(e)))||r("success");const o=(e.description??"").toLocaleLowerCase(),s=e.$refs.join("|").toLocaleLowerCase();return["success"].some((e=>o.includes(e)||s.includes(e)))&&r("success"),["error","problem"].some((e=>o.includes(e)||s.includes(e)))&&r("error"),n.length||r("error"),n})(t,e):Qt(n)?t.responseTypes=["success"]:(e=>"3XX"===e||"4XX"===e||"5XX"===e||"number"==typeof e&&e>=300)(n)&&(t.responseTypes=["error"]),t}));function zt(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 Gt=({openApi:e,responses:t,types:n})=>{let r=[];return Object.entries(t).forEach((([t,o])=>{const s=Kt(t);if(!s)return;const a=Ht(e,o),i=(({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:[],responseTypes:[],template:null,type:204!==e?"unknown":"void"};let s=n.schema;if(s){if(s.$ref?.startsWith("#/responses/")&&(s=Ht(t,s)),s.$ref){const e=$t({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports=[...o.imports,...e.imports],o}const e=Bt({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=Nt(e.pattern),o.imports=[...o.imports,...e.imports],o.enum=[...o.enum,...e.enum],o.enums=[...o.enums,...e.enums],o.properties=[...o.properties,...e.properties],o}if(n.headers)for(const e in n.headers)return o.in="header",o.name=e,o.type="string",o.base="string",o;return o})({code:s,openApi:e,response:a,types:n});r=[...r,i]})),r=Xt(r),r.sort(Wt)},Jt=({method:e,op:t,openApi:n,types:r,pathParams:o,url:s})=>{const a=rt(),i={$refs:[],deprecated:!0===t.deprecated,description:t.description||null,id:t.operationId||null,imports:[],method:e.toUpperCase(),parameters:[...o.parameters],parametersBody:o.parametersBody,parametersCookie:[...o.parametersCookie],parametersForm:[...o.parametersForm],parametersHeader:[...o.parametersHeader],parametersPath:[...o.parametersPath],parametersQuery:[...o.parametersQuery],path:s,responseHeader:null,responses:[],summary:t.summary||null,tags:t.tags||null},p={...i,name:a.nameFn.operation(i)};if(t.parameters){const e=Ft({openApi:n,parameters:t.parameters,types:r});p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.parameters=[...p.parameters,...e.parameters],p.parametersBody=e.parametersBody,p.parametersCookie=[...p.parametersCookie,...e.parametersCookie],p.parametersForm=[...p.parametersForm,...e.parametersForm],p.parametersHeader=[...p.parametersHeader,...e.parametersHeader],p.parametersPath=[...p.parametersPath,...e.parametersPath],p.parametersQuery=[...p.parametersQuery,...e.parametersQuery]}if(t.responses){p.responses=Gt({openApi:n,responses:t.responses,types:r});const e=p.responses.filter((e=>e.responseTypes.includes("success")));p.responseHeader=Vt(e),e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports]}))}return p.parameters=zt(p.parameters),p},Yt=e=>{const t=at(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=$t({type:r}).base.replace(pt,"_$1"),a={$ref:`#/definitions/${r}`,name:s};t[s]=a;const i=Bt({definition:o,isDefinition:!0,meta:a,openApi:e,types:t});n=[...n,i]})),{models:n,types:t}})(e),s=(({openApi:e,types:t})=>{const n=rt(),r=new Map,o=[];for(const s in e.paths){const a=e.paths[s],i=Ft({openApi:e,parameters:a.parameters??[],types:t});for(const p in a){const l=p,c=`${l.toUpperCase()} ${s}`;if(st.includes(l)){const p=a[l];p.operationId&&(r.has(p.operationId)?console.warn(`❗️ Duplicate operationId: ${p.operationId} in ${c}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(p.operationId,c));const u=Jt({method:l,op:p,openApi:e,pathParams:i,types:t,url:s});n.filterFn?.operation&&!n.filterFn?.operation(u)||o.push(u)}}}return o})({openApi:e,types:o});return{models:r,operations:s,server:n,types:o,version:t}},Zt=e=>{const t=(e=>{const t=bt(e);return At(t).replace(pt,"_$1")})(e);return{$ref:ct+e,name:t}},en=(e,t=!1)=>"string"==typeof e?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,tn=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:en(e.value)}},nn=e=>{const t=e.enum.map((e=>tn(e))).sort(((e,t)=>ce(e.key,t.key))).map((e=>`${e.key}=${e.value}`)).join("&");return{$ref:`enum/${e.name}/${t}`,name:At(xe(e.name))}},rn=(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=>Ot(e)==t.name));if(r&&n[r])return n[r]}return t.name},on=({debug:e,definition:t,getModel:n,model:r,openApi:o,types:s})=>{const a="object"==typeof t.additionalProperties?t.additionalProperties:{},i=n({debug:e,definition:a,openApi:o,parentDefinition:t,types:s});if(a.$ref){const e=$t({type:a.$ref});return r.base=e.base,r.default=Mt(t,r),r.export="dictionary",r.imports.push(...e.imports),r.template=e.template,r.type=e.type,r}if(t.additionalProperties&&t.properties&&Object.keys(t.properties).length>0){const e="object"==typeof t.additionalProperties&&t.additionalProperties.type&&!Array.isArray(t.additionalProperties.type)?t.additionalProperties.type:i.base,n=[$t({type:e}).base,...r.properties.map((e=>e.base))];return i.base=n.filter(Ct).join(" | "),i.default=Mt(t,r),i.export="generic",i.isRequired=!0===t.additionalProperties,i.name="[key: string]",i}return r.base=i.base,r.default=Mt(t,r),r.export="dictionary",r.imports.push(...i.imports),r.link=i,r.template=i.template,r.type=i.type,r},sn=({debug:e,definition:t,getModel:n,openApi:r,parent:o,types:s})=>{let a=[];const i=((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&&Ot(e.$ref)==t.name)))return r.discriminator}})(r,o);return Object.entries(t.properties??{}).forEach((([p,l])=>{const c=Boolean(t.required?.includes(p)),u={default:l.default,deprecated:!0===l.deprecated,description:l.description||null,exclusiveMaximum:l.exclusiveMaximum,exclusiveMinimum:l.exclusiveMinimum,format:"array"===l.type?l.items?.format??l.format:l.format,in:"",isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:c,maxItems:l.maxItems,maxLength:l.maxLength,maxProperties:l.maxProperties,maximum:l.maximum,minItems:l.minItems,minLength:l.minLength,minProperties:l.minProperties,minimum:l.minimum,multipleOf:l.multipleOf,name:ge(p),pattern:Nt(l.pattern),uniqueItems:l.uniqueItems};if(o&&i?.propertyName==p)return void(a=[...a,{...u,$refs:[],base:`'${rn(i,o)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:Rt(l),link:null,properties:[],template:null,type:"string"}]);if(l.$ref){const e=$t({type:l.$ref});return void(a=[...a,{...u,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||Rt(l),link:null,properties:[],template:e.template,type:e.type}])}const m=n({debug:e,definition:l,initialValues:u,openApi:r,parentDefinition:t,types:s});m.isNullable=m.isNullable||Rt(l),a=[...a,m]})),a},an=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),pn=({debug:e,definition:t,definitions:n,getModel:r,model:o,openApi:s,type:a,types:i})=>{const p={$refs:o.$refs,enums:o.enums,export:a,imports:o.imports,properties:o.properties};let l=[];if(n.map((n=>r({debug:e,definition:n,openApi:s,parentDefinition:t,types:i}))).forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums],p.properties=[...p.properties,e]})),t.required){const e=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=$t({type:r.$ref}),a={$ref:r.$ref,name:s.base};o[s.base]=a;const i=Ht(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:n,getModel:r,openApi:s,required:t.required,types:i});e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums]})),l=[...l,...e]}if(t.properties){const e=sn({definition:t,getModel:r,openApi:s,types:i});e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums],"enum"===e.export&&(p.enums=[...p.enums,e])})),l=[...l,...e]}if(l.length){const e=an(t);if(e){const t={$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:l,template:null,type:"unknown"};"one-of"===e.type?(p.properties=[{...p,base:"",description:null,enum:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!0,link:null,name:"",template:null,type:""},t],p.export="all-of"):p.properties=[...p.properties,t]}}return p},ln=({debug:e,definition:t,initialValues:n={},isDefinition:r=!1,meta:o,openApi:s,parentDefinition:a=null,types:i})=>{const p=wt(t),l=((e,t)=>{if(e.enum&&!t.includes("boolean"))return"enum"})(t,p),c={$refs:[],base:"unknown",deprecated:Boolean(t.deprecated),description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:"",isDefinition:r,isNullable:Rt(t),isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,meta:o,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:o?.name??"",pattern:Nt(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems,...n};if(t.$ref){const n=$t({debug:e,type:t.$ref});return c.$refs=[...c.$refs,decodeURIComponent(t.$ref)],c.base=n.base,c.export="reference",c.imports=[...c.imports,...n.imports],c.template=n.template,c.type=n.type,c.default=Mt(t,c),c}if("enum"===l){const e=St(t,t.enum);if(e.length)return c.base="string",c.enum=[...c.enum,...e],c.export="enum",c.type="string",c.default=Mt(t,c),c.meta||(c.meta=nn(c)),c}if(p.includes("array")&&(t.items||t.prefixItems)){if(t.prefixItems){const e=t.prefixItems.map((e=>ln({definition:e,openApi:s,parentDefinition:t,types:i})));return c.export="array",c.$refs=[...c.$refs,...e.reduce(((e,t)=>[...e,...t.$refs]),[])],c.imports=[...c.imports,...e.reduce(((e,t)=>[...e,...t.imports]),[])],c.link=e,c.default=Mt(t,c),c}if(!t.items)return c;if(t.items.$ref){const e=$t({type:t.items.$ref});return c.$refs=[...c.$refs,decodeURIComponent(t.items.$ref)],c.base=e.base,c.export="array",c.imports=[...c.imports,...e.imports],c.template=e.template,c.type=e.type,c.default=Mt(t,c),c}if(t.items.anyOf&&a&&a.type){const e=an(a);if(e&&e.definitions.some((e=>!wt(e).includes("array"))))return ln({definition:t.items,openApi:s,parentDefinition:t,types:i})}const e=Array.isArray(t.items)?{anyOf:t.items}:t.items,n=ln({definition:e,openApi:s,parentDefinition:t,types:i});return c.base=n.base,c.export="array",c.$refs=[...c.$refs,...n.$refs],c.imports=[...c.imports,...n.imports],c.link=n,c.template=n.template,c.type=n.type,c.default=Mt(t,c),c}const u=an(t);if(u){const n=pn({...u,debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i});return{...c,...n}}if(p.includes("object")||t.properties||t.additionalProperties){if(t.properties&&(Object.keys(t.properties).length>0||!t.additionalProperties)){c.base="unknown",c.export="interface",c.type="unknown",c.default=Mt(t,c);if(sn({debug:e,definition:t,getModel:ln,openApi:s,parent:c,types:i}).forEach((e=>{c.$refs=[...c.$refs,...e.$refs],c.enums=[...c.enums,...e.enums],c.imports=[...c.imports,...e.imports],c.properties=[...c.properties,e],"enum"===e.export&&(c.enums=[...c.enums,e])})),t.additionalProperties){const n=on({debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i});c.properties=[...c.properties,n]}return c.properties.length||"unknown"!==c.base||"unknown"!==c.type||(c.export="dictionary",c.name="[key: string]"),c}return on({debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i})}if(void 0!==t.const){const e=t.const,n="string"==typeof e?`"${e}"`:`${e}`;return c.base=n,c.export="const",c.type=n,c}if(p.length){const e=$t({format:t.format,type:t.type});return c.base=e.base,c.export="generic",c.$refs=[...c.$refs,...e.$refs],c.imports=[...c.imports,...e.imports],c.isNullable=e.isNullable||c.isNullable,c.template=e.template,c.type=e.type,c.default=Mt(t,c),c}return c},cn=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}}},un=e=>{const t=rt(),n={};let r=[];return e.components?(Object.entries(e.components.schemas??{}).forEach((([t,o])=>{const s=Zt(t);n[s.name]=s;const a=ln({definition:o,isDefinition:!0,meta:s,openApi:e,types:n});r=[...r,a]})),Object.entries(e.components.parameters??{}).forEach((([o,s])=>{const a=cn(s);if(!a)return void(t.debug&&console.warn("Skipping generating parameter:",o));const i=(e=>{const t=`Parameter${$t({type:e}).base.replace(pt,"_$1")}`;return{$ref:lt+e,name:t}})(o);n[i.name]=i;const p=ln({definition:a,isDefinition:!0,meta:i,openApi:e,types:n});p.deprecated=s.deprecated,p.description=s.description||null,r=[...r,p]})),{models:r,types:n}):{models:r,types:n}},mn=["cookie","formData","header","path","query"],dn=({openApi:e,parameters:t,types:n})=>{const r=rt(),o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const s=Ht(e,t),a=(({openApi:e,parameter:t,types:n})=>{const r=rt(),o={$refs:[],base:"unknown",deprecated:!0===t.deprecated,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:Rt(t),isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,prop:t.name,properties:[],template:null,type:"unknown"};let s={...o,name:r.nameFn.operationParameter(o)};if(t.$ref){const e=$t({type:t.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s}let a=cn(t);if(a){if(a.$ref?.startsWith(lt)&&(a=Ht(e,a)),a.$ref){const e=$t({type:a.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Mt(a),s}const t=ln({definition:a,openApi:e,types:n});return s={...s,$refs:[...s.$refs,...t.$refs],base:t.base,enum:[...s.enum,...t.enum],enums:[...s.enums,...t.enums],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:t.export,format:t.format,imports:[...s.imports,...t.imports],isNullable:s.isNullable||t.isNullable,isReadOnly:t.isReadOnly,isRequired:s.isRequired||t.isRequired,link:t.link,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,pattern:Nt(t.pattern),properties:[...s.properties,...t.properties],template:t.template,type:t.type,uniqueItems:t.uniqueItems},!s.enum.length&&!s.enums.length||s.meta||(s.meta=nn(s)),s.default=t.default,s}return s})({openApi:e,parameter:s,types:n}),i=r.filterFn?.operationParameter&&!r.filterFn?.operationParameter(a);if(mn.includes(s.in)&&!i){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},fn=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","multipart/batch","multipart/form-data","multipart/mixed","multipart/related","text/json","text/plain"],yn=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return fn.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}:void 0},hn=({debug:e,openApi:t,responses:n,types:r})=>{let o=[];return Object.entries(n).forEach((([e,n])=>{const s=Kt(e);if(!s)return;const a=Ht(t,n),i=(({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:[],responseTypes:[],template:null,type:204!==e?"unknown":"void"};if(n.content){const e=yn(0,n.content);if(e){if(e.schema.$ref?.startsWith("#/components/responses/")&&(e.schema=Ht(t,e.schema)),e.schema.$ref){const t=$t({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=ln({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=Nt(n.pattern),o.$refs=[...o.$refs,...n.$refs],o.imports=[...o.imports,...n.imports],o.enum=[...o.enum,...n.enum],o.enums=[...o.enums,...n.enums],o.properties=[...o.properties,...n.properties],o}}if(n.headers)for(const e in n.headers)return o.in="header",o.name=e,o.type="string",o.base="string",o;return o})({code:s,openApi:t,response:a,types:r});o=[...o,i]})),o=Xt(o),o.sort(Wt)},gn=(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},xn=({debug:e,method:t,op:n,openApi:r,pathParams:o,types:s,url:a})=>{const i=rt(),p={$refs:[],deprecated:Boolean(n.deprecated),description:n.description||null,id:n.operationId||null,imports:[],method:t.toUpperCase(),parameters:[],parametersBody:o.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,responses:[],summary:n.summary||null,tags:n.tags||null},l={...p,name:i.nameFn.operation(p)};if(n.parameters){const e=dn({openApi:r,parameters:n.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(n.requestBody){const t=(({body:e,debug:t,openApi:n,types:r})=>{const o=e["x-body-name"]??"requestBody",s={$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:o,prop:o,properties:[],template:null,type:"unknown"};if(!e.content)return s;const a=yn(0,e.content);if(!a)return s;switch(s.mediaType=a.mediaType,s.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":s.in="formData",s.name="formData",s.prop="formData"}if(a.schema.$ref){const e=$t({type:a.schema.$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}const i=ln({debug:t,definition:a.schema,openApi:n,types:r});return s.$refs=[...s.$refs,...i.$refs],s.base=i.base,s.enum=[...s.enum,...i.enum],s.enums=[...s.enums,...i.enums],s.exclusiveMaximum=i.exclusiveMaximum,s.exclusiveMinimum=i.exclusiveMinimum,s.export=i.export,s.format=i.format,s.imports=[...s.imports,...i.imports],s.isNullable=s.isNullable||i.isNullable,s.isReadOnly=i.isReadOnly,s.isRequired=s.isRequired||i.isRequired,s.link=i.link,s.maximum=i.maximum,s.maxItems=i.maxItems,s.maxLength=i.maxLength,s.maxProperties=i.maxProperties,s.minimum=i.minimum,s.minItems=i.minItems,s.minLength=i.minLength,s.minProperties=i.minProperties,s.multipleOf=i.multipleOf,s.pattern=Nt(i.pattern),s.properties=[...s.properties,...i.properties],s.template=i.template,s.type=i.type,s.uniqueItems=i.uniqueItems,s})({body:Ht(r,n.requestBody),debug:e,openApi:r,types:s});l.$refs=[...l.$refs,...t.$refs],l.imports=[...l.imports,...t.imports],l.parameters=[...l.parameters,t],l.parametersBody=t}if(n.responses){l.responses=hn({openApi:r,responses:n.responses,types:s});const e=l.responses.filter((e=>e.responseTypes.includes("success")));l.responseHeader=Vt(e),e.forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports]}))}return l.parameters=gn(l.parameters,o.parameters),l.parametersCookie=gn(l.parametersCookie,o.parametersCookie),l.parametersForm=gn(l.parametersForm,o.parametersForm),l.parametersHeader=gn(l.parametersHeader,o.parametersHeader),l.parametersPath=gn(l.parametersPath,o.parametersPath),l.parametersQuery=gn(l.parametersQuery,o.parametersQuery),l.parameters=zt(l.parameters),l},vn=e=>{const t=at(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}=un(e),s=(({openApi:e,types:t})=>{const n=rt(),r=new Map,o=[];for(const s in e.paths){const a=e.paths[s],i=dn({openApi:e,parameters:a.parameters??[],types:t});for(const p in a){const l=p,c=`${l.toUpperCase()} ${s}`;if(st.includes(l)){const p=a[l];p.operationId&&(r.has(p.operationId)?console.warn(`❗️ Duplicate operationId: ${p.operationId} in ${c}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(p.operationId,c));const u=xn({method:l,op:p,openApi:e,pathParams:i,types:t,url:s});n.filterFn?.operation&&!n.filterFn?.operation(u)||o.push(u)}}}return o})({openApi:e,types:o});return{models:r,operations:s,server:n,types:o,version:t}};const bn=({spec:e})=>{const t=e;if("3.1.0"===t.openapi)return(e=>{const t=new Map;for(const n in e.paths){const r=e.paths[n];r.delete&&tt({method:"DELETE",operation:r.delete,operationIds:t,path:n}),r.get&&tt({method:"GET",operation:r.get,operationIds:t,path:n}),r.head&&tt({method:"HEAD",operation:r.head,operationIds:t,path:n}),r.options&&tt({method:"OPTIONS",operation:r.options,operationIds:t,path:n}),r.patch&&tt({method:"PATCH",operation:r.patch,operationIds:t,path:n}),r.post&&tt({method:"POST",operation:r.post,operationIds:t,path:n}),r.put&&tt({method:"PUT",operation:r.put,operationIds:t,path:n}),r.trace&&tt({method:"TRACE",operation:r.trace,operationIds:t,path:n})}})(t);throw new Error("Unsupported OpenAPI specification")},Pn=(e,t)=>{const n=ie();if(Array.isArray(e))return e.map((e=>Pn(e)));if("object"!=typeof e||null===e)return e;const r={...e};return Object.entries(r).forEach((([e,o])=>{"form"===n.schemas.type&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(e)&&"properties"!==t?delete r[e]:("$ref"===e&&"string"==typeof o&&(r[e]=decodeURIComponent(o)),o&&"object"==typeof o&&(r[e]=Pn(o,e)))})),r},Rn=(e,t)=>{const n=ie(),r=At(e);return n.schemas.name?n.schemas.name(r,t):`${r}Schema`},wn=e=>{const t=ie();return"binary"===e.base?et.typeUnionNode({types:["Blob","File"]}):!t.types.dates||"date-time"!==e.format&&"date"!==e.format?et.typeNode(e.base):et.typeNode("Date")},An=({model:e,style:t})=>{const n=e.properties.map((e=>et.nodeToString({node:qn(e),unescape:!0}))).filter(Ct),r="union"===t?et.typeUnionNode({isNullable:e.isNullable,types:n}):et.typeIntersectionNode({isNullable:e.isNullable,types:n});return e.meta?r:et.typeParenthesizedNode({type:r})},qn=e=>{switch(e.export){case"all-of":return An({model:e,style:"intersection"});case"any-of":case"one-of":return An({model:e,style:"union"});case"array":return(e=>{if(e.link){if(Array.isArray(e.link)){const t=e.link.map((e=>qn(e)));return et.typeTupleNode({isNullable:e.isNullable,types:t})}if("array"===e.export&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){const t=Array(e.maxItems).fill(qn(e.link));return et.typeTupleNode({isNullable:e.isNullable,types:t})}return et.typeArrayNode([qn(e.link)],e.isNullable)}return et.typeArrayNode([wn(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link&&!Array.isArray(e.link)?qn(e.link):wn(e);return et.typeRecordNode(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>en(e.value)));return et.typeUnionNode({isNullable:e.isNullable,types:t})})(e);case"interface":return(e=>{if(!e.properties.length)return et.typeNode("unknown");const t=ie(),n=pe(t),r=e.properties.map((e=>{let t=e.isRequired?"":"?",r=qn(e),o=n?ge(xe(On(e.name))):/^\dXX$/.test(e.name)?ge(e.name):e.name;return"[key: string]"===e.name&&(o=e.name,t&&(t="",r=et.typeUnionNode({types:[r,"undefined"]}))),{comment:[e.description&&ve(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:o,type:r}}));return et.typeInterfaceNode({isNullable:e.isNullable,properties:r})})(e);default:return(e=>{const t="null"!==e.base&&e.isNullable;let n=wn(e);if("reference"===e.export&&1===e.$refs.length&&e.$refs[0].startsWith(ct)){const t=Zt(e.base);n=et.typeNode(t.name)}return et.typeUnionNode({isNullable:t,types:[n]})})(e)}},Tn=({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}:Tn({client:e,count:t+1,create:n,meta:r,nameTransformer:o}):n&&(e.types[a]=r,s={created:!0,name:a}),s},On=e=>{const t=ie();if(pe(t))return e;return xt({input:Tt(e)}).replace(pt,"_$1")},kn=({meta:e,onImport:t,...n})=>{if(!e)return{created:!1,name:""};const{created:r,name:o}=Tn({meta:e,...n});return o&&t(o),{created:r,name:o}},En=e=>`${e}ModelResponseTransformer`,$n=e=>`${xt({input:e,pascalCase:!0})}Data`,Cn=e=>`${xt({input:e,pascalCase:!0})}Error`,Sn=e=>`${e}Transformer`,Nn=e=>`${xt({input:e,pascalCase:!0})}Response`,In=(e,t)=>{const n="Options";return t?`${n}<${e||"unknown"}, ${t}>`:e?`${n}<${e}>`:n},Dn=(e,t)=>{const n=ie(),{name:r}=Tn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:$n}),o=Ut(t.parameters);if(pe(n))return[{isRequired:o,name:"options",type:In(r,"ThrowOnError")}];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}}))},_n=(e,t)=>{const n=ie();let r=et.typeNode("void");if(t.responses.filter((e=>e.responseTypes.includes("success"))).length){const{name:n}=Tn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Nn});r=et.typeUnionNode({types:[n]})}return n.useOptions&&"response"===n.services.response&&(r=et.typeNode("ApiResult",[r])),r="legacy/angular"===n.client.name?et.typeNode("Observable",[r]):et.typeNode("CancelablePromise",[r]),r},Hn=e=>{const t=ie();if(pe(t)){return[e.deprecated&&"@deprecated",e.summary&&ve(e.summary),e.description&&ve(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?ve(e.description):""}`))]:e.parameters.map((e=>`@param ${e.name} ${e.description?ve(e.description):""}`)));const r=e.responses.filter((e=>e.responseTypes.includes("success")));return[e.deprecated&&"@deprecated",e.summary&&ve(e.summary),e.description&&ve(e.description),...n,...r.map((e=>`@returns ${e.type} ${e.description?ve(e.description):""}`)),"@throws ApiError"]},jn=(e,t)=>{const n=ie();return n.services.methodNameBuilder?n.services.methodNameBuilder(e):t&&e.name.match(pt)?`${e.name}_`:e.name},Bn=(e,t,n,r)=>{const o=ie(),s=((e,t,n,r)=>{const o=ie(),s=Nn(t.name),{name:a}=Tn({client:e,meta:{$ref:`transformers/${s}`,name:s},nameTransformer:Sn});if(a&&n(a),pe(o)){let e=[{spread:"options"}];const n=t.parameters.filter((e=>"body"===e.in||"formData"===e.in)).map((e=>e.mediaType)).filter(Boolean).filter(Ct);return 1===n.length&&("multipart/form-data"===n[0]&&(e=[...e,{spread:"formDataBodySerializer"},{key:"headers",value:{"Content-Type":null}}],r?.("formDataBodySerializer")),"application/x-www-form-urlencoded"===n[0]&&(e=[...e,{spread:"urlSearchParamsBodySerializer"},{key:"headers",value:{"Content-Type":n[0]}}],r?.("urlSearchParamsBodySerializer"))),e=[...e,{key:"url",value:t.path}],a&&(e=[...e,{key:"responseTransformer",value:a}]),et.objectExpression({identifiers:["responseTransformer"],obj:e})}const i=e=>e.reduce(((e,t)=>{const n=t.prop,r=o.useOptions?`data.${t.name}`:t.name;return n===r?e[n]=n:ge(n)===n?e[n]=r:e[`'${n}'`]=r,e}),{}),p={method:t.method,url:t.path};t.parametersPath.length&&(p.path=i(t.parametersPath)),t.parametersCookie.length&&(p.cookies=i(t.parametersCookie)),t.parametersHeader.length&&(p.headers=i(t.parametersHeader)),t.parametersQuery.length&&(p.query=i(t.parametersQuery)),t.parametersForm.length&&(p.formData=i(t.parametersForm)),t.parametersBody&&("formData"===t.parametersBody.in&&(o.useOptions?p.formData=`data.${t.parametersBody.name}`:p.formData=t.parametersBody.name),"body"===t.parametersBody.in&&(o.useOptions?p.body=`data.${t.parametersBody.name}`:p.body=t.parametersBody.name)),t.parametersBody?.mediaType&&(p.mediaType=t.parametersBody?.mediaType),t.responseHeader&&(p.responseHeader=t.responseHeader),a&&(p.responseTransformer=a);const l=t.responses.filter((e=>e.responseTypes.includes("error")));if(l.length>0){const e={};l.forEach((t=>{e[t.code]=t.description??""})),p.errors=e}return et.objectExpression({identifiers:["body","cookies","formData","headers","path","query","responseTransformer"],obj:p,shorthand:!0})})(e,t,n,r);if(pe(o)){const n=Tn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Cn}).name,r=t.responses.filter((e=>e.responseTypes.includes("success"))).length?Tn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Nn}).name:"void";return[et.returnFunctionCall({args:[s],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:n&&r?[r,n,"ThrowOnError"]:n?["unknown",n,"ThrowOnError"]:r?[r,"unknown","ThrowOnError"]:[]})]}return o.name?[et.returnFunctionCall({args:[s],name:"this.httpRequest.request"})]:"legacy/angular"===o.client.name?[et.returnFunctionCall({args:["OpenAPI","this.http",s],name:"__request"})]:[et.returnFunctionCall({args:["OpenAPI",s],name:"__request"})]},Mn=({client:e,onClientImport:t,onImport:n,onNode:r,service:o})=>{const s=ie(),a=pe(s);for(const t of o.operations){t.parameters.length&&kn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:$n,onImport:n}),a&&kn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Cn,onImport:n});t.responses.filter((e=>e.responseTypes.includes("success"))).length&&kn({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Nn,onImport:n})}const i={default:!1,extends:"boolean",name:"ThrowOnError"};if(!s.services.asClass&&!s.name){for(const p of o.operations){const o={parameters:Dn(e,p),returnType:a?void 0:_n(e,p),statements:Bn(e,p,n,t),types:a?[i]:void 0},l="legacy/angular"===s.client.name?et.anonymousFunction(o):et.arrowFunction(o);r(et.constVariable({comment:Hn(p),exportConst:!0,expression:l,name:jn(p,!0)}))}return}let p=o.operations.map((r=>et.methodDeclaration({accessLevel:"public",comment:Hn(r),isStatic:void 0===s.name&&"legacy/angular"!==s.client.name,name:jn(r,!1),parameters:Dn(e,r),returnType:a?void 0:_n(e,r),statements:Bn(e,r,n,t),types:a?[i]:void 0})));if(!p.length)return;s.name?p=[et.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]}),...p]:"legacy/angular"===s.client.name&&(p=[et.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}),...p]);r(et.classDeclaration({decorator:"legacy/angular"===s.client.name?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:p,name:vt(o.name)}))},Ln=async({client:e,files:t})=>{const n=ie();if(!n.services.export)return;(({files:e})=>{if(!ie().client.name)throw new Error("🚫 client needs to be set to generate services - which HTTP client do you want to use?");if(!e.types)throw new Error("🚫 types need to be exported to generate services - enable type generation")})({files:t});const r=pe(n);if(t.services=new Ze({dir:n.output.path,name:"services.ts"}),r?(t.services.import({module:ye(),name:"createClient"}),t.services.import({module:ye(),name:"createConfig"}),t.services.import({asType:!0,module:ye(),name:"Options"})):("legacy/angular"===n.client.name?(t.services.import({module:"@angular/core",name:"Injectable"}),n.name||t.services.import({module:"@angular/common/http",name:"HttpClient"}),t.services.import({asType:!0,module:"rxjs",name:"Observable"})):t.services.import({asType:!0,module:"./core/CancelablePromise",name:"CancelablePromise"}),"response"===n.services.response&&t.services.import({asType:!0,module:"./core/ApiResult",name:"ApiResult"}),n.name?t.services.import({asType:"legacy/angular"!==n.client.name,module:"./core/BaseHttpRequest",name:"BaseHttpRequest"}):(t.services.import({module:"./core/OpenAPI",name:"OpenAPI"}),t.services.import({alias:"__request",module:"./core/request",name:"request"}))),r){const e=et.constVariable({exportConst:!0,expression:et.callExpression({functionName:"createClient",parameters:[et.callExpression({functionName:"createConfig"})]}),name:"client"});t.services.add(e)}for(const n of e.services)Mn({client:e,onClientImport:e=>{t.services.import({module:ye(),name:e})},onImport:e=>{t.services.import({asType:!e.endsWith("Transformer"),module:`./${t.types.getName(!1)}`,name:e})},onNode:e=>{t.services.add(e)},service:n})},Fn={$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:""},Vn=({comment:e,meta:t,onCreated:n,onNode:r,type:o,...s})=>{if(!t)return{created:!1,name:""};const a=Tn({create:!0,meta:t,...s}),{created:i,name:p}=a;if(i){r(et.typeAliasDeclaration({comment:e,exportType:!0,name:p,type:o})),n?.(p)}return a},Un=({client:e,model:t,onNode:n})=>{const r=ie(),o={},s={};t.enum.forEach((e=>{const{key:t,value:n}=tn(e);o[t]=n;const r=e.customDescription||e.description;r&&(s[t]=[ve(r)])}));const a=[t.description&&ve(t.description),t.deprecated&&"@deprecated"];var i;"typescript"!==r.types.enums&&"typescript+namespace"!==r.types.enums?Vn({client:e,comment:a,meta:t.meta,onCreated:e=>{if("javascript"===r.types.enums){const t=et.objectExpression({multiLine:!0,obj:Object.entries(o).map((([e,t])=>({comments:s[e],key:e,value:t}))),unescape:!0}),r=et.constVariable({assertion:"const",comment:a,exportConst:!0,expression:t,name:e});n(r)}},onNode:n,type:(i=t.enum,i.map((e=>en(e.value,!0))).filter(Ct).join(" | "))}):(({leadingComment:e,comments:t,meta:n,obj:r,onNode:o,...s})=>{if(!n)return;const{created:a,name:i}=Tn({create:!0,meta:n,...s});a&&o(et.enumDeclaration({comments:t,leadingComment:e,name:i,obj:r}))})({client:e,comments:s,leadingComment:a,meta:t.meta,obj:o,onNode:n})},Kn=({model:e,onNode:t})=>{const n={},r={};e.enum.forEach((e=>{const{key:t,value:o}=tn(e);n[t]=o;const s=e.customDescription||e.description;s&&(r[t]=[ve(s)])})),t(et.enumDeclaration({comments:r,leadingComment:[e.description&&ve(e.description),e.deprecated&&"@deprecated"],name:e.meta?.name||e.name,obj:n}))},Wn=({client:e,model:t,onNode:n})=>{Vn({client:e,comment:[t.description&&ve(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:n,type:qn(t)})},Qn=e=>{switch(e.model.export){case"all-of":case"any-of":case"one-of":case"interface":return(e=>{const t=ie(),n=[];Wn(e),e.model.enums.forEach((r=>"typescript+namespace"!==t.types.enums?Un({...e,model:r}):Kn({...e,model:r,onNode:e=>{n.push(e)}}))),n.length&&e.onNode(et.namespaceDeclaration({name:e.model.name,statements:n}))})(e);case"enum":return Un(e);default:return Wn(e)}},Xn=async({client:e,files:t})=>{const n=ie();n.types.export&&(t.types=new Ze({dir:n.output.path,name:"types.ts"}));const r=e=>{t.types?.add(e)};for(const t of e.models)Qn({client:e,model:t,onNode:r});(({client:e,onNode:t})=>{const n={},r=ie();if(!r.services.export&&!r.types.tree)return;const o=pe(r);for(const r of e.services)for(const s of r.operations){if(!s.parameters.length&&!s.responses.length)continue;n[s.path]||(n[s.path]={});const r=n[s.path];r[s.method]||(r[s.method]={});const a=r[s.method];if(a.$ref=s.name,s.responses.length>0){if(a.res||(a.res={}),Array.isArray(a.res))continue;s.responses.forEach((e=>{a.res[e.code]=e}))}if(s.parameters.length>0){let n=s.parameters.find((e=>"body"===e.in));n||(n=s.parameters.find((e=>"formData"===e.in)));const r={mediaType:null,...Fn,...n,in:"body",isRequired:!!n&&n.isRequired,name:"body",prop:"body"},i={...Fn,in:"header",isRequired:Ut(s.parameters.filter((e=>"header"===e.in))),mediaType:null,name:o?"headers":"header",prop:o?"headers":"header",properties:s.parameters.filter((e=>"header"===e.in)).sort(ue)},p={...Fn,in:"path",isRequired:Ut(s.parameters.filter((e=>"path"===e.in))),mediaType:null,name:"path",prop:"path",properties:s.parameters.filter((e=>"path"===e.in)).sort(ue)},l={...Fn,in:"query",isRequired:Ut(s.parameters.filter((e=>"query"===e.in))),mediaType:null,name:"query",prop:"query",properties:s.parameters.filter((e=>"query"===e.in)).sort(ue)},c=o?[r,i,p,l].filter((e=>e.properties.length||e.$refs.length||e.mediaType)):me([...s.parameters]);a.req=c,Vn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:$n,onNode:t,type:qn({...Fn,isRequired:!0,properties:c})})}const i=s.responses.filter((e=>e.responseTypes.includes("success")));if(i.length>0){Vn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:Nn,onNode:t,type:qn({...Fn,export:"any-of",isRequired:!0,properties:i})});const n=s.responses.filter((e=>e.responseTypes.includes("error")));o&&Vn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:Cn,onNode:t,type:qn(n.length?{...Fn,export:"one-of",isRequired:!0,properties:n}:{...Fn,base:"unknown",isRequired:!0,type:"unknown"})})}}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}=Tn({client:e,meta:{$ref:t,name:t},nameTransformer:$n}),s={...Fn,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])=>({...Fn,...t,isRequired:!0,name:String(e)}))),t={...Fn,isRequired:!0,name:"res",properties:e};o=[...o,t]}return{...Fn,isRequired:!0,name:r.toLocaleLowerCase(),properties:o}})).filter(Boolean);return{...Fn,isRequired:!0,name:`'${t}'`,properties:r}}));r.types.tree&&Vn({client:e,meta:{$ref:"@hey-api/openapi-ts",name:"$OpenApiTs"},onNode:t,type:qn({...Fn,properties:s})})})({client:e,onNode:r})},zn="data",Gn=e=>"unknown"===e.base&&"generic"===e.export&&"unknown"===e.type,Jn=({client:e,model:t})=>t.$refs.map((t=>{const n=e.models.find((e=>e.meta?.$ref===t));if(!n)throw new Error(`Ref ${t} could not be found. Transformers cannot be generated without having access to all refs.`);return n})),Yn=e=>{const t=e.model.meta.name,{name:n}=Vn({...e,meta:{$ref:`transformers/${t}`,name:t},nameTransformer:En,onCreated:n=>{const r=Zn({...e,meta:{$ref:`transformers/${t}`,name:n},path:[zn]});er({...e,async:!1,name:n,statements:r})},type:`(${zn}: any) => ${t}`});return{created:Boolean(e.client.types[n]),name:n}},Zn=e=>{const{model:t}=e;switch(t.export){case"array":return(e=>{const{model:t}=e,n=Jn(e);if(1===n.length){const{created:t,name:r}=Yn({...e,model:n[0]});return t?[et.transformArrayMutation({path:e.path,transformerName:r})]:[]}return"date"===t.format||"date-time"===t.format?[et.transformArrayMap({path:e.path,transformExpression:et.transformNewDate({parameterName:"item"})})]:[]})(e);case"interface":return t.properties.flatMap((t=>(e=>{const{model:t}=e,n=[...e.path,t.name];return"string"!==t.type||"array"===t.export||"date-time"!==t.format&&"date"!==t.format?Zn({...e,model:t,path:n}):[et.transformDateMutation({path:n})]})({...e,model:t})));case"reference":{if(1!==t.$refs.length)return[];const n=Jn(e),{created:r,name:o}=Yn({...e,model:n[0]});return r?"response"===t.in?[et.expressionToStatement({expression:et.callExpression({functionName:o,parameters:[zn]})})]:et.transformFunctionMutation({path:e.path,transformerName:o}):[]}default:return[]}},er=({async:e,client:t,name:n,onNode:r,onRemoveNode:o,statements:s})=>{const a={created:!1,name:n};if(!s.length)return(({client:e,name:t})=>{let n={deleted:!1,name:""};e.types[t]&&(delete e.types[t],n={deleted:!0,name:t})})({client:t,name:n}),o?.(),a;const i=et.arrowFunction({async:e,multiLine:!0,parameters:[{name:zn}],statements:[...s,et.returnVariable({name:zn})]});return r(et.constVariable({exportConst:!0,expression:i,name:n,typeName:n})),{created:!0,name:n}},tr=async(t,n,r)=>{const o=ie();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 a=e.resolve(o.output.path),p={};await(async(t,n)=>{const r=ie();if(!pe(r)||!r.client.bundle)return;const o=e.resolve(t,"core");de(o);const a=e.normalize(fe.resolve(n)).split(e.sep),i=[...a.slice(0,a.indexOf("dist")),"src"].join(e.sep);["index.ts","types.ts","utils.ts"].forEach((t=>{s.copyFileSync(e.resolve(i,t),e.resolve(o,t))}));const p=s.readFileSync(e.resolve(i,"node","index.ts"),"utf-8").replaceAll("../","./core/");s.writeFileSync(e.resolve(t,"client.ts"),p,"utf-8")})(a,o.client.name),await Xn({client:n,files:p}),await(async({files:e,openApi:t})=>{const n=ie();if(!n.schemas.export)return;e.schemas=new Ze({dir:n.output.path,name:"schemas.ts"});const r=(t,n)=>{const r=Pn(n),o=et.objectExpression({obj:r}),s=et.constVariable({assertion:"const",exportConst:!0,expression:o,name:Rn(t,n)});e.schemas.add(s)};"swagger"in t&&Object.entries(t.definitions??{}).forEach((([e,t])=>{r(e,t)})),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach((([e,t])=>{r(e,t)}))})({files:p,openApi:t}),o.services.export&&n.services.length&&"types+transform"===o.types.dates&&await(async({client:e,onNode:t,onRemoveNode:n})=>{const r=ie();for(const o of e.services)for(const s of o.operations){const o=s.responses.filter((e=>e.responseTypes.includes("success")));if(!o.length)continue;const a=o.filter((e=>!Gn(e)));if(!a.length)continue;if(a.length>1){r.debug&&console.warn(`❗️ Transformers warning: route ${s.method} ${s.path} has ${a.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);continue}const p=Nn(s.name);Vn({client:e,meta:{$ref:`transformers/${p}`,name:p},nameTransformer:Sn,onCreated:r=>{const s=o.length>1?o.flatMap((r=>{const o=Zn({client:e,meta:{$ref:`transformers/${p}`,name:p},model:r,onNode:t,onRemoveNode:n,path:[zn]});return o.length?[et.ifStatement({expression:et.safeAccessExpression(["data"]),thenStatement:i.factory.createBlock(o)})]:[]})):Zn({client:e,meta:{$ref:`transformers/${p}`,name:p},model:o[0],onNode:t,onRemoveNode:n,path:[zn]});er({async:!0,client:e,name:r,onNode:t,onRemoveNode:n,statements:s})},onNode:t,type:`(${zn}: any) => Promise<${p}>`})}})({client:n,onNode:e=>{p.types?.add(e)},onRemoveNode:()=>{p.types?.removeNode()}}),await Ln({client:n,files:p}),await(async(t,n,r,o)=>{const a=ie(),i=o.client({$config:a,...r,httpRequest:le(a.client),models:me(r.models),services:me(r.services)});a.name&&(de(n),s.writeFileSync(e.resolve(n,`${a.name}.ts`),i))})(0,a,n,r),await(async(t,n,r)=>{const o=ie();if(o.exportCore){const a={httpRequest:le(o.client),server:void 0!==o.base?o.base:n.server,version:n.version};if(s.rmSync(e.resolve(t),{force:!0,recursive:!0}),s.mkdirSync(e.resolve(t),{recursive:!0}),await s.writeFileSync(e.resolve(t,"OpenAPI.ts"),r.core.settings({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiError.ts"),r.core.apiError({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiResult.ts"),r.core.apiResult({$config:o,...a})),"legacy/angular"!==o.client.name&&await s.writeFileSync(e.resolve(t,"CancelablePromise.ts"),r.core.cancelablePromise({$config:o,...a})),await s.writeFileSync(e.resolve(t,"request.ts"),r.core.request({$config:o,...a})),o.name&&(await s.writeFileSync(e.resolve(t,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:o,...a})),await s.writeFileSync(e.resolve(t,`${a.httpRequest}.ts`),r.core.httpRequest({$config:o,...a}))),o.request){const n=e.resolve(process.cwd(),o.request);if(!await s.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await s.copyFileSync(n,e.resolve(t,"request.ts"))}}})(e.resolve(o.output.path,"core"),n,r),await(async({files:e})=>{const t=ie();e.index=new Ze({dir:t.output.path,name:"index.ts"}),t.name&&e.index.add(et.exportNamedDeclaration({exports:t.name,module:`./${t.name}`})),t.exportCore&&(e.index.add(et.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),"response"===t.services.response&&e.index.add(et.exportNamedDeclaration({exports:{asType:!0,name:"ApiResult"},module:"./core/ApiResult"})),t.name&&e.index.add(et.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),"legacy/angular"!==t.client.name&&e.index.add(et.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(et.exportNamedDeclaration({exports:["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach((t=>{const n=e[t];"index"===t||n.isEmpty()||e.index.add(et.exportAllDeclaration({module:`./${n.getName(!1)}`}))}))})({files:p}),await(async({client:t,files:n})=>{const r=ie();if(pe(r))for(const o of r.plugins){const s=o.output.split("/"),a=e.resolve(r.output.path,...s.slice(0,s.length-1));n[o.name]=new Ze({dir:a,name:`${s[s.length-1]}.ts`}),o.handler({client:t,files:n,outputParts:s,plugin:o})}})({client:n,files:p}),Object.entries(p).forEach((([e,t])=>{"index"===e?t.write():t.write("\n\n")}))},nr=e=>`${jn(e,!1)}InfiniteOptions`,rr=e=>`${jn(e,!1)}Mutation`,or=e=>`${jn(e,!1)}Options`,sr=(e,t)=>`${jn(e,!1)}${t?"Infinite":""}QueryKey`,ar=e=>{switch(e.in){case"formData":return"body";case"header":return"headers";default:return e.in}},ir=/^(cursor|offset|page|start)/,pr="createQueryKey",lr="infiniteQueryOptions",cr="mutationOptions",ur="QueryKey",mr="queryOptions",dr="TOptions",fr=()=>"@hey-api/client-axios"===ie().client.name?"baseURL":"baseUrl",yr=({file:e})=>{const t=et.indexedAccessTypeNode({indexType:et.typeNode(0),objectType:et.typeNode(ur,[et.typeNode(dr)])}),n=et.identifier({text:"infinite"}),r=et.constVariable({expression:et.arrowFunction({multiLine:!0,parameters:[{name:"id",type:et.typeNode("string")},{isRequired:!1,name:"options",type:et.typeNode(dr)},{isRequired:!1,name:"infinite",type:et.typeNode("boolean")}],returnType:t,statements:[et.constVariable({assertion:t,expression:et.objectExpression({multiLine:!1,obj:[{key:"_id",value:et.identifier({text:"id"})},{key:fr(),value:et.identifier({text:`(options?.client ?? client).getConfig().${fr()}`})}]}),name:"params",typeName:t}),et.ifStatement({expression:n,thenStatement:i.factory.createBlock([et.expressionToStatement({expression:et.binaryExpression({left:et.propertyAccessExpression({expression:"params",name:"_infinite"}),right:n})})],!0)}),et.ifStatement({expression:et.propertyAccessExpression({expression:et.identifier({text:"options"}),isOptional:!0,name:et.identifier({text:"body"})}),thenStatement:i.factory.createBlock([et.expressionToStatement({expression:et.binaryExpression({left:et.propertyAccessExpression({expression:"params",name:"body"}),right:et.propertyAccessExpression({expression:"options",name:"body"})})})],!0)}),et.ifStatement({expression:et.propertyAccessExpression({expression:et.identifier({text:"options"}),isOptional:!0,name:et.identifier({text:"headers"})}),thenStatement:i.factory.createBlock([et.expressionToStatement({expression:et.binaryExpression({left:et.propertyAccessExpression({expression:"params",name:"headers"}),right:et.propertyAccessExpression({expression:"options",name:"headers"})})})],!0)}),et.ifStatement({expression:et.propertyAccessExpression({expression:et.identifier({text:"options"}),isOptional:!0,name:et.identifier({text:"path"})}),thenStatement:i.factory.createBlock([et.expressionToStatement({expression:et.binaryExpression({left:et.propertyAccessExpression({expression:"params",name:"path"}),right:et.propertyAccessExpression({expression:"options",name:"path"})})})],!0)}),et.ifStatement({expression:et.propertyAccessExpression({expression:et.identifier({text:"options"}),isOptional:!0,name:et.identifier({text:"query"})}),thenStatement:i.factory.createBlock([et.expressionToStatement({expression:et.binaryExpression({left:et.propertyAccessExpression({expression:"params",name:"query"}),right:et.propertyAccessExpression({expression:"options",name:"query"})})})],!0)}),et.returnVariable({name:"params"})],types:[{extends:et.typeReferenceNode({typeName:et.identifier({text:"Options"})}),name:dr}]}),name:pr});e.add(r)},hr=({file:e})=>{const t=[{name:"_id",type:et.keywordTypeNode({keyword:"string"})},{isRequired:!1,name:"_infinite",type:et.keywordTypeNode({keyword:"boolean"})}],n=et.typeAliasDeclaration({name:ur,type:et.typeTupleNode({types:[et.typeIntersectionNode({types:[et.typeReferenceNode({typeName:`Pick<${dr}, '${fr()}' | 'body' | 'headers' | 'path' | 'query'>`}),et.typeInterfaceNode({properties:t})]})]}),typeParameters:[{extends:et.typeReferenceNode({typeName:et.identifier({text:"Options"})}),name:dr}]});e.add(n)},gr=({client:e,file:t,operation:n,typesModulePath:r})=>{const{name:o}=kn({client:e,meta:n.parameters.length?{$ref:n.name,name:n.name}:void 0,nameTransformer:$n,onImport:e=>{t.import({asType:!0,module:r,name:e})}});return{typeData:In(o)}},xr=({client:e,file:t,operation:n,pluginName:r,typesModulePath:o})=>{const s=ie(),{name:a}=kn({client:e,meta:{$ref:n.name,name:n.name},nameTransformer:Cn,onImport:e=>{t.import({asType:!0,module:o,name:e})}});let i={asType:!0,name:a};if(i.name||(i=t.import({asType:!0,module:r,name:"DefaultError"})),"@hey-api/client-axios"===s.client.name){const e=t.import({asType:!0,module:"axios",name:"AxiosError"});i={...e,name:`${e.name}<${i.name}>`}}return{typeError:i}},vr=({client:e,file:t,operation:n,typesModulePath:r})=>{const{name:o}=kn({client:e,meta:{$ref:n.name,name:n.name},nameTransformer:Nn,onImport:e=>{t.import({asType:!0,module:r,name:e})}});return{typeResponse:o||"void"}},br=({isInfinite:e,operation:t})=>et.arrayLiteralExpression({elements:[et.callExpression({functionName:pr,parameters:[et.stringLiteral({text:t.name}),"options",e?et.ots.boolean(!0):void 0]})],multiLine:!1}),Pr=({client:e,files:t,outputParts:n,plugin:r})=>{if("@tanstack/react-query"!==r.name&&"@tanstack/solid-query"!==r.name&&"@tanstack/svelte-query"!==r.name&&"@tanstack/vue-query"!==r.name)return;(({files:e})=>{if(!e.services)throw new Error("🚫 services need to be exported to use TanStack Query plugin - enable service generation")})({files:t});const o=t[r.name];o.import({asType:!0,module:ye(),name:"Options"});const s=new Array(n.length).fill("").join("../")||"./",a=s+t.types.getName(!1),i="@tanstack/svelte-query"===r.name||"@tanstack/solid-query"===r.name?"MutationOptions":"UseMutationOptions";let p,l=!1,c=!1,u=!1,m=!1;for(const n of e.services)for(const d of n.operations){const n=jn(d,!0);let f=!1;if(r.queryOptions&&["GET","POST"].includes(d.method)){m||(m=!0,l||(hr({file:o}),yr({file:o}),l=!0),o.import({module:r.name,name:mr})),f=!0;const{typeData:t}=gr({client:e,file:o,operation:d,typesModulePath:a}),s=Ut(d.parameters),i=et.constVariable({exportConst:!0,expression:et.arrowFunction({parameters:[{isRequired:s,name:"options",type:t}],statements:br({operation:d})}),name:sr(d)});o.add(i);const p=et.arrowFunction({parameters:[{isRequired:s,name:"options",type:t}],statements:[et.returnFunctionCall({args:[et.objectExpression({obj:[{key:"queryFn",value:et.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"queryKey"}]}],statements:[et.constVariable({destructure:!0,expression:et.awaitExpression({expression:et.callExpression({functionName:n,parameters:[et.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),et.returnVariable({name:"data"})]})},{key:"queryKey",value:et.callExpression({functionName:sr(d),parameters:["options"]})}]})],name:mr})]}),c=et.constVariable({comment:[],exportConst:!0,expression:p,name:or(d)});o.add(c)}if(r.infiniteQueryOptions&&["GET","POST"].includes(d.method)){let t;const s=d.parameters.find((n=>{if(ir.lastIndex=0,ir.test(n.name))return t=n,!0;if("body"===n.in){if("reference"===n.export){const r=n.$refs[0],o=e.models.find((e=>e.meta?.$ref===r));return o?.properties.find((e=>{if(ir.lastIndex=0,ir.test(e.name))return t=e,!0}))}return n.properties.find((e=>{if(ir.lastIndex=0,ir.test(e.name))return t=e,!0}))}}));if(s&&t){c||(c=!0,l||(hr({file:o}),yr({file:o}),l=!0),o.import({module:r.name,name:lr}),p=o.import({asType:!0,module:r.name,name:"InfiniteData"})),f=!0;const{typeData:i}=gr({client:e,file:o,operation:d,typesModulePath:a}),{typeError:u}=xr({client:e,file:o,operation:d,pluginName:r.name,typesModulePath:a}),{typeResponse:m}=vr({client:e,file:o,operation:d,typesModulePath:a}),y=Ut(d.parameters),h=`${ur}<${i}>`,g=`Pick<${h}[0], 'body' | 'headers' | 'path' | 'query'>`,x=`${t.base} | ${g}`,v=et.constVariable({exportConst:!0,expression:et.arrowFunction({parameters:[{isRequired:y,name:"options",type:i}],returnType:h,statements:br({isInfinite:!0,operation:d})}),name:sr(d,!0)});o.add(v);const b=et.arrowFunction({parameters:[{isRequired:y,name:"options",type:i}],statements:[et.returnFunctionCall({args:[et.objectExpression({comments:[{jsdoc:!1,lines:["@ts-ignore"]}],obj:[{key:"queryFn",value:et.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"pageParam"},{name:"queryKey"}]}],statements:[et.constVariable({comment:[{jsdoc:!1,lines:["@ts-ignore"]}],expression:et.conditionalExpression({condition:et.binaryExpression({left:et.typeOfExpression({text:"pageParam"}),operator:"===",right:et.stringLiteral({text:"object"})}),whenFalse:et.objectExpression({multiLine:!0,obj:[{key:ar(s),value:et.objectExpression({multiLine:!0,obj:[{key:t.name,value:et.identifier({text:"pageParam"})}]})}]}),whenTrue:et.identifier({text:"pageParam"})}),name:"page",typeName:g}),et.constVariable({destructure:!0,expression:et.awaitExpression({expression:et.callExpression({functionName:n,parameters:[et.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"body",value:et.objectExpression({multiLine:!0,obj:[{assertion:"any",spread:"queryKey[0].body"},{assertion:"any",spread:"page.body"}]})},{key:"headers",value:et.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].headers"},{spread:"page.headers"}]})},{key:"path",value:et.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].path"},{spread:"page.path"}]})},{key:"query",value:et.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].query"},{spread:"page.query"}]})},{key:"throwOnError",value:!0}]})]})}),name:"data"}),et.returnVariable({name:"data"})]})},{key:"queryKey",value:et.callExpression({functionName:sr(d,!0),parameters:["options"]})}]})],name:lr,types:[m,u.name,`${"string"==typeof p?p:p.name}<${m}>`,h,x]})]}),P=et.constVariable({comment:[],exportConst:!0,expression:b,name:nr(d)});o.add(P)}}if(r.mutationOptions&&["DELETE","PATCH","POST","PUT"].includes(d.method)){u||(u=!0,o.import({asType:!0,module:r.name,name:i})),f=!0;const{typeData:t}=gr({client:e,file:o,operation:d,typesModulePath:a}),{typeError:s}=xr({client:e,file:o,operation:d,pluginName:r.name,typesModulePath:a}),{typeResponse:p}=vr({client:e,file:o,operation:d,typesModulePath:a}),l=et.arrowFunction({statements:[et.constVariable({expression:et.objectExpression({obj:[{key:"mutationFn",value:et.arrowFunction({async:!0,multiLine:!0,parameters:[{name:"options"}],statements:[et.constVariable({destructure:!0,expression:et.awaitExpression({expression:et.callExpression({functionName:n,parameters:[et.objectExpression({multiLine:!0,obj:[{spread:"options"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),et.returnVariable({name:"data"})]})}]}),name:cr,typeName:`${i}<${p}, ${s.name}, ${t}>`}),et.returnVariable({name:cr})]}),c=et.constVariable({comment:[],exportConst:!0,expression:l,name:rr(d)});o.add(c)}const y=s+t.services.getName(!1);(m||c)&&o.import({module:y,name:"client"}),f&&o.import({module:y,name:n})}},Rr={"@hey-api/schemas":{handler:()=>{},name:"@hey-api/schemas",output:"schemas"},"@hey-api/services":{handler:()=>{},name:"@hey-api/services",output:"services"},"@hey-api/types":{handler:()=>{},name:"@hey-api/types",output:"types"},"@tanstack/react-query":{handler:Pr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/react-query",output:"@tanstack/react-query",queryOptions:!0},"@tanstack/solid-query":{handler:Pr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/solid-query",output:"@tanstack/solid-query",queryOptions:!0},"@tanstack/svelte-query":{handler:Pr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/svelte-query",output:"@tanstack/svelte-query",queryOptions:!0},"@tanstack/vue-query":{handler:Pr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/vue-query",output:"@tanstack/vue-query",queryOptions:!0}},wr=["@hey-api/client-axios","@hey-api/client-fetch","legacy/angular","legacy/axios","legacy/fetch","legacy/node","legacy/xhr"];var Ar={exports:{}},qr={},Tr={__esModule:!0};Tr.extend=Cr,Tr.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Tr.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(!Er.test(e))return e;return e.replace(kr,$r)},Tr.isEmpty=function(e){return!e&&0!==e||!(!Ir(e)||0!==e.length)},Tr.createFrame=function(e){var t=Cr({},e);return t._parent=e,t},Tr.blockParams=function(e,t){return e.path=t,e},Tr.appendContextPath=function(e,t){return(e?e+".":"")+t};var Or={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},kr=/[&<>"'`=]/g,Er=/[&<>"'`=]/;function $r(e){return Or[e]}function Cr(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 Sr=Object.prototype.toString;Tr.toString=Sr;var Nr=function(e){return"function"==typeof e};Nr(/x/)&&(Tr.isFunction=Nr=function(e){return"function"==typeof e&&"[object Function]"===Sr.call(e)}),Tr.isFunction=Nr;var Ir=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===Sr.call(e)};Tr.isArray=Ir;var Dr={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}(Dr,Dr.exports);var _r=Dr.exports,Hr={},jr={exports:{}};!function(e,t){t.__esModule=!0;var n=Tr;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}(jr,jr.exports);var Br=jr.exports,Mr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Tr,o=(n=_r)&&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}(Mr,Mr.exports);var Lr=Mr.exports,Fr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=_r)&&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}(Fr,Fr.exports);var Vr=Fr.exports,Ur={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Tr,o=(n=_r)&&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}(Ur,Ur.exports);var Kr=Ur.exports,Wr={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}(Wr,Wr.exports);var Qr=Wr.exports,Xr={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}(Xr,Xr.exports);var zr=Xr.exports,Gr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Tr,o=(n=_r)&&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}(Gr,Gr.exports);var Jr=Gr.exports;function Yr(e){return e&&e.__esModule?e:{default:e}}Hr.__esModule=!0,Hr.registerDefaultHelpers=function(e){Zr.default(e),eo.default(e),to.default(e),no.default(e),ro.default(e),oo.default(e),so.default(e)},Hr.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var Zr=Yr(Br),eo=Yr(Lr),to=Yr(Vr),no=Yr(Kr),ro=Yr(Qr),oo=Yr(zr),so=Yr(Jr);var ao={},io={exports:{}};!function(e,t){t.__esModule=!0;var n=Tr;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}(io,io.exports);var po=io.exports;ao.__esModule=!0,ao.registerDefaultDecorators=function(e){co.default(e)};var lo,co=(lo=po)&&lo.__esModule?lo:{default:lo};var uo={exports:{}};!function(e,t){t.__esModule=!0;var n=Tr,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}(uo,uo.exports);var mo=uo.exports,fo={},yo={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return ho.extend.apply(void 0,[Object.create(null)].concat(t))}},ho=Tr;fo.__esModule=!0,fo.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:go.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:go.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},fo.resultIsAllowed=function(e,t,n){return bo("function"==typeof e?t.methods:t.properties,n)},fo.resetLoggedProperties=function(){Object.keys(vo).forEach((function(e){delete vo[e]}))};var go=yo,xo=function(e){return e&&e.__esModule?e:{default:e}}(mo),vo=Object.create(null);function bo(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==vo[e]&&(vo[e]=!0,xo.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 Po(e){return e&&e.__esModule?e:{default:e}}qr.__esModule=!0,qr.HandlebarsEnvironment=Eo;var Ro=Tr,wo=Po(_r),Ao=Hr,qo=ao,To=Po(mo),Oo=fo;qr.VERSION="4.7.8";qr.COMPILER_REVISION=8;qr.LAST_COMPATIBLE_COMPILER_REVISION=7;qr.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 ko="[object Object]";function Eo(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},Ao.registerDefaultHelpers(this),qo.registerDefaultDecorators(this)}Eo.prototype={constructor:Eo,logger:To.default,log:To.default.log,registerHelper:function(e,t){if(Ro.toString.call(e)===ko){if(t)throw new wo.default("Arg not supported with multiple helpers");Ro.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(Ro.toString.call(e)===ko)Ro.extend(this.partials,e);else{if(void 0===t)throw new wo.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(Ro.toString.call(e)===ko){if(t)throw new wo.default("Arg not supported with multiple decorators");Ro.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){Oo.resetLoggedProperties()}};var $o=To.default.log;qr.log=$o,qr.createFrame=Ro.createFrame,qr.logger=To.default;var Co={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}(Co,Co.exports);var So=Co.exports,No={},Io={};Io.__esModule=!0,Io.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)}},No.__esModule=!0,No.checkRevision=function(e){var t=e&&e[0]||1,n=Ho.COMPILER_REVISION;if(t>=Ho.LAST_COMPATIBLE_COMPILER_REVISION&&t<=Ho.COMPILER_REVISION)return;if(t<Ho.LAST_COMPATIBLE_COMPILER_REVISION){var r=Ho.REVISION_CHANGES[n],o=Ho.REVISION_CHANGES[t];throw new _o.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 _o.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},No.template=function(e,t){if(!t)throw new _o.default("No environment passed to template");if(!e||!e.main)throw new _o.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 _o.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)||Mo.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:Do.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Do.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Do.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 _o.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=Lo(this,e,a,t,n,r,o):s||(s=this.programs[e]=Lo(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=Do.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?Ho.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=Vo(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=Do.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 Bo.wrapHelper(e,(function(e){return Do.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=Do.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=Mo.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;jo.moveHelperToHooks(r,"helperMissing",a),jo.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new _o.default("must pass block params");if(e.useDepths&&!s)throw new _o.default("must pass parent depths");return Lo(r,t,e[t],n,0,o,s)},o},No.wrapProgram=Lo,No.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},No.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!==Fo&&function(){n.data=Ho.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=Ho.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Do.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new _o.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},No.noop=Fo;var Do=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}(Tr),_o=function(e){return e&&e.__esModule?e:{default:e}}(_r),Ho=qr,jo=Hr,Bo=Io,Mo=fo;function Lo(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=Vo(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function Fo(){return""}function Vo(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Do.extend(t,a)}return t}var Uo={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}(Uo,Uo.exports);var Ko=Uo.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(qr),s=n(So),a=n(_r),i=r(Tr),p=r(No),l=n(Ko);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}(Ar,Ar.exports);var Wo=m(Ar.exports.default),Qo={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},Xo={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => {\n\treturn forkJoin({\n\t\t// @ts-ignore\n\t\ttoken: resolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tusername: resolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tpassword: resolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},zo={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},Go={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},Jo={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},Yo={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<T>): 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\n\t\t\tlet transformedBody = responseBody;\n\t\t\tif (options.responseTransformer && response.ok) {\n\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t}\n\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 ?? transformedBody,\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},Zo={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions<T>,\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},es={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},ts={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiRequestOptions<T = unknown> = {\n\treadonly body?: any;\n\treadonly cookies?: Record<string, unknown>;\n\treadonly errors?: Record<number | string, string>;\n\treadonly formData?: Record<string, unknown> | any[] | Blob | File;\n\treadonly headers?: Record<string, unknown>;\n\treadonly mediaType?: string;\n\treadonly method:\n\t\t| 'DELETE'\n\t\t| 'GET'\n\t\t| 'HEAD'\n\t\t| 'OPTIONS'\n\t\t| 'PATCH'\n\t\t| 'POST'\n\t\t| 'PUT';\n\treadonly path?: Record<string, unknown>;\n\treadonly query?: Record<string, unknown>;\n\treadonly responseHeader?: string;\n\treadonly responseTransformer?: (data: unknown) => Promise<T>;\n\treadonly url: string;\n};"},useData:!0},ns={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},rs={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Record<string, string>> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},os={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},ss={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},as={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},is={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<T>, 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:136},end:{line:67,column:222}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && isSuccess(response.status)) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:100,column:12},end:{line:100,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},ps={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions<T>,\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},ls={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<T>): Observable<T>;\n"},11:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions<T>): 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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},cs={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},us={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},ms={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},ds={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},fs={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},ys={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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<T>): 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:100},end:{line:65,column:186}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && response.ok) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:98,column:12},end:{line:98,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},hs={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(a(o,"root"),"$config"),"client"),"name"),"legacy/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},gs={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},xs={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},vs={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},bs={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},Ps={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},Rs={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},ws={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},As={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},qs={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},Ts={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},Os={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"type Resolver<T> = (options: ApiRequestOptions<T>) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions<T>, 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},ks={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<T>): 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<T>): 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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},Es={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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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<T>) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>): void {\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>): void {\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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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},$s={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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:87}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:83}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:83}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:82}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:79}}}))?s:"")},usePartial:!0,useData:!0},Cs={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},Ss={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},Ns={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},Is={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},Ds={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<T>): 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:100},end:{line:63,column:186}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && isSuccess(response.status)) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:96,column:12},end:{line:96,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},_s={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 Hs=()=>{Wo.registerHelper("camelCase",(function(e){return xt({input:e})})),Wo.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Wo.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Wo.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)})),Wo.registerHelper("transformServiceName",vt)},js=e=>{const t=ie(),n=t.services.filter?new RegExp(t.services.filter):void 0,r=`${e.method} ${e.path}`;return!n||n.test(r)},Bs=e=>{const t=ie();return pe(t)||"api-version"!==e.prop},Ms=e=>{const t=ie();if(t.services.operationId&&e.id)return xt({input:qt(e.id)});let n=e.path;return pe(t)||(n=n.replace(/[^/]*?{api-version}.*?\//g,"")),n=n.replace(/{(.*?)}/g,"by-$1").replace(/\//g,"-"),xt({input:`${e.method}-${n}`})},Ls=e=>{const t=ie();return pe(t)?e.prop:On(e.prop)},Fs=e=>`${e}-end`,Vs=e=>`${e}-start`,Us=e=>{performance.mark(Fs(e))},Ks=e=>{performance.mark(Vs(e))};const Ws=e=>({...e,$refs:e.$refs.filter(((e,t,n)=>Ct(e,t,n))),enum:e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t)),enums:e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t)),imports:e.imports.filter(((t,n,r)=>Ct(t,n,r)&&t!==e.name)).sort(ce)}),Qs=e=>{const t=ie(),n=new Map;return e.forEach((e=>{(e.tags?.length&&(t.services.asClass||t.name)?e.tags.filter(Ct):["Default"]).forEach((t=>{const r={...e,service:Js(t)},o=n.get(r.service)||Gs(r);o.$refs=[...o.$refs,...r.$refs],o.imports=[...o.imports,...r.imports],o.operations=[...o.operations,r],n.set(r.service,o)}))})),Array.from(n.values())},Xs=e=>{const t={...e};return t.operations=zs(t),t.operations.forEach((e=>{t.imports.push(...e.imports)})),t.imports=t.imports.filter(Ct).sort(ce),t},zs=e=>{const t=new Map;return e.operations.map((e=>{const n={...e};n.imports.push(...n.parameters.flatMap((e=>e.imports)));const r=n.responses.filter((e=>e.responseTypes.includes("success")));n.imports.push(...r.flatMap((e=>e.imports)));const o=n.name,s=t.get(o)||0;return s>0&&(n.name=`${o}${s}`),t.set(o,s+1),n}))},Gs=e=>({$refs:[],imports:[],name:e.service,operations:[]}),Js=e=>xt({input:qt(e),pascalCase:!0}),Ys={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"}},Zs={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},ea=async n=>{let r;if(n.configFile){const e=n.configFile.split(".");r=e.slice(0,e.length-1).join(".")}const{config:o}=await t.loadConfig({configFile:r,jitiOptions:{esmResolve:!0},name:"openapi-ts"});return(Array.isArray(n)?n:Array.isArray(o)?o.map((e=>({...e,...n}))):[{...o??{},...n}]).map((t=>{const{base:n,configFile:r="",debug:o=!1,dryRun:s=!1,exportCore:a=!0,experimental_parser:i=!1,input:p,name:l,request:c,useOptions:u=!0}=t;o&&console.warn("userConfig:",t);const m=(e=>{let t={format:!1,lint:!1,path:""};return"string"==typeof e.output?t.path=e.output:t={...t,...e.output},t})(t);if(!p)throw new Error("🚫 missing input - which OpenAPI specification should we use to generate your client?");if(!m.path)throw new Error("🚫 missing output - where should we generate your client?");const d=(e=>{let t={bundle:!1,name:""};return"string"==typeof e.client?t.name=e.client:t={...t,...e.client},t})(t);if(!wr.includes(d.name))throw new Error("🚫 invalid client - select a valid client value");u||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 f=(e=>(e.plugins??[]).map((e=>"string"==typeof e?Rr[e]:{...Rr[e.name],...e})))(t),y=(e=>{let t={export:!0,type:"json"};return"boolean"==typeof e.schemas?t.export=e.schemas:t={...t,...e.schemas},t})(t),h=(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),g=((e,t)=>{let n={dates:!1,enums:!1,export:!0,name:"preserve",tree:!t.export};return"boolean"==typeof e.types?n.export=e.types:"string"==typeof e.types?n.include=e.types:n={...n,...e.types},n})(t,h);return m.path=e.resolve(process.cwd(),m.path),x={base:n,client:d,configFile:r,debug:o,dryRun:s,experimental_parser:i,exportCore:!(pe(d)||!d.name)&&a,input:p,name:l,output:m,plugins:f,request:c,schemas:y,services:h,types:g,useOptions:u},ae=x,ie();var x}))};exports.createClient=async function(t){Ks("createClient");const n=await ea(t),r=(()=>{Hs();const e={client:Wo.template(Qo),core:{apiError:Wo.template(es),apiRequestOptions:Wo.template(ts),apiResult:Wo.template(ns),baseHttpRequest:Wo.template(ls),cancelablePromise:Wo.template(cs),httpRequest:Wo.template(ks),request:Wo.template($s),settings:Wo.template(Es)}};return Wo.registerPartial("functions/base64",Wo.template(gs)),Wo.registerPartial("functions/catchErrorCodes",Wo.template(xs)),Wo.registerPartial("functions/getFormData",Wo.template(vs)),Wo.registerPartial("functions/getQueryString",Wo.template(bs)),Wo.registerPartial("functions/getUrl",Wo.template(Ps)),Wo.registerPartial("functions/isBlob",Wo.template(Rs)),Wo.registerPartial("functions/isFormData",Wo.template(ws)),Wo.registerPartial("functions/isString",Wo.template(As)),Wo.registerPartial("functions/isStringWithValue",Wo.template(qs)),Wo.registerPartial("functions/isSuccess",Wo.template(Ts)),Wo.registerPartial("functions/resolve",Wo.template(Os)),Wo.registerPartial("fetch/getHeaders",Wo.template(us)),Wo.registerPartial("fetch/getRequestBody",Wo.template(ms)),Wo.registerPartial("fetch/getResponseBody",Wo.template(ds)),Wo.registerPartial("fetch/getResponseHeader",Wo.template(fs)),Wo.registerPartial("fetch/request",Wo.template(ys)),Wo.registerPartial("fetch/sendRequest",Wo.template(hs)),Wo.registerPartial("xhr/getHeaders",Wo.template(Cs)),Wo.registerPartial("xhr/getRequestBody",Wo.template(Ss)),Wo.registerPartial("xhr/getResponseBody",Wo.template(Ns)),Wo.registerPartial("xhr/getResponseHeader",Wo.template(Is)),Wo.registerPartial("xhr/request",Wo.template(Ds)),Wo.registerPartial("xhr/sendRequest",Wo.template(_s)),Wo.registerPartial("axios/getHeaders",Wo.template(rs)),Wo.registerPartial("axios/getRequestBody",Wo.template(os)),Wo.registerPartial("axios/getResponseBody",Wo.template(ss)),Wo.registerPartial("axios/getResponseHeader",Wo.template(as)),Wo.registerPartial("axios/request",Wo.template(is)),Wo.registerPartial("axios/sendRequest",Wo.template(ps)),Wo.registerPartial("angular/getHeaders",Wo.template(Xo)),Wo.registerPartial("angular/getRequestBody",Wo.template(zo)),Wo.registerPartial("angular/getResponseBody",Wo.template(Go)),Wo.registerPartial("angular/getResponseHeader",Wo.template(Jo)),Wo.registerPartial("angular/request",Wo.template(Yo)),Wo.registerPartial("angular/sendRequest",Wo.template(Zo)),e})(),o=t=>async()=>{const n="string"==typeof t.input?await(async t=>{const n=s.existsSync(t)?e.resolve(t):t;return await l.bundle(n,n,{})})(t.input):t.input;if(!t.experimental_parser){Ks("parser");const e=function({openApi:e,config:t}){if(ot(t),"openapi"in e)return vn(e);if("swagger"in e)return Yt(e);throw new Error(`Unsupported OpenAPI specification: ${JSON.stringify(e,null,2)}`)}({config:{filterFn:{operation:js,operationParameter:Bs},nameFn:{operation:Ms,operationParameter:Ls}},openApi:n}),o=function(e){return{...e,models:e.models.map((e=>Ws(e))),services:Qs(e.operations).map(Xs),types:{}}}(e);return Us("parser"),t.dryRun||((()=>{const{client:e}=ie();switch(e.name){case"legacy/angular":return console.log("✨ Creating Angular client");case"@hey-api/client-axios":case"legacy/axios":return console.log("✨ Creating Axios client");case"@hey-api/client-fetch":case"legacy/fetch":return console.log("✨ Creating Fetch client");case"legacy/node":return console.log("✨ Creating Node.js client");case"legacy/xhr":console.log("✨ Creating XHR client")}})(),await tr(n,o,r),(()=>{const e=ie();if(e.output.format){const t=Ys[e.output.format];console.log(`✨ Running ${t.name}`),se(t.command,t.args(e.output.path))}if(e.output.lint){const t=Zs[e.output.lint];console.log(`✨ Running ${t.name}`),se(t.command,t.args(e.output.path))}})()),console.log("✨ Done! Your client is located in:",t.output.path),o}Ks("experimental_parser"),bn({spec:n}),Us("experimental_parser")},a=[],i=n.map((e=>o(e)));for(const e of i){const t=await e();t&&a.push(t)}return Us("createClient"),a},exports.defineConfig=e=>e;
|
|
1
|
+
"use strict";var e=require("node:path"),t=require("c12"),n=require("child_process"),r=require("path"),o=require("fs"),s=require("node:fs"),a=require("node:module"),i=require("typescript"),p=require("os"),l=require("@apidevtools/json-schema-ref-parser"),c="undefined"!=typeof document?document.currentScript:null,u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d,f,y,h,g,x={exports:{}};g="win32"===process.platform||u.TESTING_WINDOWS?function(){if(f)return d;f=1,d=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 d}():function(){if(h)return y;h=1,y=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 y}();var v=b;function b(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){b(e,t||{},(function(e,t){e?r(e):n(t)}))}))}g(e,t||{},(function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),n(e,r)}))}b.sync=function(e,t){try{return g.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const P="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,R=r,w=P?";":":",A=v,q=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),T=(e,t)=>{const n=t.colon||w,r=e.match(/\//)||P&&e.match(/\\/)?[""]:[...P?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=P?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=P?o.split(n):[""];return P&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},k=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});const{pathEnv:r,pathExt:o,pathExtExe:s}=T(e,t),a=[],i=n=>new Promise(((o,s)=>{if(n===r.length)return t.all&&a.length?o(a):s(q(e));const i=r[n],l=/^".*"$/.test(i)?i.slice(1,-1):i,c=R.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];A(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 O=k;k.sync=(e,t)=>{t=t||{};const{pathEnv:n,pathExt:r,pathExtExe:o}=T(e,t),s=[];for(let a=0;a<n.length;a++){const i=n[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,l=R.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(A.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 q(e)};var E={exports:{}};const $=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find((e=>"PATH"===e.toUpperCase()))||"Path"};E.exports=$,E.exports.default=$;var C=E.exports;const S=r,N=O,I=C;function D(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=N.sync(e.command,{path:n[I({env:n})],pathExt:t?S.delimiter:void 0})}catch(e){}finally{s&&process.chdir(r)}return a&&(a=S.resolve(o?e.options.cwd:"",a)),a}var _=function(e){return D(e)||D(e,!0)},H={};const j=/([()\][%!^"`<>&|;, *?])/g;H.command=function(e){return e=e.replace(j,"^$1")},H.argument=function(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(j,"^$1"),t&&(e=e.replace(j,"^$1")),e};const B=/^#!(.*)/;const L=o,M=(e="")=>{const t=e.match(B);if(!t)return null;const[n,r]=t[0].replace(/#! ?/,"").split(" "),o=n.split("/").pop();return"env"===o?r:r?`${o} ${r}`:o};const F=r,V=_,U=H,K=function(e){const t=Buffer.alloc(150);let n;try{n=L.openSync(e,"r"),L.readSync(n,t,0,150,0),L.closeSync(n)}catch(e){}return M(t.toString())},W="win32"===process.platform,Q=/\.(?:com|exe)$/i,X=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function z(e){if(!W)return e;const t=function(e){e.file=V(e);const t=e.file&&K(e.file);return t?(e.args.unshift(e.file),e.command=t,V(e)):e.file}(e),n=!Q.test(t);if(e.options.forceShell||n){const n=X.test(t);e.command=F.normalize(e.command),e.command=U.command(e.command),e.args=e.args.map((e=>U.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 G=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:z(r)};const J="win32"===process.platform;function Y(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 Z(e,t){return J&&1===e&&!t.file?Y(t.original,"spawn"):null}var ee={hookChildProcess:function(e,t){if(!J)return;const n=e.emit;e.emit=function(r,o){if("exit"===r){const r=Z(o,t);if(r)return n.call(e,"error",r)}return n.apply(e,arguments)}},verifyENOENT:Z,verifyENOENTSync:function(e,t){return J&&1===e&&!t.file?Y(t.original,"spawnSync"):null},notFoundError:Y};const te=n,ne=G,re=ee;function oe(e,t,n){const r=ne(e,t,n),o=te.spawn(r.command,r.args,r.options);return re.hookChildProcess(o,r),o}x.exports=oe,x.exports.spawn=oe;var se=x.exports.sync=function(e,t,n){const r=ne(e,t,n),o=te.spawnSync(r.command,r.args,r.options);return o.error=o.error||re.verifyENOENTSync(o.status,r),o};let ae;x.exports._parse=ne,x.exports._enoent=re;const ie=()=>ae,pe=e=>("client"in e?e.client.name:e.name).startsWith("@hey-api"),le=e=>{switch(e.name){case"legacy/angular":return"AngularHttpRequest";case"legacy/axios":return"AxiosHttpRequest";case"legacy/fetch":return"FetchHttpRequest";case"legacy/node":return"NodeHttpRequest";case"legacy/xhr":return"XHRHttpRequest";default:return""}};function ce(e,t){const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase();return n.localeCompare(r,"en")}const ue=(e,t)=>ce(e.name,t.name);function me(e){return e.sort(ue)}const de=e=>{s.existsSync(e)||s.mkdirSync(e,{recursive:!0})},fe=a.createRequire("undefined"==typeof document?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("index.cjs",document.baseURI).href),ye=()=>{const e=ie();return e.client.bundle?"./client":e.client.name},he=/^[^$_\p{ID_Start}]+/u,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,xe=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u,ve=e=>{if(e||""===e){xe.lastIndex=0;if(!xe.test(e))return`'${e}'`}return e},be=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,Pe=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,((e,t)=>p.EOL+t.trim())),Re={newLine:i.NewLineKind.LineFeed,scriptKind:i.ScriptKind.TS,scriptTarget:i.ScriptTarget.ES2015,useSingleQuotes:!0},we=i.createPrinter({newLine:Re.newLine}),Ae=e=>i.createSourceFile("",e,Re.scriptTarget,void 0,Re.scriptKind),qe=Ae("");function Te({node:e,unescape:t=!1}){const n=we.printNode(i.EmitHint.Unspecified,e,qe);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 ie().debug&&console.warn("Could not decode value:",n),n}}const ke=({text:e})=>i.factory.createIdentifier(e),Oe={boolean:e=>e?i.factory.createTrue():i.factory.createFalse(),export:({alias:e,asType:t=!1,name:n})=>{const r=ke({text:n});if(e){const n=ke({text:e});return i.factory.createExportSpecifier(t,r,n)}return i.factory.createExportSpecifier(t,void 0,r)},import:({alias:e,asType:t=!1,name:n})=>{const r=ke({text:n});if(e){const n=ke({text:e});return i.factory.createImportSpecifier(t,r,n)}return i.factory.createImportSpecifier(t,void 0,r)},number:e=>e<0?i.factory.createPrefixUnaryExpression(i.SyntaxKind.MinusToken,i.factory.createNumericLiteral(Math.abs(e))):i.factory.createNumericLiteral(e),string:(e,t=!1)=>{let n=e;t&&(n=be(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("`")?ke({text:n}):i.factory.createStringLiteral(n,!n.includes("'")&&Re.useSingleQuotes)}},Ee=e=>null!==e&&"object"==typeof e&&"number"==typeof e.kind&&"number"==typeof e.flags&&"number"==typeof e.pos&&"number"==typeof e.end,$e=e=>void 0!==e,Ce=({commentObject:e,node:t})=>{const n=e.lines.filter((e=>Boolean(e)||""===e));if(!n.length)return;if(!e.jsdoc){for(const e of n)i.addSyntheticLeadingComment(t,i.SyntaxKind.SingleLineCommentTrivia,` ${e}`,!0);return}const r=n.map(((e,t)=>{let r=e;t!==n.length&&(r=`${r}\n`);return i.factory.createJSDocText(r)})),o=Te({node:i.factory.createJSDocComment(i.factory.createNodeArray(r),void 0),unescape:!0}).replace("/*","").replace("* */","");i.addSyntheticLeadingComment(t,i.SyntaxKind.MultiLineCommentTrivia,o,!0)},Se=({comments:e=[],node:t})=>{const n=Boolean(e.find((e=>"object"==typeof e&&e)));let r=e;n||(r=[{jsdoc:!0,lines:e}]);for(const e of r)Ce({commentObject:e,node:t})},Ne=(e,t)=>i.isTypeNode(e)?e:"number"==typeof e?i.factory.createLiteralTypeNode(Oe.number(e)):Ue({typeArguments:t?.map((e=>Ne(e))),typeName:e}),Ie=({expression:e,name:t})=>i.factory.createPropertyAccessChain(e,i.factory.createToken(i.SyntaxKind.QuestionDotToken),t),De=({expression:e,isOptional:t,name:n})=>{const r="string"==typeof e?ke({text:e}):e;if(t){return Ie({expression:r,name:n})}const o="string"==typeof n?ke({text:n}):n;if("string"==typeof n&&(xe.lastIndex=0,!xe.test(n))){return i.factory.createElementAccessExpression(r,o)}return i.factory.createPropertyAccessExpression(r,o)},_e=({identifiers:e=[],isValueAccess:t,shorthand:n,unescape:r,value:o})=>{if(null===o)return i.factory.createNull();if(Array.isArray(o))return Fe({elements:o});if("object"==typeof o)return Ve({identifiers:e,obj:o,shorthand:n});if("number"==typeof o)return Oe.number(o);if("boolean"==typeof o)return Oe.boolean(o);if("string"==typeof o){if(t){const e=o.split(".");return De({expression:e[0],name:e[1]})}return Oe.string(o,r)}},He=e=>{const t="public"===e?i.SyntaxKind.PublicKeyword:"protected"===e?i.SyntaxKind.ProtectedKeyword:"private"===e?i.SyntaxKind.PrivateKeyword:void 0,n=[];return t&&n.push(i.factory.createModifier(t)),n},je=e=>e.map((e=>{if("destructure"in e)return i.factory.createParameterDeclaration(void 0,void 0,i.factory.createObjectBindingPattern(e.destructure.map((e=>{if("destructure"in e)return;return i.factory.createBindingElement(void 0,void 0,ke({text:e.name}),void 0)})).filter(Boolean)),void 0,void 0,void 0);let t=He(e.accessLevel);return e.isReadOnly&&(t=[...t,i.factory.createModifier(i.SyntaxKind.ReadonlyKeyword)]),i.factory.createParameterDeclaration(t,void 0,ke({text:e.name}),!1===e.isRequired?i.factory.createToken(i.SyntaxKind.QuestionToken):void 0,void 0!==e.type?Ne(e.type):void 0,void 0!==e.default?_e({value:e.default}):void 0)})),Be=({keyword:e})=>{let t=i.SyntaxKind.AnyKeyword;switch(e){case"boolean":t=i.SyntaxKind.BooleanKeyword;break;case"string":t=i.SyntaxKind.StringKeyword}return i.factory.createKeywordTypeNode(t)},Le=e=>e.map((e=>i.factory.createTypeParameterDeclaration(void 0,e.name,e.extends?"string"==typeof e.extends?Be({keyword:"boolean"}):e.extends:void 0,void 0!==e.default?Ee(e.default)?e.default:i.factory.createLiteralTypeNode(e.default?i.factory.createTrue():i.factory.createFalse()):void 0))),Me=({async:e,comment:t,multiLine:n,parameters:r=[],returnType:o,statements:s=[],types:a=[]})=>{const p=i.factory.createArrowFunction(e?[i.factory.createModifier(i.SyntaxKind.AsyncKeyword)]:void 0,a?Le(a):void 0,je(r),o?Ne(o):void 0,void 0,Array.isArray(s)?i.factory.createBlock(s,n):s);return Se({comments:t,node:p}),p},Fe=({elements:e,multiLine:t=!1})=>i.factory.createArrayLiteralExpression(e.map((e=>Ee(e)?e:_e({value:e}))).filter($e),t||!Array.isArray(e[0])&&"object"==typeof e[0]),Ve=({comments:e,identifiers:t=[],multiLine:n=!0,obj:r,shorthand:o,unescape:s=!1})=>{const a=Array.isArray(r)?r.map((e=>{let r,a=!1;if("key"in e){const{key:t}=e;a=t===e.value,!(t.match(/^[0-9]/)&&t.match(/\D+/g)||t.match(/\W/g))||t.startsWith("'")||t.endsWith("'")||(e.key=`'${t}'`)}if("spread"in e){const t=Ee(e.spread)?e.spread:ke({text:e.spread});r=i.factory.createSpreadAssignment(e.assertion?i.factory.createAsExpression(t,Be({keyword:e.assertion})):t)}else if(e.shorthand||o&&a)r=i.factory.createShorthandPropertyAssignment(e.value);else{let a=Ee(e.value)?e.value:Array.isArray(e.value)?Ve({multiLine:n,obj:e.value,shorthand:o,unescape:s}):_e({identifiers:t.includes(e.key)?Object.keys(e.value):[],isValueAccess:e.isValueAccess,shorthand:o,unescape:s,value:e.value});if(!a)return;t.includes(e.key)&&!i.isObjectLiteralExpression(a)&&(a=ke({text:e.value})),r=i.factory.createPropertyAssignment(e.key,a)}return Se({comments:e.comments,node:r}),r})).filter($e):Object.entries(r).map((([e,n])=>{let r=_e({identifiers:t.includes(e)?Object.keys(n):[],shorthand:o,unescape:s,value:n});if(!r)return;t.includes(e)&&!i.isObjectLiteralExpression(r)&&(r=ke({text:n}));const a=e===n;e.match(/^[0-9]/)&&e.match(/\D+/g)&&!e.startsWith("'")&&!e.endsWith("'")&&(e=`'${e}'`),!e.match(/\W/g)||e.startsWith("'")||e.endsWith("'")||(e=`'${e}'`);return o&&a?i.factory.createShorthandPropertyAssignment(n):i.factory.createPropertyAssignment(e,r)})).filter($e),p=i.factory.createObjectLiteralExpression(a,n);return Se({comments:e,node:p}),p},Ue=({typeArguments:e,typeName:t})=>i.factory.createTypeReferenceNode(t,e),Ke=({parameters:e=[],functionName:t,types:n})=>{const r="string"==typeof t?ke({text:t}):t,o=e.filter((e=>void 0!==e)).map((e=>"string"==typeof e?ke({text:e}):e));return i.factory.createCallExpression(r,n,o)},We=({expression:e})=>i.factory.createExpressionStatement(e),Qe=({expression:e})=>i.factory.createReturnStatement(e),Xe=e=>e.slice(1).reduce(((e,t)=>(xe.lastIndex=0,xe.test(t)?Ie({expression:e,name:t}):i.factory.createElementAccessChain(e,i.factory.createToken(i.SyntaxKind.QuestionDotToken),ke({text:t})))),ke({text:e[0]})),ze=e=>e.slice(1).reduce(((e,t)=>De({expression:e,name:t})),ke({text:e[0]})),Ge=({expression:e,thenStatement:t,elseStatement:n})=>i.factory.createIfStatement(e,t,n),Je=Ue({typeName:"null"}),Ye=({isNullable:e,node:t})=>e?i.factory.createUnionTypeNode([t,Je]):t,Ze=({isNullable:e,properties:t})=>{const n=i.factory.createTypeLiteralNode(t.map((e=>{const t=e.isReadOnly?[i.factory.createModifier(i.SyntaxKind.ReadonlyKeyword)]:void 0,n=!1!==e.isRequired?void 0:i.factory.createToken(i.SyntaxKind.QuestionToken),r=Ne(e.type),o=i.factory.createPropertySignature(t,e.name,n,r);return Se({comments:e.comment,node:o}),o})));return Ye({isNullable:e,node:n})},et=({isNullable:e,types:t})=>{const n=t.map((e=>Ne(e))),r=i.factory.createUnionTypeNode(n);return Ye({isNullable:e,node:r})},tt=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 nt{_headers=[];_imports=new Map;_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]}import({module:e,...t}){let n=this._imports.get(e);n||(n=new Map,this._imports.set(e,n));const r=n.get(t.name);return r||(n.set(t.name,t),t)}getName(e=!0){if(e)return this._name;const{name:t}=tt(this._name);return t}isEmpty(){return!this._items.length}remove(e){s.rmSync(this._path,e)}removeNode(){this._items=this._items.slice(0,this._items.length-1)}_setName(e){if(e.includes("index"))return e;const{extension:t,name:n}=tt(e);return[n,"gen",t].filter(Boolean).join(".")}toString(e="\n"){let t=[];this._headers.length&&(t=[...t,this._headers.join("\n")]);let n=[];for(const[e,t]of this._imports.entries()){const r=Array.from(t.values()),o=rt.namedImportDeclarations({imports:r,module:e});n=[...n,Te({node:o})]}return n.length&&(t=[...t,n.join("\n")]),t=[...t,...this._items.map((e=>"string"==typeof e?e:Te({node:e,unescape:!0})))],t.join(e)}write(t="\n"){if(this.isEmpty())return void this.remove({force:!0});let n=this._path;if("string"==typeof this._path){const t=this._path.split(e.sep);n=t.slice(0,t.length-1).join(e.sep)}de(n),s.writeFileSync(this._path,this.toString(t))}}const rt={anonymousFunction:({async:e,comment:t,multiLine:n,parameters:r=[],returnType:o,statements:s=[],types:a=[]})=>{const p=i.factory.createFunctionExpression(e?[i.factory.createModifier(i.SyntaxKind.AsyncKeyword)]:void 0,void 0,void 0,a?Le(a):void 0,je(r),o?Ne(o):void 0,i.factory.createBlock(s,n));return Se({comments:t,node:p}),p},arrayLiteralExpression:Fe,arrowFunction:Me,awaitExpression:({expression:e})=>i.factory.createAwaitExpression(e),binaryExpression:({left:e,operator:t="=",right:n})=>i.factory.createBinaryExpression(e,"="===t?i.SyntaxKind.EqualsToken:"==="===t?i.SyntaxKind.EqualsEqualsEqualsToken:i.SyntaxKind.InKeyword,"string"==typeof n?ke({text:n}):n),callExpression:Ke,classDeclaration:({decorator:e,members:t=[],name:n})=>{let r=[i.factory.createModifier(i.SyntaxKind.ExportKeyword)];e&&(r=[i.factory.createDecorator(Ke({functionName:e.name,parameters:e.args.map((e=>_e({value:e}))).filter($e)})),...r]);let o=[];return t.forEach((e=>{o=[...o,e,ke({text:"\n"})]})),i.factory.createClassDeclaration(r,ke({text:n}),[],[],o)},conditionalExpression:({condition:e,whenFalse:t,whenTrue:n})=>i.factory.createConditionalExpression(e,i.factory.createToken(i.SyntaxKind.QuestionToken),n,i.factory.createToken(i.SyntaxKind.ColonToken),t),constVariable:({comment:e,assertion:t,destructure:n,exportConst:r,expression:o,name:s,typeName:a})=>{const p=t?i.factory.createAsExpression(o,"string"==typeof t?Ue({typeName:t}):t):o,l=ke({text:s}),c=i.factory.createVariableDeclaration(n?i.factory.createObjectBindingPattern([i.factory.createBindingElement(void 0,void 0,l,void 0)]):l,void 0,a?"string"==typeof a?Ue({typeName:a}):a:void 0,p),u=i.factory.createVariableStatement(r?[i.factory.createModifier(i.SyntaxKind.ExportKeyword)]:void 0,i.factory.createVariableDeclarationList([c],i.NodeFlags.Const));return Se({comments:e,node:u}),u},constructorDeclaration:({accessLevel:e,comment:t,multiLine:n=!0,parameters:r=[],statements:o=[]})=>{const s=i.factory.createConstructorDeclaration(He(e),je(r),i.factory.createBlock(o,n));return Se({comments:t,node:s}),s},enumDeclaration:({comments:e,leadingComment:t,name:n,obj:r})=>{const o=i.factory.createEnumDeclaration([i.factory.createModifier(i.SyntaxKind.ExportKeyword)],ke({text:n}),Object.entries(r).map((([t,n])=>{const r=_e({unescape:!0,value:n}),o=i.factory.createEnumMember(t,r),s=e?.[t];return Se({comments:s,node:o}),o})));return Se({comments:t,node:o}),o},exportAllDeclaration:({module:e})=>i.factory.createExportDeclaration(void 0,!1,void 0,Oe.string(e)),exportNamedDeclaration:({exports:e,module: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 Oe.export({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=i.factory.createNamedExports(o),a=Oe.string(t);return i.factory.createExportDeclaration(void 0,!r,s,a)},expressionToStatement:We,identifier:ke,ifStatement:Ge,indexedAccessTypeNode:({indexType:e,objectType:t})=>i.factory.createIndexedAccessTypeNode(t,e),isTsNode:Ee,keywordTypeNode:Be,methodDeclaration:({accessLevel:e,comment:t,isStatic:n=!1,multiLine:r=!0,name:o,parameters:s=[],returnType:a,statements:p=[],types:l=[]})=>{let c=He(e);n&&(c=[...c,i.factory.createModifier(i.SyntaxKind.StaticKeyword)]);const u=i.factory.createMethodDeclaration(c,void 0,ke({text:o}),void 0,l?Le(l):void 0,je(s),a?Ne(a):void 0,i.factory.createBlock(p,r));return Se({comments:t,node:u}),u},namedImportDeclarations:({imports:e,module: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 Oe.import({alias:t.alias,asType:r&&t.asType,name:t.name})})),s=i.factory.createNamedImports(o),a=i.factory.createImportClause(!r,void 0,s),p=Oe.string(t);return i.factory.createImportDeclaration(void 0,a,p)},namespaceDeclaration:({name:e,statements:t})=>i.factory.createModuleDeclaration([i.factory.createModifier(i.SyntaxKind.ExportKeyword)],ke({text:e}),i.factory.createModuleBlock(t),i.NodeFlags.Namespace),nodeToString:Te,objectExpression:Ve,ots:Oe,propertyAccessExpression:De,propertyAccessExpressions:({expressions:e})=>e.reduce(((e,t)=>De({expression:e,name:t}))),returnFunctionCall:({args:e=[],name:t,types:n=[]})=>{const r=n.map((e=>Ue({typeName:e}))),o=e.map((e=>i.isExpression(e)?e:ke({text:e}))).filter($e),s=Ke({functionName:t,parameters:o,types:r});return Qe({expression:s})},returnVariable:({name:e})=>Qe({expression:ke({text:e})}),safeAccessExpression:Xe,stringLiteral:({text:e})=>i.factory.createStringLiteral(e),stringToTsNodes:function(e){return Ae(e).statements[0]},transformArrayMap:({path:e,transformExpression:t})=>{const n=Xe(e),r=ze(e);return Ge({expression:Ke({functionName:De({expression:"Array",name:"isArray"}),parameters:[n]}),thenStatement:i.factory.createBlock([We({expression:i.factory.createBinaryExpression(r,i.factory.createToken(i.SyntaxKind.EqualsToken),i.factory.createCallChain(De({expression:r,name:"map"}),void 0,void 0,[Me({parameters:[{name:"item"}],statements:t})]))})],!0)})},transformArrayMutation:({path:e,transformerName:t})=>{const n=Xe(e),r=ze(e);return Ge({expression:Ke({functionName:De({expression:"Array",name:"isArray"}),parameters:[n]}),thenStatement:i.factory.createBlock([We({expression:i.factory.createCallChain(De({expression:r,name:"forEach"}),void 0,void 0,[ke({text:t})])})],!0)})},transformDateMutation:({path:e})=>{const t=Xe(e),n=ze(e),r=i.factory.createBlock([We({expression:i.factory.createBinaryExpression(n,i.SyntaxKind.EqualsToken,i.factory.createNewExpression(ke({text:"Date"}),void 0,[n]))})]);return Ge({expression:t,thenStatement:r})},transformFunctionMutation:({path:e,transformerName:t})=>{const n=Xe(e),r=ze(e),o=i.factory.createBlock([We({expression:Ke({functionName:t,parameters:[r]})})],!0);return[Ge({expression:n,thenStatement:o})]},transformNewDate:({parameterName:e})=>{const t=ke({text:"Date"});return i.factory.createNewExpression(t,void 0,[ke({text:e})])},typeAliasDeclaration:({comment:e,exportType:t,name:n,type:r,typeParameters:o=[]})=>{const s=i.factory.createTypeAliasDeclaration(t?[i.factory.createModifier(i.SyntaxKind.ExportKeyword)]:void 0,ke({text:n}),Le(o),Ne(r));return Se({comments:e,node:s}),s},typeArrayNode:(e,t=!1)=>{const n=Ue({typeArguments:[et({types:e})],typeName:"Array"});return Ye({isNullable:t,node:n})},typeInterfaceNode:Ze,typeIntersectionNode:({isNullable:e,types:t})=>{const n=t.map((e=>Ne(e))),r=i.factory.createIntersectionTypeNode(n);return Ye({isNullable:e,node:r})},typeNode:Ne,typeOfExpression:({text:e})=>i.factory.createTypeOfExpression(ke({text:e})),typeParenthesizedNode:({type:e})=>i.factory.createParenthesizedType(e),typeRecordNode:(e,t,n=!1)=>{const r=et({types:e}),o=et({types:t}),s=Ze({properties:[{name:`[key: ${Te({node:r,unescape:!0})}]`,type:o}]});return Ye({isNullable:n,node:s})},typeReferenceNode:Ue,typeTupleNode:({isNullable:e=!1,types:t})=>{const n=t.map((e=>Ne(e))),r=i.factory.createTupleTypeNode(n);return Ye({isNullable:e,node:r})},typeUnionNode:et},ot=({method:e,operation:t,operationIds:n,path:r})=>{const o=`${e} ${r}`,s=ie(),a=s.services.filter?new RegExp(s.services.filter):void 0;a&&!a.test(o)||(t.operationId&&(n.has(t.operationId)?console.warn(`❗️ Duplicate operationId: ${t.operationId} in ${o}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):n.set(t.operationId,o)),console.log(t))};let st;const at=()=>st,it=["connect","delete","get","head","options","patch","post","put","trace"];function pt(e="1.0"){return String(e).replace(/^v/gi,"")}const lt="#/components/parameters/",ct="#/components/schemas/",ut=/[\p{Lu}]/u,mt=/[\p{Ll}]/u,dt=/([\p{Alpha}\p{N}_]|$)/u,ft=/[_.\- ]+/,yt=new RegExp("^"+ft.source),ht=new RegExp(ft.source+dt.source,"gu"),gt=new RegExp("\\d+"+dt.source,"gu"),xt=({input:e,pascalCase:t})=>{let n=e.trim();if(!n.length)return"";if(1===n.length)return ft.test(n)?"":t?n.toLocaleUpperCase():n.toLocaleLowerCase();return n!==n.toLocaleLowerCase()&&(n=(e=>{let t=!1,n=!1,r=!1,o=!1;for(let s=0;s<e.length;s++){const a=e[s];o=!(s>2)||"-"===e[s-3],t&&ut.test(a)?(e=e.slice(0,s)+"-"+e.slice(s),t=!1,r=n,n=!0,s++):n&&r&&mt.test(a)&&!o?(e=e.slice(0,s-1)+"-"+e.slice(s-1),r=n,n=!1,t=!0):(t=a.toLocaleLowerCase()===a&&a.toLocaleUpperCase()!==a,r=n,n=a.toLocaleUpperCase()===a&&a.toLocaleLowerCase()!==a)}return e})(n)),n=n.replace(yt,""),n=n.toLocaleLowerCase(),t&&(n=n.charAt(0).toLocaleUpperCase()+n.slice(1)),ht.lastIndex=0,gt.lastIndex=0,n=n.replaceAll(gt,((e,t,r)=>["_","-","."].includes(n.charAt(r+e.length))?e:e.toLocaleUpperCase())),n=n.replaceAll(ht,((e,t)=>t.toLocaleUpperCase())),n},vt=e=>{const t=ie();return t.services.name?t.services.name.replace("{{name}}",e):e},bt=e=>"PascalCase"===ie().types.name?xt({input:e,pascalCase:!0}):e,Pt=e=>wt(e).includes("null"),Rt=e=>!0===e.nullable||Pt(e),wt=({type:e})=>Array.isArray(e)?e:e?[e]:[],At=e=>{he.lastIndex=0;const t=(e=>e.replace(he,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"))(he.test(e)?`_${e}`:e);return t},qt=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-"),Tt=e=>{const t=e.replace("[]","Array");return qt(t)},kt=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\//,""),Ot=(e,t)=>{if("binary"===t)return"binary";switch(e){case"any":case"object":case"unknown":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"}},Et=/(?<!`1)\[.*\]$/g,$t=({debug:e,format:t,type:n="unknown"})=>{const r={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(n)){const e=n.filter((e=>"null"!==e)).map((e=>Ot(e,t))).filter(Boolean).join(" | ");return r.type=e,r.base=e,r.isNullable=Pt({type:n}),r}const o=Ot(n,t);if(o)return r.type=o,r.base=o,r;const s=decodeURIComponent(kt(n));if(Et.lastIndex=0,Et.test(s)){const t=s.match(/(.*?)\[(.*)\]$/);if(t?.length){const n=$t({debug:e,type:At(t[1])}),o=$t({debug:e,type:At(t[2])});return"unknown[]"===n.type?(r.type=`${o.type}[]`,r.base=`${o.type}`,n.$refs=[],n.imports=[]):o.type?(r.type=`${n.type}<${o.type}>`,r.base=n.type,r.template=o.type):(r.type=n.type,r.base=n.type,r.template=n.type),r.$refs=[...r.$refs,...n.$refs,...o.$refs],r.imports=[...r.imports,...n.imports,...o.imports],r}}if(s){let e=bt(At(s));return n.startsWith(lt)&&(e=`Parameter${e}`),r.type=e,r.base=e,n.startsWith("#")&&(r.$refs=[...r.$refs,decodeURIComponent(n)]),r.imports=[...r.imports,e],r}return r};function Ct(e,t,n){return n.indexOf(e)===t}const St=(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(Ct).filter((e=>"number"==typeof e||"string"==typeof e)).map(((e,t)=>({customDescription:n[t],customName:r[t],description:void 0,value:e})))},Nt=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),It=({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=$t({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:ve(s),pattern:Nt(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:ve(s),pattern:Nt(a.pattern),properties:e.properties,template:e.template,type:e.type,uniqueItems:a.uniqueItems})}})),o},Dt=/~1/g,_t=/~0/g;function Ht(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(Dt,"/").replace(_t,"~"));if(!r.hasOwnProperty(n))throw new Error(`Could not find reference: "${t.$ref}"`);r=r[n]})),r}return t}const jt=({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=Ht(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=It({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},Bt=({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:Nt(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){const t=$t({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=St(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=$t({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=Bt({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=$t({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=Bt({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=jt({definition:e,definitions:e.allOf,getModel:Bt,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){It({definition:e,getModel:Bt,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=$t({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},Lt=(e,t)=>{if(void 0===e.default||null===e.default)return e.default;switch(wt(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}},Mt=["body","formData","header","path","query"],Ft=({openApi:e,parameters:t,types:n})=>{const r=at(),o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const s=Ht(e,t),a=(({openApi:e,parameter:t,types:n})=>{const r=at(),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,pattern:Nt(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems};let s={...o,name:r.nameFn.operationParameter(o)};if(t.$ref){const e=$t({type:t.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(t,s),s}if(t.enum){const e=St(t,t.enum);if(e.length)return s={...s,base:"string",enum:[...s.enum,...e],export:"enum",type:"string"},s.default=Lt(t,s),s}if("array"===t.type&&t.items){const e=$t({format:t.items.format,type:t.items.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"array",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(t,s),s}if("object"===t.type&&t.items){const e=$t({format:t.items.format,type:t.items.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"dictionary",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(t,s),s}let a=t.schema;if(a){if(a.$ref?.startsWith("#/parameters/")&&(a=Ht(e,a)),a.$ref){const e=$t({type:a.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(t,s),s}const r=Bt({definition:a,openApi:e,types:n});return s={...s,$refs:[...s.$refs,...r.$refs],base:r.base,enum:[...s.enum,...r.enum],enums:[...s.enums,...r.enums],export:r.export,imports:[...s.imports,...r.imports],link:r.link,properties:[...s.properties,...r.properties],template:r.template,type:r.type},s.default=Lt(t,s),s}if(t.type){const e=$t({format:t.format,type:t.type});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"generic",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(t,s),s}return s})({openApi:e,parameter:s,types:n}),i=r.filterFn?.operationParameter&&!r.filterFn?.operationParameter(a);if(Mt.includes(s.in)&&!i){switch(s.in){case"body":o.parametersBody=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},Vt=e=>{const t=e.find((e=>"header"===e.in));return t?t.name:null},Ut=e=>e.some((e=>e.isRequired)),Kt=e=>{if("default"===e)return"default";if("1XX"===e)return"1XX";if("2XX"===e)return"2XX";if("3XX"===e)return"3XX";if("4XX"===e)return"4XX";if("5XX"===e)return"5XX";if(/\d{3}/g.test(e)){const t=Number.parseInt(e,10);if(t>=100&&t<600)return t}return null},Wt=(e,t)=>e.code>t.code?1:e.code<t.code?-1:0,Qt=e=>"2XX"===e||"number"==typeof e&&e>=200&&e<300,Xt=e=>e.map((t=>{const{code:n}=t;return"default"===n?t.responseTypes=((e,t)=>{let n=[];const r=e=>{n.includes(e)||(n=[...n,e])};t.some((({code:e})=>Qt(e)))||r("success");const o=(e.description??"").toLocaleLowerCase(),s=e.$refs.join("|").toLocaleLowerCase();return["success"].some((e=>o.includes(e)||s.includes(e)))&&r("success"),["error","problem"].some((e=>o.includes(e)||s.includes(e)))&&r("error"),n.length||r("error"),n})(t,e):Qt(n)?t.responseTypes=["success"]:(e=>"3XX"===e||"4XX"===e||"5XX"===e||"number"==typeof e&&e>=300)(n)&&(t.responseTypes=["error"]),t}));function zt(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 Gt=({openApi:e,responses:t,types:n})=>{let r=[];return Object.entries(t).forEach((([t,o])=>{const s=Kt(t);if(!s)return;const a=Ht(e,o),i=(({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:[],responseTypes:[],template:null,type:204!==e?"unknown":"void"};let s=n.schema;if(s){if(s.$ref?.startsWith("#/responses/")&&(s=Ht(t,s)),s.$ref){const e=$t({type:s.$ref});return o.export="reference",o.type=e.type,o.base=e.base,o.template=e.template,o.imports=[...o.imports,...e.imports],o}const e=Bt({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=Nt(e.pattern),o.imports=[...o.imports,...e.imports],o.enum=[...o.enum,...e.enum],o.enums=[...o.enums,...e.enums],o.properties=[...o.properties,...e.properties],o}if(n.headers)for(const e in n.headers)return o.in="header",o.name=e,o.type="string",o.base="string",o;return o})({code:s,openApi:e,response:a,types:n});r=[...r,i]})),r=Xt(r),r.sort(Wt)},Jt=({method:e,op:t,openApi:n,types:r,pathParams:o,url:s})=>{const a=at(),i={$refs:[],deprecated:!0===t.deprecated,description:t.description||null,id:t.operationId||null,imports:[],method:e.toUpperCase(),parameters:[...o.parameters],parametersBody:o.parametersBody,parametersCookie:[...o.parametersCookie],parametersForm:[...o.parametersForm],parametersHeader:[...o.parametersHeader],parametersPath:[...o.parametersPath],parametersQuery:[...o.parametersQuery],path:s,responseHeader:null,responses:[],summary:t.summary||null,tags:t.tags||null},p={...i,name:a.nameFn.operation(i)};if(t.parameters){const e=Ft({openApi:n,parameters:t.parameters,types:r});p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.parameters=[...p.parameters,...e.parameters],p.parametersBody=e.parametersBody,p.parametersCookie=[...p.parametersCookie,...e.parametersCookie],p.parametersForm=[...p.parametersForm,...e.parametersForm],p.parametersHeader=[...p.parametersHeader,...e.parametersHeader],p.parametersPath=[...p.parametersPath,...e.parametersPath],p.parametersQuery=[...p.parametersQuery,...e.parametersQuery]}if(t.responses){p.responses=Gt({openApi:n,responses:t.responses,types:r});const e=p.responses.filter((e=>e.responseTypes.includes("success")));p.responseHeader=Vt(e),e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports]}))}return p.parameters=zt(p.parameters),p},Yt=e=>{const t=pt(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=$t({type:r}).base.replace(ge,"_$1"),a={$ref:`#/definitions/${r}`,name:s};t[s]=a;const i=Bt({definition:o,isDefinition:!0,meta:a,openApi:e,types:t});n=[...n,i]})),{models:n,types:t}})(e),s=(({openApi:e,types:t})=>{const n=at(),r=new Map,o=[];for(const s in e.paths){const a=e.paths[s],i=Ft({openApi:e,parameters:a.parameters??[],types:t});for(const p in a){const l=p,c=`${l.toUpperCase()} ${s}`;if(it.includes(l)){const p=a[l];if(p.operationId&&(r.has(p.operationId)?console.warn(`❗️ Duplicate operationId: ${p.operationId} in ${c}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(p.operationId,c)),!n.filterFn?.operation||n.filterFn?.operation(c)){const n=Jt({method:l,op:p,openApi:e,pathParams:i,types:t,url:s});o.push(n)}}}}return o})({openApi:e,types:o});return{models:r,operations:s,server:n,types:o,version:t}},Zt=e=>{const t=(e=>{const t=bt(e);return At(t).replace(ge,"_$1")})(e);return{$ref:ct+e,name:t}},en=(e,t=!1)=>"string"==typeof e?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,tn=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:en(e.value)}},nn=e=>{const t=e.enum.map((e=>tn(e))).sort(((e,t)=>ce(e.key,t.key))).map((e=>`${e.key}=${e.value}`)).join("&");return{$ref:`enum/${e.name}/${t}`,name:At(be(e.name))}},rn=(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=>kt(e)==t.name));if(r&&n[r])return n[r]}return t.name},on=({debug:e,definition:t,getModel:n,model:r,openApi:o,types:s})=>{const a="object"==typeof t.additionalProperties?t.additionalProperties:{},i=n({debug:e,definition:a,openApi:o,parentDefinition:t,types:s});if(a.$ref){const e=$t({type:a.$ref});return r.base=e.base,r.default=Lt(t,r),r.export="dictionary",r.imports.push(...e.imports),r.template=e.template,r.type=e.type,r}if(t.additionalProperties&&t.properties&&Object.keys(t.properties).length>0){const e="object"==typeof t.additionalProperties&&t.additionalProperties.type&&!Array.isArray(t.additionalProperties.type)?t.additionalProperties.type:i.base,n=[$t({type:e}).base,...r.properties.map((e=>e.base))];return i.base=n.filter(Ct).join(" | "),i.default=Lt(t,r),i.export="generic",i.isRequired=!0===t.additionalProperties,i.name="[key: string]",i}return r.base=i.base,r.default=Lt(t,r),r.export="dictionary",r.imports.push(...i.imports),r.link=i,r.template=i.template,r.type=i.type,r},sn=({debug:e,definition:t,getModel:n,openApi:r,parent:o,types:s})=>{let a=[];const i=((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&&kt(e.$ref)==t.name)))return r.discriminator}})(r,o);return Object.entries(t.properties??{}).forEach((([p,l])=>{const c=Boolean(t.required?.includes(p)),u={default:l.default,deprecated:!0===l.deprecated,description:l.description||null,exclusiveMaximum:l.exclusiveMaximum,exclusiveMinimum:l.exclusiveMinimum,format:"array"===l.type?l.items?.format??l.format:l.format,in:"",isDefinition:!1,isReadOnly:!0===l.readOnly,isRequired:c,maxItems:l.maxItems,maxLength:l.maxLength,maxProperties:l.maxProperties,maximum:l.maximum,minItems:l.minItems,minLength:l.minLength,minProperties:l.minProperties,minimum:l.minimum,multipleOf:l.multipleOf,name:ve(p),pattern:Nt(l.pattern),uniqueItems:l.uniqueItems};if(o&&i?.propertyName==p)return void(a=[...a,{...u,$refs:[],base:`'${rn(i,o)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:Rt(l),link:null,properties:[],template:null,type:"string"}]);if(l.$ref){const e=$t({type:l.$ref});return void(a=[...a,{...u,$refs:e.$refs,base:e.base,enum:[],enums:[],export:"reference",imports:e.imports,isNullable:e.isNullable||Rt(l),link:null,properties:[],template:e.template,type:e.type}])}const m=n({debug:e,definition:l,initialValues:u,openApi:r,parentDefinition:t,types:s});m.isNullable=m.isNullable||Rt(l),a=[...a,m]})),a},an=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find((e=>e.definitions?.length)),pn=({debug:e,definition:t,definitions:n,getModel:r,model:o,openApi:s,type:a,types:i})=>{const p={$refs:o.$refs,enums:o.enums,export:a,imports:o.imports,properties:o.properties};let l=[];if(n.map((n=>r({debug:e,definition:n,openApi:s,parentDefinition:t,types:i}))).forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums],p.properties=[...p.properties,e]})),t.required){const e=(({definitions:e,getModel:t,openApi:n,required:r,types:o})=>e.reduce(((e,r)=>{if(r.$ref){const s=$t({type:r.$ref}),a={$ref:r.$ref,name:s.base};o[s.base]=a;const i=Ht(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:n,getModel:r,openApi:s,required:t.required,types:i});e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums]})),l=[...l,...e]}if(t.properties){const e=sn({definition:t,getModel:r,openApi:s,types:i});e.forEach((e=>{p.$refs=[...p.$refs,...e.$refs],p.imports=[...p.imports,...e.imports],p.enums=[...p.enums,...e.enums],"enum"===e.export&&(p.enums=[...p.enums,e])})),l=[...l,...e]}if(l.length){const e=an(t);if(e){const t={$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:l,template:null,type:"unknown"};"one-of"===e.type?(p.properties=[{...p,base:"",description:null,enum:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!0,link:null,name:"",template:null,type:""},t],p.export="all-of"):p.properties=[...p.properties,t]}}return p},ln=({debug:e,definition:t,initialValues:n={},isDefinition:r=!1,meta:o,openApi:s,parentDefinition:a=null,types:i})=>{const p=wt(t),l=((e,t)=>{if(e.enum&&!t.includes("boolean"))return"enum"})(t,p),c={$refs:[],base:"unknown",deprecated:Boolean(t.deprecated),description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:"",isDefinition:r,isNullable:Rt(t),isReadOnly:!0===t.readOnly,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,meta:o,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:o?.name??"",pattern:Nt(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems,...n};if(t.$ref){const n=$t({debug:e,type:t.$ref});return c.$refs=[...c.$refs,decodeURIComponent(t.$ref)],c.base=n.base,c.export="reference",c.imports=[...c.imports,...n.imports],c.template=n.template,c.type=n.type,c.default=Lt(t,c),c}if("enum"===l){const e=St(t,t.enum);if(e.length)return c.base="string",c.enum=[...c.enum,...e],c.export="enum",c.type="string",c.default=Lt(t,c),c.meta||(c.meta=nn(c)),c}if(p.includes("array")&&(t.items||t.prefixItems)){if(t.prefixItems){const e=t.prefixItems.map((e=>ln({definition:e,openApi:s,parentDefinition:t,types:i})));return c.export="array",c.$refs=[...c.$refs,...e.reduce(((e,t)=>[...e,...t.$refs]),[])],c.imports=[...c.imports,...e.reduce(((e,t)=>[...e,...t.imports]),[])],c.link=e,c.default=Lt(t,c),c}if(!t.items)return c;if(t.items.$ref){const e=$t({type:t.items.$ref});return c.$refs=[...c.$refs,decodeURIComponent(t.items.$ref)],c.base=e.base,c.export="array",c.imports=[...c.imports,...e.imports],c.template=e.template,c.type=e.type,c.default=Lt(t,c),c}if(t.items.anyOf&&a&&a.type){const e=an(a);if(e&&e.definitions.some((e=>!wt(e).includes("array"))))return ln({definition:t.items,openApi:s,parentDefinition:t,types:i})}const e=Array.isArray(t.items)?{anyOf:t.items}:t.items,n=ln({definition:e,openApi:s,parentDefinition:t,types:i});return c.base=n.base,c.export="array",c.$refs=[...c.$refs,...n.$refs],c.imports=[...c.imports,...n.imports],c.link=n,c.template=n.template,c.type=n.type,c.default=Lt(t,c),c}const u=an(t);if(u){const n=pn({...u,debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i});return{...c,...n}}if(p.includes("object")||t.properties||t.additionalProperties){if(t.properties&&(Object.keys(t.properties).length>0||!t.additionalProperties)){c.base="unknown",c.export="interface",c.type="unknown",c.default=Lt(t,c);if(sn({debug:e,definition:t,getModel:ln,openApi:s,parent:c,types:i}).forEach((e=>{c.$refs=[...c.$refs,...e.$refs],c.enums=[...c.enums,...e.enums],c.imports=[...c.imports,...e.imports],c.properties=[...c.properties,e],"enum"===e.export&&(c.enums=[...c.enums,e])})),t.additionalProperties){const n=on({debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i});c.properties=[...c.properties,n]}return c.properties.length||"unknown"!==c.base||"unknown"!==c.type||(c.export="dictionary",c.name||(c.name="[key: string]")),c}return on({debug:e,definition:t,getModel:ln,model:c,openApi:s,types:i})}if(void 0!==t.const){const e=t.const,n="string"==typeof e?`"${e}"`:`${e}`;return c.base=n,c.export="const",c.type=n,c}if(p.length){const e=$t({format:t.format,type:t.type});return c.base=e.base,c.export="generic",c.$refs=[...c.$refs,...e.$refs],c.imports=[...c.imports,...e.imports],c.isNullable=e.isNullable||c.isNullable,c.template=e.template,c.type=e.type,c.default=Lt(t,c),c}return c},cn=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}}},un=e=>{const t=at(),n={};let r=[];return e.components?(Object.entries(e.components.schemas??{}).forEach((([t,o])=>{const s=Zt(t);n[s.name]=s;const a=ln({definition:o,isDefinition:!0,meta:s,openApi:e,types:n});r=[...r,a]})),Object.entries(e.components.parameters??{}).forEach((([o,s])=>{const a=cn(s);if(!a)return void(t.debug&&console.warn("Skipping generating parameter:",o));const i=(e=>{const t=`Parameter${$t({type:e}).base.replace(ge,"_$1")}`;return{$ref:lt+e,name:t}})(o);n[i.name]=i;const p=ln({definition:a,isDefinition:!0,meta:i,openApi:e,types:n});p.deprecated=s.deprecated,p.description=s.description||null,r=[...r,p]})),{models:r,types:n}):{models:r,types:n}},mn=["cookie","formData","header","path","query"],dn=({openApi:e,parameters:t,types:n})=>{const r=at(),o={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach((t=>{const s=Ht(e,t),a=(({openApi:e,parameter:t,types:n})=>{const r=at(),o={$refs:[],base:"unknown",deprecated:!0===t.deprecated,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:Rt(t),isReadOnly:!1,isRequired:!0===t.required,link:null,mediaType:null,prop:t.name,properties:[],template:null,type:"unknown"};let s={...o,name:r.nameFn.operationParameter(o)};if(t.$ref){const e=$t({type:t.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s}let a=cn(t);if(a){if(a.$ref?.startsWith(lt)&&(a=Ht(e,a)),a.$ref){const e=$t({type:a.$ref});return s={...s,$refs:[...s.$refs,...e.$refs],base:e.base,export:"reference",imports:[...s.imports,...e.imports],template:e.template,type:e.type},s.default=Lt(a),s}const t=ln({definition:a,openApi:e,types:n});return s={...s,$refs:[...s.$refs,...t.$refs],base:t.base,enum:[...s.enum,...t.enum],enums:[...s.enums,...t.enums],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:t.export,format:t.format,imports:[...s.imports,...t.imports],isNullable:s.isNullable||t.isNullable,isReadOnly:t.isReadOnly,isRequired:s.isRequired||t.isRequired,link:t.link,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,pattern:Nt(t.pattern),properties:[...s.properties,...t.properties],template:t.template,type:t.type,uniqueItems:t.uniqueItems},!s.enum.length&&!s.enums.length||s.meta||(s.meta=nn(s)),s.default=t.default,s}return s})({openApi:e,parameter:s,types:n}),i=r.filterFn?.operationParameter&&!r.filterFn?.operationParameter(a);if(mn.includes(s.in)&&!i){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},fn=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","multipart/batch","multipart/form-data","multipart/mixed","multipart/related","text/json","text/plain"],yn=(e,t)=>{const n=Object.keys(t).filter((e=>{const t=e.split(";")[0].trim();return fn.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}:void 0},hn=({debug:e,openApi:t,responses:n,types:r})=>{let o=[];return Object.entries(n).forEach((([e,n])=>{const s=Kt(e);if(!s)return;const a=Ht(t,n),i=(({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:[],responseTypes:[],template:null,type:204!==e?"unknown":"void"};if(n.content){const e=yn(0,n.content);if(e){if(e.schema.$ref?.startsWith("#/components/responses/")&&(e.schema=Ht(t,e.schema)),e.schema.$ref){const t=$t({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=ln({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=Nt(n.pattern),o.$refs=[...o.$refs,...n.$refs],o.imports=[...o.imports,...n.imports],o.enum=[...o.enum,...n.enum],o.enums=[...o.enums,...n.enums],o.properties=[...o.properties,...n.properties],o}}if(n.headers)for(const e in n.headers)return o.in="header",o.name=e,o.type="string",o.base="string",o;return o})({code:s,openApi:t,response:a,types:r});o=[...o,i]})),o=Xt(o),o.sort(Wt)},gn=(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},xn=({debug:e,method:t,op:n,openApi:r,pathParams:o,types:s,url:a})=>{const i=at(),p={$refs:[],deprecated:Boolean(n.deprecated),description:n.description||null,id:n.operationId||null,imports:[],method:t.toUpperCase(),parameters:[],parametersBody:o.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,responses:[],summary:n.summary||null,tags:n.tags||null},l={...p,name:i.nameFn.operation(p)};if(n.parameters){const e=dn({openApi:r,parameters:n.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(n.requestBody){const t=(({body:e,debug:t,openApi:n,types:r})=>{const o=e["x-body-name"]??"requestBody",s={$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:o,prop:o,properties:[],template:null,type:"unknown"};if(!e.content)return s;const a=yn(0,e.content);if(!a)return s;switch(s.mediaType=a.mediaType,s.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":s.in="formData",s.name="formData",s.prop="formData"}if(a.schema.$ref){const e=$t({type:a.schema.$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}const i=ln({debug:t,definition:a.schema,openApi:n,types:r});return s.$refs=[...s.$refs,...i.$refs],s.base=i.base,s.enum=[...s.enum,...i.enum],s.enums=[...s.enums,...i.enums],s.exclusiveMaximum=i.exclusiveMaximum,s.exclusiveMinimum=i.exclusiveMinimum,s.export=i.export,s.format=i.format,s.imports=[...s.imports,...i.imports],s.isNullable=s.isNullable||i.isNullable,s.isReadOnly=i.isReadOnly,s.isRequired=s.isRequired||i.isRequired,s.link=i.link,s.maximum=i.maximum,s.maxItems=i.maxItems,s.maxLength=i.maxLength,s.maxProperties=i.maxProperties,s.minimum=i.minimum,s.minItems=i.minItems,s.minLength=i.minLength,s.minProperties=i.minProperties,s.multipleOf=i.multipleOf,s.pattern=Nt(i.pattern),s.properties=[...s.properties,...i.properties],s.template=i.template,s.type=i.type,s.uniqueItems=i.uniqueItems,s})({body:Ht(r,n.requestBody),debug:e,openApi:r,types:s});l.$refs=[...l.$refs,...t.$refs],l.imports=[...l.imports,...t.imports],l.parameters=[...l.parameters,t],l.parametersBody=t}if(n.responses){l.responses=hn({openApi:r,responses:n.responses,types:s});const e=l.responses.filter((e=>e.responseTypes.includes("success")));l.responseHeader=Vt(e),e.forEach((e=>{l.$refs=[...l.$refs,...e.$refs],l.imports=[...l.imports,...e.imports]}))}return l.parameters=gn(l.parameters,o.parameters),l.parametersCookie=gn(l.parametersCookie,o.parametersCookie),l.parametersForm=gn(l.parametersForm,o.parametersForm),l.parametersHeader=gn(l.parametersHeader,o.parametersHeader),l.parametersPath=gn(l.parametersPath,o.parametersPath),l.parametersQuery=gn(l.parametersQuery,o.parametersQuery),l.parameters=zt(l.parameters),l},vn=e=>{const t=pt(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}=un(e),s=(({openApi:e,types:t})=>{const n=at(),r=new Map,o=[];for(const s in e.paths){const a=e.paths[s],i=dn({openApi:e,parameters:a.parameters??[],types:t});for(const p in a){const l=p,c=`${l.toUpperCase()} ${s}`;if(it.includes(l)){const p=a[l];if(p.operationId&&(r.has(p.operationId)?console.warn(`❗️ Duplicate operationId: ${p.operationId} in ${c}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(p.operationId,c)),!n.filterFn?.operation||n.filterFn?.operation(c)){const n=xn({method:l,op:p,openApi:e,pathParams:i,types:t,url:s});o.push(n)}}}}return o})({openApi:e,types:o});return{models:r,operations:s,server:n,types:o,version:t}};function bn({openApi:e,config:t}){if((e=>{st=e,at()})(t),"openapi"in e)return vn(e);if("swagger"in e)return Yt(e);throw new Error(`Unsupported OpenAPI specification: ${JSON.stringify(e,null,2)}`)}const Pn=({spec:e})=>{const t=e;if("3.1.0"===t.openapi)return(e=>{const t=new Map;for(const n in e.paths){const r=e.paths[n];r.delete&&ot({method:"DELETE",operation:r.delete,operationIds:t,path:n}),r.get&&ot({method:"GET",operation:r.get,operationIds:t,path:n}),r.head&&ot({method:"HEAD",operation:r.head,operationIds:t,path:n}),r.options&&ot({method:"OPTIONS",operation:r.options,operationIds:t,path:n}),r.patch&&ot({method:"PATCH",operation:r.patch,operationIds:t,path:n}),r.post&&ot({method:"POST",operation:r.post,operationIds:t,path:n}),r.put&&ot({method:"PUT",operation:r.put,operationIds:t,path:n}),r.trace&&ot({method:"TRACE",operation:r.trace,operationIds:t,path:n})}})(t);throw new Error("Unsupported OpenAPI specification")},Rn=(e,t)=>{const n=ie();if(Array.isArray(e))return e.map((e=>Rn(e)));if("object"!=typeof e||null===e)return e;const r={...e};return Object.entries(r).forEach((([e,o])=>{"form"===n.schemas.type&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(e)&&"properties"!==t?delete r[e]:("$ref"===e&&"string"==typeof o&&(r[e]=decodeURIComponent(o)),o&&"object"==typeof o&&(r[e]=Rn(o,e)))})),r},wn=(e,t)=>{const n=ie(),r=At(e);return n.schemas.name?n.schemas.name(r,t):`${r}Schema`},An=e=>"date"===e.format||"date-time"===e.format,qn=e=>{const t=ie();return"binary"===e.base?rt.typeUnionNode({types:["Blob","File"]}):t.types.dates&&An(e)?rt.typeNode("Date"):rt.typeNode(e.base)},Tn=({model:e,style:t})=>{const n=e.properties.map((e=>rt.nodeToString({node:kn(e),unescape:!0}))).filter(Ct),r="union"===t?rt.typeUnionNode({isNullable:e.isNullable,types:n}):rt.typeIntersectionNode({isNullable:e.isNullable,types:n});return e.meta?r:rt.typeParenthesizedNode({type:r})},kn=e=>{switch(e.export){case"all-of":return Tn({model:e,style:"intersection"});case"any-of":case"one-of":return Tn({model:e,style:"union"});case"array":return(e=>{if(e.link){if(Array.isArray(e.link)){const t=e.link.map((e=>kn(e)));return rt.typeTupleNode({isNullable:e.isNullable,types:t})}if("array"===e.export&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){const t=Array(e.maxItems).fill(kn(e.link));return rt.typeTupleNode({isNullable:e.isNullable,types:t})}return rt.typeArrayNode([kn(e.link)],e.isNullable)}return rt.typeArrayNode([qn(e)],e.isNullable)})(e);case"dictionary":return(e=>{const t=e.link&&!Array.isArray(e.link)?kn(e.link):qn(e);return rt.typeRecordNode(["string"],[t],e.isNullable)})(e);case"enum":return(e=>{const t=e.enum.map((e=>en(e.value)));return rt.typeUnionNode({isNullable:e.isNullable,types:t})})(e);case"interface":return(e=>{if(!e.properties.length)return rt.typeNode("unknown");const t=ie(),n=pe(t),r=e.properties.map((e=>{let t=e.isRequired?"":"?",r=kn(e),o=n?ve(be(En(e.name))):/^\dXX$/.test(e.name)?ve(e.name):e.name;return"[key: string]"===e.name&&(o=e.name,t&&(t="",r=rt.typeUnionNode({types:[r,"undefined"]}))),{comment:[e.description&&Pe(e.description),e.deprecated&&"@deprecated"],isReadOnly:e.isReadOnly,isRequired:""===t,name:o,type:r}}));return rt.typeInterfaceNode({isNullable:e.isNullable,properties:r})})(e);default:return(e=>{const t="null"!==e.base&&e.isNullable;let n=qn(e);if("reference"===e.export&&1===e.$refs.length&&e.$refs[0].startsWith(ct)){const t=Zt(e.base);n=rt.typeNode(t.name)}return rt.typeUnionNode({isNullable:t,types:[n]})})(e)}},On=({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}:On({client:e,count:t+1,create:n,meta:r,nameTransformer:o}):n&&(e.types[a]=r,s={created:!0,name:a}),s},En=e=>{const t=ie();if(pe(t))return e;return xt({input:Tt(e)}).replace(ge,"_$1")},$n=({meta:e,onImport:t,...n})=>{if(!e)return{created:!1,name:""};const{created:r,name:o}=On({meta:e,...n});return o&&t(o),{created:r,name:o}},Cn=e=>`${e}ModelResponseTransformer`,Sn=e=>`${xt({input:e,pascalCase:!0})}Data`,Nn=e=>`${xt({input:e,pascalCase:!0})}Error`,In=e=>`${e}Transformer`,Dn=e=>`${xt({input:e,pascalCase:!0})}Response`,_n=(e,t)=>{const n="Options";return t?`${n}<${e||"unknown"}, ${t}>`:e?`${n}<${e}>`:n},Hn=(e,t)=>{const n=ie(),{name:r}=On({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Sn}),o=Ut(t.parameters);if(pe(n))return[{isRequired:o,name:"options",type:_n(r,"ThrowOnError")}];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}}))},jn=(e,t)=>{const n=ie();let r=rt.typeNode("void");if(t.responses.filter((e=>e.responseTypes.includes("success"))).length){const{name:n}=On({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Dn});r=rt.typeUnionNode({types:[n]})}return n.useOptions&&"response"===n.services.response&&(r=rt.typeNode("ApiResult",[r])),r="legacy/angular"===n.client.name?rt.typeNode("Observable",[r]):rt.typeNode("CancelablePromise",[r]),r},Bn=e=>{const t=ie();if(pe(t)){return[e.deprecated&&"@deprecated",e.summary&&Pe(e.summary),e.description&&Pe(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?Pe(e.description):""}`))]:e.parameters.map((e=>`@param ${e.name} ${e.description?Pe(e.description):""}`)));const r=e.responses.filter((e=>e.responseTypes.includes("success")));return[e.deprecated&&"@deprecated",e.summary&&Pe(e.summary),e.description&&Pe(e.description),...n,...r.map((e=>`@returns ${e.type} ${e.description?Pe(e.description):""}`)),"@throws ApiError"]},Ln=(e,t)=>{const n=ie();return n.services.methodNameBuilder?n.services.methodNameBuilder(e):t&&e.name.match(ge)?`${e.name}_`:e.name},Mn=(e,t,n,r)=>{const o=ie(),s=((e,t,n,r)=>{const o=ie(),s=Dn(t.name),{name:a}=On({client:e,meta:{$ref:`transformers/${s}`,name:s},nameTransformer:In});if(a&&n(a),pe(o)){let e=[{spread:"options"}];const n=t.parameters.filter((e=>"body"===e.in||"formData"===e.in)).map((e=>e.mediaType)).filter(Boolean).filter(Ct);return 1===n.length&&("multipart/form-data"===n[0]&&(e=[...e,{spread:"formDataBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:null},{spread:"options?.headers"}]}],r?.("formDataBodySerializer")),"application/x-www-form-urlencoded"===n[0]&&(e=[...e,{spread:"urlSearchParamsBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:n[0]},{spread:"options?.headers"}]}],r?.("urlSearchParamsBodySerializer"))),e=[...e,{key:"url",value:t.path}],a&&(e=[...e,{key:"responseTransformer",value:a}]),rt.objectExpression({identifiers:["responseTransformer"],obj:e})}const i=e=>e.reduce(((e,t)=>{const n=t.prop,r=o.useOptions?`data.${t.name}`:t.name;return n===r?e[n]=n:ve(n)===n?e[n]=r:e[`'${n}'`]=r,e}),{}),p={method:t.method,url:t.path};t.parametersPath.length&&(p.path=i(t.parametersPath)),t.parametersCookie.length&&(p.cookies=i(t.parametersCookie)),t.parametersHeader.length&&(p.headers=i(t.parametersHeader)),t.parametersQuery.length&&(p.query=i(t.parametersQuery)),t.parametersForm.length&&(p.formData=i(t.parametersForm)),t.parametersBody&&("formData"===t.parametersBody.in&&(o.useOptions?p.formData=`data.${t.parametersBody.name}`:p.formData=t.parametersBody.name),"body"===t.parametersBody.in&&(o.useOptions?p.body=`data.${t.parametersBody.name}`:p.body=t.parametersBody.name)),t.parametersBody?.mediaType&&(p.mediaType=t.parametersBody?.mediaType),t.responseHeader&&(p.responseHeader=t.responseHeader),a&&(p.responseTransformer=a);const l=t.responses.filter((e=>e.responseTypes.includes("error")));if(l.length>0){const e={};l.forEach((t=>{e[t.code]=t.description??""})),p.errors=e}return rt.objectExpression({identifiers:["body","cookies","formData","headers","path","query","responseTransformer"],obj:p,shorthand:!0})})(e,t,n,r);if(pe(o)){const n=On({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Nn}).name,r=t.responses.filter((e=>e.responseTypes.includes("success"))).length?On({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Dn}).name:"void";return[rt.returnFunctionCall({args:[s],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:n&&r?[r,n,"ThrowOnError"]:n?["unknown",n,"ThrowOnError"]:r?[r,"unknown","ThrowOnError"]:[]})]}return o.name?[rt.returnFunctionCall({args:[s],name:"this.httpRequest.request"})]:"legacy/angular"===o.client.name?[rt.returnFunctionCall({args:["OpenAPI","this.http",s],name:"__request"})]:[rt.returnFunctionCall({args:["OpenAPI",s],name:"__request"})]},Fn=({client:e,onClientImport:t,onImport:n,onNode:r,service:o})=>{const s=ie(),a=pe(s);for(const t of o.operations){t.parameters.length&&$n({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Sn,onImport:n}),a&&$n({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Nn,onImport:n});t.responses.filter((e=>e.responseTypes.includes("success"))).length&&$n({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Dn,onImport:n})}const i={default:!1,extends:"boolean",name:"ThrowOnError"};if(!s.services.asClass&&!s.name){for(const p of o.operations){const o={parameters:Hn(e,p),returnType:a?void 0:jn(e,p),statements:Mn(e,p,n,t),types:a?[i]:void 0},l="legacy/angular"===s.client.name?rt.anonymousFunction(o):rt.arrowFunction(o);r(rt.constVariable({comment:Bn(p),exportConst:!0,expression:l,name:Ln(p,!0)}))}return}let p=o.operations.map((r=>rt.methodDeclaration({accessLevel:"public",comment:Bn(r),isStatic:void 0===s.name&&"legacy/angular"!==s.client.name,name:Ln(r,!1),parameters:Hn(e,r),returnType:a?void 0:jn(e,r),statements:Mn(e,r,n,t),types:a?[i]:void 0})));if(!p.length)return;s.name?p=[rt.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]}),...p]:"legacy/angular"===s.client.name&&(p=[rt.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}),...p]);r(rt.classDeclaration({decorator:"legacy/angular"===s.client.name?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:p,name:vt(o.name)}))},Vn=async({client:e,files:t})=>{const n=ie();if(!n.services.export)return;(({files:e})=>{if(!ie().client.name)throw new Error("🚫 client needs to be set to generate services - which HTTP client do you want to use?");if(!e.types)throw new Error("🚫 types need to be exported to generate services - enable type generation")})({files:t});const r=pe(n);if(t.services=new nt({dir:n.output.path,name:"services.ts"}),r?(t.services.import({module:ye(),name:"createClient"}),t.services.import({module:ye(),name:"createConfig"}),t.services.import({asType:!0,module:ye(),name:"Options"})):("legacy/angular"===n.client.name?(t.services.import({module:"@angular/core",name:"Injectable"}),n.name||t.services.import({module:"@angular/common/http",name:"HttpClient"}),t.services.import({asType:!0,module:"rxjs",name:"Observable"})):t.services.import({asType:!0,module:"./core/CancelablePromise",name:"CancelablePromise"}),"response"===n.services.response&&t.services.import({asType:!0,module:"./core/ApiResult",name:"ApiResult"}),n.name?t.services.import({asType:"legacy/angular"!==n.client.name,module:"./core/BaseHttpRequest",name:"BaseHttpRequest"}):(t.services.import({module:"./core/OpenAPI",name:"OpenAPI"}),t.services.import({alias:"__request",module:"./core/request",name:"request"}))),r){const e=rt.constVariable({exportConst:!0,expression:rt.callExpression({functionName:"createClient",parameters:[rt.callExpression({functionName:"createConfig"})]}),name:"client"});t.services.add(e)}for(const n of e.services)Fn({client:e,onClientImport:e=>{t.services.import({module:ye(),name:e})},onImport:e=>{t.services.import({asType:!e.endsWith("Transformer"),module:`./${t.types.getName(!1)}`,name:e})},onNode:e=>{t.services.add(e)},service:n})},Un={$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:""},Kn=({comment:e,meta:t,onCreated:n,onNode:r,type:o,...s})=>{if(!t)return{created:!1,name:""};const a=On({create:!0,meta:t,...s}),{created:i,name:p}=a;if(i){r(rt.typeAliasDeclaration({comment:e,exportType:!0,name:p,type:o})),n?.(p)}return a},Wn=({client:e,model:t,onNode:n})=>{const r=ie(),o={},s={};t.enum.forEach((e=>{const{key:t,value:n}=tn(e);o[t]=n;const r=e.customDescription||e.description;r&&(s[t]=[Pe(r)])}));const a=[t.description&&Pe(t.description),t.deprecated&&"@deprecated"];var i;"typescript"!==r.types.enums&&"typescript+namespace"!==r.types.enums?Kn({client:e,comment:a,meta:t.meta,onCreated:e=>{if("javascript"===r.types.enums){const t=rt.objectExpression({multiLine:!0,obj:Object.entries(o).map((([e,t])=>({comments:s[e],key:e,value:t}))),unescape:!0}),r=rt.constVariable({assertion:"const",comment:a,exportConst:!0,expression:t,name:e});n(r)}},onNode:n,type:(i=t.enum,i.map((e=>en(e.value,!0))).filter(Ct).join(" | "))}):(({leadingComment:e,comments:t,meta:n,obj:r,onNode:o,...s})=>{if(!n)return;const{created:a,name:i}=On({create:!0,meta:n,...s});a&&o(rt.enumDeclaration({comments:t,leadingComment:e,name:i,obj:r}))})({client:e,comments:s,leadingComment:a,meta:t.meta,obj:o,onNode:n})},Qn=({model:e,onNode:t})=>{const n={},r={};e.enum.forEach((e=>{const{key:t,value:o}=tn(e);n[t]=o;const s=e.customDescription||e.description;s&&(r[t]=[Pe(s)])})),t(rt.enumDeclaration({comments:r,leadingComment:[e.description&&Pe(e.description),e.deprecated&&"@deprecated"],name:e.meta?.name||e.name,obj:n}))},Xn=({client:e,model:t,onNode:n})=>{Kn({client:e,comment:[t.description&&Pe(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:n,type:kn(t)})},zn=e=>{switch(e.model.export){case"all-of":case"any-of":case"one-of":case"interface":return(e=>{const t=ie(),n=[];Xn(e),e.model.enums.forEach((r=>"typescript+namespace"!==t.types.enums?Wn({...e,model:r}):Qn({...e,model:r,onNode:e=>{n.push(e)}}))),n.length&&e.onNode(rt.namespaceDeclaration({name:e.model.name,statements:n}))})(e);case"enum":return Wn(e);default:return Xn(e)}},Gn=async({client:e,files:t})=>{const n=ie();n.types.export&&(t.types=new nt({dir:n.output.path,name:"types.ts"}));const r=e=>{t.types?.add(e)};for(const t of e.models)zn({client:e,model:t,onNode:r});(({client:e,onNode:t})=>{const n={},r=ie();if(!r.services.export&&!r.types.tree)return;const o=pe(r);for(const r of e.services)for(const s of r.operations){if(!s.parameters.length&&!s.responses.length)continue;n[s.path]||(n[s.path]={});const r=n[s.path];r[s.method]||(r[s.method]={});const a=r[s.method];if(a.$ref=s.name,s.responses.length>0){if(a.res||(a.res={}),Array.isArray(a.res))continue;s.responses.forEach((e=>{a.res[e.code]=e}))}if(s.parameters.length>0){let n=s.parameters.find((e=>"body"===e.in));n||(n=s.parameters.find((e=>"formData"===e.in)));const r={mediaType:null,...Un,...n,in:"body",isRequired:!!n&&n.isRequired,name:"body",prop:"body"},i={...Un,in:"header",isRequired:Ut(s.parameters.filter((e=>"header"===e.in))),mediaType:null,name:o?"headers":"header",prop:o?"headers":"header",properties:s.parameters.filter((e=>"header"===e.in)).sort(ue)},p={...Un,in:"path",isRequired:Ut(s.parameters.filter((e=>"path"===e.in))),mediaType:null,name:"path",prop:"path",properties:s.parameters.filter((e=>"path"===e.in)).sort(ue)},l={...Un,in:"query",isRequired:Ut(s.parameters.filter((e=>"query"===e.in))),mediaType:null,name:"query",prop:"query",properties:s.parameters.filter((e=>"query"===e.in)).sort(ue)},c=o?[r,i,p,l].filter((e=>e.properties.length||e.$refs.length||e.mediaType)):me([...s.parameters]);a.req=c,Kn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:Sn,onNode:t,type:kn({...Un,isRequired:!0,properties:c})})}const i=s.responses.filter((e=>e.responseTypes.includes("success")));if(i.length>0){Kn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:Dn,onNode:t,type:kn({...Un,export:"any-of",isRequired:!0,properties:i})});const n=s.responses.filter((e=>e.responseTypes.includes("error")));o&&Kn({client:e,meta:{$ref:s.name,name:s.name},nameTransformer:Nn,onNode:t,type:kn(n.length?{...Un,export:"one-of",isRequired:!0,properties:n}:{...Un,base:"unknown",isRequired:!0,type:"unknown"})})}}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}=On({client:e,meta:{$ref:t,name:t},nameTransformer:Sn}),s={...Un,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])=>({...Un,...t,isRequired:!0,name:String(e)}))),t={...Un,isRequired:!0,name:"res",properties:e};o=[...o,t]}return{...Un,isRequired:!0,name:r.toLocaleLowerCase(),properties:o}})).filter(Boolean);return{...Un,isRequired:!0,name:`'${t}'`,properties:r}}));r.types.tree&&Kn({client:e,meta:{$ref:"@hey-api/openapi-ts",name:"$OpenApiTs"},onNode:t,type:kn({...Un,properties:s})})})({client:e,onNode:r})},Jn="data",Yn=e=>"unknown"===e.base&&"generic"===e.export&&"unknown"===e.type,Zn=({client:e,model:t})=>t.$refs.map((t=>{const n=e.models.find((e=>e.meta?.$ref===t));if(!n)throw new Error(`Ref ${t} could not be found. Transformers cannot be generated without having access to all refs.`);return n})),er=e=>{const t=e.model.meta.name,{name:n}=Kn({...e,meta:{$ref:`transformers/${t}`,name:t},nameTransformer:Cn,onCreated:n=>{const r=tr({...e,meta:{$ref:`transformers/${t}`,name:n},path:[Jn]});nr({...e,async:!1,name:n,statements:r})},type:`(${Jn}: any) => ${t}`});return{created:Boolean(e.client.types[n]),name:n}},tr=e=>{const{model:t}=e;switch(t.export){case"array":return(e=>{const{model:t}=e,n=Zn(e);if(1===n.length){const{created:t,name:r}=er({...e,model:n[0]});return t?[rt.transformArrayMutation({path:e.path,transformerName:r})]:[]}return An(t)||t.link&&!Array.isArray(t.link)&&"any-of"===t.link.export&&t.link.properties.find((e=>An(e)))?[rt.transformArrayMap({path:e.path,transformExpression:rt.conditionalExpression({condition:rt.identifier({text:"item"}),whenFalse:rt.identifier({text:"item"}),whenTrue:rt.transformNewDate({parameterName:"item"})})})]:[]})(e);case"interface":return t.properties.flatMap((t=>(e=>{const{model:t}=e,n=[...e.path,t.name];return"string"===t.type&&"array"!==t.export&&An(t)?[rt.transformDateMutation({path:n})]:tr({...e,model:t,path:n})})({...e,model:t})));case"reference":{if(1!==t.$refs.length)return[];const n=Zn(e),{created:r,name:o}=er({...e,model:n[0]});return r?"response"===t.in?[rt.expressionToStatement({expression:rt.callExpression({functionName:o,parameters:[Jn]})})]:rt.transformFunctionMutation({path:e.path,transformerName:o}):[]}default:return[]}},nr=({async:e,client:t,name:n,onNode:r,onRemoveNode:o,statements:s})=>{const a={created:!1,name:n};if(!s.length)return(({client:e,name:t})=>{let n={deleted:!1,name:""};e.types[t]&&(delete e.types[t],n={deleted:!0,name:t})})({client:t,name:n}),o?.(),a;const i=rt.arrowFunction({async:e,multiLine:!0,parameters:[{name:Jn}],statements:[...s,rt.returnVariable({name:Jn})]});return r(rt.constVariable({exportConst:!0,expression:i,name:n,typeName:n})),{created:!0,name:n}},rr=async(t,n,r)=>{const o=ie();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 a=e.resolve(o.output.path),p={};await(async(t,n)=>{const r=ie();if(!pe(r)||!r.client.bundle)return;const o=e.resolve(t,"core");de(o);const a=e.normalize(fe.resolve(n)).split(e.sep),i=[...a.slice(0,a.indexOf("dist")),"src"].join(e.sep);["index.ts","types.ts","utils.ts"].forEach((t=>{s.copyFileSync(e.resolve(i,t),e.resolve(o,t))}));const p=s.readFileSync(e.resolve(i,"node","index.ts"),"utf-8").replaceAll("../","./core/");s.writeFileSync(e.resolve(t,"client.ts"),p,"utf-8")})(a,o.client.name),await Gn({client:n,files:p}),await(async({files:e,openApi:t})=>{const n=ie();if(!n.schemas.export)return;e.schemas=new nt({dir:n.output.path,name:"schemas.ts"});const r=(t,n)=>{const r=Rn(n),o=rt.objectExpression({obj:r}),s=rt.constVariable({assertion:"const",exportConst:!0,expression:o,name:wn(t,n)});e.schemas.add(s)};"swagger"in t&&Object.entries(t.definitions??{}).forEach((([e,t])=>{r(e,t)})),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach((([e,t])=>{r(e,t)}))})({files:p,openApi:t}),o.services.export&&n.services.length&&"types+transform"===o.types.dates&&await(async({client:e,onNode:t,onRemoveNode:n})=>{const r=ie();for(const o of e.services)for(const s of o.operations){const o=s.responses.filter((e=>e.responseTypes.includes("success")));if(!o.length)continue;const a=o.filter((e=>!Yn(e)));if(!a.length)continue;if(a.length>1){r.debug&&console.warn(`❗️ Transformers warning: route ${s.method} ${s.path} has ${a.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);continue}const p=Dn(s.name);Kn({client:e,meta:{$ref:`transformers/${p}`,name:p},nameTransformer:In,onCreated:r=>{const s=o.length>1?o.flatMap((r=>{const o=tr({client:e,meta:{$ref:`transformers/${p}`,name:p},model:r,onNode:t,onRemoveNode:n,path:[Jn]});return o.length?[rt.ifStatement({expression:rt.safeAccessExpression(["data"]),thenStatement:i.factory.createBlock(o)})]:[]})):tr({client:e,meta:{$ref:`transformers/${p}`,name:p},model:o[0],onNode:t,onRemoveNode:n,path:[Jn]});nr({async:!0,client:e,name:r,onNode:t,onRemoveNode:n,statements:s})},onNode:t,type:`(${Jn}: any) => Promise<${p}>`})}})({client:n,onNode:e=>{p.types?.add(e)},onRemoveNode:()=>{p.types?.removeNode()}}),await Vn({client:n,files:p}),await(async(t,n,r,o)=>{const a=ie(),i=o.client({$config:a,...r,httpRequest:le(a.client),models:me(r.models),services:me(r.services)});a.name&&(de(n),s.writeFileSync(e.resolve(n,`${a.name}.ts`),i))})(0,a,n,r),await(async(t,n,r)=>{const o=ie();if(o.exportCore){const a={httpRequest:le(o.client),server:void 0!==o.base?o.base:n.server,version:n.version};if(s.rmSync(e.resolve(t),{force:!0,recursive:!0}),s.mkdirSync(e.resolve(t),{recursive:!0}),await s.writeFileSync(e.resolve(t,"OpenAPI.ts"),r.core.settings({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiError.ts"),r.core.apiError({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:o,...a})),await s.writeFileSync(e.resolve(t,"ApiResult.ts"),r.core.apiResult({$config:o,...a})),"legacy/angular"!==o.client.name&&await s.writeFileSync(e.resolve(t,"CancelablePromise.ts"),r.core.cancelablePromise({$config:o,...a})),await s.writeFileSync(e.resolve(t,"request.ts"),r.core.request({$config:o,...a})),o.name&&(await s.writeFileSync(e.resolve(t,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:o,...a})),await s.writeFileSync(e.resolve(t,`${a.httpRequest}.ts`),r.core.httpRequest({$config:o,...a}))),o.request){const n=e.resolve(process.cwd(),o.request);if(!await s.existsSync(n))throw new Error(`Custom request file "${n}" does not exists`);await s.copyFileSync(n,e.resolve(t,"request.ts"))}}})(e.resolve(o.output.path,"core"),n,r),await(async({files:e})=>{const t=ie();e.index=new nt({dir:t.output.path,name:"index.ts"}),t.name&&e.index.add(rt.exportNamedDeclaration({exports:t.name,module:`./${t.name}`})),t.exportCore&&(e.index.add(rt.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),"response"===t.services.response&&e.index.add(rt.exportNamedDeclaration({exports:{asType:!0,name:"ApiResult"},module:"./core/ApiResult"})),t.name&&e.index.add(rt.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),"legacy/angular"!==t.client.name&&e.index.add(rt.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(rt.exportNamedDeclaration({exports:["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach((t=>{const n=e[t];"index"===t||n.isEmpty()||e.index.add(rt.exportAllDeclaration({module:`./${n.getName(!1)}`}))}))})({files:p}),await(async({client:t,files:n})=>{const r=ie();if(pe(r))for(const o of r.plugins){const s=o.output.split("/"),a=e.resolve(r.output.path,...s.slice(0,s.length-1));n[o.name]=new nt({dir:a,name:`${s[s.length-1]}.ts`}),o.handler({client:t,files:n,outputParts:s,plugin:o})}})({client:n,files:p}),Object.entries(p).forEach((([e,t])=>{"index"===e?t.write():t.write("\n\n")}))},or=e=>`${Ln(e,!1)}InfiniteOptions`,sr=e=>`${Ln(e,!1)}Mutation`,ar=e=>`${Ln(e,!1)}Options`,ir=(e,t)=>`${Ln(e,!1)}${t?"Infinite":""}QueryKey`,pr=e=>{switch(e.in){case"formData":return"body";case"header":return"headers";default:return e.in}},lr=/^(cursor|offset|page|start)/,cr="createQueryKey",ur="infiniteQueryOptions",mr="mutationOptions",dr="QueryKey",fr="queryOptions",yr="TOptions",hr=()=>"@hey-api/client-axios"===ie().client.name?"baseURL":"baseUrl",gr=({file:e})=>{const t=rt.indexedAccessTypeNode({indexType:rt.typeNode(0),objectType:rt.typeNode(dr,[rt.typeNode(yr)])}),n=rt.identifier({text:"infinite"}),r=rt.constVariable({expression:rt.arrowFunction({multiLine:!0,parameters:[{name:"id",type:rt.typeNode("string")},{isRequired:!1,name:"options",type:rt.typeNode(yr)},{isRequired:!1,name:"infinite",type:rt.typeNode("boolean")}],returnType:t,statements:[rt.constVariable({assertion:t,expression:rt.objectExpression({multiLine:!1,obj:[{key:"_id",value:rt.identifier({text:"id"})},{key:hr(),value:rt.identifier({text:`(options?.client ?? client).getConfig().${hr()}`})}]}),name:"params",typeName:t}),rt.ifStatement({expression:n,thenStatement:i.factory.createBlock([rt.expressionToStatement({expression:rt.binaryExpression({left:rt.propertyAccessExpression({expression:"params",name:"_infinite"}),right:n})})],!0)}),rt.ifStatement({expression:rt.propertyAccessExpression({expression:rt.identifier({text:"options"}),isOptional:!0,name:rt.identifier({text:"body"})}),thenStatement:i.factory.createBlock([rt.expressionToStatement({expression:rt.binaryExpression({left:rt.propertyAccessExpression({expression:"params",name:"body"}),right:rt.propertyAccessExpression({expression:"options",name:"body"})})})],!0)}),rt.ifStatement({expression:rt.propertyAccessExpression({expression:rt.identifier({text:"options"}),isOptional:!0,name:rt.identifier({text:"headers"})}),thenStatement:i.factory.createBlock([rt.expressionToStatement({expression:rt.binaryExpression({left:rt.propertyAccessExpression({expression:"params",name:"headers"}),right:rt.propertyAccessExpression({expression:"options",name:"headers"})})})],!0)}),rt.ifStatement({expression:rt.propertyAccessExpression({expression:rt.identifier({text:"options"}),isOptional:!0,name:rt.identifier({text:"path"})}),thenStatement:i.factory.createBlock([rt.expressionToStatement({expression:rt.binaryExpression({left:rt.propertyAccessExpression({expression:"params",name:"path"}),right:rt.propertyAccessExpression({expression:"options",name:"path"})})})],!0)}),rt.ifStatement({expression:rt.propertyAccessExpression({expression:rt.identifier({text:"options"}),isOptional:!0,name:rt.identifier({text:"query"})}),thenStatement:i.factory.createBlock([rt.expressionToStatement({expression:rt.binaryExpression({left:rt.propertyAccessExpression({expression:"params",name:"query"}),right:rt.propertyAccessExpression({expression:"options",name:"query"})})})],!0)}),rt.returnVariable({name:"params"})],types:[{extends:rt.typeReferenceNode({typeName:rt.identifier({text:"Options"})}),name:yr}]}),name:cr});e.add(r)},xr=({file:e})=>{const t=[{name:"_id",type:rt.keywordTypeNode({keyword:"string"})},{isRequired:!1,name:"_infinite",type:rt.keywordTypeNode({keyword:"boolean"})}],n=rt.typeAliasDeclaration({name:dr,type:rt.typeTupleNode({types:[rt.typeIntersectionNode({types:[rt.typeReferenceNode({typeName:`Pick<${yr}, '${hr()}' | 'body' | 'headers' | 'path' | 'query'>`}),rt.typeInterfaceNode({properties:t})]})]}),typeParameters:[{extends:rt.typeReferenceNode({typeName:rt.identifier({text:"Options"})}),name:yr}]});e.add(n)},vr=({client:e,file:t,operation:n,typesModulePath:r})=>{const{name:o}=$n({client:e,meta:n.parameters.length?{$ref:n.name,name:n.name}:void 0,nameTransformer:Sn,onImport:e=>{t.import({asType:!0,module:r,name:e})}});return{typeData:_n(o)}},br=({client:e,file:t,operation:n,pluginName:r,typesModulePath:o})=>{const s=ie(),{name:a}=$n({client:e,meta:{$ref:n.name,name:n.name},nameTransformer:Nn,onImport:e=>{t.import({asType:!0,module:o,name:e})}});let i={asType:!0,name:a};if(i.name||(i=t.import({asType:!0,module:r,name:"DefaultError"})),"@hey-api/client-axios"===s.client.name){const e=t.import({asType:!0,module:"axios",name:"AxiosError"});i={...e,name:`${e.name}<${i.name}>`}}return{typeError:i}},Pr=({client:e,file:t,operation:n,typesModulePath:r})=>{const{name:o}=$n({client:e,meta:{$ref:n.name,name:n.name},nameTransformer:Dn,onImport:e=>{t.import({asType:!0,module:r,name:e})}});return{typeResponse:o||"void"}},Rr=({isInfinite:e,operation:t})=>rt.arrayLiteralExpression({elements:[rt.callExpression({functionName:cr,parameters:[rt.stringLiteral({text:t.name}),"options",e?rt.ots.boolean(!0):void 0]})],multiLine:!1}),wr=({client:e,files:t,outputParts:n,plugin:r})=>{if("@tanstack/react-query"!==r.name&&"@tanstack/solid-query"!==r.name&&"@tanstack/svelte-query"!==r.name&&"@tanstack/vue-query"!==r.name)return;(({files:e})=>{if(!e.services)throw new Error("🚫 services need to be exported to use TanStack Query plugin - enable service generation")})({files:t});const o=t[r.name];o.import({asType:!0,module:ye(),name:"Options"});const s=new Array(n.length).fill("").join("../")||"./",a=s+t.types.getName(!1),i="@tanstack/svelte-query"===r.name||"@tanstack/solid-query"===r.name?"MutationOptions":"UseMutationOptions";let p,l=!1,c=!1,u=!1,m=!1;for(const n of e.services)for(const d of n.operations){const n=Ln(d,!0);let f=!1;if(r.queryOptions&&["GET","POST"].includes(d.method)){m||(m=!0,l||(xr({file:o}),gr({file:o}),l=!0),o.import({module:r.name,name:fr})),f=!0;const{typeData:t}=vr({client:e,file:o,operation:d,typesModulePath:a}),s=Ut(d.parameters),i=rt.constVariable({exportConst:!0,expression:rt.arrowFunction({parameters:[{isRequired:s,name:"options",type:t}],statements:Rr({operation:d})}),name:ir(d)});o.add(i);const p=rt.arrowFunction({parameters:[{isRequired:s,name:"options",type:t}],statements:[rt.returnFunctionCall({args:[rt.objectExpression({obj:[{key:"queryFn",value:rt.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"queryKey"}]}],statements:[rt.constVariable({destructure:!0,expression:rt.awaitExpression({expression:rt.callExpression({functionName:n,parameters:[rt.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),rt.returnVariable({name:"data"})]})},{key:"queryKey",value:rt.callExpression({functionName:ir(d),parameters:["options"]})}]})],name:fr})]}),c=rt.constVariable({comment:[],exportConst:!0,expression:p,name:ar(d)});o.add(c)}if(r.infiniteQueryOptions&&["GET","POST"].includes(d.method)){let t;const s=d.parameters.find((n=>{if(lr.lastIndex=0,lr.test(n.name))return t=n,!0;if("body"===n.in){if("reference"===n.export){const r=n.$refs[0],o=e.models.find((e=>e.meta?.$ref===r));return o?.properties.find((e=>{if(lr.lastIndex=0,lr.test(e.name))return t=e,!0}))}return n.properties.find((e=>{if(lr.lastIndex=0,lr.test(e.name))return t=e,!0}))}}));if(s&&t){c||(c=!0,l||(xr({file:o}),gr({file:o}),l=!0),o.import({module:r.name,name:ur}),p=o.import({asType:!0,module:r.name,name:"InfiniteData"})),f=!0;const{typeData:i}=vr({client:e,file:o,operation:d,typesModulePath:a}),{typeError:u}=br({client:e,file:o,operation:d,pluginName:r.name,typesModulePath:a}),{typeResponse:m}=Pr({client:e,file:o,operation:d,typesModulePath:a}),y=Ut(d.parameters),h=`${dr}<${i}>`,g=`Pick<${h}[0], 'body' | 'headers' | 'path' | 'query'>`,x=`${t.base} | ${g}`,v=rt.constVariable({exportConst:!0,expression:rt.arrowFunction({parameters:[{isRequired:y,name:"options",type:i}],returnType:h,statements:Rr({isInfinite:!0,operation:d})}),name:ir(d,!0)});o.add(v);const b=rt.arrowFunction({parameters:[{isRequired:y,name:"options",type:i}],statements:[rt.returnFunctionCall({args:[rt.objectExpression({comments:[{jsdoc:!1,lines:["@ts-ignore"]}],obj:[{key:"queryFn",value:rt.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"pageParam"},{name:"queryKey"}]}],statements:[rt.constVariable({comment:[{jsdoc:!1,lines:["@ts-ignore"]}],expression:rt.conditionalExpression({condition:rt.binaryExpression({left:rt.typeOfExpression({text:"pageParam"}),operator:"===",right:rt.stringLiteral({text:"object"})}),whenFalse:rt.objectExpression({multiLine:!0,obj:[{key:pr(s),value:rt.objectExpression({multiLine:!0,obj:[{key:t.name,value:rt.identifier({text:"pageParam"})}]})}]}),whenTrue:rt.identifier({text:"pageParam"})}),name:"page",typeName:g}),rt.constVariable({destructure:!0,expression:rt.awaitExpression({expression:rt.callExpression({functionName:n,parameters:[rt.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"body",value:rt.objectExpression({multiLine:!0,obj:[{assertion:"any",spread:"queryKey[0].body"},{assertion:"any",spread:"page.body"}]})},{key:"headers",value:rt.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].headers"},{spread:"page.headers"}]})},{key:"path",value:rt.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].path"},{spread:"page.path"}]})},{key:"query",value:rt.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].query"},{spread:"page.query"}]})},{key:"throwOnError",value:!0}]})]})}),name:"data"}),rt.returnVariable({name:"data"})]})},{key:"queryKey",value:rt.callExpression({functionName:ir(d,!0),parameters:["options"]})}]})],name:ur,types:[m,u.name,`${"string"==typeof p?p:p.name}<${m}>`,h,x]})]}),P=rt.constVariable({comment:[],exportConst:!0,expression:b,name:or(d)});o.add(P)}}if(r.mutationOptions&&["DELETE","PATCH","POST","PUT"].includes(d.method)){u||(u=!0,o.import({asType:!0,module:r.name,name:i})),f=!0;const{typeData:t}=vr({client:e,file:o,operation:d,typesModulePath:a}),{typeError:s}=br({client:e,file:o,operation:d,pluginName:r.name,typesModulePath:a}),{typeResponse:p}=Pr({client:e,file:o,operation:d,typesModulePath:a}),l=rt.arrowFunction({statements:[rt.constVariable({expression:rt.objectExpression({obj:[{key:"mutationFn",value:rt.arrowFunction({async:!0,multiLine:!0,parameters:[{name:"options"}],statements:[rt.constVariable({destructure:!0,expression:rt.awaitExpression({expression:rt.callExpression({functionName:n,parameters:[rt.objectExpression({multiLine:!0,obj:[{spread:"options"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),rt.returnVariable({name:"data"})]})}]}),name:mr,typeName:`${i}<${p}, ${s.name}, ${t}>`}),rt.returnVariable({name:mr})]}),c=rt.constVariable({comment:[],exportConst:!0,expression:l,name:sr(d)});o.add(c)}const y=s+t.services.getName(!1);(m||c)&&o.import({module:y,name:"client"}),f&&o.import({module:y,name:n})}},Ar={"@hey-api/schemas":{handler:()=>{},name:"@hey-api/schemas",output:"schemas"},"@hey-api/services":{handler:()=>{},name:"@hey-api/services",output:"services"},"@hey-api/types":{handler:()=>{},name:"@hey-api/types",output:"types"},"@tanstack/react-query":{handler:wr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/react-query",output:"@tanstack/react-query",queryOptions:!0},"@tanstack/solid-query":{handler:wr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/solid-query",output:"@tanstack/solid-query",queryOptions:!0},"@tanstack/svelte-query":{handler:wr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/svelte-query",output:"@tanstack/svelte-query",queryOptions:!0},"@tanstack/vue-query":{handler:wr,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/vue-query",output:"@tanstack/vue-query",queryOptions:!0}},qr=["@hey-api/client-axios","@hey-api/client-fetch","legacy/angular","legacy/axios","legacy/fetch","legacy/node","legacy/xhr"];var Tr={exports:{}},kr={},Or={__esModule:!0};Or.extend=Nr,Or.indexOf=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Or.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(!Cr.test(e))return e;return e.replace($r,Sr)},Or.isEmpty=function(e){return!e&&0!==e||!(!_r(e)||0!==e.length)},Or.createFrame=function(e){var t=Nr({},e);return t._parent=e,t},Or.blockParams=function(e,t){return e.path=t,e},Or.appendContextPath=function(e,t){return(e?e+".":"")+t};var Er={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},$r=/[&<>"'`=]/g,Cr=/[&<>"'`=]/;function Sr(e){return Er[e]}function Nr(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 Ir=Object.prototype.toString;Or.toString=Ir;var Dr=function(e){return"function"==typeof e};Dr(/x/)&&(Or.isFunction=Dr=function(e){return"function"==typeof e&&"[object Function]"===Ir.call(e)}),Or.isFunction=Dr;var _r=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===Ir.call(e)};Or.isArray=_r;var Hr={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}(Hr,Hr.exports);var jr=Hr.exports,Br={},Lr={exports:{}};!function(e,t){t.__esModule=!0;var n=Or;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}(Lr,Lr.exports);var Mr=Lr.exports,Fr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Or,o=(n=jr)&&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}(Fr,Fr.exports);var Vr=Fr.exports,Ur={exports:{}};!function(e,t){t.__esModule=!0;var n,r=(n=jr)&&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}(Ur,Ur.exports);var Kr=Ur.exports,Wr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Or,o=(n=jr)&&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}(Wr,Wr.exports);var Qr=Wr.exports,Xr={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}(Xr,Xr.exports);var zr=Xr.exports,Gr={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}(Gr,Gr.exports);var Jr=Gr.exports,Yr={exports:{}};!function(e,t){t.__esModule=!0;var n,r=Or,o=(n=jr)&&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}(Yr,Yr.exports);var Zr=Yr.exports;function eo(e){return e&&e.__esModule?e:{default:e}}Br.__esModule=!0,Br.registerDefaultHelpers=function(e){to.default(e),no.default(e),ro.default(e),oo.default(e),so.default(e),ao.default(e),io.default(e)},Br.moveHelperToHooks=function(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])};var to=eo(Mr),no=eo(Vr),ro=eo(Kr),oo=eo(Qr),so=eo(zr),ao=eo(Jr),io=eo(Zr);var po={},lo={exports:{}};!function(e,t){t.__esModule=!0;var n=Or;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}(lo,lo.exports);var co=lo.exports;po.__esModule=!0,po.registerDefaultDecorators=function(e){mo.default(e)};var uo,mo=(uo=co)&&uo.__esModule?uo:{default:uo};var fo={exports:{}};!function(e,t){t.__esModule=!0;var n=Or,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}(fo,fo.exports);var yo=fo.exports,ho={},go={__esModule:!0,createNewLookupObject:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return xo.extend.apply(void 0,[Object.create(null)].concat(t))}},xo=Or;ho.__esModule=!0,ho.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:vo.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:vo.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},ho.resultIsAllowed=function(e,t,n){return Ro("function"==typeof e?t.methods:t.properties,n)},ho.resetLoggedProperties=function(){Object.keys(Po).forEach((function(e){delete Po[e]}))};var vo=go,bo=function(e){return e&&e.__esModule?e:{default:e}}(yo),Po=Object.create(null);function Ro(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(function(e){!0!==Po[e]&&(Po[e]=!0,bo.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 wo(e){return e&&e.__esModule?e:{default:e}}kr.__esModule=!0,kr.HandlebarsEnvironment=Co;var Ao=Or,qo=wo(jr),To=Br,ko=po,Oo=wo(yo),Eo=ho;kr.VERSION="4.7.8";kr.COMPILER_REVISION=8;kr.LAST_COMPATIBLE_COMPILER_REVISION=7;kr.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 $o="[object Object]";function Co(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},To.registerDefaultHelpers(this),ko.registerDefaultDecorators(this)}Co.prototype={constructor:Co,logger:Oo.default,log:Oo.default.log,registerHelper:function(e,t){if(Ao.toString.call(e)===$o){if(t)throw new qo.default("Arg not supported with multiple helpers");Ao.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(Ao.toString.call(e)===$o)Ao.extend(this.partials,e);else{if(void 0===t)throw new qo.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(Ao.toString.call(e)===$o){if(t)throw new qo.default("Arg not supported with multiple decorators");Ao.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){Eo.resetLoggedProperties()}};var So=Oo.default.log;kr.log=So,kr.createFrame=Ao.createFrame,kr.logger=Oo.default;var No={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}(No,No.exports);var Io=No.exports,Do={},_o={};_o.__esModule=!0,_o.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)}},Do.__esModule=!0,Do.checkRevision=function(e){var t=e&&e[0]||1,n=Bo.COMPILER_REVISION;if(t>=Bo.LAST_COMPATIBLE_COMPILER_REVISION&&t<=Bo.COMPILER_REVISION)return;if(t<Bo.LAST_COMPATIBLE_COMPILER_REVISION){var r=Bo.REVISION_CHANGES[n],o=Bo.REVISION_CHANGES[t];throw new jo.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 jo.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},Do.template=function(e,t){if(!t)throw new jo.default("No environment passed to template");if(!e||!e.main)throw new jo.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 jo.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)||Fo.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:Ho.escapeExpression,invokePartial:function(n,r,o){o.hash&&(r=Ho.extend({},r,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,o);var s=Ho.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 jo.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=Vo(this,e,a,t,n,r,o):s||(s=this.programs[e]=Vo(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=Ho.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?Bo.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=Ko(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=Ho.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 Mo.wrapHelper(e,(function(e){return Ho.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=Ho.extend({},t.decorators,o.decorators)),r.hooks={},r.protoAccessControl=Fo.createProtoAccessControl(o);var a=o.allowCallsToHelperMissing||n;Lo.moveHelperToHooks(r,"helperMissing",a),Lo.moveHelperToHooks(r,"blockHelperMissing",a)}},o._child=function(t,n,o,s){if(e.useBlockParams&&!o)throw new jo.default("must pass block params");if(e.useDepths&&!s)throw new jo.default("must pass parent depths");return Vo(r,t,e[t],n,0,o,s)},o},Do.wrapProgram=Vo,Do.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},Do.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!==Uo&&function(){n.data=Bo.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=Bo.createFrame(n.data),n.data["partial-block"]=r,e(t,n)},e.partials&&(n.partials=Ho.extend({},n.partials,e.partials))}();void 0===e&&o&&(e=o);if(void 0===e)throw new jo.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)},Do.noop=Uo;var Ho=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}(Or),jo=function(e){return e&&e.__esModule?e:{default:e}}(jr),Bo=kr,Lo=Br,Mo=_o,Fo=ho;function Vo(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=Ko(n,i,e,a,r,s)).program=t,i.depth=a?a.length:0,i.blockParams=o||0,i}function Uo(){return""}function Ko(e,t,n,r,o,s){if(e.decorator){var a={};t=e.decorator(t,a,n,r&&r[0],o,s,r),Ho.extend(t,a)}return t}var Wo={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}(Wo,Wo.exports);var Qo=Wo.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(kr),s=n(Io),a=n(jr),i=r(Or),p=r(Do),l=n(Qo);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}(Tr,Tr.exports);var Xo=m(Tr.exports.default),zo={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},Go={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => {\n\treturn forkJoin({\n\t\t// @ts-ignore\n\t\ttoken: resolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tusername: resolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tpassword: resolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},Jo={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},Yo={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},Zo={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},es={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<T>): 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\n\t\t\tlet transformedBody = responseBody;\n\t\t\tif (options.responseTransformer && response.ok) {\n\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t}\n\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 ?? transformedBody,\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},ts={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions<T>,\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},ns={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},rs={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export type ApiRequestOptions<T = unknown> = {\n\treadonly body?: any;\n\treadonly cookies?: Record<string, unknown>;\n\treadonly errors?: Record<number | string, string>;\n\treadonly formData?: Record<string, unknown> | any[] | Blob | File;\n\treadonly headers?: Record<string, unknown>;\n\treadonly mediaType?: string;\n\treadonly method:\n\t\t| 'DELETE'\n\t\t| 'GET'\n\t\t| 'HEAD'\n\t\t| 'OPTIONS'\n\t\t| 'PATCH'\n\t\t| 'POST'\n\t\t| 'PUT';\n\treadonly path?: Record<string, unknown>;\n\treadonly query?: Record<string, unknown>;\n\treadonly responseHeader?: string;\n\treadonly responseTransformer?: (data: unknown) => Promise<T>;\n\treadonly url: string;\n};"},useData:!0},os={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},ss={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Record<string, string>> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},as={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},is={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},ps={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},ls={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<T>, 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:136},end:{line:67,column:222}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && isSuccess(response.status)) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:100,column:12},end:{line:100,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},cs={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const sendRequest = async <T>(\n\tconfig: OpenAPIConfig,\n\toptions: ApiRequestOptions<T>,\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},us={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<T>): Observable<T>;\n"},11:function(e,t,n,r,o){return"\tpublic abstract request<T>(options: ApiRequestOptions<T>): 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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},ms={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},ds={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},fs={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},ys={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},hs={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},gs={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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<T>): 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:100},end:{line:65,column:186}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && response.ok) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:98,column:12},end:{line:98,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},xs={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(a(o,"root"),"$config"),"client"),"name"),"legacy/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},vs={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},bs={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},Ps={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},Rs={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},ws={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},As={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},qs={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},Ts={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},ks={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},Os={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},Es={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"type Resolver<T> = (options: ApiRequestOptions<T>) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions<T>, 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},$s={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<T>): 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<T>): 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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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(i(o,"root"),"$config"),"client"),"name"),"legacy/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},Cs={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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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<T>) => Promise<T>;\n\nexport class Interceptors<T> {\n _fns: Middleware<T>[];\n\n constructor() {\n this._fns = [];\n }\n\n eject(fn: Middleware<T>): void {\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>): void {\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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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(l(o,"root"),"$config"),"client"),"name"),"legacy/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},Ss={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(i(o,"root"),"$config"),"client"),"name"),"legacy/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:87}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:83}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:83}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:82}}}))?s:"")+(null!=(s=i(n,"equals").call(a,i(i(i(i(o,"root"),"$config"),"client"),"name"),"legacy/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:79}}}))?s:"")},usePartial:!0,useData:!0},Ns={compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){return"export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {\n\tconst [token, username, password, additionalHeaders] = await Promise.all([\n\t\t// @ts-ignore\n\t\tresolve(options, config.TOKEN),\n\t\t// @ts-ignore\n\t\tresolve(options, config.USERNAME),\n\t\t// @ts-ignore\n\t\tresolve(options, config.PASSWORD),\n\t\t// @ts-ignore\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},Is={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},Ds={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},_s={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},Hs={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<T>): 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:100},end:{line:63,column:186}}}))?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\tlet transformedBody = responseBody;\n\t\t\t\tif (options.responseTransformer && isSuccess(response.status)) {\n\t\t\t\t\ttransformedBody = await options.responseTransformer(responseBody)\n\t\t\t\t}\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 ?? transformedBody,\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:96,column:12},end:{line:96,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},js={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 Bs=()=>{Xo.registerHelper("camelCase",(function(e){return xt({input:e})})),Xo.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)})),Xo.registerHelper("ifdef",(function(...e){const t=e.pop();return e.every((e=>!e))?t.inverse(this):t.fn(this)})),Xo.registerHelper("notEquals",(function(e,t,n){return e!==t?n.fn(this):n.inverse(this)})),Xo.registerHelper("transformServiceName",vt)},Ls=e=>{const t=ie(),n=t.services.filter?new RegExp(t.services.filter):void 0;return!n||n.test(e)},Ms=e=>{const t=ie();return pe(t)||"api-version"!==e.prop},Fs=e=>{const t=ie();if(t.services.operationId&&e.id)return xt({input:qt(e.id)});let n=e.path;return pe(t)||(n=n.replace(/[^/]*?{api-version}.*?\//g,"")),n=n.replace(/{(.*?)}/g,"by-$1").replace(/[/:]/g,"-"),xt({input:`${e.method}-${n}`})},Vs=e=>{const t=ie();return pe(t)?e.prop:En(e.prop)},Us=e=>`${e}-end`,Ks=e=>`${e}-start`,Ws=e=>{performance.mark(Us(e))},Qs=e=>{performance.mark(Ks(e))};const Xs=e=>({...e,$refs:e.$refs.filter(((e,t,n)=>Ct(e,t,n))),enum:e.enum.filter(((e,t,n)=>n.findIndex((t=>t.value===e.value))===t)),enums:e.enums.filter(((e,t,n)=>n.findIndex((t=>t.name===e.name))===t)),imports:e.imports.filter(((t,n,r)=>Ct(t,n,r)&&t!==e.name)).sort(ce)}),zs=e=>{const t=ie(),n=new Map;return e.forEach((e=>{(e.tags?.length&&(t.services.asClass||t.name)?e.tags.filter(Ct):["Default"]).forEach((t=>{const r={...e,service:Zs(t)},o=n.get(r.service)||Ys(r);o.$refs=[...o.$refs,...r.$refs],o.imports=[...o.imports,...r.imports],o.operations=[...o.operations,r],n.set(r.service,o)}))})),Array.from(n.values())},Gs=e=>{const t={...e};return t.operations=Js(t),t.operations.forEach((e=>{t.imports.push(...e.imports)})),t.imports=t.imports.filter(Ct).sort(ce),t},Js=e=>{const t=new Map;return e.operations.map((e=>{const n={...e};n.imports.push(...n.parameters.flatMap((e=>e.imports)));const r=n.responses.filter((e=>e.responseTypes.includes("success")));n.imports.push(...r.flatMap((e=>e.imports)));const o=n.name,s=t.get(o)||0;return s>0&&(n.name=`${o}${s}`),t.set(o,s+1),n}))},Ys=e=>({$refs:[],imports:[],name:e.service,operations:[]}),Zs=e=>xt({input:qt(e),pascalCase:!0}),ea={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"}},ta={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},na=async n=>{let r;if(n.configFile){const e=n.configFile.split(".");r=e.slice(0,e.length-1).join(".")}const{config:o}=await t.loadConfig({configFile:r,jitiOptions:{esmResolve:!0},name:"openapi-ts"});return(Array.isArray(n)?n:Array.isArray(o)?o.map((e=>({...e,...n}))):[{...o??{},...n}]).map((t=>{const{base:n,configFile:r="",debug:o=!1,dryRun:s=!1,exportCore:a=!0,experimental_parser:i=!1,input:p,name:l,request:c,useOptions:u=!0}=t;o&&console.warn("userConfig:",t);const m=(e=>{let t={format:!1,lint:!1,path:""};return"string"==typeof e.output?t.path=e.output:t={...t,...e.output},t})(t);if(!p)throw new Error("🚫 missing input - which OpenAPI specification should we use to generate your client?");if(!m.path)throw new Error("🚫 missing output - where should we generate your client?");const d=(e=>{let t={bundle:!1,name:""};return"string"==typeof e.client?t.name=e.client:t={...t,...e.client},t})(t);if(!qr.includes(d.name))throw new Error("🚫 invalid client - select a valid client value");u||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 f=(e=>(e.plugins??[]).map((e=>"string"==typeof e?Ar[e]:{...Ar[e.name],...e})))(t),y=(e=>{let t={export:!0,type:"json"};return"boolean"==typeof e.schemas?t.export=e.schemas:t={...t,...e.schemas},t})(t),h=(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),g=((e,t)=>{let n={dates:!1,enums:!1,export:!0,name:"preserve",tree:!t.export};return"boolean"==typeof e.types?n.export=e.types:"string"==typeof e.types?n.include=e.types:n={...n,...e.types},n})(t,h);return m.path=e.resolve(process.cwd(),m.path),x={base:n,client:d,configFile:r,debug:o,dryRun:s,experimental_parser:i,exportCore:!(pe(d)||!d.name)&&a,input:p,name:l,output:m,plugins:f,request:c,schemas:y,services:h,types:g,useOptions:u},ae=x,ie();var x}))};exports.createClient=async function(t){Qs("createClient");const n=await na(t),r=(()=>{Bs();const e={client:Xo.template(zo),core:{apiError:Xo.template(ns),apiRequestOptions:Xo.template(rs),apiResult:Xo.template(os),baseHttpRequest:Xo.template(us),cancelablePromise:Xo.template(ms),httpRequest:Xo.template($s),request:Xo.template(Ss),settings:Xo.template(Cs)}};return Xo.registerPartial("functions/base64",Xo.template(vs)),Xo.registerPartial("functions/catchErrorCodes",Xo.template(bs)),Xo.registerPartial("functions/getFormData",Xo.template(Ps)),Xo.registerPartial("functions/getQueryString",Xo.template(Rs)),Xo.registerPartial("functions/getUrl",Xo.template(ws)),Xo.registerPartial("functions/isBlob",Xo.template(As)),Xo.registerPartial("functions/isFormData",Xo.template(qs)),Xo.registerPartial("functions/isString",Xo.template(Ts)),Xo.registerPartial("functions/isStringWithValue",Xo.template(ks)),Xo.registerPartial("functions/isSuccess",Xo.template(Os)),Xo.registerPartial("functions/resolve",Xo.template(Es)),Xo.registerPartial("fetch/getHeaders",Xo.template(ds)),Xo.registerPartial("fetch/getRequestBody",Xo.template(fs)),Xo.registerPartial("fetch/getResponseBody",Xo.template(ys)),Xo.registerPartial("fetch/getResponseHeader",Xo.template(hs)),Xo.registerPartial("fetch/request",Xo.template(gs)),Xo.registerPartial("fetch/sendRequest",Xo.template(xs)),Xo.registerPartial("xhr/getHeaders",Xo.template(Ns)),Xo.registerPartial("xhr/getRequestBody",Xo.template(Is)),Xo.registerPartial("xhr/getResponseBody",Xo.template(Ds)),Xo.registerPartial("xhr/getResponseHeader",Xo.template(_s)),Xo.registerPartial("xhr/request",Xo.template(Hs)),Xo.registerPartial("xhr/sendRequest",Xo.template(js)),Xo.registerPartial("axios/getHeaders",Xo.template(ss)),Xo.registerPartial("axios/getRequestBody",Xo.template(as)),Xo.registerPartial("axios/getResponseBody",Xo.template(is)),Xo.registerPartial("axios/getResponseHeader",Xo.template(ps)),Xo.registerPartial("axios/request",Xo.template(ls)),Xo.registerPartial("axios/sendRequest",Xo.template(cs)),Xo.registerPartial("angular/getHeaders",Xo.template(Go)),Xo.registerPartial("angular/getRequestBody",Xo.template(Jo)),Xo.registerPartial("angular/getResponseBody",Xo.template(Yo)),Xo.registerPartial("angular/getResponseHeader",Xo.template(Zo)),Xo.registerPartial("angular/request",Xo.template(es)),Xo.registerPartial("angular/sendRequest",Xo.template(ts)),e})(),o=t=>async()=>{const n="string"==typeof t.input?await(async t=>{const n=s.existsSync(t)?e.resolve(t):t;return await l.bundle(n,n,{})})(t.input):t.input;if(!t.experimental_parser){Qs("parser");const e=function(e){return{...e,models:e.models.map((e=>Xs(e))),services:zs(e.operations).map(Gs),types:{}}}(bn({config:{filterFn:{operation:Ls,operationParameter:Ms},nameFn:{operation:Fs,operationParameter:Vs}},openApi:n}));return Ws("parser"),t.dryRun||((()=>{const{client:e}=ie();switch(e.name){case"legacy/angular":return console.log("✨ Creating Angular client");case"@hey-api/client-axios":case"legacy/axios":return console.log("✨ Creating Axios client");case"@hey-api/client-fetch":case"legacy/fetch":return console.log("✨ Creating Fetch client");case"legacy/node":return console.log("✨ Creating Node.js client");case"legacy/xhr":console.log("✨ Creating XHR client")}})(),await rr(n,e,r),(()=>{const e=ie();if(e.output.format){const t=ea[e.output.format];console.log(`✨ Running ${t.name}`),se(t.command,t.args(e.output.path))}if(e.output.lint){const t=ta[e.output.lint];console.log(`✨ Running ${t.name}`),se(t.command,t.args(e.output.path))}})()),console.log("✨ Done! Your client is located in:",t.output.path),e}Qs("experimental_parser"),Pn({spec:n}),Ws("experimental_parser")},a=[],i=n.map((e=>o(e)));for(const e of i){const t=await e();t&&a.push(t)}return Ws("createClient"),a},exports.defineConfig=e=>e;
|
package/dist/node/index.d.ts
CHANGED
|
@@ -769,4 +769,4 @@ declare function createClient(userConfig: UserConfig): Promise<ReadonlyArray<Cli
|
|
|
769
769
|
*/
|
|
770
770
|
declare const defineConfig: (config: UserConfig) => UserConfig;
|
|
771
771
|
|
|
772
|
-
export { type UserConfig, createClient, defineConfig };
|
|
772
|
+
export { type Operation, type Plugins, type UserConfig, createClient, defineConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hey-api/openapi-ts",
|
|
3
|
-
"version": "0.53.
|
|
3
|
+
"version": "0.53.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Turn your OpenAPI specification into a beautiful TypeScript client",
|
|
6
6
|
"homepage": "https://heyapi.vercel.app/",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"axios": "1.7.7",
|
|
75
75
|
"cross-spawn": "7.0.3",
|
|
76
76
|
"eslint": "9.6.0",
|
|
77
|
-
"express": "4.
|
|
77
|
+
"express": "4.21.0",
|
|
78
78
|
"glob": "10.4.3",
|
|
79
79
|
"node-fetch": "3.3.2",
|
|
80
80
|
"prettier": "3.3.2",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"ts-node": "10.9.2",
|
|
84
84
|
"tslib": "2.6.3",
|
|
85
85
|
"typescript": "5.5.3",
|
|
86
|
-
"@hey-api/client-
|
|
87
|
-
"@hey-api/client-
|
|
86
|
+
"@hey-api/client-fetch": "0.3.1",
|
|
87
|
+
"@hey-api/client-axios": "0.2.4"
|
|
88
88
|
},
|
|
89
89
|
"scripts": {
|
|
90
90
|
"build-bundle": "rollup --config rollup.config.ts --configPlugin typescript",
|