@hey-api/openapi-ts
Version:
🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.
659 lines (570 loc) • 87.2 kB
JavaScript
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