UNPKG

@hey-api/openapi-ts

Version:

🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.

659 lines (570 loc) • 87.2 kB
import {createRequire}from'module';import {b,a,c,y,I,q,i,k,l,j,h,J,o,p as p$1,G,F as F$1,n,B,g,e,d as d$1,m,w,v,z,C as C$1,D,E,f,A}from'./chunk-RLV6NJ5Q.js';export{t as clientDefaultConfig,u as clientDefaultMeta,x as clientPluginHandler,v as compiler,r as defaultPaginationKeywords,H as defaultPlugins,s as definePluginConfig}from'./chunk-RLV6NJ5Q.js';import C from'ansi-colors';import pr from'color-support';import R from'node:path';import v$1 from'node:fs';import qt from'typescript';import p from'handlebars';createRequire(import.meta.url); var De=b((Zr,He)=>{He.exports=Se;Se.sync=Tt;var Oe=a("fs");function At(e,n){var o=n.pathExt!==void 0?n.pathExt:process.env.PATHEXT;if(!o||(o=o.split(";"),o.indexOf("")!==-1))return true;for(var r=0;r<o.length;r++){var t=o[r].toLowerCase();if(t&&e.substr(-t.length).toLowerCase()===t)return true}return false}function Ee(e,n,o){return !e.isSymbolicLink()&&!e.isFile()?false:At(n,o)}function Se(e,n,o){Oe.stat(e,function(r,t){o(r,r?false:Ee(t,e,n));});}function Tt(e,n){return Ee(Oe.statSync(e),e,n)}});var Ne=b((eo,$e)=>{$e.exports=Be;Be.sync=kt;var Ie=a("fs");function Be(e,n,o){Ie.stat(e,function(r,t){o(r,r?false:je(t,n));});}function kt(e,n){return je(Ie.statSync(e),n)}function je(e,n){return e.isFile()&&wt(e,n)}function wt(e,n){var o=e.mode,r=e.uid,t=e.gid,s=n.uid!==void 0?n.uid:process.getuid&&process.getuid(),a=n.gid!==void 0?n.gid:process.getgid&&process.getgid(),i=parseInt("100",8),u=parseInt("010",8),l=parseInt("001",8),c=i|u,f=o&l||o&u&&t===a||o&i&&r===s||o&c&&s===0;return f}});var _e=b((to,Fe)=>{a("fs");var _;process.platform==="win32"||global.TESTING_WINDOWS?_=De():_=Ne();Fe.exports=G;G.sync=Ot;function G(e,n,o){if(typeof n=="function"&&(o=n,n={}),!o){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,t){G(e,n||{},function(s,a){s?t(s):r(a);});})}_(e,n||{},function(r,t){r&&(r.code==="EACCES"||n&&n.ignoreErrors)&&(r=null,t=false),o(r,t);});}function Ot(e,n){try{return _.sync(e,n||{})}catch(o){if(n&&n.ignoreErrors||o.code==="EACCES")return false;throw o}}});var ze=b((ro,Ge)=>{var O=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Le=a("path"),Et=O?";":":",Me=_e(),We=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Ue=(e,n)=>{let o=n.colon||Et,r=e.match(/\//)||O&&e.match(/\\/)?[""]:[...O?[process.cwd()]:[],...(n.path||process.env.PATH||"").split(o)],t=O?n.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=O?t.split(o):[""];return O&&e.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:t}},Ve=(e,n,o)=>{typeof n=="function"&&(o=n,n={}),n||(n={});let{pathEnv:r,pathExt:t,pathExtExe:s}=Ue(e,n),a=[],i=l=>new Promise((c,f)=>{if(l===r.length)return n.all&&a.length?c(a):f(We(e));let m=r[l],A=/^".*"$/.test(m)?m.slice(1,-1):m,q=Le.join(A,e),k=!A&&/^\.[\\\/]/.test(e)?e.slice(0,2)+q:q;c(u(k,l,0));}),u=(l,c,f)=>new Promise((m,A)=>{if(f===t.length)return m(i(c+1));let q=t[f];Me(l+q,{pathExt:s},(k,H)=>{if(!k&&H)if(n.all)a.push(l+q);else return m(l+q);return m(u(l,c,f+1))});});return o?i(0).then(l=>o(null,l),o):i(0)},St=(e,n)=>{n=n||{};let{pathEnv:o,pathExt:r,pathExtExe:t}=Ue(e,n),s=[];for(let a=0;a<o.length;a++){let i=o[a],u=/^".*"$/.test(i)?i.slice(1,-1):i,l=Le.join(u,e),c=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let f=0;f<r.length;f++){let m=c+r[f];try{if(Me.sync(m,{pathExt:t}))if(n.all)s.push(m);else return m}catch{}}}if(n.all&&s.length)return s;if(n.nothrow)return null;throw We(e)};Ge.exports=Ve;Ve.sync=St;});var Xe=b((oo,z)=>{var Ke=(e={})=>{let n=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};z.exports=Ke;z.exports.default=Ke;});var Ze=b((so,Ye)=>{var Qe=a("path"),Ht=ze(),Dt=Xe();function Je(e,n){let o=e.options.env||process.env,r=process.cwd(),t=e.options.cwd!=null,s=t&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd);}catch{}let a;try{a=Ht.sync(e.command,{path:o[Dt({env:o})],pathExt:n?Qe.delimiter:void 0});}catch{}finally{s&&process.chdir(r);}return a&&(a=Qe.resolve(t?e.options.cwd:"",a)),a}function It(e){return Je(e)||Je(e,true)}Ye.exports=It;});var en=b((io,X)=>{var K=/([()\][%!^"`<>&|;, *?])/g;function Bt(e){return e=e.replace(K,"^$1"),e}function jt(e,n){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(K,"^$1"),n&&(e=e.replace(K,"^$1")),e}X.exports.command=Bt;X.exports.argument=jt;});var tn=b((ao,nn)=>{nn.exports=/^#!(.*)/;});var on=b((lo,rn)=>{var $t=tn();rn.exports=(e="")=>{let n=e.match($t);if(!n)return null;let[o,r]=n[0].replace(/#! ?/,"").split(" "),t=o.split("/").pop();return t==="env"?r:r?`${t} ${r}`:t};});var an=b((uo,sn)=>{var Q=a("fs"),Nt=on();function Ft(e){let o=Buffer.alloc(150),r;try{r=Q.openSync(e,"r"),Q.readSync(r,o,0,150,0),Q.closeSync(r);}catch{}return Nt(o.toString())}sn.exports=Ft;});var cn=b((po,pn)=>{var _t=a("path"),ln=Ze(),un=en(),Lt=an(),Mt=process.platform==="win32",Wt=/\.(?:com|exe)$/i,Ut=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Vt(e){e.file=ln(e);let n=e.file&&Lt(e.file);return n?(e.args.unshift(e.file),e.command=n,ln(e)):e.file}function Gt(e){if(!Mt)return e;let n=Vt(e),o=!Wt.test(n);if(e.options.forceShell||o){let r=Ut.test(n);e.command=_t.normalize(e.command),e.command=un.command(e.command),e.args=e.args.map(s=>un.argument(s,r));let t=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${t}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=true;}return e}function zt(e,n,o){n&&!Array.isArray(n)&&(o=n,n=null),n=n?n.slice(0):[],o=Object.assign({},o);let r={command:e,args:n,options:o,file:void 0,original:{command:e,args:n}};return o.shell?r:Gt(r)}pn.exports=zt;});var dn=b((co,mn)=>{var J=process.platform==="win32";function Y(e,n){return Object.assign(new Error(`${n} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${n} ${e.command}`,path:e.command,spawnargs:e.args})}function Kt(e,n){if(!J)return;let o=e.emit;e.emit=function(r,t){if(r==="exit"){let s=fn(t,n);if(s)return o.call(e,"error",s)}return o.apply(e,arguments)};}function fn(e,n){return J&&e===1&&!n.file?Y(n.original,"spawn"):null}function Xt(e,n){return J&&e===1&&!n.file?Y(n.original,"spawnSync"):null}mn.exports={hookChildProcess:Kt,verifyENOENT:fn,verifyENOENTSync:Xt,notFoundError:Y};});var yn=b((fo,E)=>{var gn=a("child_process"),Z=cn(),ee=dn();function hn(e,n,o){let r=Z(e,n,o),t=gn.spawn(r.command,r.args,r.options);return ee.hookChildProcess(t,r),t}function Qt(e,n,o){let r=Z(e,n,o),t=gn.spawnSync(r.command,r.args,r.options);return t.error=t.error||ee.verifyENOENTSync(t.status,r),t}E.exports=hn;E.exports.spawn=hn;E.exports.sync=Qt;E.exports._parse=Z;E.exports._enoent=ee;});var Ce=()=>{if(typeof Bun<"u"){let[e]=Bun.version.split(".").map(Number);if(e<1)throw new h(`Unsupported Bun version ${Bun.version}. Please use Bun 1.0.0 or newer.`)}else if(typeof process<"u"&&process.versions?.node){let[e]=process.versions.node.split(".").map(Number);if(e<18)throw new h(`Unsupported Node version ${process.versions.node}. Please use Node 18 or newer.`)}};var F=e=>{switch(e){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 ""}};var be=async(e,n$1,o,r)=>{let t=n(),s=m(t),a=r.client({$config:t,...o,httpRequest:F(s.name),models:E(o.models),services:E(o.services)});p$1(t)&&(f(n$1),v$1.writeFileSync(R.resolve(n$1,`${p$1(t)}.ts`),a));};var qe=async(e,n$1,o)=>{let r=n();if(r.exportCore){let t=m(r),s={httpRequest:F(t.name),server:r.base!==void 0?r.base:n$1.server,version:n$1.version};if(v$1.rmSync(R.resolve(e),{force:true,recursive:true}),v$1.mkdirSync(R.resolve(e),{recursive:true}),await v$1.writeFileSync(R.resolve(e,"OpenAPI.ts"),o.core.settings({$config:r,...s})),await v$1.writeFileSync(R.resolve(e,"ApiError.ts"),o.core.apiError({$config:r,...s})),await v$1.writeFileSync(R.resolve(e,"ApiRequestOptions.ts"),o.core.apiRequestOptions({$config:r,...s})),await v$1.writeFileSync(R.resolve(e,"ApiResult.ts"),o.core.apiResult({$config:r,...s})),t.name!=="legacy/angular"&&await v$1.writeFileSync(R.resolve(e,"CancelablePromise.ts"),o.core.cancelablePromise({$config:r,...s})),await v$1.writeFileSync(R.resolve(e,"request.ts"),o.core.request({$config:r,...s})),p$1(r)&&(await v$1.writeFileSync(R.resolve(e,"BaseHttpRequest.ts"),o.core.baseHttpRequest({$config:r,...s})),await v$1.writeFileSync(R.resolve(e,`${s.httpRequest}.ts`),o.core.httpRequest({$config:r,...s}))),r.request){let a=R.resolve(process.cwd(),r.request);if(!await v$1.existsSync(a))throw new Error(`Custom request file "${a}" does not exists`);await v$1.copyFileSync(a,R.resolve(e,"request.ts"));}}};var Ae=({files:e})=>{let n$1=n();e.index=new z({dir:n$1.output.path,id:"index",name:"index.ts"}),p$1(n$1)&&e.index.add(v.exportNamedDeclaration({exports:p$1(n$1),module:`./${p$1(n$1)}`})),n$1.exportCore&&(e.index.add(v.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),n$1.plugins["@hey-api/sdk"]?.config.response==="response"&&e.index.add(v.exportNamedDeclaration({exports:{asType:true,name:"ApiResult"},module:"./core/ApiResult"})),p$1(n$1)&&e.index.add(v.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),m(n$1).name!=="legacy/angular"&&e.index.add(v.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(v.exportNamedDeclaration({exports:["OpenAPI",{asType:true,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach(o=>{let r=e[o];o==="index"||r.isEmpty()||r.exportFromIndex&&e.index.add(v.exportAllDeclaration({module:`./${r.nameWithoutExtension()}`}));});};var Te=async({client:e$1,openApi:n$1,templates:o$1})=>{let r=n(),t=n$1;if(e$1){if(r.plugins["@hey-api/sdk"]?.config.include&&r.plugins["@hey-api/sdk"].config.asClass){let l=new RegExp(r.plugins["@hey-api/sdk"].config.include);e$1.services=e$1.services.filter(c=>l.test(c.name));}if(r.plugins["@hey-api/typescript"]?.config.include){let l=new RegExp(r.plugins["@hey-api/typescript"].config.include);e$1.models=e$1.models.filter(c=>l.test(c.name));}}let s=R.resolve(r.output.path);r.output.clean&&g(s);let a=e(d$1(r.output.tsConfigPath)),i=m(r);!o(r)&&"bundle"in i.config&&i.config.bundle&&w({outputPath:s,plugin:i,tsConfig:a}),await be(t,s,e$1,o$1),await qe(R.resolve(r.output.path,"core"),e$1,o$1);let u={};for(let l of r.pluginOrder){let c=r.plugins[l],f=(c.output??"").split("/"),m=R.resolve(r.output.path,...f.slice(0,f.length-1));u[c.name]=new z({dir:m,id:`legacy-unused-${c.name}`,name:`${f[f.length-1]}.ts`}),c.handlerLegacy?.({client:e$1,files:u,openApi:t,plugin:c});}Ae({files:u}),Object.entries(u).forEach(([l,c])=>{r.dryRun||(l==="index"?c.write(` `,a):c.write(` `,a));});};var ke=async({context:e$1})=>{let n=R.resolve(e$1.config.output.path);e$1.config.output.clean&&g(n);let o=e(d$1(e$1.config.output.tsConfigPath)),r=o?.options.moduleResolution===qt.ModuleResolutionKind.NodeNext,t=m(e$1.config);"bundle"in t.config&&t.config.bundle&&w({outputPath:n,plugin:t,tsConfig:o});for(let s of e$1.registerPlugins())await s.run();if(!e$1.config.dryRun){let s=e$1.createFile({id:"_index",path:"index"});for(let a of Object.values(e$1.files))if(a.nameWithoutExtension()!==s.nameWithoutExtension()){if(!a.isEmpty()&&a.exportFromIndex&&e$1.config.output.indexFile){let u=s.relativePathToFile({context:e$1,id:a.id});r&&(u.startsWith("./")||u.startsWith("../"))&&(u==="./client"?u="./client/index.js":u=`${u}.js`),s.add(v.exportAllDeclaration({module:u}));}a.write(` `,o);}e$1.config.output.indexFile&&s.write(` `,o);}};var we=({patchOptions:e,spec:n})=>{if(!e)return;let o=n;if("swagger"in o){if(e.version&&o.swagger&&(o.swagger=typeof e.version=="string"?e.version:e.version(o.swagger)),e.meta&&o.info&&e.meta(o.info),e.schemas&&o.definitions)for(let r in e.schemas){let t=o.definitions[r];if(!t||typeof t!="object")continue;let s=e.schemas[r];s(t);}if(e.operations&&o.paths)for(let r in e.operations){let[t,s]=r.split(" ");if(!t||!s)continue;let a=o.paths[s];if(!a)continue;let i=a[t.toLocaleLowerCase()]||a[t.toLocaleUpperCase()];if(!i||typeof i!="object")continue;let u=e.operations[r];u(i);}return}if(e.version&&o.openapi&&(o.openapi=typeof e.version=="string"?e.version:e.version(o.openapi)),e.meta&&o.info&&e.meta(o.info),o.components){if(e.schemas&&o.components.schemas)for(let r in e.schemas){let t=o.components.schemas[r];if(!t||typeof t!="object")continue;let s=e.schemas[r];s(t);}if(e.parameters&&o.components.parameters)for(let r in e.parameters){let t=o.components.parameters[r];if(!t||typeof t!="object")continue;let s=e.parameters[r];s(t);}if(e.requestBodies&&o.components.requestBodies)for(let r in e.requestBodies){let t=o.components.requestBodies[r];if(!t||typeof t!="object")continue;let s=e.requestBodies[r];s(t);}if(e.responses&&o.components.responses)for(let r in e.responses){let t=o.components.responses[r];if(!t||typeof t!="object")continue;let s=e.responses[r];s(t);}}if(e.operations&&o.paths)for(let r in e.operations){let[t,s]=r.split(" ");if(!t||!s)continue;let a=o.paths[s];if(!a)continue;let i=a[t.toLocaleLowerCase()]||a[t.toLocaleUpperCase()];if(!i||typeof i!="object")continue;let u=e.operations[r];u(i);}};var ne=c(yn(),1),Jt={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"}},Yt={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"},oxlint:{args:e=>["--fix",e],command:"oxlint",name:"oxlint"}},vn=({config:e})=>{if(e.output.format){let n=Jt[e.output.format];console.log(`\u2728 Running ${n.name}`),(0, ne.sync)(n.command,n.args(e.output.path));}if(e.output.lint){let n=Yt[e.output.lint];console.log(`\u2728 Running ${n.name}`),(0, ne.sync)(n.command,n.args(e.output.path));}};var Rn=e=>`${e}-end`,te=e=>`${e}-length`,Pn=e=>`${e}-start`,d={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(Rn(e)),getEntriesByName:e=>performance.getEntriesByName(te(e)),measure:e=>performance.measure(te(e),Pn(e),Rn(e)),start:e=>performance.mark(Pn(e))},L=class{totalMeasure;constructor({totalMark:n}){this.totalMeasure=d.measure(n);}report({marks:n}){let o=Math.ceil(this.totalMeasure.duration*100)/100,r=this.totalMeasure.name;console.warn(`${r.substring(0,r.length-te("").length)}: ${o.toFixed(2)}ms`),n.forEach(t=>{try{let s=d.measure(t),a=Math.ceil(s.duration*100)/100,i=Math.ceil(s.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${t}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);}catch{}});}};function xn(e,n){return {...e,config:n,models:e.models.map(o=>Zt(o)),services:er(e.operations).map(nr),types:{}}}var Zt=e=>({...e,$refs:e.$refs.filter((n,o,r)=>C$1(n,o,r)),enum:e.enum.filter((n,o,r)=>r.findIndex(t=>t.value===n.value)===o),enums:e.enums.filter((n,o,r)=>r.findIndex(t=>t.name===n.name)===o),imports:e.imports.filter((n,o,r)=>C$1(n,o,r)&&n!==e.name).sort(D)}),er=e=>{let n$1=n(),o=new Map;return e.forEach(r=>{(r.tags?.length&&(n$1.plugins["@hey-api/sdk"]?.config.asClass||p$1(n$1))?r.tags.filter(C$1):["Default"]).forEach(s=>{let a={...r,service:or(s)},i=o.get(a.service)||rr(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],o.set(a.service,i);});}),Array.from(o.values())},nr=e=>{let n={...e};return n.operations=tr(n),n.operations.forEach(o=>{n.imports.push(...o.imports);}),n.imports=n.imports.filter(C$1).sort(D),n},tr=e=>{let n=new Map;return e.operations.map(o=>{let r={...o};r.imports.push(...r.parameters.flatMap(i=>i.imports));let t=r.responses.filter(i=>i.responseTypes.includes("success"));r.imports.push(...t.flatMap(i=>i.imports));let s=r.name,a=n.get(s)||0;return a>0&&(r.name=`${s}${a}`),n.set(s,a+1),r})},rr=e=>({$refs:[],imports:[],name:e.service,operations:[]}),or=e=>y({case:"PascalCase",value:A(e)});var re=e=>e.startsWith("https://get.heyapi.dev"),ir=e=>{let n={path:""};if(e.path&&(typeof e.path!="string"||!re(e.path)))return n.path=e.path,n;let[o,r]=e.path.split("?"),s=(r||"").split("&").map(P=>P.split("=")),a=o||"";a.endsWith("/")&&(a=a.slice(0,a.length-1));let[,i]=a.split("://"),[u,l,c]=(i||"").split("/");n.organization=l||e.organization,n.project=c||e.project;let f=[],m="api_key";n.api_key=s.find(([P])=>P===m)?.[1]||e.api_key||process.env.HEY_API_TOKEN,n.api_key&&f.push(`${m}=${n.api_key}`);let A="branch";n.branch=s.find(([P])=>P===A)?.[1]||e.branch,n.branch&&f.push(`${A}=${n.branch}`);let q="commit_sha";n.commit_sha=s.find(([P])=>P===q)?.[1]||e.commit_sha,n.commit_sha&&f.push(`${q}=${n.commit_sha}`);let k="tags";n.tags=s.find(([P])=>P===k)?.[1]?.split(",")||e.tags,n.tags?.length&&f.push(`${k}=${n.tags.join(",")}`);let H="version";if(n.version=s.find(([P])=>P===H)?.[1]||e.version,n.version&&f.push(`${H}=${n.version}`),!n.organization)throw new Error("missing organization - from which Hey API Platform organization do you want to generate your output?");if(!n.project)throw new Error("missing project - from which Hey API Platform project do you want to generate your output?");let se=f.join("&"),ie=u||"get.heyapi.dev",ae=ie.startsWith("localhost"),le=[ae?"http":"https",ie].join("://"),ue=ae?[le,"v1","get",n.organization,n.project].join("/"):[le,n.organization,n.project].join("/");return n.path=se?`${ue}?${se}`:ue,n},Cn=e=>{let n=C.cyan("Generating from");if(typeof e.path=="string"){let o=re(e.path)?`${e.organization??""}/${e.project??""}`:e.path;console.log(`\u23F3 ${n} ${o}`),re(e.path)&&(e.branch&&console.log(`${C.gray("branch:")} ${C.green(e.branch)}`),e.commit_sha&&console.log(`${C.gray("commit:")} ${C.green(e.commit_sha)}`),e.tags?.length&&console.log(`${C.gray("tags:")} ${C.green(e.tags.join(", "))}`),e.version&&console.log(`${C.gray("version:")} ${C.green(e.version)}`));}else console.log(`\u23F3 ${n} raw OpenAPI specification`);},oe=async({config:e,dependencies:n,templates:o$1,watch:r})=>{let t=ir(e.input),{timeout:s}=e.input.watch,a=r||{headers:new Headers};e.logs.level!=="silent"&&!r&&Cn(t),d.start("spec");let{data:i,error:u,response:l}=await J({fetchOptions:e.input.fetch,inputPath:t.path,timeout:s,watch:a});if(d.end("spec"),u&&!r)throw new Error(`Request failed with status ${l.status}: ${l.statusText}`);let c,f;if(i){if(e.logs.level!=="silent"&&r&&(console.clear(),Cn(t)),d.start("input.patch"),we({patchOptions:e.parser.patch,spec:i}),d.end("input.patch"),d.start("parser"),e.experimentalParser&&!o(e)&&!p$1(e)&&(f=G({config:e,dependencies:n,spec:i})),!f){let m=F$1({openApi:i});c=xn(m,e);}if(d.end("parser"),d.start("generator"),f?await ke({context:f}):c&&await Te({client:c,openApi:i,templates:o$1}),d.end("generator"),d.start("postprocess"),!e.dryRun&&(vn({config:e}),e.logs.level!=="silent")){let m=process.env.INIT_CWD?`./${R.relative(process.env.INIT_CWD,e.output.path)}`:e.output.path;console.log(`${C.green("\u{1F680} Done!")} Your output is in ${C.cyanBright(m)}`);}d.end("postprocess");}return e.input.watch.enabled&&typeof t.path=="string"&&setTimeout(()=>{oe({config:e,dependencies:n,templates:o$1,watch:a});},e.input.watch.interval),f||c};var bn={1:function(e,n,o,r,t){return `import { NgModule} from '@angular/core'; import { HttpClientModule } from '@angular/common/http'; import { AngularHttpRequest } from './core/AngularHttpRequest'; import { BaseHttpRequest } from './core/BaseHttpRequest'; import type { OpenAPIConfig } from './core/OpenAPI'; import { OpenAPI } from './core/OpenAPI'; import { Interceptors } from './core/OpenAPI'; `},3:function(e,n,o,r,t){var s,a=e.strict,i=e.lambda;return `import type { BaseHttpRequest } from './core/BaseHttpRequest'; import type { OpenAPIConfig } from './core/OpenAPI'; import { Interceptors } from './core/OpenAPI'; import { `+((s=i(a(n,"httpRequest",{start:{line:14,column:12},end:{line:14,column:23}}),n))!=null?s:"")+" } from './core/"+((s=i(a(n,"httpRequest",{start:{line:14,column:45},end:{line:14,column:56}}),n))!=null?s:"")+`'; `},5:function(e,n,o,r,t){var s,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return (s=a(o,"each").call(n??(e.nullContext||{}),a(n,"services"),{name:"each",hash:{},fn:e.program(6,t,0),inverse:e.noop,data:t,loc:{start:{line:18,column:0},end:{line:20,column:9}}}))!=null?s:""},6:function(e,n,o,r,t){var s,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return "import { "+((s=a(o,"transformServiceName").call(n??(e.nullContext||{}),a(n,"name"),{name:"transformServiceName",hash:{},data:t,loc:{start:{line:19,column:9},end:{line:19,column:40}}}))!=null?s:"")+` } from './sdk.gen'; `},8:function(e,n,o,r,t){var s,a=e.strict,i=e.lambda,u=e.lookupProperty||function(l,c){if(Object.prototype.hasOwnProperty.call(l,c))return l[c]};return `@NgModule({ imports: [HttpClientModule], providers: [ { provide: OpenAPI, useValue: { BASE: OpenAPI?.BASE ?? '`+((s=i(a(n,"server",{start:{line:30,column:31},end:{line:30,column:37}}),n))!=null?s:"")+`', VERSION: OpenAPI?.VERSION ?? '`+((s=i(a(n,"version",{start:{line:31,column:37},end:{line:31,column:44}}),n))!=null?s:"")+`', WITH_CREDENTIALS: OpenAPI?.WITH_CREDENTIALS ?? false, CREDENTIALS: OpenAPI?.CREDENTIALS ?? 'include', TOKEN: OpenAPI?.TOKEN, USERNAME: OpenAPI?.USERNAME, PASSWORD: OpenAPI?.PASSWORD, HEADERS: OpenAPI?.HEADERS, ENCODE_PATH: OpenAPI?.ENCODE_PATH, interceptors: { response: OpenAPI?.interceptors?.response ?? new Interceptors(), }, } as OpenAPIConfig, }, { provide: BaseHttpRequest, useClass: AngularHttpRequest, }, `+((s=u(o,"each").call(n??(e.nullContext||{}),u(n,"services"),{name:"each",hash:{},fn:e.program(9,t,0),inverse:e.noop,data:t,loc:{start:{line:48,column:2},end:{line:50,column:11}}}))!=null?s:"")+` ] }) export class `+((s=i(a(u(u(t,"root"),"$config"),"name",{start:{line:53,column:16},end:{line:53,column:34}}),n))!=null?s:"")+` {} `},9:function(e,n,o,r,t){var s,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return " "+((s=a(o,"transformServiceName").call(n??(e.nullContext||{}),a(n,"name"),{name:"transformServiceName",hash:{},data:t,loc:{start:{line:49,column:2},end:{line:49,column:33}}}))!=null?s:"")+`, `},11:function(e,n,o,r,t){var s,a=e.strict,i=e.lambda,u=n??(e.nullContext||{}),l=e.lookupProperty||function(c,f){if(Object.prototype.hasOwnProperty.call(c,f))return c[f]};return `type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest; export class `+((s=i(a(l(l(t,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),n))!=null?s:"")+` { `+((s=l(o,"each").call(u,l(n,"services"),{name:"each",hash:{},fn:e.program(12,t,0),inverse:e.noop,data:t,loc:{start:{line:59,column:1},end:{line:61,column:10}}}))!=null?s:"")+` public readonly request: BaseHttpRequest; constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = `+((s=i(a(n,"httpRequest",{start:{line:65,column:87},end:{line:65,column:98}}),n))!=null?s:"")+`) { this.request = new HttpRequest({ BASE: config?.BASE ?? '`+((s=i(a(n,"server",{start:{line:67,column:29},end:{line:67,column:35}}),n))!=null?s:"")+`', VERSION: config?.VERSION ?? '`+((s=i(a(n,"version",{start:{line:68,column:35},end:{line:68,column:42}}),n))!=null?s:"")+`', WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false, CREDENTIALS: config?.CREDENTIALS ?? 'include', TOKEN: config?.TOKEN, USERNAME: config?.USERNAME, PASSWORD: config?.PASSWORD, HEADERS: config?.HEADERS, ENCODE_PATH: config?.ENCODE_PATH, interceptors: { request: config?.interceptors?.request ?? new Interceptors(), response: config?.interceptors?.response ?? new Interceptors(), }, }); `+((s=l(o,"each").call(u,l(n,"services"),{name:"each",hash:{},fn:e.program(14,t,0),inverse:e.noop,data:t,loc:{start:{line:82,column:2},end:{line:84,column:11}}}))!=null?s:"")+` } } `},12:function(e,n,o,r,t){var s,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return " public readonly "+((s=i(o,"camelCase").call(a,i(n,"name"),{name:"camelCase",hash:{},data:t,loc:{start:{line:60,column:17},end:{line:60,column:37}}}))!=null?s:"")+": "+((s=i(o,"transformServiceName").call(a,i(n,"name"),{name:"transformServiceName",hash:{},data:t,loc:{start:{line:60,column:39},end:{line:60,column:70}}}))!=null?s:"")+`; `},14:function(e,n,o,r,t){var s,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return " this."+((s=i(o,"camelCase").call(a,i(n,"name"),{name:"camelCase",hash:{},data:t,loc:{start:{line:83,column:7},end:{line:83,column:27}}}))!=null?s:"")+" = new "+((s=i(o,"transformServiceName").call(a,i(n,"name"),{name:"transformServiceName",hash:{},data:t,loc:{start:{line:83,column:34},end:{line:83,column:65}}}))!=null?s:"")+`(this.request); `},compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){var s,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return ((s=i(o,"equals").call(a,i(i(i(i(t,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(1,t,0),inverse:e.program(3,t,0),data:t,loc:{start:{line:1,column:0},end:{line:15,column:11}}}))!=null?s:"")+` `+((s=i(o,"if").call(a,i(n,"services"),{name:"if",hash:{},fn:e.program(5,t,0),inverse:e.noop,data:t,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))!=null?s:"")+` `+((s=i(o,"equals").call(a,i(i(i(i(t,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(8,t,0),inverse:e.program(11,t,0),data:t,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))!=null?s:"")},useData:true};var qn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => { return forkJoin({ // @ts-ignore token: resolve(options, config.TOKEN), // @ts-ignore username: resolve(options, config.USERNAME), // @ts-ignore password: resolve(options, config.PASSWORD), // @ts-ignore additionalHeaders: resolve(options, config.HEADERS), }).pipe( map(({ token, username, password, additionalHeaders }) => { const headers = Object.entries({ Accept: 'application/json', ...additionalHeaders, ...options.headers, }) .filter(([, value]) => value !== undefined && value !== null) .reduce((headers, [key, value]) => ({ ...headers, [key]: String(value), }), {} as Record<string, string>); if (isStringWithValue(token)) { headers['Authorization'] = \`Bearer \${token}\`; } if (isStringWithValue(username) && isStringWithValue(password)) { const credentials = base64(\`\${username}:\${password}\`); headers['Authorization'] = \`Basic \${credentials}\`; } if (options.body !== undefined) { if (options.mediaType) { headers['Content-Type'] = options.mediaType; } else if (isBlob(options.body)) { headers['Content-Type'] = options.body.type || 'application/octet-stream'; } else if (isString(options.body)) { headers['Content-Type'] = 'text/plain'; } else if (!isFormData(options.body)) { headers['Content-Type'] = 'application/json'; } } return new HttpHeaders(headers); }), ); };`},useData:true};var An={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getRequestBody = (options: ApiRequestOptions): unknown => { if (options.body) { if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) { return JSON.stringify(options.body); } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { return options.body; } else { return JSON.stringify(options.body); } } return undefined; };`},useData:true};var Tn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getResponseBody = <T>(response: HttpResponse<T>): T | undefined => { if (response.status !== 204 && response.body !== null) { return response.body; } return undefined; };`},useData:true};var kn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getResponseHeader = <T>(response: HttpResponse<T>, responseHeader?: string): string | undefined => { if (responseHeader) { const value = response.headers.get(responseHeader); if (isString(value)) { return value; } } return undefined; };`},useData:true};var wn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){var s,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return `import { HttpClient, HttpHeaders } from '@angular/common/http'; import type { HttpResponse, HttpErrorResponse } from '@angular/common/http'; import { forkJoin, of, throwError } from 'rxjs'; import { catchError, map, switchMap } from 'rxjs/operators'; import type { Observable } from 'rxjs'; import { ApiError } from './ApiError'; import type { ApiRequestOptions } from './ApiRequestOptions'; import type { ApiResult } from './ApiResult'; import type { OpenAPIConfig } from './OpenAPI'; `+((s=e.invokePartial(a(r,"functions/isString"),n,{name:"functions/isString",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/isBlob"),n,{name:"functions/isBlob",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/isFormData"),n,{name:"functions/isFormData",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/base64"),n,{name:"functions/base64",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/getUrl"),n,{name:"functions/getUrl",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/getFormData"),n,{name:"functions/getFormData",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/resolve"),n,{name:"functions/resolve",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"angular/getHeaders"),n,{name:"angular/getHeaders",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"angular/getRequestBody"),n,{name:"angular/getRequestBody",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"angular/sendRequest"),n,{name:"angular/sendRequest",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"angular/getResponseHeader"),n,{name:"angular/getResponseHeader",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"angular/getResponseBody"),n,{name:"angular/getResponseBody",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(a(r,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` /** * Request method * @param config The OpenAPI configuration object * @param http The Angular HTTP client * @param options The request options from the service * @returns Observable<T> * @throws ApiError */ export const request = <T>(config: OpenAPIConfig, http: HttpClient, options: ApiRequestOptions<T>): Observable<T> => { const url = getUrl(config, options); const formData = getFormData(options); const body = getRequestBody(options); return getHeaders(config, options).pipe( switchMap(headers => { return sendRequest<T>(config, options, http, url, body, formData, headers); }), switchMap(async response => { for (const fn of config.interceptors.response._fns) { response = await fn(response); } const responseBody = getResponseBody(response); const responseHeader = getResponseHeader(response, options.responseHeader); let transformedBody = responseBody; if (options.responseTransformer && response.ok) { transformedBody = await options.responseTransformer(responseBody) } return { url, ok: response.ok, status: response.status, statusText: response.statusText, body: responseHeader ?? transformedBody, } as ApiResult; }), catchError((error: HttpErrorResponse) => { if (!error.status) { return throwError(() => error); } return of({ url, ok: error.ok, status: error.status, statusText: error.statusText, body: error.error ?? error.statusText, } as ApiResult); }), map(result => { catchErrorCodes(options, result); return result.body as T; }), catchError((error: ApiError) => { return throwError(() => error); }), ); };`},usePartial:true,useData:true};var On={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const sendRequest = <T>( config: OpenAPIConfig, options: ApiRequestOptions<T>, http: HttpClient, url: string, body: unknown, formData: FormData | undefined, headers: HttpHeaders ): Observable<HttpResponse<T>> => { return http.request<T>(options.method, url, { headers, body: body ?? formData, withCredentials: config.WITH_CREDENTIALS, observe: 'response', }); };`},useData:true};var En={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `import type { ApiRequestOptions } from './ApiRequestOptions'; import type { ApiResult } from './ApiResult'; export class ApiError extends Error { public readonly url: string; public readonly status: number; public readonly statusText: string; public readonly body: unknown; public readonly request: ApiRequestOptions; constructor(request: ApiRequestOptions, response: ApiResult, message: string) { super(message); this.name = 'ApiError'; this.url = response.url; this.status = response.status; this.statusText = response.statusText; this.body = response.body; this.request = request; } }`},useData:true};var Sn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export type ApiRequestOptions<T = unknown> = { readonly body?: any; readonly cookies?: Record<string, unknown>; readonly errors?: Record<number | string, string>; readonly formData?: Record<string, unknown> | any[] | Blob | File; readonly headers?: Record<string, unknown>; readonly mediaType?: string; readonly method: | 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT'; readonly path?: Record<string, unknown>; readonly query?: Record<string, unknown>; readonly responseHeader?: string; readonly responseTransformer?: (data: unknown) => Promise<T>; readonly url: string; };`},useData:true};var Hn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export type ApiResult<TData = any> = { readonly body: TData; readonly ok: boolean; readonly status: number; readonly statusText: string; readonly url: string; };`},useData:true};var Dn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Record<string, string>> => { const [token, username, password, additionalHeaders] = await Promise.all([ // @ts-ignore resolve(options, config.TOKEN), // @ts-ignore resolve(options, config.USERNAME), // @ts-ignore resolve(options, config.PASSWORD), // @ts-ignore resolve(options, config.HEADERS), ]); const headers = Object.entries({ Accept: 'application/json', ...additionalHeaders, ...options.headers, }) .filter(([, value]) => value !== undefined && value !== null) .reduce((headers, [key, value]) => ({ ...headers, [key]: String(value), }), {} as Record<string, string>); if (isStringWithValue(token)) { headers['Authorization'] = \`Bearer \${token}\`; } if (isStringWithValue(username) && isStringWithValue(password)) { const credentials = base64(\`\${username}:\${password}\`); headers['Authorization'] = \`Basic \${credentials}\`; } if (options.body !== undefined) { if (options.mediaType) { headers['Content-Type'] = options.mediaType; } else if (isBlob(options.body)) { headers['Content-Type'] = options.body.type || 'application/octet-stream'; } else if (isString(options.body)) { headers['Content-Type'] = 'text/plain'; } else if (!isFormData(options.body)) { headers['Content-Type'] = 'application/json'; } } else if (options.formData !== undefined) { if (options.mediaType) { headers['Content-Type'] = options.mediaType; } } return headers; };`},useData:true};var In={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getRequestBody = (options: ApiRequestOptions): unknown => { if (options.body) { return options.body; } return undefined; };`},useData:true};var Bn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getResponseBody = (response: AxiosResponse<unknown>): unknown => { if (response.status !== 204) { return response.data; } return undefined; };`},useData:true};var jn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getResponseHeader = (response: AxiosResponse<unknown>, responseHeader?: string): string | undefined => { if (responseHeader) { const content = response.headers[responseHeader]; if (isString(content)) { return content; } } return undefined; };`},useData:true};var $n={1:function(e,n,o,r,t){return "ApiResult<T>"},3:function(e,n,o,r,t){return "T"},5:function(e,n,o,r,t){return "result.body"},7:function(e,n,o,r,t){return "result"},compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){var s,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return `import axios from 'axios'; import type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios'; import { ApiError } from './ApiError'; import type { ApiRequestOptions } from './ApiRequestOptions'; import type { ApiResult } from './ApiResult'; import { CancelablePromise } from './CancelablePromise'; import type { OnCancel } from './CancelablePromise'; import type { OpenAPIConfig } from './OpenAPI'; `+((s=e.invokePartial(i(r,"functions/isString"),n,{name:"functions/isString",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/isBlob"),n,{name:"functions/isBlob",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/isFormData"),n,{name:"functions/isFormData",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/isSuccess"),n,{name:"functions/isSuccess",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/base64"),n,{name:"functions/base64",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/getQueryString"),n,{name:"functions/getQueryString",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/getUrl"),n,{name:"functions/getUrl",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/getFormData"),n,{name:"functions/getFormData",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/resolve"),n,{name:"functions/resolve",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"axios/getHeaders"),n,{name:"axios/getHeaders",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"axios/getRequestBody"),n,{name:"axios/getRequestBody",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"axios/sendRequest"),n,{name:"axios/sendRequest",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"axios/getResponseHeader"),n,{name:"axios/getResponseHeader",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"axios/getResponseBody"),n,{name:"axios/getResponseBody",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` `+((s=e.invokePartial(i(r,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:t,helpers:o,partials:r,decorators:e.decorators}))!=null?s:"")+` /** * Request method * @param config The OpenAPI configuration object * @param options The request options from the service * @param axiosClient The axios client instance to use * @returns CancelablePromise<`+((s=i(o,"ifServicesResponse").call(a,"response",{name:"ifServicesResponse",hash:{},fn:e.program(1,t,0),inverse:e.program(3,t,0),data:t,loc:{start:{line:64,column:30},end:{line:64,column:108}}}))!=null?s:"")+`> * @throws ApiError */ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>, axiosClient: AxiosInstance = axios): CancelablePromise<`+((s=i(o,"ifServicesResponse").call(a,"response",{name:"ifServicesResponse",hash:{},fn:e.program(1,t,0),inverse:e.program(3,t,0),data:t,loc:{start:{line:67,column:136},end:{line:67,column:214}}}))!=null?s:"")+`> => { return new CancelablePromise(async (resolve, reject, onCancel) => { try { const url = getUrl(config, options); const formData = getFormData(options); const body = getRequestBody(options); const headers = await getHeaders(config, options); if (!onCancel.isCancelled) { let response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient); for (const fn of config.interceptors.response._fns) { response = await fn(response); } const responseBody = getResponseBody(response); const responseHeader = getResponseHeader(response, options.responseHeader); let transformedBody = responseBody; if (options.responseTransformer && isSuccess(response.status)) { transformedBody = await options.responseTransformer(responseBody) } const result: ApiResult = { url, ok: isSuccess(response.status), status: response.status, statusText: response.statusText, body: responseHeader ?? transformedBody, }; catchErrorCodes(options, result); resolve(`+((s=i(o,"ifServicesResponse").call(a,"body",{name:"ifServicesResponse",hash:{},fn:e.program(5,t,0),inverse:e.program(7,t,0),data:t,loc:{start:{line:100,column:12},end:{line:100,column:90}}}))!=null?s:"")+`); } } catch (error) { reject(error); } }); };`},usePartial:true,useData:true};var Nn={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const sendRequest = async <T>( config: OpenAPIConfig, options: ApiRequestOptions<T>, url: string, body: unknown, formData: FormData | undefined, headers: Record<string, string>, onCancel: OnCancel, axiosClient: AxiosInstance ): Promise<AxiosResponse<T>> => { const controller = new AbortController(); let requestConfig: AxiosRequestConfig = { data: body ?? formData, headers, method: options.method, signal: controller.signal, url, withCredentials: config.WITH_CREDENTIALS, }; onCancel(() => controller.abort()); for (const fn of config.interceptors.request._fns) { requestConfig = await fn(requestConfig); } try { return await axiosClient.request(requestConfig); } catch (error) { const axiosError = error as AxiosError<T>; if (axiosError.response) { return axiosError.response; } throw error; } };`},useData:true};var Fn={1:function(e,n,o,r,t){return `import type { HttpClient } from '@angular/common/http'; import type { Observable } from 'rxjs'; import type { ApiRequestOptions } from './ApiRequestOptions'; import type { OpenAPIConfig } from './OpenAPI'; `},3:function(e,n,o,r,t){return `import type { ApiRequestOptions } from './ApiRequestOptions'; import type { CancelablePromise } from './CancelablePromise'; import type { OpenAPIConfig } from './OpenAPI'; `},5:function(e,n,o,r,t){return ` constructor( public readonly config: OpenAPIConfig, public readonly http: HttpClient, ) {} `},7:function(e,n,o,r,t){return ` constructor(public readonly config: OpenAPIConfig) {} `},9:function(e,n,o,r,t){return ` public abstract request<T>(options: ApiRequestOptions<T>): Observable<T>; `},11:function(e,n,o,r,t){return ` public abstract request<T>(options: ApiRequestOptions<T>): CancelablePromise<T>; `},compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){var s,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return ((s=i(o,"equals").call(a,i(i(i(i(t,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(1,t,0),inverse:e.program(3,t,0),data:t,loc:{start:{line:1,column:0},end:{line:11,column:11}}}))!=null?s:"")+` export abstract class BaseHttpRequest { `+((s=i(o,"equals").call(a,i(i(i(i(t,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(5,t,0),inverse:e.program(7,t,0),data:t,loc:{start:{line:15,column:1},end:{line:22,column:12}}}))!=null?s:"")+` `+((s=i(o,"equals").call(a,i(i(i(i(t,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(9,t,0),inverse:e.program(11,t,0),data:t,loc:{start:{line:24,column:1},end:{line:28,column:12}}}))!=null?s:"")+"}"},useData:true};var _n={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export class CancelError extends Error { constructor(message: string) { super(message); this.name = 'CancelError'; } public get isCancelled(): boolean { return true; } } export interface OnCancel { readonly isResolved: boolean; readonly isRejected: boolean; readonly isCancelled: boolean; (cancelHandler: () => void): void; } export class CancelablePromise<T> implements Promise<T> { private _isResolved: boolean; private _isRejected: boolean; private _isCancelled: boolean; readonly cancelHandlers: (() => void)[]; readonly promise: Promise<T>; private _resolve?: (value: T | PromiseLike<T>) => void; private _reject?: (reason?: unknown) => void; constructor( executor: ( resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: unknown) => void, onCancel: OnCancel ) => void ) { this._isResolved = false; this._isRejected = false; this._isCancelled = false; this.cancelHandlers = []; this.promise = new Promise<T>((resolve, reject) => { this._resolve = resolve; this._reject = reject; const onResolve = (value: T | PromiseLike<T>): void => { if (this._isResolved || this._isRejected || this._isCancelled) { return; } this._isResolved = true; if (this._resolve) this._resolve(value); }; const onReject = (reason?: unknown): void => { if (this._isResolved || this._isRejected || this._isCancelled) { return; } this._isRejected = true; if (this._reject) this._reject(reason); }; const onCancel = (cancelHandler: () => void): void => { if (this._isResolved || this._isRejected || this._isCancelled) { return; } this.cancelHandlers.push(cancelHandler); }; Object.defineProperty(onCancel, 'isResolved', { get: (): boolean => this._isResolved, }); Object.defineProperty(onCancel, 'isRejected', { get: (): boolean => this._isRejected, }); Object.defineProperty(onCancel, 'isCancelled', { get: (): boolean => this._isCancelled, }); return executor(onResolve, onReject, onCancel as OnCancel); }); } get [Symbol.toStringTag](): string { return "Cancellable Promise"; } public then<TResult1 = T, TResult2 = never>( onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null ): Promise<TResult1 | TResult2> { return this.promise.then(onFulfilled, onRejected); } public catch<TResult = never>( onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null ): Promise<T | TResult> { return this.promise.catch(onRejected); } public finally(onFinally?: (() => void) | null): Promise<T> { return this.promise.finally(onFinally); } public cancel(): void { if (this._isResolved || this._isRejected || this._isCancelled) { return; } this._isCancelled = true; if (this.cancelHandlers.length) { try { for (const cancelHandler of this.cancelHandlers) { cancelHandler(); } } catch (error) { console.warn('Cancellation threw an error', error); return; } } this.cancelHandlers.length = 0; if (this._reject) this._reject(new CancelError('Request aborted')); } public get isCancelled(): boolean { return this._isCancelled; } }`},useData:true};var Ln={compiler:[8,">= 4.3.0"],main:function(e,n,o,r,t){return `export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => { const [token, username, password, additionalHeaders] = await Promise.all([ // @ts-ignore resolve(options, config.TOKEN), // @ts-ignore resolve(options, config.USERNAME), // @ts-ignore resolve(options, config.PASSWORD), // @ts-ignore resolve(options, config.HEADERS), ]); const headers = Object.entries({ Accept: 'application/json', ...addition