@hey-api/openapi-ts
Version:
🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.
673 lines (582 loc) • 86.7 kB
JavaScript
import {createRequire}from'module';import {b,a,c,n,G,C,s,u,v,t,r,f as f$1,g,B,A,e,y,k,q,p as p$1,d,l,m,o,z,h,i,j,w}from'./chunk-QUDCWAFW.js';export{D as clientDefaultConfig,E as clientPluginHandler,x as defaultPaginationKeywords,F as defaultPlugins}from'./chunk-QUDCWAFW.js';import P from'ansi-colors';import ar from'color-support';import R from'node:path';import v$1 from'node:fs';import Pt from'typescript';import p from'handlebars';createRequire(import.meta.url);
var He=b((Qr,Se)=>{Se.exports=Ee;Ee.sync=xt;var ke=a("fs");function bt(e,n){var s=n.pathExt!==void 0?n.pathExt:process.env.PATHEXT;if(!s||(s=s.split(";"),s.indexOf("")!==-1))return true;for(var t=0;t<s.length;t++){var r=s[t].toLowerCase();if(r&&e.substr(-r.length).toLowerCase()===r)return true}return false}function we(e,n,s){return !e.isSymbolicLink()&&!e.isFile()?false:bt(n,s)}function Ee(e,n,s){ke.stat(e,function(t,r){s(t,t?false:we(r,e,n));});}function xt(e,n){return we(ke.statSync(e),e,n)}});var je=b((Jr,$e)=>{$e.exports=Ie;Ie.sync=Ct;var De=a("fs");function Ie(e,n,s){De.stat(e,function(t,r){s(t,t?false:Be(r,n));});}function Ct(e,n){return Be(De.statSync(e),n)}function Be(e,n){return e.isFile()&&qt(e,n)}function qt(e,n){var s=e.mode,t=e.uid,r=e.gid,o=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,m=s&l||s&u&&r===a||s&i&&t===o||s&c&&o===0;return m}});var _e=b((Zr,Ne)=>{a("fs");var F;process.platform==="win32"||global.TESTING_WINDOWS?F=He():F=je();Ne.exports=V;V.sync=At;function V(e,n,s){if(typeof n=="function"&&(s=n,n={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(t,r){V(e,n||{},function(o,a){o?r(o):t(a);});})}F(e,n||{},function(t,r){t&&(t.code==="EACCES"||n&&n.ignoreErrors)&&(t=null,r=false),s(t,r);});}function At(e,n){try{return F.sync(e,n||{})}catch(s){if(n&&n.ignoreErrors||s.code==="EACCES")return false;throw s}}});var Ge=b((eo,Ve)=>{var w=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Fe=a("path"),Tt=w?";":":",Me=_e(),We=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Le=(e,n)=>{let s=n.colon||Tt,t=e.match(/\//)||w&&e.match(/\\/)?[""]:[...w?[process.cwd()]:[],...(n.path||process.env.PATH||"").split(s)],r=w?n.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=w?r.split(s):[""];return w&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:t,pathExt:o,pathExtExe:r}},Ue=(e,n,s)=>{typeof n=="function"&&(s=n,n={}),n||(n={});let{pathEnv:t,pathExt:r,pathExtExe:o}=Le(e,n),a=[],i=l=>new Promise((c,m)=>{if(l===t.length)return n.all&&a.length?c(a):m(We(e));let d=t[l],A=/^".*"$/.test(d)?d.slice(1,-1):d,q=Fe.join(A,e),O=!A&&/^\.[\\\/]/.test(e)?e.slice(0,2)+q:q;c(u(O,l,0));}),u=(l,c,m)=>new Promise((d,A)=>{if(m===r.length)return d(i(c+1));let q=r[m];Me(l+q,{pathExt:o},(O,H)=>{if(!O&&H)if(n.all)a.push(l+q);else return d(l+q);return d(u(l,c,m+1))});});return s?i(0).then(l=>s(null,l),s):i(0)},Ot=(e,n)=>{n=n||{};let{pathEnv:s,pathExt:t,pathExtExe:r}=Le(e,n),o=[];for(let a=0;a<s.length;a++){let i=s[a],u=/^".*"$/.test(i)?i.slice(1,-1):i,l=Fe.join(u,e),c=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let m=0;m<t.length;m++){let d=c+t[m];try{if(Me.sync(d,{pathExt:r}))if(n.all)o.push(d);else return d}catch{}}}if(n.all&&o.length)return o;if(n.nothrow)return null;throw We(e)};Ve.exports=Ue;Ue.sync=Ot;});var Ke=b((no,G)=>{var ze=(e={})=>{let n=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(t=>t.toUpperCase()==="PATH")||"Path"};G.exports=ze;G.exports.default=ze;});var Ye=b((to,Je)=>{var Xe=a("path"),kt=Ge(),wt=Ke();function Qe(e,n){let s=e.options.env||process.env,t=process.cwd(),r=e.options.cwd!=null,o=r&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=kt.sync(e.command,{path:s[wt({env:s})],pathExt:n?Xe.delimiter:void 0});}catch{}finally{o&&process.chdir(t);}return a&&(a=Xe.resolve(r?e.options.cwd:"",a)),a}function Et(e){return Qe(e)||Qe(e,true)}Je.exports=Et;});var Ze=b((ro,K)=>{var z=/([()\][%!^"`<>&|;, *?])/g;function St(e){return e=e.replace(z,"^$1"),e}function Ht(e,n){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(z,"^$1"),n&&(e=e.replace(z,"^$1")),e}K.exports.command=St;K.exports.argument=Ht;});var nn=b((oo,en)=>{en.exports=/^#!(.*)/;});var rn=b((so,tn)=>{var Dt=nn();tn.exports=(e="")=>{let n=e.match(Dt);if(!n)return null;let[s,t]=n[0].replace(/#! ?/,"").split(" "),r=s.split("/").pop();return r==="env"?t:t?`${r} ${t}`:r};});var sn=b((io,on)=>{var X=a("fs"),It=rn();function Bt(e){let s=Buffer.alloc(150),t;try{t=X.openSync(e,"r"),X.readSync(t,s,0,150,0),X.closeSync(t);}catch{}return It(s.toString())}on.exports=Bt;});var pn=b((ao,un)=>{var $t=a("path"),an=Ye(),ln=Ze(),jt=sn(),Nt=process.platform==="win32",_t=/\.(?:com|exe)$/i,Ft=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Mt(e){e.file=an(e);let n=e.file&&jt(e.file);return n?(e.args.unshift(e.file),e.command=n,an(e)):e.file}function Wt(e){if(!Nt)return e;let n=Mt(e),s=!_t.test(n);if(e.options.forceShell||s){let t=Ft.test(n);e.command=$t.normalize(e.command),e.command=ln.command(e.command),e.args=e.args.map(o=>ln.argument(o,t));let r=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${r}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=true;}return e}function Lt(e,n,s){n&&!Array.isArray(n)&&(s=n,n=null),n=n?n.slice(0):[],s=Object.assign({},s);let t={command:e,args:n,options:s,file:void 0,original:{command:e,args:n}};return s.shell?t:Wt(t)}un.exports=Lt;});var fn=b((lo,mn)=>{var Q=process.platform==="win32";function J(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 Ut(e,n){if(!Q)return;let s=e.emit;e.emit=function(t,r){if(t==="exit"){let o=cn(r,n);if(o)return s.call(e,"error",o)}return s.apply(e,arguments)};}function cn(e,n){return Q&&e===1&&!n.file?J(n.original,"spawn"):null}function Vt(e,n){return Q&&e===1&&!n.file?J(n.original,"spawnSync"):null}mn.exports={hookChildProcess:Ut,verifyENOENT:cn,verifyENOENTSync:Vt,notFoundError:J};});var hn=b((uo,E)=>{var dn=a("child_process"),Y=pn(),Z=fn();function gn(e,n,s){let t=Y(e,n,s),r=dn.spawn(t.command,t.args,t.options);return Z.hookChildProcess(r,t),r}function Gt(e,n,s){let t=Y(e,n,s),r=dn.spawnSync(t.command,t.args,t.options);return r.error=r.error||Z.verifyENOENTSync(r.status,t),r}E.exports=gn;E.exports.spawn=gn;E.exports.sync=Gt;E.exports._parse=Y;E.exports._enoent=Z;});var _=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$1,n,s,t)=>{let r=e(),o=d(r),a=t.client({$config:r,...s,httpRequest:_(o.name),models:i(s.models),services:i(s.services)});g(r)&&(j(n),v$1.writeFileSync(R.resolve(n,`${g(r)}.ts`),a));};var xe=async(e$1,n,s)=>{let t=e();if(t.exportCore){let r=d(t),o={httpRequest:_(r.name),server:t.base!==void 0?t.base:n.server,version:n.version};if(v$1.rmSync(R.resolve(e$1),{force:true,recursive:true}),v$1.mkdirSync(R.resolve(e$1),{recursive:true}),await v$1.writeFileSync(R.resolve(e$1,"OpenAPI.ts"),s.core.settings({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiError.ts"),s.core.apiError({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiRequestOptions.ts"),s.core.apiRequestOptions({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiResult.ts"),s.core.apiResult({$config:t,...o})),r.name!=="legacy/angular"&&await v$1.writeFileSync(R.resolve(e$1,"CancelablePromise.ts"),s.core.cancelablePromise({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"request.ts"),s.core.request({$config:t,...o})),g(t)&&(await v$1.writeFileSync(R.resolve(e$1,"BaseHttpRequest.ts"),s.core.baseHttpRequest({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,`${o.httpRequest}.ts`),s.core.httpRequest({$config:t,...o}))),t.request){let a=R.resolve(process.cwd(),t.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$1,"request.ts"));}}};var Ce=({files:e$1})=>{let n=e();e$1.index=new o({dir:n.output.path,id:"index",name:"index.ts"}),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:g(n),module:`./${g(n)}`})),n.exportCore&&(e$1.index.add(m.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),n.plugins["@hey-api/sdk"]?.response==="response"&&e$1.index.add(m.exportNamedDeclaration({exports:{asType:true,name:"ApiResult"},module:"./core/ApiResult"})),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),d(n).name!=="legacy/angular"&&e$1.index.add(m.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e$1.index.add(m.exportNamedDeclaration({exports:["OpenAPI",{asType:true,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e$1).sort().forEach(s=>{let t=e$1[s];s==="index"||t.isEmpty()||t.exportFromIndex&&e$1.index.add(m.exportAllDeclaration({module:`./${t.nameWithoutExtension()}`}));});};var qe=async({client:e$1,openApi:n,templates:s})=>{let t=e(),r=n;if(e$1){if(t.plugins["@hey-api/sdk"]?.include&&t.plugins["@hey-api/sdk"].asClass){let l=new RegExp(t.plugins["@hey-api/sdk"].include);e$1.services=e$1.services.filter(c=>l.test(c.name));}if(t.plugins["@hey-api/typescript"]?.include){let l=new RegExp(t.plugins["@hey-api/typescript"].include);e$1.models=e$1.models.filter(c=>l.test(c.name));}}let o$1=R.resolve(t.output.path);t.output.clean&&k(o$1);let a=q(p$1(t.output.tsConfigPath)),i=d(t);!f$1(t)&&"bundle"in i&&i.bundle&&l({outputPath:o$1,plugin:i,tsConfig:a}),await be(r,o$1,e$1,s),await xe(R.resolve(t.output.path,"core"),e$1,s);let u={};for(let l of t.pluginOrder){let c=t.plugins[l],m=(c.output??"").split("/"),d=R.resolve(t.output.path,...m.slice(0,m.length-1));u[c.name]=new o({dir:d,id:`legacy-unused-${c.name}`,name:`${m[m.length-1]}.ts`}),c._handlerLegacy({client:e$1,files:u,openApi:r,plugin:c});}Ce({files:u}),Object.entries(u).forEach(([l,c])=>{t.dryRun||(l==="index"?c.write(`
`,a):c.write(`
`,a));});};var Ae=async({context:e})=>{await e.broadcast("before");for(let n of e.ir.servers??[])await e.broadcast("server",{server:n});if(e.ir.components){for(let n in e.ir.components.schemas){let s=e.ir.components.schemas[n],t=`#/components/schemas/${n}`;await e.broadcast("schema",{$ref:t,name:n,schema:s});}for(let n in e.ir.components.parameters){let s=e.ir.components.parameters[n],t=`#/components/parameters/${n}`;await e.broadcast("parameter",{$ref:t,name:n,parameter:s});}for(let n in e.ir.components.requestBodies){let s=e.ir.components.requestBodies[n],t=`#/components/requestBodies/${n}`;await e.broadcast("requestBody",{$ref:t,name:n,requestBody:s});}}for(let n in e.ir.paths){let s=e.ir.paths[n];for(let t in s){let r=t,o=s[r];await e.broadcast("operation",{method:r,operation:o,path:n});}}await e.broadcast("after");};var Te=async({context:e})=>{let n=R.resolve(e.config.output.path);e.config.output.clean&&k(n);let s=q(p$1(e.config.output.tsConfigPath)),t=s?.options.moduleResolution===Pt.ModuleResolutionKind.NodeNext,r=d(e.config);"bundle"in r&&r.bundle&&l({outputPath:n,plugin:r,tsConfig:s});for(let o of e.config.pluginOrder){let a=e.config.plugins[o],i=e.subscribe.bind(e);e.subscribe=(u,l)=>{i(u,l,o);},a._handler({context:e,plugin:a}),e.subscribe=i;}if(await Ae({context:e}),!e.config.dryRun){let o=e.createFile({id:"_index",path:"index"});for(let a of Object.values(e.files))if(a.nameWithoutExtension()!==o.nameWithoutExtension()){if(!a.isEmpty()&&a.exportFromIndex&&e.config.output.indexFile){let u=o.relativePathToFile({context:e,id:a.id});t&&(u.startsWith("./")||u.startsWith("../"))&&(u==="./client"?u="./client/index.js":u=`${u}.js`),o.add(m.exportAllDeclaration({module:u}));}a.write(`
`,s);}e.config.output.indexFile&&o.write(`
`,s);}};var Oe=({patchOptions:e,spec:n})=>{if(!e)return;let s=n;if("swagger"in s){if(s.definitions&&e?.schemas)for(let t in e.schemas){let r=e.schemas[t],o=s.definitions[t];o&&typeof o=="object"&&r(o);}return}if(s.components){if(s.components.parameters&&e.parameters)for(let t in e.parameters){let r=e.parameters[t],o=s.components.parameters[t];o&&typeof o=="object"&&r(o);}if(s.components.requestBodies&&e.requestBodies)for(let t in e.requestBodies){let r=e.requestBodies[t],o=s.components.requestBodies[t];o&&typeof o=="object"&&r(o);}if(s.components.responses&&e.responses)for(let t in e.responses){let r=e.responses[t],o=s.components.responses[t];o&&typeof o=="object"&&r(o);}if(s.components.schemas&&e?.schemas)for(let t in e.schemas){let r=e.schemas[t],o=s.components.schemas[t];o&&typeof o=="object"&&r(o);}}};var ee=c(hn(),1),zt={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"}},Kt={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"}},yn=({config:e})=>{if(e.output.format){let n=zt[e.output.format];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}if(e.output.lint){let n=Kt[e.output.lint];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}};var vn=e=>`${e}-end`,ne=e=>`${e}-length`,Rn=e=>`${e}-start`,f={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(vn(e)),getEntriesByName:e=>performance.getEntriesByName(ne(e)),measure:e=>performance.measure(ne(e),Rn(e),vn(e)),start:e=>performance.mark(Rn(e))},M=class{totalMeasure;constructor({totalMark:n}){this.totalMeasure=f.measure(n);}report({marks:n}){let s=Math.ceil(this.totalMeasure.duration*100)/100,t=this.totalMeasure.name;console.warn(`${t.substring(0,t.length-ne("").length)}: ${s.toFixed(2)}ms`),n.forEach(r=>{try{let o=f.measure(r),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${r}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);}catch{}});}};function Pn(e,n){return {...e,config:n,models:e.models.map(s=>Xt(s)),services:Qt(e.operations).map(Jt),types:{}}}var Xt=e=>({...e,$refs:e.$refs.filter((n,s,t)=>z(n,s,t)),enum:e.enum.filter((n,s,t)=>t.findIndex(r=>r.value===n.value)===s),enums:e.enums.filter((n,s,t)=>t.findIndex(r=>r.name===n.name)===s),imports:e.imports.filter((n,s,t)=>z(n,s,t)&&n!==e.name).sort(h)}),Qt=e$1=>{let n=e(),s=new Map;return e$1.forEach(t=>{(t.tags?.length&&(n.plugins["@hey-api/sdk"]?.asClass||g(n))?t.tags.filter(z):["Default"]).forEach(o=>{let a={...t,service:er(o)},i=s.get(a.service)||Zt(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],s.set(a.service,i);});}),Array.from(s.values())},Jt=e=>{let n={...e};return n.operations=Yt(n),n.operations.forEach(s=>{n.imports.push(...s.imports);}),n.imports=n.imports.filter(z).sort(h),n},Yt=e=>{let n=new Map;return e.operations.map(s=>{let t={...s};t.imports.push(...t.parameters.flatMap(i=>i.imports));let r=t.responses.filter(i=>i.responseTypes.includes("success"));t.imports.push(...r.flatMap(i=>i.imports));let o=t.name,a=n.get(o)||0;return a>0&&(t.name=`${o}${a}`),n.set(o,a+1),t})},Zt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),er=e=>n({case:"PascalCase",value:w(e)});var te=e=>e.startsWith("https://get.heyapi.dev"),tr=e=>{let n={path:""};if(e.path&&(typeof e.path!="string"||!te(e.path)))return n.path=e.path,n;let[s,t]=e.path.split("?"),o=(t||"").split("&").map(b=>b.split("=")),a=s||"";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 m=[],d="api_key";n.api_key=o.find(([b])=>b===d)?.[1]||e.api_key||process.env.HEY_API_TOKEN,n.api_key&&m.push(`${d}=${n.api_key}`);let A="branch";n.branch=o.find(([b])=>b===A)?.[1]||e.branch,n.branch&&m.push(`${A}=${n.branch}`);let q="commit_sha";n.commit_sha=o.find(([b])=>b===q)?.[1]||e.commit_sha,n.commit_sha&&m.push(`${q}=${n.commit_sha}`);let O="tags";n.tags=o.find(([b])=>b===O)?.[1]?.split(",")||e.tags,n.tags?.length&&m.push(`${O}=${n.tags.join(",")}`);let H="version";if(n.version=o.find(([b])=>b===H)?.[1]||e.version,n.version&&m.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 oe=m.join("&"),se=u||"get.heyapi.dev",ie=se.startsWith("localhost"),ae=[ie?"http":"https",se].join("://"),le=ie?[ae,"v1","get",n.organization,n.project].join("/"):[ae,n.organization,n.project].join("/");return n.path=oe?`${le}?${oe}`:le,n},rr=({config:e,inputPath:n,watch:s})=>{if(e.logs.level==="silent")return;s&&console.clear();let t=s?P.magenta("Input changed, generating from"):P.cyan("Generating from");if(typeof n.path=="string"){let r=te(n.path)?`${n.organization??""}/${n.project??""}`:n.path;console.log(`\u23F3 ${t} ${r}`),te(n.path)&&(n.branch&&console.log(`${P.gray("branch:")} ${P.green(n.branch)}`),n.commit_sha&&console.log(`${P.gray("commit:")} ${P.green(n.commit_sha)}`),n.tags?.length&&console.log(`${P.gray("tags:")} ${P.green(n.tags.join(", "))}`),n.version&&console.log(`${P.gray("version:")} ${P.green(n.version)}`));}else console.log(`\u23F3 ${t} raw OpenAPI specification`);},re=async({config:e,templates:n,watch:s})=>{let t=tr(e.input),{timeout:r$1}=e.input.watch,o=s||{headers:new Headers};rr({config:e,inputPath:t,watch:!!s}),f.start("spec");let{data:a,error:i,response:u}=await r({fetchOptions:e.input.fetch,inputPath:t.path,timeout:r$1,watch:o});if(f.end("spec"),i&&!s)throw new Error(`Request failed with status ${u.status}: ${u.statusText}`);let l,c;if(a){if(f.start("input.patch"),Oe({patchOptions:e.input.patch,spec:a}),f.end("input.patch"),f.start("parser"),e.experimentalParser&&!f$1(e)&&!g(e)&&(c=B({config:e,spec:a})),!c){let m=A({openApi:a});l=Pn(m,e);}if(f.end("parser"),f.start("generator"),c?await Te({context:c}):l&&await qe({client:l,openApi:a,templates:n}),f.end("generator"),f.start("postprocess"),!e.dryRun&&(yn({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(`${P.green("\u{1F680} Done!")} Your output is in ${P.cyanBright(m)}`);}f.end("postprocess");}return e.input.watch.enabled&&typeof t.path=="string"&&setTimeout(()=>{re({config:e,templates:n,watch:o});},e.input.watch.interval),c||l};var bn={1:function(e,n,s,t,r){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,s,t,r){var o,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 { `+((o=i(a(n,"httpRequest",{start:{line:14,column:12},end:{line:14,column:23}}),n))!=null?o:"")+" } from './core/"+((o=i(a(n,"httpRequest",{start:{line:14,column:45},end:{line:14,column:56}}),n))!=null?o:"")+`';
`},5:function(e,n,s,t,r){var o,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return (o=a(s,"each").call(n??(e.nullContext||{}),a(n,"services"),{name:"each",hash:{},fn:e.program(6,r,0),inverse:e.noop,data:r,loc:{start:{line:18,column:0},end:{line:20,column:9}}}))!=null?o:""},6:function(e,n,s,t,r){var o,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return "import { "+((o=a(s,"transformServiceName").call(n??(e.nullContext||{}),a(n,"name"),{name:"transformServiceName",hash:{},data:r,loc:{start:{line:19,column:9},end:{line:19,column:40}}}))!=null?o:"")+` } from './sdk.gen';
`},8:function(e,n,s,t,r){var o,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 ?? '`+((o=i(a(n,"server",{start:{line:30,column:31},end:{line:30,column:37}}),n))!=null?o:"")+`',
VERSION: OpenAPI?.VERSION ?? '`+((o=i(a(n,"version",{start:{line:31,column:37},end:{line:31,column:44}}),n))!=null?o:"")+`',
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,
},
`+((o=u(s,"each").call(n??(e.nullContext||{}),u(n,"services"),{name:"each",hash:{},fn:e.program(9,r,0),inverse:e.noop,data:r,loc:{start:{line:48,column:2},end:{line:50,column:11}}}))!=null?o:"")+` ]
})
export class `+((o=i(a(u(u(r,"root"),"$config"),"name",{start:{line:53,column:16},end:{line:53,column:34}}),n))!=null?o:"")+` {}
`},9:function(e,n,s,t,r){var o,a=e.lookupProperty||function(i,u){if(Object.prototype.hasOwnProperty.call(i,u))return i[u]};return " "+((o=a(s,"transformServiceName").call(n??(e.nullContext||{}),a(n,"name"),{name:"transformServiceName",hash:{},data:r,loc:{start:{line:49,column:2},end:{line:49,column:33}}}))!=null?o:"")+`,
`},11:function(e,n,s,t,r){var o,a=e.strict,i=e.lambda,u=n??(e.nullContext||{}),l=e.lookupProperty||function(c,m){if(Object.prototype.hasOwnProperty.call(c,m))return c[m]};return `type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;
export class `+((o=i(a(l(l(r,"root"),"$config"),"name",{start:{line:57,column:16},end:{line:57,column:34}}),n))!=null?o:"")+` {
`+((o=l(s,"each").call(u,l(n,"services"),{name:"each",hash:{},fn:e.program(12,r,0),inverse:e.noop,data:r,loc:{start:{line:59,column:1},end:{line:61,column:10}}}))!=null?o:"")+`
public readonly request: BaseHttpRequest;
constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = `+((o=i(a(n,"httpRequest",{start:{line:65,column:87},end:{line:65,column:98}}),n))!=null?o:"")+`) {
this.request = new HttpRequest({
BASE: config?.BASE ?? '`+((o=i(a(n,"server",{start:{line:67,column:29},end:{line:67,column:35}}),n))!=null?o:"")+`',
VERSION: config?.VERSION ?? '`+((o=i(a(n,"version",{start:{line:68,column:35},end:{line:68,column:42}}),n))!=null?o:"")+`',
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(),
},
});
`+((o=l(s,"each").call(u,l(n,"services"),{name:"each",hash:{},fn:e.program(14,r,0),inverse:e.noop,data:r,loc:{start:{line:82,column:2},end:{line:84,column:11}}}))!=null?o:"")+` }
}
`},12:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return " public readonly "+((o=i(s,"camelCase").call(a,i(n,"name"),{name:"camelCase",hash:{},data:r,loc:{start:{line:60,column:17},end:{line:60,column:37}}}))!=null?o:"")+": "+((o=i(s,"transformServiceName").call(a,i(n,"name"),{name:"transformServiceName",hash:{},data:r,loc:{start:{line:60,column:39},end:{line:60,column:70}}}))!=null?o:"")+`;
`},14:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return " this."+((o=i(s,"camelCase").call(a,i(n,"name"),{name:"camelCase",hash:{},data:r,loc:{start:{line:83,column:7},end:{line:83,column:27}}}))!=null?o:"")+" = new "+((o=i(s,"transformServiceName").call(a,i(n,"name"),{name:"transformServiceName",hash:{},data:r,loc:{start:{line:83,column:34},end:{line:83,column:65}}}))!=null?o:"")+`(this.request);
`},compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return ((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:15,column:11}}}))!=null?o:"")+`
`+((o=i(s,"if").call(a,i(n,"services"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))!=null?o:"")+`
`+((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(8,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))!=null?o:"")},useData:true};var xn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 Cn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 qn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 An={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 Tn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){var o,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';
`+((o=e.invokePartial(a(t,"functions/isString"),n,{name:"functions/isString",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/base64"),n,{name:"functions/base64",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"angular/getHeaders"),n,{name:"angular/getHeaders",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"angular/getRequestBody"),n,{name:"angular/getRequestBody",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"angular/sendRequest"),n,{name:"angular/sendRequest",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"angular/getResponseHeader"),n,{name:"angular/getResponseHeader",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"angular/getResponseBody"),n,{name:"angular/getResponseBody",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(a(t,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
/**
* 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,s,t,r){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 kn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 wn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 En={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export type ApiResult<TData = any> = {
readonly body: TData;
readonly ok: boolean;
readonly status: number;
readonly statusText: string;
readonly url: string;
};`},useData:true};var Sn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 Hn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getRequestBody = (options: ApiRequestOptions): unknown => {
if (options.body) {
return options.body;
}
return undefined;
};`},useData:true};var Dn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getResponseBody = (response: AxiosResponse<unknown>): unknown => {
if (response.status !== 204) {
return response.data;
}
return undefined;
};`},useData:true};var In={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 Bn={1:function(e,n,s,t,r){return "ApiResult<T>"},3:function(e,n,s,t,r){return "T"},5:function(e,n,s,t,r){return "result.body"},7:function(e,n,s,t,r){return "result"},compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){var o,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';
`+((o=e.invokePartial(i(t,"functions/isString"),n,{name:"functions/isString",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/isStringWithValue"),n,{name:"functions/isStringWithValue",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/isBlob"),n,{name:"functions/isBlob",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/isFormData"),n,{name:"functions/isFormData",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/isSuccess"),n,{name:"functions/isSuccess",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/base64"),n,{name:"functions/base64",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/getQueryString"),n,{name:"functions/getQueryString",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/getUrl"),n,{name:"functions/getUrl",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/getFormData"),n,{name:"functions/getFormData",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/resolve"),n,{name:"functions/resolve",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"axios/getHeaders"),n,{name:"axios/getHeaders",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"axios/getRequestBody"),n,{name:"axios/getRequestBody",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"axios/sendRequest"),n,{name:"axios/sendRequest",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"axios/getResponseHeader"),n,{name:"axios/getResponseHeader",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"axios/getResponseBody"),n,{name:"axios/getResponseBody",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
`+((o=e.invokePartial(i(t,"functions/catchErrorCodes"),n,{name:"functions/catchErrorCodes",data:r,helpers:s,partials:t,decorators:e.decorators}))!=null?o:"")+`
/**
* 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<`+((o=i(s,"ifServicesResponse").call(a,"response",{name:"ifServicesResponse",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:64,column:30},end:{line:64,column:108}}}))!=null?o:"")+`>
* @throws ApiError
*/
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>, axiosClient: AxiosInstance = axios): CancelablePromise<`+((o=i(s,"ifServicesResponse").call(a,"response",{name:"ifServicesResponse",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:67,column:136},end:{line:67,column:214}}}))!=null?o:"")+`> => {
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(`+((o=i(s,"ifServicesResponse").call(a,"body",{name:"ifServicesResponse",hash:{},fn:e.program(5,r,0),inverse:e.program(7,r,0),data:r,loc:{start:{line:100,column:12},end:{line:100,column:90}}}))!=null?o:"")+`);
}
} catch (error) {
reject(error);
}
});
};`},usePartial:true,useData:true};var $n={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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 jn={1:function(e,n,s,t,r){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,s,t,r){return `import type { ApiRequestOptions } from './ApiRequestOptions';
import type { CancelablePromise } from './CancelablePromise';
import type { OpenAPIConfig } from './OpenAPI';
`},5:function(e,n,s,t,r){return ` constructor(
public readonly config: OpenAPIConfig,
public readonly http: HttpClient,
) {}
`},7:function(e,n,s,t,r){return ` constructor(public readonly config: OpenAPIConfig) {}
`},9:function(e,n,s,t,r){return ` public abstract request<T>(options: ApiRequestOptions<T>): Observable<T>;
`},11:function(e,n,s,t,r){return ` public abstract request<T>(options: ApiRequestOptions<T>): CancelablePromise<T>;
`},compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return ((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:11,column:11}}}))!=null?o:"")+`
export abstract class BaseHttpRequest {
`+((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(5,r,0),inverse:e.program(7,r,0),data:r,loc:{start:{line:15,column:1},end:{line:22,column:12}}}))!=null?o:"")+`
`+((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(9,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:24,column:1},end:{line:28,column:12}}}))!=null?o:"")+"}"},useData:true};var Nn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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]() {
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 _n={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){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',
...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 = bas