@hey-api/openapi-ts 0.53.3 → 0.53.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +13 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
1
2
|
import K from 'node:path';
|
|
2
3
|
import { loadConfig } from 'c12';
|
|
3
4
|
import { existsSync, writeFileSync, copyFileSync, rmSync, mkdirSync } from 'node:fs';
|
|
4
5
|
import y from 'typescript';
|
|
5
6
|
import { EOL } from 'os';
|
|
6
|
-
import
|
|
7
|
-
import f from 'handlebars
|
|
8
|
-
|
|
9
|
-
var pi=Object.create;var gn=Object.defineProperty;var ci=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var li=Object.getPrototypeOf,ui=Object.prototype.hasOwnProperty;var me=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var fi=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of mi(t))!ui.call(e,n)&&n!==r&&gn(e,n,{get:()=>t[n],enumerable:!(s=ci(t,n))||s.enumerable});return e};var di=(e,t,r)=>(r=e!=null?pi(li(e)):{},fi(gn(r,"default",{value:e,enumerable:!0}),e));var Cn=U((vp,bn)=>{bn.exports=On;On.sync=gi;var hn=me("fs");function yi(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return !0;for(var s=0;s<r.length;s++){var n=r[s].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return !0}return !1}function xn(e,t,r){return !e.isSymbolicLink()&&!e.isFile()?!1:yi(t,r)}function On(e,t,r){hn.stat(e,function(s,n){r(s,s?!1:xn(n,e,t));});}function gi(e,t){return xn(hn.statSync(e),e,t)}});var vn=U((Ep,An)=>{An.exports=Tn;Tn.sync=hi;var Pn=me("fs");function Tn(e,t,r){Pn.stat(e,function(s,n){r(s,s?!1:Rn(n,t));});}function hi(e,t){return Rn(Pn.statSync(e),t)}function Rn(e,t){return e.isFile()&&xi(e,t)}function xi(e,t){var r=e.mode,s=e.uid,n=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),a=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),i=parseInt("100",8),p=parseInt("010",8),c=parseInt("001",8),m=i|p,u=r&c||r&p&&n===a||r&i&&s===o||r&m&&o===0;return u}});var qn=U((Sp,En)=>{me("fs");var Ye;process.platform==="win32"||global.TESTING_WINDOWS?Ye=Cn():Ye=vn();En.exports=Ht;Ht.sync=Oi;function Ht(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,n){Ht(e,t||{},function(o,a){o?n(o):s(a);});})}Ye(e,t||{},function(s,n){s&&(s.code==="EACCES"||t&&t.ignoreErrors)&&(s=null,n=!1),r(s,n);});}function Oi(e,t){try{return Ye.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return !1;throw r}}});var Dn=U((kp,In)=>{var Ee=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Sn=me("path"),bi=Ee?";":":",kn=qn(),Nn=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),wn=(e,t)=>{let r=t.colon||bi,s=e.match(/\//)||Ee&&e.match(/\\/)?[""]:[...Ee?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],n=Ee?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ee?n.split(r):[""];return Ee&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:s,pathExt:o,pathExtExe:n}},$n=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:s,pathExt:n,pathExtExe:o}=wn(e,t),a=[],i=c=>new Promise((m,u)=>{if(c===s.length)return t.all&&a.length?m(a):u(Nn(e));let d=s[c],x=/^".*"$/.test(d)?d.slice(1,-1):d,g=Sn.join(x,e),C=!x&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;m(p(C,c,0));}),p=(c,m,u)=>new Promise((d,x)=>{if(u===n.length)return d(i(m+1));let g=n[u];kn(c+g,{pathExt:o},(C,R)=>{if(!C&&R)if(t.all)a.push(c+g);else return d(c+g);return d(p(c,m,u+1))});});return r?i(0).then(c=>r(null,c),r):i(0)},Ci=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:s,pathExtExe:n}=wn(e,t),o=[];for(let a=0;a<r.length;a++){let i=r[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,c=Sn.join(p,e),m=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let u=0;u<s.length;u++){let d=m+s[u];try{if(kn.sync(d,{pathExt:n}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Nn(e)};In.exports=$n;$n.sync=Ci;});var jn=U((Np,Ft)=>{var Mn=(e={})=>{let t=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};Ft.exports=Mn;Ft.exports.default=Mn;});var Ln=U((wp,Bn)=>{var Hn=me("path"),Pi=Dn(),Ti=jn();function Fn(e,t){let r=e.options.env||process.env,s=process.cwd(),n=e.options.cwd!=null,o=n&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=Pi.sync(e.command,{path:r[Ti({env:r})],pathExt:t?Hn.delimiter:void 0});}catch{}finally{o&&process.chdir(s);}return a&&(a=Hn.resolve(n?e.options.cwd:"",a)),a}function Ri(e){return Fn(e)||Fn(e,!0)}Bn.exports=Ri;});var _n=U(($p,Lt)=>{var Bt=/([()\][%!^"`<>&|;, *?])/g;function Ai(e){return e=e.replace(Bt,"^$1"),e}function vi(e,t){return e=`${e}`,e=e.replace(/(\\*)"/g,'$1$1\\"'),e=e.replace(/(\\*)$/,"$1$1"),e=`"${e}"`,e=e.replace(Bt,"^$1"),t&&(e=e.replace(Bt,"^$1")),e}Lt.exports.command=Ai;Lt.exports.argument=vi;});var Vn=U((Ip,Un)=>{Un.exports=/^#!(.*)/;});var Wn=U((Dp,Kn)=>{var Ei=Vn();Kn.exports=(e="")=>{let t=e.match(Ei);if(!t)return null;let[r,s]=t[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?s:s?`${n} ${s}`:n};});var Gn=U((Mp,Qn)=>{var _t=me("fs"),qi=Wn();function Si(e){let r=Buffer.alloc(150),s;try{s=_t.openSync(e,"r"),_t.readSync(s,r,0,150,0),_t.closeSync(s);}catch{}return qi(r.toString())}Qn.exports=Si;});var Yn=U((jp,Jn)=>{var ki=me("path"),Xn=Ln(),zn=_n(),Ni=Gn(),wi=process.platform==="win32",$i=/\.(?:com|exe)$/i,Ii=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Di(e){e.file=Xn(e);let t=e.file&&Ni(e.file);return t?(e.args.unshift(e.file),e.command=t,Xn(e)):e.file}function Mi(e){if(!wi)return e;let t=Di(e),r=!$i.test(t);if(e.options.forceShell||r){let s=Ii.test(t);e.command=ki.normalize(e.command),e.command=zn.command(e.command),e.args=e.args.map(o=>zn.argument(o,s));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0;}return e}function ji(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let s={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?s:Mi(s)}Jn.exports=ji;});var tr=U((Hp,er)=>{var Ut=process.platform==="win32";function Vt(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Hi(e,t){if(!Ut)return;let r=e.emit;e.emit=function(s,n){if(s==="exit"){let o=Zn(n,t);if(o)return r.call(e,"error",o)}return r.apply(e,arguments)};}function Zn(e,t){return Ut&&e===1&&!t.file?Vt(t.original,"spawn"):null}function Fi(e,t){return Ut&&e===1&&!t.file?Vt(t.original,"spawnSync"):null}er.exports={hookChildProcess:Hi,verifyENOENT:Zn,verifyENOENTSync:Fi,notFoundError:Vt};});var or=U((Fp,qe)=>{var nr=me("child_process"),Kt=Yn(),Wt=tr();function rr(e,t,r){let s=Kt(e,t,r),n=nr.spawn(s.command,s.args,s.options);return Wt.hookChildProcess(n,s),n}function Bi(e,t,r){let s=Kt(e,t,r),n=nr.spawnSync(s.command,s.args,s.options);return n.error=n.error||Wt.verifyENOENTSync(n.status,s),n}qe.exports=rr;qe.exports.spawn=rr;qe.exports.sync=Bi;qe.exports._parse=Kt;qe.exports._enoent=Wt;});var dn=di(or());var sr,h=()=>sr,ir=e=>(sr=e,h()),A=e=>("client"in e?e.client.name:e.name).startsWith("@hey-api");var Ze=e=>{switch(e.name){case"legacy/angular":return "AngularHttpRequest";case"legacy/axios":return "AxiosHttpRequest";case"legacy/fetch":return "FetchHttpRequest";case"legacy/node":return "NodeHttpRequest";case"legacy/xhr":return "XHRHttpRequest";default:return ""}};function Se(e,t){let r=e.toLocaleLowerCase(),s=t.toLocaleLowerCase();return r.localeCompare(s,"en")}var Ue=(e,t)=>Se(e.name,t.name);function Ve(e){return e.sort(Ue)}var ke=e=>{existsSync(e)||mkdirSync(e,{recursive:!0});};var ar=async(e,t,r,s)=>{let n=h(),o=s.client({$config:n,...r,httpRequest:Ze(n.client),models:Ve(r.models),services:Ve(r.services)});n.name&&(ke(t),writeFileSync(K.resolve(t,`${n.name}.ts`),o));};var Wi=()=>{try{return typeof import.meta.url=="string"}catch{return !1}},Qi=async()=>{try{if(Wi()){let t=(await import('node:module')).createRequire;return t(import.meta.url)}return module.require}catch{return module.require}},Oe=()=>{let e=h();return e.client.bundle?"./client":e.client.name},be=()=>"Options",pr=async(e,t)=>{let r=h();if(!A(r)||!r.client.bundle)return;let s=K.resolve(e,"client");ke(s);let n=await Qi(),a=K.normalize(n.resolve(t)).split(K.sep),i=[...a.slice(0,a.indexOf("dist")),"src"].join(K.sep);["index.ts","types.ts","utils.ts"].forEach(c=>{copyFileSync(K.resolve(i,c),K.resolve(s,c));});};var cr=async(e,t,r)=>{let s=h();if(s.exportCore){let n={httpRequest:Ze(s.client),server:s.base!==void 0?s.base:t.server,version:t.version};if(rmSync(K.resolve(e),{force:!0,recursive:!0}),mkdirSync(K.resolve(e),{recursive:!0}),await writeFileSync(K.resolve(e,"OpenAPI.ts"),r.core.settings({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiError.ts"),r.core.apiError({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiResult.ts"),r.core.apiResult({$config:s,...n})),s.client.name!=="legacy/angular"&&await writeFileSync(K.resolve(e,"CancelablePromise.ts"),r.core.cancelablePromise({$config:s,...n})),await writeFileSync(K.resolve(e,"request.ts"),r.core.request({$config:s,...n})),s.name&&(await writeFileSync(K.resolve(e,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:s,...n})),await writeFileSync(K.resolve(e,`${n.httpRequest}.ts`),r.core.httpRequest({$config:s,...n}))),s.request){let o=K.resolve(process.cwd(),s.request);if(!await existsSync(o))throw new Error(`Custom request file "${o}" does not exists`);await copyFileSync(o,K.resolve(e,"request.ts"));}}};var et=/^[^$_\p{ID_Start}]+/u,Y=/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,ae=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var Z=e=>(e||e==="")&&(ae.lastIndex=0,!ae.test(e))?`'${e}'`:e,we=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,$=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(t,r)=>EOL+r.trim());var tt={newLine:y.NewLineKind.LineFeed,scriptKind:y.ScriptKind.TS,scriptTarget:y.ScriptTarget.ES2015,useSingleQuotes:!0},Zi=y.createPrinter({newLine:tt.newLine}),mr=e=>y.createSourceFile("",e,tt.scriptTarget,void 0,tt.scriptKind),ea=mr(""),ta=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16)));function Ce({node:e,unescape:t=!1}){let r=Zi.printNode(y.EmitHint.Unspecified,e,ea);if(!t)return r;try{return ta(r)}catch{return h().debug&&console.warn("Could not decode value:",r),r}}function lr(e){return mr(e).statements[0]}var O=({text:e})=>y.factory.createIdentifier(e),V={boolean:e=>e?y.factory.createTrue():y.factory.createFalse(),export:({alias:e,asType:t=!1,name:r})=>{let s=O({text:r});if(e){let n=O({text:e});return y.factory.createExportSpecifier(t,s,n)}return y.factory.createExportSpecifier(t,void 0,s)},import:({alias:e,asType:t=!1,name:r})=>{let s=O({text:r});if(e){let n=O({text:e});return y.factory.createImportSpecifier(t,s,n)}return y.factory.createImportSpecifier(t,void 0,s)},number:e=>e<0?y.factory.createPrefixUnaryExpression(y.SyntaxKind.MinusToken,y.factory.createNumericLiteral(Math.abs(e))):y.factory.createNumericLiteral(e),string:(e,t=!1)=>{let r=e;t&&(r=we(r));let s=r.includes("'")&&r.includes('"'),n=r.includes(`
|
|
10
|
-
`),o=r.startsWith("`"),a=r.startsWith("\\`")&&r.endsWith("\\`");return (n||s||o)&&!a&&(r=`\`${r.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),r.startsWith("`")?O({text:r}):y.factory.createStringLiteral(r,r.includes("'")?!1:tt.useSingleQuotes)}},Pe=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",ue=e=>e!==void 0,na=({commentObject:e,node:t})=>{let r=e.lines.filter(a=>!!a||a==="");if(!r.length)return;if(!e.jsdoc){for(let a of r)y.addSyntheticLeadingComment(t,y.SyntaxKind.SingleLineCommentTrivia,` ${a}`,!0);return}let s=r.map((a,i)=>{let p=a;return i!==r.length&&(p=`${p}
|
|
11
|
-
`),
|
|
12
|
-
`
|
|
7
|
+
import ep from '@apidevtools/json-schema-ref-parser';
|
|
8
|
+
import f from 'handlebars';
|
|
9
|
+
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
var pi=Object.create;var gn=Object.defineProperty;var ci=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var li=Object.getPrototypeOf,ui=Object.prototype.hasOwnProperty;var Y=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var fi=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of mi(t))!ui.call(e,n)&&n!==r&&gn(e,n,{get:()=>t[n],enumerable:!(s=ci(t,n))||s.enumerable});return e};var di=(e,t,r)=>(r=e!=null?pi(li(e)):{},fi(gn(r,"default",{value:e,enumerable:!0}),e));var Cn=U((Rp,bn)=>{bn.exports=On;On.sync=gi;var hn=Y("fs");function yi(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return !0;for(var s=0;s<r.length;s++){var n=r[s].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return !0}return !1}function xn(e,t,r){return !e.isSymbolicLink()&&!e.isFile()?!1:yi(t,r)}function On(e,t,r){hn.stat(e,function(s,n){r(s,s?!1:xn(n,e,t));});}function gi(e,t){return xn(hn.statSync(e),e,t)}});var vn=U((Ap,An)=>{An.exports=Tn;Tn.sync=hi;var Pn=Y("fs");function Tn(e,t,r){Pn.stat(e,function(s,n){r(s,s?!1:Rn(n,t));});}function hi(e,t){return Rn(Pn.statSync(e),t)}function Rn(e,t){return e.isFile()&&xi(e,t)}function xi(e,t){var r=e.mode,s=e.uid,n=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),a=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),i=parseInt("100",8),p=parseInt("010",8),c=parseInt("001",8),m=i|p,u=r&c||r&p&&n===a||r&i&&s===o||r&m&&o===0;return u}});var qn=U((Ep,En)=>{Y("fs");var Ye;process.platform==="win32"||global.TESTING_WINDOWS?Ye=Cn():Ye=vn();En.exports=Ht;Ht.sync=Oi;function Ht(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,n){Ht(e,t||{},function(o,a){o?n(o):s(a);});})}Ye(e,t||{},function(s,n){s&&(s.code==="EACCES"||t&&t.ignoreErrors)&&(s=null,n=!1),r(s,n);});}function Oi(e,t){try{return Ye.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return !1;throw r}}});var Dn=U((qp,In)=>{var Ee=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Sn=Y("path"),bi=Ee?";":":",kn=qn(),Nn=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),wn=(e,t)=>{let r=t.colon||bi,s=e.match(/\//)||Ee&&e.match(/\\/)?[""]:[...Ee?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],n=Ee?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ee?n.split(r):[""];return Ee&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:s,pathExt:o,pathExtExe:n}},$n=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:s,pathExt:n,pathExtExe:o}=wn(e,t),a=[],i=c=>new Promise((m,u)=>{if(c===s.length)return t.all&&a.length?m(a):u(Nn(e));let d=s[c],x=/^".*"$/.test(d)?d.slice(1,-1):d,g=Sn.join(x,e),C=!x&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;m(p(C,c,0));}),p=(c,m,u)=>new Promise((d,x)=>{if(u===n.length)return d(i(m+1));let g=n[u];kn(c+g,{pathExt:o},(C,R)=>{if(!C&&R)if(t.all)a.push(c+g);else return d(c+g);return d(p(c,m,u+1))});});return r?i(0).then(c=>r(null,c),r):i(0)},Ci=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:s,pathExtExe:n}=wn(e,t),o=[];for(let a=0;a<r.length;a++){let i=r[a],p=/^".*"$/.test(i)?i.slice(1,-1):i,c=Sn.join(p,e),m=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let u=0;u<s.length;u++){let d=m+s[u];try{if(kn.sync(d,{pathExt:n}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Nn(e)};In.exports=$n;$n.sync=Ci;});var jn=U((Sp,Ft)=>{var Mn=(e={})=>{let t=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};Ft.exports=Mn;Ft.exports.default=Mn;});var Ln=U((kp,Bn)=>{var Hn=Y("path"),Pi=Dn(),Ti=jn();function Fn(e,t){let r=e.options.env||process.env,s=process.cwd(),n=e.options.cwd!=null,o=n&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=Pi.sync(e.command,{path:r[Ti({env:r})],pathExt:t?Hn.delimiter:void 0});}catch{}finally{o&&process.chdir(s);}return a&&(a=Hn.resolve(n?e.options.cwd:"",a)),a}function Ri(e){return Fn(e)||Fn(e,!0)}Bn.exports=Ri;});var _n=U((Np,Lt)=>{var Bt=/([()\][%!^"`<>&|;, *?])/g;function Ai(e){return e=e.replace(Bt,"^$1"),e}function vi(e,t){return e=`${e}`,e=e.replace(/(\\*)"/g,'$1$1\\"'),e=e.replace(/(\\*)$/,"$1$1"),e=`"${e}"`,e=e.replace(Bt,"^$1"),t&&(e=e.replace(Bt,"^$1")),e}Lt.exports.command=Ai;Lt.exports.argument=vi;});var Vn=U((wp,Un)=>{Un.exports=/^#!(.*)/;});var Wn=U(($p,Kn)=>{var Ei=Vn();Kn.exports=(e="")=>{let t=e.match(Ei);if(!t)return null;let[r,s]=t[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?s:s?`${n} ${s}`:n};});var Gn=U((Ip,Qn)=>{var _t=Y("fs"),qi=Wn();function Si(e){let r=Buffer.alloc(150),s;try{s=_t.openSync(e,"r"),_t.readSync(s,r,0,150,0),_t.closeSync(s);}catch{}return qi(r.toString())}Qn.exports=Si;});var Yn=U((Dp,Jn)=>{var ki=Y("path"),Xn=Ln(),zn=_n(),Ni=Gn(),wi=process.platform==="win32",$i=/\.(?:com|exe)$/i,Ii=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Di(e){e.file=Xn(e);let t=e.file&&Ni(e.file);return t?(e.args.unshift(e.file),e.command=t,Xn(e)):e.file}function Mi(e){if(!wi)return e;let t=Di(e),r=!$i.test(t);if(e.options.forceShell||r){let s=Ii.test(t);e.command=ki.normalize(e.command),e.command=zn.command(e.command),e.args=e.args.map(o=>zn.argument(o,s));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0;}return e}function ji(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let s={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?s:Mi(s)}Jn.exports=ji;});var tr=U((Mp,er)=>{var Ut=process.platform==="win32";function Vt(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Hi(e,t){if(!Ut)return;let r=e.emit;e.emit=function(s,n){if(s==="exit"){let o=Zn(n,t);if(o)return r.call(e,"error",o)}return r.apply(e,arguments)};}function Zn(e,t){return Ut&&e===1&&!t.file?Vt(t.original,"spawn"):null}function Fi(e,t){return Ut&&e===1&&!t.file?Vt(t.original,"spawnSync"):null}er.exports={hookChildProcess:Hi,verifyENOENT:Zn,verifyENOENTSync:Fi,notFoundError:Vt};});var or=U((jp,qe)=>{var nr=Y("child_process"),Kt=Yn(),Wt=tr();function rr(e,t,r){let s=Kt(e,t,r),n=nr.spawn(s.command,s.args,s.options);return Wt.hookChildProcess(n,s),n}function Bi(e,t,r){let s=Kt(e,t,r),n=nr.spawnSync(s.command,s.args,s.options);return n.error=n.error||Wt.verifyENOENTSync(n.status,s),n}qe.exports=rr;qe.exports.spawn=rr;qe.exports.sync=Bi;qe.exports._parse=Kt;qe.exports._enoent=Wt;});var dn=di(or());var sr,h=()=>sr,ir=e=>(sr=e,h()),A=e=>("client"in e?e.client.name:e.name).startsWith("@hey-api");var Ze=e=>{switch(e.name){case"legacy/angular":return "AngularHttpRequest";case"legacy/axios":return "AxiosHttpRequest";case"legacy/fetch":return "FetchHttpRequest";case"legacy/node":return "NodeHttpRequest";case"legacy/xhr":return "XHRHttpRequest";default:return ""}};function Se(e,t){let r=e.toLocaleLowerCase(),s=t.toLocaleLowerCase();return r.localeCompare(s,"en")}var Ue=(e,t)=>Se(e.name,t.name);function Ve(e){return e.sort(Ue)}var ke=e=>{existsSync(e)||mkdirSync(e,{recursive:!0});};var ar=async(e,t,r,s)=>{let n=h(),o=s.client({$config:n,...r,httpRequest:Ze(n.client),models:Ve(r.models),services:Ve(r.services)});n.name&&(ke(t),writeFileSync(K.resolve(t,`${n.name}.ts`),o));};var Oe=()=>{let e=h();return e.client.bundle?"./client":e.client.name},be=()=>"Options",pr=async(e,t)=>{let r=h();if(!A(r)||!r.client.bundle)return;let s=K.resolve(e,"client");ke(s);let o=K.normalize(Y.resolve(t)).split(K.sep),a=[...o.slice(0,o.indexOf("dist")),"src"].join(K.sep);["index.ts","types.ts","utils.ts"].forEach(p=>{copyFileSync(K.resolve(a,p),K.resolve(s,p));});};var cr=async(e,t,r)=>{let s=h();if(s.exportCore){let n={httpRequest:Ze(s.client),server:s.base!==void 0?s.base:t.server,version:t.version};if(rmSync(K.resolve(e),{force:!0,recursive:!0}),mkdirSync(K.resolve(e),{recursive:!0}),await writeFileSync(K.resolve(e,"OpenAPI.ts"),r.core.settings({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiError.ts"),r.core.apiError({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:s,...n})),await writeFileSync(K.resolve(e,"ApiResult.ts"),r.core.apiResult({$config:s,...n})),s.client.name!=="legacy/angular"&&await writeFileSync(K.resolve(e,"CancelablePromise.ts"),r.core.cancelablePromise({$config:s,...n})),await writeFileSync(K.resolve(e,"request.ts"),r.core.request({$config:s,...n})),s.name&&(await writeFileSync(K.resolve(e,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:s,...n})),await writeFileSync(K.resolve(e,`${n.httpRequest}.ts`),r.core.httpRequest({$config:s,...n}))),s.request){let o=K.resolve(process.cwd(),s.request);if(!await existsSync(o))throw new Error(`Custom request file "${o}" does not exists`);await copyFileSync(o,K.resolve(e,"request.ts"));}}};var et=/^[^$_\p{ID_Start}]+/u,Z=/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,pe=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var ee=e=>(e||e==="")&&(pe.lastIndex=0,!pe.test(e))?`'${e}'`:e,we=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,$=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(t,r)=>EOL+r.trim());var tt={newLine:y.NewLineKind.LineFeed,scriptKind:y.ScriptKind.TS,scriptTarget:y.ScriptTarget.ES2015,useSingleQuotes:!0},Ji=y.createPrinter({newLine:tt.newLine}),mr=e=>y.createSourceFile("",e,tt.scriptTarget,void 0,tt.scriptKind),Yi=mr(""),Zi=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16)));function Ce({node:e,unescape:t=!1}){let r=Ji.printNode(y.EmitHint.Unspecified,e,Yi);if(!t)return r;try{return Zi(r)}catch{return h().debug&&console.warn("Could not decode value:",r),r}}function lr(e){return mr(e).statements[0]}var O=({text:e})=>y.factory.createIdentifier(e),V={boolean:e=>e?y.factory.createTrue():y.factory.createFalse(),export:({alias:e,asType:t=!1,name:r})=>{let s=O({text:r});if(e){let n=O({text:e});return y.factory.createExportSpecifier(t,s,n)}return y.factory.createExportSpecifier(t,void 0,s)},import:({alias:e,asType:t=!1,name:r})=>{let s=O({text:r});if(e){let n=O({text:e});return y.factory.createImportSpecifier(t,s,n)}return y.factory.createImportSpecifier(t,void 0,s)},number:e=>e<0?y.factory.createPrefixUnaryExpression(y.SyntaxKind.MinusToken,y.factory.createNumericLiteral(Math.abs(e))):y.factory.createNumericLiteral(e),string:(e,t=!1)=>{let r=e;t&&(r=we(r));let s=r.includes("'")&&r.includes('"'),n=r.includes(`
|
|
12
|
+
`),o=r.startsWith("`"),a=r.startsWith("\\`")&&r.endsWith("\\`");return (n||s||o)&&!a&&(r=`\`${r.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),r.startsWith("`")?O({text:r}):y.factory.createStringLiteral(r,r.includes("'")?!1:tt.useSingleQuotes)}},Pe=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",ue=e=>e!==void 0,ea=({commentObject:e,node:t})=>{let r=e.lines.filter(a=>!!a||a==="");if(!r.length)return;if(!e.jsdoc){for(let a of r)y.addSyntheticLeadingComment(t,y.SyntaxKind.SingleLineCommentTrivia,` ${a}`,!0);return}let s=r.map((a,i)=>{let p=a;return i!==r.length&&(p=`${p}
|
|
13
|
+
`),y.factory.createJSDocText(p)}),n=y.factory.createJSDocComment(y.factory.createNodeArray(s),void 0),o=Ce({node:n,unescape:!0}).replace("/*","").replace("* */","");y.addSyntheticLeadingComment(t,y.SyntaxKind.MultiLineCommentTrivia,o,!0);},j=({comments:e=[],node:t})=>{let r=!!e.find(n=>typeof n=="object"&&n),s=e;r||(s=[{jsdoc:!0,lines:e}]);for(let n of s)ea({commentObject:n,node:t});};var B=(e,t)=>y.isTypeNode(e)?e:typeof e=="number"?y.factory.createLiteralTypeNode(V.number(e)):z({typeArguments:t?.map(r=>B(r)),typeName:e}),Qt=({expression:e,name:t})=>y.factory.createPropertyAccessChain(e,y.factory.createToken(y.SyntaxKind.QuestionDotToken),t),te=({expression:e,isOptional:t,name:r})=>{let s=typeof e=="string"?O({text:e}):e;if(t)return Qt({expression:s,name:r});let n=typeof r=="string"?O({text:r}):r;return typeof r=="string"&&(pe.lastIndex=0,!pe.test(r))?y.factory.createElementAccessExpression(s,n):y.factory.createPropertyAccessExpression(s,n)},Te=({identifiers:e=[],isValueAccess:t,shorthand:r,unescape:s,value:n})=>{if(n===null)return y.factory.createNull();if(Array.isArray(n))return Gt({elements:n});if(typeof n=="object")return st({identifiers:e,obj:n,shorthand:r});if(typeof n=="number")return V.number(n);if(typeof n=="boolean")return V.boolean(n);if(typeof n=="string"){if(t){let o=n.split(".");return te({expression:o[0],name:o[1]})}return V.string(n,s)}},nt=e=>{let t=e==="public"?y.SyntaxKind.PublicKeyword:e==="protected"?y.SyntaxKind.ProtectedKeyword:e==="private"?y.SyntaxKind.PrivateKeyword:void 0,r=[];return t&&r.push(y.factory.createModifier(t)),r},Ke=e=>e.map(t=>{if("destructure"in t)return y.factory.createParameterDeclaration(void 0,void 0,y.factory.createObjectBindingPattern(t.destructure.map(s=>"destructure"in s?void 0:y.factory.createBindingElement(void 0,void 0,O({text:s.name}),void 0)).filter(Boolean)),void 0,void 0,void 0);let r=nt(t.accessLevel);return t.isReadOnly&&(r=[...r,y.factory.createModifier(y.SyntaxKind.ReadonlyKeyword)]),y.factory.createParameterDeclaration(r,void 0,O({text:t.name}),t.isRequired===!1?y.factory.createToken(y.SyntaxKind.QuestionToken):void 0,t.type!==void 0?B(t.type):void 0,t.default!==void 0?Te({value:t.default}):void 0)}),rt=({keyword:e})=>{let t=y.SyntaxKind.AnyKeyword;switch(e){case"boolean":t=y.SyntaxKind.BooleanKeyword;break;case"string":t=y.SyntaxKind.StringKeyword;break}return y.factory.createKeywordTypeNode(t)},We=e=>e.map(t=>y.factory.createTypeParameterDeclaration(void 0,t.name,t.extends?typeof t.extends=="string"?rt({keyword:"boolean"}):t.extends:void 0,t.default!==void 0?Pe(t.default)?t.default:y.factory.createLiteralTypeNode(t.default?y.factory.createTrue():y.factory.createFalse()):void 0)),ot=({async:e,comment:t,multiLine:r,parameters:s=[],returnType:n,statements:o=[],types:a=[]})=>{let i=y.factory.createArrowFunction(e?[y.factory.createModifier(y.SyntaxKind.AsyncKeyword)]:void 0,a?We(a):void 0,Ke(s),n?B(n):void 0,void 0,Array.isArray(o)?y.factory.createBlock(o,r):o);return j({comments:t,node:i}),i},ur=({async:e,comment:t,multiLine:r,parameters:s=[],returnType:n,statements:o=[],types:a=[]})=>{let i=y.factory.createFunctionExpression(e?[y.factory.createModifier(y.SyntaxKind.AsyncKeyword)]:void 0,void 0,void 0,a?We(a):void 0,Ke(s),n?B(n):void 0,y.factory.createBlock(o,r));return j({comments:t,node:i}),i},Gt=({elements:e,multiLine:t=!1})=>y.factory.createArrayLiteralExpression(e.map(s=>Pe(s)?s:Te({value:s})).filter(ue),t||!Array.isArray(e[0])&&typeof e[0]=="object"),fr=({expression:e})=>y.factory.createAwaitExpression(e),st=({comments:e,identifiers:t=[],multiLine:r=!0,obj:s,shorthand:n,unescape:o=!1})=>{let a=Array.isArray(s)?s.map(p=>{let c=!1;if("key"in p){let{key:u}=p;c=u===p.value,(u.match(/^[0-9]/)&&u.match(/\D+/g)||u.match(/\W/g))&&!u.startsWith("'")&&!u.endsWith("'")&&(p.key=`'${u}'`);}let m;if("spread"in p){let u=Pe(p.spread)?p.spread:O({text:p.spread});m=y.factory.createSpreadAssignment(p.assertion?y.factory.createAsExpression(u,rt({keyword:p.assertion})):u);}else if(p.shorthand||n&&c)m=y.factory.createShorthandPropertyAssignment(p.value);else {let u=Pe(p.value)?p.value:Array.isArray(p.value)?st({multiLine:r,obj:p.value,shorthand:n,unescape:o}):Te({identifiers:t.includes(p.key)?Object.keys(p.value):[],isValueAccess:p.isValueAccess,shorthand:n,unescape:o,value:p.value});if(!u)return;t.includes(p.key)&&!y.isObjectLiteralExpression(u)&&(u=O({text:p.value})),m=y.factory.createPropertyAssignment(p.key,u);}return j({comments:p.comments,node:m}),m}).filter(ue):Object.entries(s).map(([p,c])=>{let m=Te({identifiers:t.includes(p)?Object.keys(c):[],shorthand:n,unescape:o,value:c});if(!m)return;t.includes(p)&&!y.isObjectLiteralExpression(m)&&(m=O({text:c}));let u=p===c;return p.match(/^[0-9]/)&&p.match(/\D+/g)&&!p.startsWith("'")&&!p.endsWith("'")&&(p=`'${p}'`),p.match(/\W/g)&&!p.startsWith("'")&&!p.endsWith("'")&&(p=`'${p}'`),n&&u?y.factory.createShorthandPropertyAssignment(c):y.factory.createPropertyAssignment(p,m)}).filter(ue),i=y.factory.createObjectLiteralExpression(a,r);return j({comments:e,node:i}),i},dr=({comments:e,leadingComment:t,name:r,obj:s})=>{let n=y.factory.createEnumDeclaration([y.factory.createModifier(y.SyntaxKind.ExportKeyword)],O({text:r}),Object.entries(s).map(([o,a])=>{let i=Te({unescape:!0,value:a}),p=y.factory.createEnumMember(o,i),c=e?.[o];return j({comments:c,node:p}),p}));return j({comments:t,node:n}),n},yr=({name:e,statements:t})=>y.factory.createModuleDeclaration([y.factory.createModifier(y.SyntaxKind.ExportKeyword)],O({text:e}),y.factory.createModuleBlock(t),y.NodeFlags.Namespace),gr=({indexType:e,objectType:t})=>y.factory.createIndexedAccessTypeNode(t,e),hr=({text:e})=>y.factory.createStringLiteral(e),xr=({condition:e,whenFalse:t,whenTrue:r})=>y.factory.createConditionalExpression(e,y.factory.createToken(y.SyntaxKind.QuestionToken),r,y.factory.createToken(y.SyntaxKind.ColonToken),t),Or=({text:e})=>y.factory.createTypeOfExpression(O({text:e})),br=({comment:e,exportType:t,name:r,type:s,typeParameters:n=[]})=>{let o=y.factory.createTypeAliasDeclaration(t?[y.factory.createModifier(y.SyntaxKind.ExportKeyword)]:void 0,O({text:r}),We(n),B(s));return j({comments:e,node:o}),o},z=({typeArguments:e,typeName:t})=>y.factory.createTypeReferenceNode(t,e),Cr=({type:e})=>y.factory.createParenthesizedType(e);var Pr=({module:e})=>y.factory.createExportDeclaration(void 0,!1,void 0,V.string(e)),ne=({parameters:e=[],functionName:t,types:r})=>{let s=typeof t=="string"?O({text:t}):t,n=e.filter(a=>a!==void 0).map(a=>typeof a=="string"?O({text:a}):a);return y.factory.createCallExpression(s,r,n)},Tr=({exports:e,module:t})=>{let r=Array.isArray(e)?e:[e],s=r.some(p=>typeof p!="object"||!p.asType),n=r.map(p=>{let c=typeof p=="string"?{name:p}:p;return V.export({alias:c.alias,asType:s&&c.asType,name:c.name})}),o=y.factory.createNamedExports(n),a=V.string(t);return y.factory.createExportDeclaration(void 0,!s,o,a)},Rr=({comment:e,assertion:t,destructure:r,exportConst:s,expression:n,name:o,typeName:a})=>{let i=t?y.factory.createAsExpression(n,typeof t=="string"?z({typeName:t}):t):n,p=O({text:o}),c=y.factory.createVariableDeclaration(r?y.factory.createObjectBindingPattern([y.factory.createBindingElement(void 0,void 0,p,void 0)]):p,void 0,a?typeof a=="string"?z({typeName:a}):a:void 0,i),m=y.factory.createVariableStatement(s?[y.factory.createModifier(y.SyntaxKind.ExportKeyword)]:void 0,y.factory.createVariableDeclarationList([c],y.NodeFlags.Const));return j({comments:e,node:m}),m},Ar=({imports:e,module:t})=>{let r=Array.isArray(e)?e:[e],s=r.some(c=>typeof c!="object"||!c.asType),n=r.map(c=>{let m=typeof c=="string"?{name:c}:c;return V.import({alias:m.alias,asType:s&&m.asType,name:m.name})}),o=y.factory.createNamedImports(n),a=y.factory.createImportClause(!s,void 0,o),i=V.string(t);return y.factory.createImportDeclaration(void 0,a,i)};var vr=({accessLevel:e,comment:t,multiLine:r=!0,parameters:s=[],statements:n=[]})=>{let o=y.factory.createConstructorDeclaration(nt(e),Ke(s),y.factory.createBlock(n,r));return j({comments:t,node:o}),o},Er=({accessLevel:e,comment:t,isStatic:r=!1,multiLine:s=!0,name:n,parameters:o=[],returnType:a,statements:i=[],types:p=[]})=>{let c=nt(e);r&&(c=[...c,y.factory.createModifier(y.SyntaxKind.StaticKeyword)]);let m=y.factory.createMethodDeclaration(c,void 0,O({text:n}),void 0,p?We(p):void 0,Ke(o),a?B(a):void 0,y.factory.createBlock(i,s));return j({comments:t,node:m}),m},qr=({decorator:e,members:t=[],name:r})=>{let s=[y.factory.createModifier(y.SyntaxKind.ExportKeyword)];e&&(s=[y.factory.createDecorator(ne({functionName:e.name,parameters:e.args.map(o=>Te({value:o})).filter(ue)})),...s]);let n=[];return t.forEach(o=>{n=[...n,o,O({text:`
|
|
14
|
+
`})];}),y.factory.createClassDeclaration(s,O({text:r}),[],[],n)};var Re=({expression:e})=>y.factory.createExpressionStatement(e);var kr=({expression:e})=>y.factory.createReturnStatement(e),Nr=({args:e=[],name:t,types:r=[]})=>{let s=r.map(i=>z({typeName:i})),n=e.map(i=>y.isExpression(i)?i:O({text:i})).filter(ue),o=ne({functionName:t,parameters:n,types:s});return kr({expression:o})},wr=({name:e})=>kr({expression:O({text:e})});var $e=e=>e.slice(1).reduce((t,r)=>(pe.lastIndex=0,pe.test(r)?Qt({expression:t,name:r}):y.factory.createElementAccessChain(t,y.factory.createToken(y.SyntaxKind.QuestionDotToken),O({text:r}))),O({text:e[0]})),it=e=>e.slice(1).reduce((t,r)=>te({expression:t,name:r}),O({text:e[0]})),$r=({expressions:e})=>e.reduce((r,s)=>te({expression:r,name:s})),Ir=({left:e,operator:t="=",right:r})=>y.factory.createBinaryExpression(e,t==="="?y.SyntaxKind.EqualsToken:t==="==="?y.SyntaxKind.EqualsEqualsEqualsToken:y.SyntaxKind.InKeyword,typeof r=="string"?O({text:r}):r),Ie=({expression:e,thenStatement:t,elseStatement:r})=>y.factory.createIfStatement(e,t,r),Dr=({path:e})=>{let t=$e(e),r=it(e),s=y.factory.createBlock([Re({expression:y.factory.createBinaryExpression(r,y.SyntaxKind.EqualsToken,y.factory.createNewExpression(O({text:"Date"}),void 0,[r]))})]);return Ie({expression:t,thenStatement:s})},Mr=({path:e,transformerName:t})=>{let r=$e(e),s=it(e),n=y.factory.createBlock([Re({expression:ne({functionName:t,parameters:[s]})})],!0);return [Ie({expression:r,thenStatement:n})]},jr=({path:e,transformerName:t})=>{let r=$e(e),s=it(e);return Ie({expression:ne({functionName:te({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:y.factory.createBlock([Re({expression:y.factory.createCallChain(te({expression:s,name:"forEach"}),void 0,void 0,[O({text:t})])})],!0)})},Hr=({parameterName:e})=>{let t=O({text:"Date"});return y.factory.createNewExpression(t,void 0,[O({text:e})])},Fr=({path:e,transformExpression:t})=>{let r=$e(e),s=it(e);return Ie({expression:ne({functionName:te({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:y.factory.createBlock([Re({expression:y.factory.createBinaryExpression(s,y.factory.createToken(y.SyntaxKind.EqualsToken),y.factory.createCallChain(te({expression:s,name:"map"}),void 0,void 0,[ot({parameters:[{name:"item"}],statements:t})]))})],!0)})};var ca=z({typeName:"null"}),De=({isNullable:e,node:t})=>e?y.factory.createUnionTypeNode([t,ca]):t,Xt=({isNullable:e,properties:t})=>{let r=y.factory.createTypeLiteralNode(t.map(s=>{let n=s.isReadOnly?[y.factory.createModifier(y.SyntaxKind.ReadonlyKeyword)]:void 0,o=s.isRequired!==!1?void 0:y.factory.createToken(y.SyntaxKind.QuestionToken),a=B(s.type),i=y.factory.createPropertySignature(n,s.name,o,a);return j({comments:s.comment,node:i}),i}));return De({isNullable:e,node:r})},Qe=({isNullable:e,types:t})=>{let r=t.map(n=>B(n)),s=y.factory.createUnionTypeNode(r);return De({isNullable:e,node:s})},Br=({isNullable:e,types:t})=>{let r=t.map(n=>B(n)),s=y.factory.createIntersectionTypeNode(r);return De({isNullable:e,node:s})},Lr=({isNullable:e=!1,types:t})=>{let r=t.map(n=>B(n)),s=y.factory.createTupleTypeNode(r);return De({isNullable:e,node:s})},_r=(e,t,r=!1)=>{let s=Qe({types:e}),n=Qe({types:t}),o=Xt({properties:[{name:`[key: ${Ce({node:s,unescape:!0})}]`,type:n}]});return De({isNullable:r,node:o})},Ur=(e,t=!1)=>{let r=z({typeArguments:[Qe({types:e})],typeName:"Array"});return De({isNullable:t,node:r})};var Vr=e=>{let t=e.match(/\.[0-9a-z]+$/i),r=t?t[0].slice(1):"",s=e.slice(0,e.length-(r?r.length+1:0));return {extension:r,name:s}},W=class{_headers=[];_imports=new Map;_items=[];_name;_path;constructor({dir:t,name:r,header:s=!0}){this._name=this._setName(r),this._path=K.resolve(t,this.getName()),s&&(this._headers=[...this._headers,"// This file is auto-generated by @hey-api/openapi-ts"]);}add(...t){this._items=[...this._items,...t];}import({module:t,...r}){let s=this._imports.get(t);s||(s=new Map,this._imports.set(t,s));let n=s.get(r.name);return n||(s.set(r.name,r),r)}getName(t=!0){if(t)return this._name;let{name:r}=Vr(this._name);return r}isEmpty(){return !this._items.length}remove(t){rmSync(this._path,t);}removeNode(){this._items=this._items.slice(0,this._items.length-1);}_setName(t){if(t.includes("index"))return t;let{extension:r,name:s}=Vr(t);return [s,"gen",r].filter(Boolean).join(".")}toString(t=`
|
|
13
15
|
`){let r=[];this._headers.length&&(r=[...r,this._headers.join(`
|
|
14
16
|
`)]);let s=[];for(let[n,o]of this._imports.entries()){let a=Array.from(o.values()),i=l.namedImportDeclarations({imports:a,module:n});s=[...s,Ce({node:i})];}return s.length&&(r=[...r,s.join(`
|
|
15
17
|
`)]),r=[...r,...this._items.map(n=>typeof n=="string"?n:Ce({node:n,unescape:!0}))],r.join(t)}write(t=`
|
|
16
|
-
`){if(this.isEmpty()){this.remove({force:!0});return}let r=this._path;if(typeof this._path=="string"){let s=this._path.split(K.sep);r=s.slice(0,s.length-1).join(K.sep);}ke(r),writeFileSync(this._path,this.toString(t));}},l={anonymousFunction:ur,arrayLiteralExpression:Gt,arrowFunction:ot,awaitExpression:fr,binaryExpression:Ir,callExpression:te,classDeclaration:qr,conditionalExpression:xr,constVariable:Rr,constructorDeclaration:vr,enumDeclaration:dr,exportAllDeclaration:Pr,exportNamedDeclaration:Tr,expressionToStatement:Re,identifier:O,ifStatement:Ie,indexedAccessTypeNode:gr,isTsNode:Pe,keywordTypeNode:rt,methodDeclaration:Er,namedImportDeclarations:Ar,namespaceDeclaration:yr,nodeToString:Ce,objectExpression:st,ots:V,propertyAccessExpression:ee,propertyAccessExpressions:$r,returnFunctionCall:Nr,returnVariable:wr,safeAccessExpression:$e,stringLiteral:hr,stringToTsNodes:lr,transformArrayMap:Fr,transformArrayMutation:jr,transformDateMutation:Dr,transformFunctionMutation:Mr,transformNewDate:Hr,typeAliasDeclaration:br,typeArrayNode:Ur,typeInterfaceNode:Xt,typeIntersectionNode:Br,typeNode:B,typeOfExpression:Or,typeParenthesizedNode:Cr,typeRecordNode:_r,typeReferenceNode:z,typeTupleNode:Lr,typeUnionNode:Qe};var Kr=async({files:e})=>{let t=h();e.index=new W({dir:t.output.path,name:"index.ts"}),t.name&&e.index.add(l.exportNamedDeclaration({exports:t.name,module:`./${t.name}`})),t.exportCore&&(e.index.add(l.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),t.services.response==="response"&&e.index.add(l.exportNamedDeclaration({exports:{asType:!0,name:"ApiResult"},module:"./core/ApiResult"})),t.name&&e.index.add(l.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),t.client.name!=="legacy/angular"&&e.index.add(l.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(l.exportNamedDeclaration({exports:["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach(r=>{let s=e[r];r==="index"||s.isEmpty()||e.index.add(l.exportAllDeclaration({module:`./${s.getName(!1)}`}));});};var Wr=async({client:e,files:t})=>{let r=h();if(A(r))for(let n of r.plugins){let o=n.output.split("/"),a=K.resolve(r.output.path,...o.slice(0,o.length-1));t[n.name]=new W({dir:a,name:`${o[o.length-1]}.ts`}),n.handler({client:e,files:t,outputParts:o,plugin:n});}};var pe=({method:e,operation:t,operationIds:r,path:s})=>{let n=`${e} ${s}`,o=h(),a=o.services.filter?new RegExp(o.services.filter):void 0;a&&!a.test(n)||(t.operationId&&(r.has(t.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${t.operationId} in ${n}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(t.operationId,n)),console.log(t));};var Jt=e=>{let t=new Map;for(let r in e.paths){let s=e.paths[r];s.delete&&pe({method:"DELETE",operation:s.delete,operationIds:t,path:r}),s.get&&pe({method:"GET",operation:s.get,operationIds:t,path:r}),s.head&&pe({method:"HEAD",operation:s.head,operationIds:t,path:r}),s.options&&pe({method:"OPTIONS",operation:s.options,operationIds:t,path:r}),s.patch&&pe({method:"PATCH",operation:s.patch,operationIds:t,path:r}),s.post&&pe({method:"POST",operation:s.post,operationIds:t,path:r}),s.put&&pe({method:"PUT",operation:s.put,operationIds:t,path:r}),s.trace&&pe({method:"TRACE",operation:s.trace,operationIds:t,path:r});}};var Qr,S=()=>Qr,Gr=e=>(Qr=e,S());var at=["connect","delete","get","head","options","patch","post","put","trace"];function pt(e="1.0"){return String(e).replace(/^v/gi,"")}var Me="#/components/parameters/",ct="#/components/schemas/";var ga=/[\p{Lu}]/u,ha=/[\p{Ll}]/u,Jr=/([\p{Alpha}\p{N}_]|$)/u,Yt=/[_.\- ]+/,xa=new RegExp("^"+Yt.source),Xr=new RegExp(Yt.source+Jr.source,"gu"),zr=new RegExp("\\d+"+Jr.source,"gu"),Oa=e=>{let t=!1,r=!1,s=!1,n=!1;for(let o=0;o<e.length;o++){let a=e[o];n=o>2?e[o-3]==="-":!0,t&&ga.test(a)?(e=e.slice(0,o)+"-"+e.slice(o),t=!1,s=r,r=!0,o++):r&&s&&ha.test(a)&&!n?(e=e.slice(0,o-1)+"-"+e.slice(o-1),s=r,r=!1,t=!0):(t=a.toLocaleLowerCase()===a&&a.toLocaleUpperCase()!==a,s=r,r=a.toLocaleUpperCase()===a&&a.toLocaleLowerCase()!==a);}return e},H=({input:e,pascalCase:t})=>{let r=e.trim();return r.length?r.length===1?Yt.test(r)?"":t?r.toLocaleUpperCase():r.toLocaleLowerCase():(r!==r.toLocaleLowerCase()&&(r=Oa(r)),r=r.replace(xa,""),r=r.toLocaleLowerCase(),t&&(r=r.charAt(0).toLocaleUpperCase()+r.slice(1)),Xr.lastIndex=0,zr.lastIndex=0,r=r.replaceAll(zr,(n,o,a)=>["_","-","."].includes(r.charAt(a+n.length))?n:n.toLocaleUpperCase()),r=r.replaceAll(Xr,(n,o)=>o.toLocaleUpperCase()),r):""};var mt=e=>{let t=h();return t.services.name?t.services.name.replace("{{name}}",e):e},Zt=e=>h().types.name==="PascalCase"?H({input:e,pascalCase:!0}):e,Yr=e=>{let t=Zt(e);return J(t).replace(Y,"_$1")};var Zr=(e,t)=>{if(e.enum&&!t.includes("boolean"))return "enum"},en=e=>je(e).includes("null"),fe=e=>e.nullable===!0||en(e),je=({type:e})=>Array.isArray(e)?e:e?[e]:[];var ba=e=>e.replace(et,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"),J=e=>{et.lastIndex=0;let r=et.test(e)?`_${e}`:e;return ba(r)},He=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-"),tn=e=>{let t=e.replace("[]","Array");return He(t)};var Ge=e=>e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"").replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"");var eo=(e,t)=>{if(t==="binary")return "binary";switch(e){case"any":case"object":case"unknown":return "unknown";case"array":return "unknown[]";case"boolean":return "boolean";case"byte":case"double":case"float":case"int":case"integer":case"long":case"number":case"short":return "number";case"char":case"date":case"date-time":case"password":case"string":return "string";case"file":return "binary";case"null":return "null";case"void":return "void"}},to=/(?<!`1)\[.*\]$/g,b=({debug:e,format:t,type:r="unknown"})=>{let s={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(r)){let a=r.filter(i=>i!=="null").map(i=>eo(i,t)).filter(Boolean).join(" | ");return s.type=a,s.base=a,s.isNullable=en({type:r}),s}let n=eo(r,t);if(n)return s.type=n,s.base=n,s;let o=decodeURIComponent(Ge(r));if(to.lastIndex=0,to.test(o)){let a=o.match(/(.*?)\[(.*)\]$/);if(a?.length){let i=b({debug:e,type:J(a[1])}),p=b({debug:e,type:J(a[2])});return i.type==="unknown[]"?(s.type=`${p.type}[]`,s.base=`${p.type}`,i.$refs=[],i.imports=[]):p.type?(s.type=`${i.type}<${p.type}>`,s.base=i.type,s.template=p.type):(s.type=i.type,s.base=i.type,s.template=i.type),s.$refs=[...s.$refs,...i.$refs,...p.$refs],s.imports=[...s.imports,...i.imports,...p.imports],s}}if(o){let a=Zt(J(o));return r.startsWith(Me)&&(a=`Parameter${a}`),s.type=a,s.base=a,r.startsWith("#")&&(s.$refs=[...s.$refs,decodeURIComponent(r)]),s.imports=[...s.imports,a],s}return s};function F(e,t,r){return r.indexOf(e)===t}var Fe=(e,t)=>{if(!Array.isArray(t))return [];let r=(e["x-enum-descriptions"]??[]).filter(n=>typeof n=="string"),s=(e["x-enum-varnames"]??e["x-enumNames"]??[]).filter(n=>typeof n=="string");return t.filter(F).filter(n=>typeof n=="number"||typeof n=="string").map((n,o)=>({customDescription:r[o],customName:s[o],description:void 0,value:n}))};var k=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'");var lt=({definition:e,getModel:t,openApi:r,types:s})=>{let n=[];return Object.entries(e.properties??{}).forEach(([o,a])=>{let i=!!e.required?.includes(o);if(a.$ref){let p=b({type:a.$ref});n.push({$refs:[],base:p.base,description:a.description||null,enum:[],enums:[],exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:"reference",format:a.format,imports:p.imports,in:"",isDefinition:!1,isNullable:a["x-nullable"]===!0,isReadOnly:a.readOnly===!0,isRequired:i,link:null,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Z(o),pattern:k(a.pattern),properties:[],template:p.template,type:p.type,uniqueItems:a.uniqueItems});}else {let p=t({definition:a,openApi:r,types:s});n.push({$refs:[],base:p.base,description:a.description||null,enum:p.enum,enums:p.enums,exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:p.export,format:a.format,imports:p.imports,in:"",isDefinition:!1,isNullable:a["x-nullable"]===!0,isReadOnly:a.readOnly===!0,isRequired:i,link:p.link,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:Z(o),pattern:k(a.pattern),properties:p.properties,template:p.template,type:p.type,uniqueItems:a.uniqueItems});}}),n};var Ca=/~1/g,Pa=/~0/g;function v(e,t){if(t.$ref){let r=t.$ref.replace(/^#/g,"").split("/").filter(Boolean),s=e;return r.forEach(n=>{let o=decodeURIComponent(n.replace(Ca,"/").replace(Pa,"~"));if(s.hasOwnProperty(o))s=s[o];else throw new Error(`Could not find reference: "${t.$ref}"`)}),s}return t}var no=({definitions:e,getModel:t,openApi:r,required:s,types:n})=>e.reduce((o,a)=>{if(a.$ref){let i=v(r,a);return [...o,...t({definition:i,openApi:r,types:n}).properties]}return [...o,...t({definition:a,openApi:r,types:n}).properties]},[]).filter(o=>!o.isRequired&&s.includes(o.name)).map(o=>({...o,isRequired:!0}));var ro=({definition:e,definitions:t,getModel:r,openApi:s,type:n,types:o})=>{let a={$refs:[],enums:[],export:n,imports:[],properties:[]},i=[];if(t.map(p=>r({definition:p,openApi:s,types:o})).filter(p=>{let c=p.properties.length,m=p.enums.length;return !(p.type==="unknown"&&!c&&!m)}).forEach(p=>{a.imports.push(...p.imports),a.enums.push(...p.enums),a.properties.push(p);}),e.required){let p=no({definitions:t,getModel:r,openApi:s,required:e.required,types:o});p.forEach(c=>{a.imports.push(...c.imports),a.enums.push(...c.enums);}),i.push(...p);}if(e.properties){let p=lt({definition:e,getModel:r,openApi:s,types:o});p.forEach(c=>{a.imports.push(...c.imports),a.enums.push(...c.enums),c.export==="enum"&&a.enums.push(c);}),i.push(...p);}return i.length&&a.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:i,template:null,type:"unknown"}),a};var oe=({definition:e,isDefinition:t=!1,meta:r,openApi:s,types:n})=>{let o={$refs:[],base:"unknown",description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],in:"",isDefinition:t,isNullable:e["x-nullable"]===!0,isReadOnly:e.readOnly===!0,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:r,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:r?.name??"",pattern:k(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){let a=b({type:e.$ref});return o.export="reference",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}if(e.enum&&e.type!=="boolean"){let a=Fe(e,e.enum);if(a.length)return o.base="string",o.enum=[...o.enum,...a],o.export="enum",o.type="string",o}if(e.type==="array"&&e.items)if(e.items.$ref){let a=b({type:e.items.$ref});return o.export="array",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}else {let a=oe({definition:e.items,openApi:s,types:n});return o.export="array",o.type=a.type,o.base=a.base,o.template=a.template,o.link=a,o.imports.push(...a.imports),o}if(e.type==="object"&&typeof e.additionalProperties=="object")if(e.additionalProperties.$ref){let a=b({type:e.additionalProperties.$ref});return o.export="dictionary",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}else {let a=oe({definition:e.additionalProperties,openApi:s,types:n});return o.export="dictionary",o.type=a.type,o.base=a.base,o.template=a.template,o.link=a,o.imports.push(...a.imports),o}if(e.allOf?.length){let a=ro({definition:e,definitions:e.allOf,getModel:oe,openApi:s,type:"all-of",types:n});return o.export=a.export,o.imports.push(...a.imports),o.properties.push(...a.properties),o.enums=[...o.enums,...a.enums],o}if(e.type==="object")return o.export="interface",o.type="unknown",o.base="unknown",e.properties&<({definition:e,getModel:oe,openApi:s,types:n}).forEach(i=>{o.imports.push(...i.imports),o.enums=[...o.enums,...i.enums],o.properties.push(i),i.export==="enum"&&(o.enums=[...o.enums,i]);}),o;if(e.type){let a=b({format:e.format,type:e.type});return o.export="generic",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}return o};var oo=e=>{let t={},r=[];return Object.entries(e.definitions??{}).forEach(([s,n])=>{let a=b({type:s}).base.replace(Y,"_$1"),i={$ref:`#/definitions/${s}`,name:a};t[a]=i;let p=oe({definition:n,isDefinition:!0,meta:i,openApi:e,types:t});r=[...r,p];}),{models:r,types:t}};var E=(e,t)=>{if(e.default===void 0||e.default===null)return e.default;switch(je(e).find(n=>n!=="null")||typeof e.default){case"int":case"integer":case"number":if(t?.export==="enum"&&t.enum?.[e.default]){let{value:n}=t.enum[e.default];return n}return e.default;case"array":case"boolean":case"object":case"string":return e.default;default:return}};var so=({openApi:e,parameter:t,types:r})=>{let s=S(),n={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:t.in,isDefinition:!1,isNullable:t["x-nullable"]===!0,isReadOnly:!1,isRequired:t.required===!0,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maximum:t.maximum,mediaType:null,minItems:t.minItems,minLength:t.minLength,minimum:t.minimum,multipleOf:t.multipleOf,pattern:k(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems},o={...n,name:s.nameFn.operationParameter(n)};if(t.$ref){let i=b({type:t.$ref});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"reference",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}if(t.enum){let i=Fe(t,t.enum);if(i.length)return o={...o,base:"string",enum:[...o.enum,...i],export:"enum",type:"string"},o.default=E(t,o),o}if(t.type==="array"&&t.items){let i=b({format:t.items.format,type:t.items.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"array",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}if(t.type==="object"&&t.items){let i=b({format:t.items.format,type:t.items.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"dictionary",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}let a=t.schema;if(a){if(a.$ref?.startsWith("#/parameters/")&&(a=v(e,a)),a.$ref){let p=b({type:a.$ref});return o={...o,$refs:[...o.$refs,...p.$refs],base:p.base,export:"reference",imports:[...o.imports,...p.imports],template:p.template,type:p.type},o.default=E(t,o),o}let i=oe({definition:a,openApi:e,types:r});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,enum:[...o.enum,...i.enum],enums:[...o.enums,...i.enums],export:i.export,imports:[...o.imports,...i.imports],link:i.link,properties:[...o.properties,...i.properties],template:i.template,type:i.type},o.default=E(t,o),o}if(t.type){let i=b({format:t.format,type:t.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"generic",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}return o};var Ta=["body","formData","header","path","query"],ut=({openApi:e,parameters:t,types:r})=>{let s=S(),n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach(o=>{let a=v(e,o),i=so({openApi:e,parameter:a,types:r}),p=s.filterFn?.operationParameter&&!s.filterFn?.operationParameter(i);if(!(!Ta.includes(a.in)||p)){switch(a.in){case"body":n.parametersBody=i;break;case"formData":n.parametersForm=[...n.parametersForm,i];break;case"header":n.parametersHeader=[...n.parametersHeader,i];break;case"path":n.parametersPath=[...n.parametersPath,i];break;case"query":n.parametersQuery=[...n.parametersQuery,i];break}n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.parameters=[...n.parameters,i];}}),n};var ft=e=>{let t=e.find(r=>r.in==="header");return t?t.name:null},se=e=>e.some(r=>r.isRequired),dt=e=>{if(e==="default")return "default";if(e==="1XX")return "1XX";if(e==="2XX")return "2XX";if(e==="3XX")return "3XX";if(e==="4XX")return "4XX";if(e==="5XX")return "5XX";if(/\d{3}/g.test(e)){let t=Number.parseInt(e,10);if(t>=100&&t<600)return t}return null},yt=(e,t)=>e.code>t.code?1:e.code<t.code?-1:0,Ra=e=>e==="3XX"||e==="4XX"||e==="5XX"||typeof e=="number"&&e>=300,io=e=>e==="2XX"||typeof e=="number"&&e>=200&&e<300,Aa=(e,t)=>{let r=[],s=c=>{r.includes(c)||(r=[...r,c]);};t.some(({code:c})=>io(c))||s("success");let o=(e.description??"").toLocaleLowerCase(),a=e.$refs.join("|").toLocaleLowerCase(),i=["error","problem"];return ["success"].some(c=>o.includes(c)||a.includes(c))&&s("success"),i.some(c=>o.includes(c)||a.includes(c))&&s("error"),r.length||s("error"),r},gt=e=>e.map(t=>{let{code:r}=t;return r==="default"?t.responseTypes=Aa(t,e):io(r)?t.responseTypes=["success"]:Ra(r)&&(t.responseTypes=["error"]),t});function ht(e){return e.sort((t,r)=>{let s=t.isRequired&&t.default===void 0,n=r.isRequired&&r.default===void 0;return s&&!n?-1:n&&!s?1:0})}var ao=({code:e,openApi:t,response:r,types:s})=>{let n={$refs:[],base:e!==204?"unknown":"void",code:e,description:r.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],responseTypes:[],template:null,type:e!==204?"unknown":"void"},o=r.schema;if(o){if(o.$ref?.startsWith("#/responses/")&&(o=v(t,o)),o.$ref){let i=b({type:o.$ref});return n.export="reference",n.type=i.type,n.base=i.base,n.template=i.template,n.imports=[...n.imports,...i.imports],n}let a=oe({definition:o,openApi:t,types:s});return n.export=a.export,n.type=a.type,n.base=a.base,n.template=a.template,n.link=a.link,n.isReadOnly=a.isReadOnly,n.isRequired=a.isRequired,n.isNullable=a.isNullable,n.format=a.format,n.maximum=a.maximum,n.exclusiveMaximum=a.exclusiveMaximum,n.minimum=a.minimum,n.exclusiveMinimum=a.exclusiveMinimum,n.multipleOf=a.multipleOf,n.maxLength=a.maxLength,n.minLength=a.minLength,n.maxItems=a.maxItems,n.minItems=a.minItems,n.uniqueItems=a.uniqueItems,n.maxProperties=a.maxProperties,n.minProperties=a.minProperties,n.pattern=k(a.pattern),n.imports=[...n.imports,...a.imports],n.enum=[...n.enum,...a.enum],n.enums=[...n.enums,...a.enums],n.properties=[...n.properties,...a.properties],n}if(r.headers)for(let a in r.headers)return n.in="header",n.name=a,n.type="string",n.base="string",n;return n};var po=({openApi:e,responses:t,types:r})=>{let s=[];return Object.entries(t).forEach(([n,o])=>{let a=dt(n);if(!a)return;let i=v(e,o),p=ao({code:a,openApi:e,response:i,types:r});s=[...s,p];}),s=gt(s),s.sort(yt)};var co=({method:e,op:t,openApi:r,types:s,pathParams:n,url:o})=>{let a=S(),i={$refs:[],deprecated:t.deprecated===!0,description:t.description||null,id:t.operationId||null,imports:[],method:e.toUpperCase(),parameters:[...n.parameters],parametersBody:n.parametersBody,parametersCookie:[...n.parametersCookie],parametersForm:[...n.parametersForm],parametersHeader:[...n.parametersHeader],parametersPath:[...n.parametersPath],parametersQuery:[...n.parametersQuery],path:o,responseHeader:null,responses:[],summary:t.summary||null,tags:t.tags||null},p={...i,name:a.nameFn.operation(i)};if(t.parameters){let c=ut({openApi:r,parameters:t.parameters,types:s});p.$refs=[...p.$refs,...c.$refs],p.imports=[...p.imports,...c.imports],p.parameters=[...p.parameters,...c.parameters],p.parametersBody=c.parametersBody,p.parametersCookie=[...p.parametersCookie,...c.parametersCookie],p.parametersForm=[...p.parametersForm,...c.parametersForm],p.parametersHeader=[...p.parametersHeader,...c.parametersHeader],p.parametersPath=[...p.parametersPath,...c.parametersPath],p.parametersQuery=[...p.parametersQuery,...c.parametersQuery];}if(t.responses){p.responses=po({openApi:r,responses:t.responses,types:s});let c=p.responses.filter(m=>m.responseTypes.includes("success"));p.responseHeader=ft(c),c.forEach(m=>{p.$refs=[...p.$refs,...m.$refs],p.imports=[...p.imports,...m.imports];});}return p.parameters=ht(p.parameters),p};var mo=({openApi:e,types:t})=>{let r=S(),s=new Map,n=[];for(let o in e.paths){let a=e.paths[o],i=ut({openApi:e,parameters:a.parameters??[],types:t});for(let p in a){let c=p,m=`${c.toUpperCase()} ${o}`;if(at.includes(c)){let u=a[c];if(u.operationId&&(s.has(u.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${u.operationId} in ${m}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):s.set(u.operationId,m)),!r.filterFn?.operation||r.filterFn?.operation(m)){let d=co({method:c,op:u,openApi:e,pathParams:i,types:t,url:o});n.push(d);}}}}return n};var lo=e=>{let t=e.schemes?.[0]||"http",r=e.host,s=e.basePath||"";return (r?`${t}://${r}${s}`:s).replace(/\/$/g,"")};var uo=e=>{let t=pt(e.info.version),r=lo(e),{models:s,types:n}=oo(e),o=mo({openApi:e,types:n});return {models:s,operations:o,server:r,types:n,version:t}};var fo=e=>{let r=`Parameter${b({type:e}).base.replace(Y,"_$1")}`;return {$ref:Me+e,name:r}},xt=e=>{let t=Yr(e);return {$ref:ct+e,name:t}};var va=(e,t)=>{if(t)return t;if(typeof e=="number")return `'_${e}'`;let r="";return typeof e=="string"&&(r=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_").replace(/^([^$_\p{ID_Start}])/u,"_$1").replace(/(\p{Lowercase})(\p{Uppercase}+)/gu,"$1_$2")),r=r.trim(),r||(r="empty_string"),r.toUpperCase()},yo=e=>e.map(t=>Ot(t.value,!0)).filter(F).join(" | "),Ot=(e,t=!1)=>typeof e=="string"?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,bt=e=>{let t=va(e.value,e.customName),r=Ot(e.value);return {key:t,value:r}},Ct=e=>{let t=e.enum.map(r=>bt(r)).sort((r,s)=>Se(r.key,s.key)).map(r=>`${r.key}=${r.value}`).join("&");return {$ref:`enum/${e.name}/${t}`,name:J(we(e.name))}};var Ea=e=>{let t={};for(let r in e)t[e[r]]=r;return t},go=(e,t)=>{if(e.components&&t){for(let r in e.components.schemas)if(e.components.schemas.hasOwnProperty(r)){let s=e.components.schemas[r];if(s.discriminator&&s.oneOf?.length&&s.oneOf.some(n=>n.$ref&&Ge(n.$ref)==t.name))return s.discriminator}}},ho=(e,t)=>{if(e.mapping){let r=Ea(e.mapping),s=Object.keys(r).find(n=>Ge(n)==t.name);if(s&&r[s])return r[s]}return t.name};var nn=({debug:e,definition:t,getModel:r,model:s,openApi:n,types:o})=>{let a=typeof t.additionalProperties=="object"?t.additionalProperties:{},i=r({debug:e,definition:a,openApi:n,parentDefinition:t,types:o});if(a.$ref){let p=b({type:a.$ref});return s.base=p.base,s.default=E(t,s),s.export="dictionary",s.imports.push(...p.imports),s.template=p.template,s.type=p.type,s}if(t.additionalProperties&&t.properties&&Object.keys(t.properties).length>0){let p=typeof t.additionalProperties=="object"&&t.additionalProperties.type&&!Array.isArray(t.additionalProperties.type)?t.additionalProperties.type:i.base,c=[b({type:p}).base,...s.properties.map(m=>m.base)];return i.base=c.filter(F).join(" | "),i.default=E(t,s),i.export="generic",i.isRequired=t.additionalProperties===!0,i.name="[key: string]",i}return s.base=i.base,s.default=E(t,s),s.export="dictionary",s.imports.push(...i.imports),s.link=i,s.template=i.template,s.type=i.type,s},Pt=({debug:e,definition:t,getModel:r,openApi:s,parent:n,types:o})=>{let a=[],i=go(s,n);return Object.entries(t.properties??{}).forEach(([p,c])=>{let m=!!t.required?.includes(p),u={default:c.default,deprecated:c.deprecated===!0,description:c.description||null,exclusiveMaximum:c.exclusiveMaximum,exclusiveMinimum:c.exclusiveMinimum,format:c.type==="array"?c.items?.format??c.format:c.format,in:"",isDefinition:!1,isReadOnly:c.readOnly===!0,isRequired:m,maxItems:c.maxItems,maxLength:c.maxLength,maxProperties:c.maxProperties,maximum:c.maximum,minItems:c.minItems,minLength:c.minLength,minProperties:c.minProperties,minimum:c.minimum,multipleOf:c.multipleOf,name:Z(p),pattern:k(c.pattern),uniqueItems:c.uniqueItems};if(n&&i?.propertyName==p){a=[...a,{...u,$refs:[],base:`'${ho(i,n)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:fe(c),link:null,properties:[],template:null,type:"string"}];return}if(c.$ref){let x=b({type:c.$ref});a=[...a,{...u,$refs:x.$refs,base:x.base,enum:[],enums:[],export:"reference",imports:x.imports,isNullable:x.isNullable||fe(c),link:null,properties:[],template:x.template,type:x.type}];return}let d=r({debug:e,definition:c,initialValues:u,openApi:s,parentDefinition:t,types:o});d.isNullable=d.isNullable||fe(c),a=[...a,d];}),a};var xo=({definitions:e,getModel:t,openApi:r,required:s,types:n})=>e.reduce((a,i)=>{if(i.$ref){let p=b({type:i.$ref}),c={$ref:i.$ref,name:p.base};n[p.base]=c;let m=v(r,i);return [...a,...t({definition:m,meta:c,openApi:r,types:n}).properties]}return [...a,...t({definition:i,openApi:r,parentDefinition:i,types:n}).properties]},[]).filter(a=>!a.isRequired&&s.includes(a.name)).map(a=>({...a,isRequired:!0}));var Tt=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find(r=>r.definitions?.length),Oo=({debug:e,definition:t,definitions:r,getModel:s,model:n,openApi:o,type:a,types:i})=>{let p={$refs:n.$refs,enums:n.enums,export:a,imports:n.imports,properties:n.properties},c=[];if(r.map(m=>s({debug:e,definition:m,openApi:o,parentDefinition:t,types:i})).forEach(m=>{p.$refs=[...p.$refs,...m.$refs],p.imports=[...p.imports,...m.imports],p.enums=[...p.enums,...m.enums],p.properties=[...p.properties,m];}),t.required){let m=xo({definitions:r,getModel:s,openApi:o,required:t.required,types:i});m.forEach(u=>{p.$refs=[...p.$refs,...u.$refs],p.imports=[...p.imports,...u.imports],p.enums=[...p.enums,...u.enums];}),c=[...c,...m];}if(t.properties){let m=Pt({definition:t,getModel:s,openApi:o,types:i});m.forEach(u=>{p.$refs=[...p.$refs,...u.$refs],p.imports=[...p.imports,...u.imports],p.enums=[...p.enums,...u.enums],u.export==="enum"&&(p.enums=[...p.enums,u]);}),c=[...c,...m];}if(c.length){let m=Tt(t);if(m){let u={$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:c,template:null,type:"unknown"};m.type==="one-of"?(p.properties=[{...p,base:"",description:null,enum:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!0,link:null,name:"",template:null,type:""},u],p.export="all-of"):p.properties=[...p.properties,u];}}return p};var D=({debug:e,definition:t,initialValues:r={},isDefinition:s=!1,meta:n,openApi:o,parentDefinition:a=null,types:i})=>{let p=je(t),c=Zr(t,p),m={$refs:[],base:"unknown",deprecated:!!t.deprecated,description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:"",isDefinition:s,isNullable:fe(t),isReadOnly:t.readOnly===!0,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,meta:n,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:n?.name??"",pattern:k(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems,...r};if(t.$ref){let d=b({debug:e,type:t.$ref});return m.$refs=[...m.$refs,decodeURIComponent(t.$ref)],m.base=d.base,m.export="reference",m.imports=[...m.imports,...d.imports],m.template=d.template,m.type=d.type,m.default=E(t,m),m}if(c==="enum"){let d=Fe(t,t.enum);if(d.length)return m.base="string",m.enum=[...m.enum,...d],m.export="enum",m.type="string",m.default=E(t,m),m.meta||(m.meta=Ct(m)),m}if(p.includes("array")&&(t.items||t.prefixItems)){if(t.prefixItems){let g=t.prefixItems.map(C=>D({definition:C,openApi:o,parentDefinition:t,types:i}));return m.export="array",m.$refs=[...m.$refs,...g.reduce((C,R)=>[...C,...R.$refs],[])],m.imports=[...m.imports,...g.reduce((C,R)=>[...C,...R.imports],[])],m.link=g,m.default=E(t,m),m}if(!t.items)return m;if(t.items.$ref){let g=b({type:t.items.$ref});return m.$refs=[...m.$refs,decodeURIComponent(t.items.$ref)],m.base=g.base,m.export="array",m.imports=[...m.imports,...g.imports],m.template=g.template,m.type=g.type,m.default=E(t,m),m}if(t.items.anyOf&&a&&a.type){let g=Tt(a);if(g&&g.definitions.some(C=>!je(C).includes("array")))return D({definition:t.items,openApi:o,parentDefinition:t,types:i})}let d=Array.isArray(t.items)?{anyOf:t.items}:t.items,x=D({definition:d,openApi:o,parentDefinition:t,types:i});return m.base=x.base,m.export="array",m.$refs=[...m.$refs,...x.$refs],m.imports=[...m.imports,...x.imports],m.link=x,m.template=x.template,m.type=x.type,m.default=E(t,m),m}let u=Tt(t);if(u){let d=Oo({...u,debug:e,definition:t,getModel:D,model:m,openApi:o,types:i});return {...m,...d}}if(p.includes("object")||t.properties||t.additionalProperties){if(t.properties&&(Object.keys(t.properties).length>0||!t.additionalProperties)){if(m.base="unknown",m.export="interface",m.type="unknown",m.default=E(t,m),Pt({debug:e,definition:t,getModel:D,openApi:o,parent:m,types:i}).forEach(g=>{m.$refs=[...m.$refs,...g.$refs],m.enums=[...m.enums,...g.enums],m.imports=[...m.imports,...g.imports],m.properties=[...m.properties,g],g.export==="enum"&&(m.enums=[...m.enums,g]);}),t.additionalProperties){let g=nn({debug:e,definition:t,getModel:D,model:m,openApi:o,types:i});m.properties=[...m.properties,g];}return !m.properties.length&&m.base==="unknown"&&m.type==="unknown"&&(m.export="dictionary",m.name||(m.name="[key: string]")),m}return nn({debug:e,definition:t,getModel:D,model:m,openApi:o,types:i})}if(t.const!==void 0){let d=t.const,x=typeof d=="string"?`"${d}"`:`${d}`;return m.base=x,m.export="const",m.type=x,m}if(p.length){let d=b({format:t.format,type:t.type});return m.base=d.base,m.export="generic",m.$refs=[...m.$refs,...d.$refs],m.imports=[...m.imports,...d.imports],m.isNullable=d.isNullable||m.isNullable,m.template=d.template,m.type=d.type,m.default=E(t,m),m}return m};var Rt=e=>{if(e.schema)return e.schema;if(e.content){let t=Object.entries(e.content);for(let[r,s]of t)if(s.schema){let n=r;return e.content[n].schema}}};var bo=e=>{let t=S(),r={},s=[];return e.components?(Object.entries(e.components.schemas??{}).forEach(([n,o])=>{let a=xt(n);r[a.name]=a;let i=D({definition:o,isDefinition:!0,meta:a,openApi:e,types:r});s=[...s,i];}),Object.entries(e.components.parameters??{}).forEach(([n,o])=>{let a=Rt(o);if(!a){t.debug&&console.warn("Skipping generating parameter:",n);return}let i=fo(n);r[i.name]=i;let p=D({definition:a,isDefinition:!0,meta:i,openApi:e,types:r});p.deprecated=o.deprecated,p.description=o.description||null,s=[...s,p];}),{models:s,types:r}):{models:s,types:r}};var Co=({openApi:e,parameter:t,types:r})=>{let s=S(),n={$refs:[],base:"unknown",deprecated:t.deprecated===!0,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:fe(t),isReadOnly:!1,isRequired:t.required===!0,link:null,mediaType:null,prop:t.name,properties:[],template:null,type:"unknown"},o={...n,name:s.nameFn.operationParameter(n)};if(t.$ref){let i=b({type:t.$ref});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"reference",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o}let a=Rt(t);if(a){if(a.$ref?.startsWith(Me)&&(a=v(e,a)),a.$ref){let p=b({type:a.$ref});return o={...o,$refs:[...o.$refs,...p.$refs],base:p.base,export:"reference",imports:[...o.imports,...p.imports],template:p.template,type:p.type},o.default=E(a),o}let i=D({definition:a,openApi:e,types:r});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,enum:[...o.enum,...i.enum],enums:[...o.enums,...i.enums],exclusiveMaximum:i.exclusiveMaximum,exclusiveMinimum:i.exclusiveMinimum,export:i.export,format:i.format,imports:[...o.imports,...i.imports],isNullable:o.isNullable||i.isNullable,isReadOnly:i.isReadOnly,isRequired:o.isRequired||i.isRequired,link:i.link,maxItems:i.maxItems,maxLength:i.maxLength,maxProperties:i.maxProperties,maximum:i.maximum,minItems:i.minItems,minLength:i.minLength,minProperties:i.minProperties,minimum:i.minimum,multipleOf:i.multipleOf,pattern:k(i.pattern),properties:[...o.properties,...i.properties],template:i.template,type:i.type,uniqueItems:i.uniqueItems},(o.enum.length||o.enums.length)&&!o.meta&&(o.meta=Ct(o)),o.default=i.default,o}return o};var qa=["cookie","formData","header","path","query"],At=({openApi:e,parameters:t,types:r})=>{let s=S(),n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach(o=>{let a=v(e,o),i=Co({openApi:e,parameter:a,types:r}),p=s.filterFn?.operationParameter&&!s.filterFn?.operationParameter(i);if(!(!qa.includes(a.in)||p)){switch(a.in){case"cookie":n.parametersCookie=[...n.parametersCookie,i];break;case"formData":n.parametersForm=[...n.parametersForm,i];break;case"header":n.parametersHeader=[...n.parametersHeader,i];break;case"path":n.parametersPath=[...n.parametersPath,i];break;case"query":n.parametersQuery=[...n.parametersQuery,i];break}n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.parameters=[...n.parameters,i];}}),n};var Sa=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","multipart/batch","multipart/form-data","multipart/mixed","multipart/related","text/json","text/plain"],vt=(e,t)=>{let r=Object.keys(t).filter(n=>{let o=n.split(";")[0].trim();return Sa.includes(o)}).find(n=>!!t[n]?.schema);if(r)return {mediaType:r,schema:t[r].schema};let s=Object.keys(t).find(n=>!!t[n]?.schema);if(s)return {mediaType:s,schema:t[s].schema}};var Po=({body:e,debug:t,openApi:r,types:s})=>{let n=e["x-body-name"]??"requestBody",o={$refs:[],base:"unknown",default:void 0,description:e.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:e.nullable===!0,isReadOnly:!1,isRequired:e.required===!0,link:null,mediaType:null,name:n,prop:n,properties:[],template:null,type:"unknown"};if(!e.content)return o;let a=vt(r,e.content);if(!a)return o;switch(o.mediaType=a.mediaType,o.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":o.in="formData",o.name="formData",o.prop="formData";break}if(a.schema.$ref){let p=b({type:a.schema.$ref});return o.export="reference",o.type=p.type,o.base=p.base,o.template=p.template,o.$refs=[...o.$refs,...p.$refs],o.imports=[...o.imports,...p.imports],o}let i=D({debug:t,definition:a.schema,openApi:r,types:s});return o.$refs=[...o.$refs,...i.$refs],o.base=i.base,o.enum=[...o.enum,...i.enum],o.enums=[...o.enums,...i.enums],o.exclusiveMaximum=i.exclusiveMaximum,o.exclusiveMinimum=i.exclusiveMinimum,o.export=i.export,o.format=i.format,o.imports=[...o.imports,...i.imports],o.isNullable=o.isNullable||i.isNullable,o.isReadOnly=i.isReadOnly,o.isRequired=o.isRequired||i.isRequired,o.link=i.link,o.maximum=i.maximum,o.maxItems=i.maxItems,o.maxLength=i.maxLength,o.maxProperties=i.maxProperties,o.minimum=i.minimum,o.minItems=i.minItems,o.minLength=i.minLength,o.minProperties=i.minProperties,o.multipleOf=i.multipleOf,o.pattern=k(i.pattern),o.properties=[...o.properties,...i.properties],o.template=i.template,o.type=i.type,o.uniqueItems=i.uniqueItems,o};var To=({code:e,openApi:t,response:r,types:s})=>{let n={$refs:[],base:e!==204?"unknown":"void",code:e,description:r.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],responseTypes:[],template:null,type:e!==204?"unknown":"void"};if(r.content){let o=vt(t,r.content);if(o){if(o.schema.$ref?.startsWith("#/components/responses/")&&(o.schema=v(t,o.schema)),o.schema.$ref){let i=b({type:o.schema.$ref});return n.base=i.base,n.export="reference",n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.template=i.template,n.type=i.type,n}let a=D({definition:o.schema,openApi:t,types:s});return n.export=a.export,n.type=a.type,n.base=a.base,n.template=a.template,n.link=a.link,n.isReadOnly=a.isReadOnly,n.isRequired=a.isRequired,n.isNullable=a.isNullable,n.format=a.format,n.maximum=a.maximum,n.exclusiveMaximum=a.exclusiveMaximum,n.minimum=a.minimum,n.exclusiveMinimum=a.exclusiveMinimum,n.multipleOf=a.multipleOf,n.maxLength=a.maxLength,n.minLength=a.minLength,n.maxItems=a.maxItems,n.minItems=a.minItems,n.uniqueItems=a.uniqueItems,n.maxProperties=a.maxProperties,n.minProperties=a.minProperties,n.pattern=k(a.pattern),n.$refs=[...n.$refs,...a.$refs],n.imports=[...n.imports,...a.imports],n.enum=[...n.enum,...a.enum],n.enums=[...n.enums,...a.enums],n.properties=[...n.properties,...a.properties],n}}if(r.headers)for(let o in r.headers)return n.in="header",n.name=o,n.type="string",n.base="string",n;return n};var Ro=({debug:e,openApi:t,responses:r,types:s})=>{let n=[];return Object.entries(r).forEach(([o,a])=>{let i=dt(o);if(!i)return;let p=v(t,a),c=To({code:i,openApi:t,response:p,types:s});n=[...n,c];}),n=gt(n),n.sort(yt)};var Be=(e,t)=>{let r=[...e],s=[...t];for(;s.length>0;){let n=s[0];s=s.slice(1),r.every(a=>a.in!==n.in||a.name!==n.name)&&(r=[...r,n]);}return r},Ao=({debug:e,method:t,op:r,openApi:s,pathParams:n,types:o,url:a})=>{let i=S(),p={$refs:[],deprecated:!!r.deprecated,description:r.description||null,id:r.operationId||null,imports:[],method:t.toUpperCase(),parameters:[],parametersBody:n.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,responses:[],summary:r.summary||null,tags:r.tags||null},c={...p,name:i.nameFn.operation(p)};if(r.parameters){let m=At({openApi:s,parameters:r.parameters,types:o});c.$refs=[...c.$refs,...m.$refs],c.imports=[...c.imports,...m.imports],c.parameters=[...c.parameters,...m.parameters],c.parametersBody=m.parametersBody,c.parametersCookie=[...c.parametersCookie,...m.parametersCookie],c.parametersForm=[...c.parametersForm,...m.parametersForm],c.parametersHeader=[...c.parametersHeader,...m.parametersHeader],c.parametersPath=[...c.parametersPath,...m.parametersPath],c.parametersQuery=[...c.parametersQuery,...m.parametersQuery];}if(r.requestBody){let m=v(s,r.requestBody),u=Po({body:m,debug:e,openApi:s,types:o});c.$refs=[...c.$refs,...u.$refs],c.imports=[...c.imports,...u.imports],c.parameters=[...c.parameters,u],c.parametersBody=u;}if(r.responses){c.responses=Ro({openApi:s,responses:r.responses,types:o});let m=c.responses.filter(u=>u.responseTypes.includes("success"));c.responseHeader=ft(m),m.forEach(u=>{c.$refs=[...c.$refs,...u.$refs],c.imports=[...c.imports,...u.imports];});}return c.parameters=Be(c.parameters,n.parameters),c.parametersCookie=Be(c.parametersCookie,n.parametersCookie),c.parametersForm=Be(c.parametersForm,n.parametersForm),c.parametersHeader=Be(c.parametersHeader,n.parametersHeader),c.parametersPath=Be(c.parametersPath,n.parametersPath),c.parametersQuery=Be(c.parametersQuery,n.parametersQuery),c.parameters=ht(c.parameters),c};var vo=({openApi:e,types:t})=>{let r=S(),s=new Map,n=[];for(let o in e.paths){let a=e.paths[o],i=At({openApi:e,parameters:a.parameters??[],types:t});for(let p in a){let c=p,m=`${c.toUpperCase()} ${o}`;if(at.includes(c)){let u=a[c];if(u.operationId&&(s.has(u.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${u.operationId} in ${m}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):s.set(u.operationId,m)),!r.filterFn?.operation||r.filterFn?.operation(m)){let d=Ao({method:c,op:u,openApi:e,pathParams:i,types:t,url:o});n.push(d);}}}}return n};var Eo=e=>{let t=e.servers?.[0],r=t?.variables||{},s=t?.url||"";return Object.entries(r).forEach(([n,o])=>{s=s.replace(`{${n}}`,o.default);}),s.replace(/\/$/g,"")};var qo=e=>{let t=pt(e.info.version),r=Eo(e),{models:s,types:n}=bo(e),o=vo({openApi:e,types:n});return {models:s,operations:o,server:r,types:n,version:t}};function So({openApi:e,config:t}){if(Gr(t),"openapi"in e)return qo(e);if("swagger"in e)return uo(e);throw new Error(`Unsupported OpenAPI specification: ${JSON.stringify(e,null,2)}`)}var ko=({spec:e})=>{let t=e;switch(t.openapi){case"3.1.0":return Jt(t);default:throw new Error("Unsupported OpenAPI specification")}};var rn=(e,t)=>{let r=h();if(Array.isArray(e))return e.map(n=>rn(n));if(typeof e!="object"||e===null)return e;let s={...e};return Object.entries(s).forEach(([n,o])=>{if(r.schemas.type==="form"&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(n)&&t!=="properties"){delete s[n];return}n==="$ref"&&typeof o=="string"&&(s[n]=decodeURIComponent(o)),o&&typeof o=="object"&&(s[n]=rn(o,n));}),s},ka=(e,t)=>{let r=h(),s=J(e);return r.schemas.name?r.schemas.name(s,t):`${s}Schema`},No=async({files:e,openApi:t})=>{let r=h();if(!r.schemas.export)return;e.schemas=new W({dir:r.output.path,name:"schemas.ts"});let s=(n,o)=>{let a=rn(o),i=l.objectExpression({obj:a}),p=l.constVariable({assertion:"const",exportConst:!0,expression:i,name:ka(n,o)});e.schemas.add(p);};"swagger"in t&&Object.entries(t.definitions??{}).forEach(([n,o])=>{s(n,o);}),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach(([n,o])=>{s(n,o);});};var Xe=e=>e.format==="date"||e.format==="date-time",on=e=>{let t=h();return e.base==="binary"?l.typeUnionNode({types:["Blob","File"]}):t.types.dates&&Xe(e)?l.typeNode("Date"):l.typeNode(e.base)},Na=e=>{let t=e.base==="null"?!1:e.isNullable,r=on(e);if(e.export==="reference"&&e.$refs.length===1&&e.$refs[0].startsWith(ct)){let n=xt(e.base);r=l.typeNode(n.name);}return l.typeUnionNode({isNullable:t,types:[r]})},wa=e=>{if(e.link){if(Array.isArray(e.link)){let t=e.link.map(s=>Q(s));return l.typeTupleNode({isNullable:e.isNullable,types:t})}if(e.export==="array"&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){let t=Array(e.maxItems).fill(Q(e.link));return l.typeTupleNode({isNullable:e.isNullable,types:t})}return l.typeArrayNode([Q(e.link)],e.isNullable)}return l.typeArrayNode([on(e)],e.isNullable)},$a=e=>{let t=e.enum.map(r=>Ot(r.value));return l.typeUnionNode({isNullable:e.isNullable,types:t})},Ia=e=>{let t=e.link&&!Array.isArray(e.link)?Q(e.link):on(e);return l.typeRecordNode(["string"],[t],e.isNullable)},wo=({model:e,style:t})=>{let r=e.properties.map(n=>l.nodeToString({node:Q(n),unescape:!0})).filter(F),s=t==="union"?l.typeUnionNode({isNullable:e.isNullable,types:r}):l.typeIntersectionNode({isNullable:e.isNullable,types:r});return e.meta?s:l.typeParenthesizedNode({type:s})},Da=e=>{if(!e.properties.length)return l.typeNode("unknown");let t=h(),r=A(t),s=e.properties.map(n=>{let o=n.isRequired?"":"?",a=Q(n),i=r?Z(we(sn(n.name))):/^\dXX$/.test(n.name)?Z(n.name):n.name;return n.name==="[key: string]"&&(i=n.name,o&&(o="",a=l.typeUnionNode({types:[a,"undefined"]}))),{comment:[n.description&&$(n.description),n.deprecated&&"@deprecated"],isReadOnly:n.isReadOnly,isRequired:o==="",name:i,type:a}});return l.typeInterfaceNode({isNullable:e.isNullable,properties:s})},Q=e=>{switch(e.export){case"all-of":return wo({model:e,style:"intersection"});case"any-of":case"one-of":return wo({model:e,style:"union"});case"array":return wa(e);case"dictionary":return Ia(e);case"enum":return $a(e);case"interface":return Da(e);case"const":case"generic":case"reference":default:return Na(e)}},G=({client:e,count:t=1,create:r=!1,meta:s,nameTransformer:n})=>{let o={created:!1,name:""},a=s.name;n&&(a=n(a)),t>1&&(a=`${a}${t}`);let i=e.types[a];return i?i.$ref===s.$ref?o={created:!1,name:a}:o=G({client:e,count:t+1,create:r,meta:s,nameTransformer:n}):r&&(e.types[a]=s,o={created:!0,name:a}),o},$o=({client:e,name:t})=>{let r={deleted:!1,name:""};return e.types[t]&&(delete e.types[t],r={deleted:!0,name:t}),r},sn=e=>{let t=h();return A(t)?e:H({input:tn(e)}).replace(Y,"_$1")};var Ae=({meta:e,onImport:t,...r})=>{if(!e)return {created:!1,name:""};let{created:s,name:n}=G({meta:e,...r});return n&&t(n),{created:s,name:n}},Ho=e=>`${e}ModelResponseTransformer`,ve=e=>`${H({input:e,pascalCase:!0})}Data`,Le=e=>`${H({input:e,pascalCase:!0})}Error`,an=e=>`${e}Transformer`,ie=e=>`${H({input:e,pascalCase:!0})}Response`,pn=(e,t)=>{let r=be();return t?`${r}<${e||"unknown"}, ${t}>`:e?`${r}<${e}>`:r},Io=(e,t)=>{let r=h(),{name:s}=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ve}),n=se(t.parameters);if(A(r))return [{isRequired:n,name:"options",type:pn(s,"ThrowOnError")}];if(!t.parameters.length)return [];let o=a=>{if(a.default!==void 0)return JSON.stringify(a.default,null,4)};return r.useOptions?[{default:n?void 0:{},name:"data",type:s}]:t.parameters.map(a=>{let i=`${s}['${a.name}']`;return {default:a?.default,isRequired:(!a.isRequired&&!o(a)?"?":"")=="",name:a.name,type:i}})},Do=(e,t)=>{let r=h(),s=l.typeNode("void");if(t.responses.filter(o=>o.responseTypes.includes("success")).length){let{name:o}=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ie});s=l.typeUnionNode({types:[o]});}return r.useOptions&&r.services.response==="response"&&(s=l.typeNode("ApiResult",[s])),r.client.name==="legacy/angular"?s=l.typeNode("Observable",[s]):s=l.typeNode("CancelablePromise",[s]),s},Mo=e=>{let t=h();if(A(t))return [e.deprecated&&"@deprecated",e.summary&&$(e.summary),e.description&&$(e.description)];let r=[];e.parameters.length&&(t.useOptions?r=["@param data The data for the request.",...e.parameters.map(o=>`@param data.${o.name} ${o.description?$(o.description):""}`)]:r=e.parameters.map(o=>`@param ${o.name} ${o.description?$(o.description):""}`));let s=e.responses.filter(o=>o.responseTypes.includes("success"));return [e.deprecated&&"@deprecated",e.summary&&$(e.summary),e.description&&$(e.description),...r,...s.map(o=>`@returns ${o.type} ${o.description?$(o.description):""}`),"@throws ApiError"]},Ma=(e,t,r,s)=>{let n=h(),o=ie(t.name),{name:a}=G({client:e,meta:{$ref:`transformers/${o}`,name:o},nameTransformer:an});if(a&&r(a),A(n)){let m=[{spread:"options"}],d=t.parameters.filter(x=>x.in==="body"||x.in==="formData").map(x=>x.mediaType).filter(Boolean).filter(F);return d.length===1&&(d[0]==="multipart/form-data"&&(m=[...m,{spread:"formDataBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:null},{spread:"options?.headers"}]}],s?.("formDataBodySerializer")),d[0]==="application/x-www-form-urlencoded"&&(m=[...m,{spread:"urlSearchParamsBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:d[0]},{spread:"options?.headers"}]}],s?.("urlSearchParamsBodySerializer"))),m=[...m,{key:"url",value:t.path}],a&&(m=[...m,{key:"responseTransformer",value:a}]),l.objectExpression({identifiers:["responseTransformer"],obj:m})}let i=m=>m.reduce((u,d)=>{let x=d.prop,g=n.useOptions?`data.${d.name}`:d.name;return x===g?u[x]=x:Z(x)===x?u[x]=g:u[`'${x}'`]=g,u},{}),p={method:t.method,url:t.path};t.parametersPath.length&&(p.path=i(t.parametersPath)),t.parametersCookie.length&&(p.cookies=i(t.parametersCookie)),t.parametersHeader.length&&(p.headers=i(t.parametersHeader)),t.parametersQuery.length&&(p.query=i(t.parametersQuery)),t.parametersForm.length&&(p.formData=i(t.parametersForm)),t.parametersBody&&(t.parametersBody.in==="formData"&&(n.useOptions?p.formData=`data.${t.parametersBody.name}`:p.formData=t.parametersBody.name),t.parametersBody.in==="body"&&(n.useOptions?p.body=`data.${t.parametersBody.name}`:p.body=t.parametersBody.name)),t.parametersBody?.mediaType&&(p.mediaType=t.parametersBody?.mediaType),t.responseHeader&&(p.responseHeader=t.responseHeader),a&&(p.responseTransformer=a);let c=t.responses.filter(m=>m.responseTypes.includes("error"));if(c.length>0){let m={};c.forEach(u=>{m[u.code]=u.description??"";}),p.errors=m;}return l.objectExpression({identifiers:["body","cookies","formData","headers","path","query","responseTransformer"],obj:p,shorthand:!0})},de=(e,t)=>{let r=h();return r.services.methodNameBuilder?r.services.methodNameBuilder(e):t&&e.name.match(Y)?`${e.name}_`:e.name},jo=(e,t,r,s)=>{let n=h(),o=Ma(e,t,r,s);if(A(n)){let a=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Le}).name,p=t.responses.filter(c=>c.responseTypes.includes("success")).length?G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ie}).name:"void";return [l.returnFunctionCall({args:[o],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:a&&p?[p,a,"ThrowOnError"]:a?["unknown",a,"ThrowOnError"]:p?[p,"unknown","ThrowOnError"]:[]})]}return n.name?[l.returnFunctionCall({args:[o],name:"this.httpRequest.request"})]:n.client.name==="legacy/angular"?[l.returnFunctionCall({args:["OpenAPI","this.http",o],name:"__request"})]:[l.returnFunctionCall({args:["OpenAPI",o],name:"__request"})]},ja=({client:e,onClientImport:t,onImport:r,onNode:s,service:n})=>{let o=h(),a=A(o);for(let m of n.operations)m.parameters.length&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:ve,onImport:r}),a&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:Le,onImport:r}),m.responses.filter(d=>d.responseTypes.includes("success")).length&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:ie,onImport:r});let i={default:!1,extends:"boolean",name:"ThrowOnError"};if(!o.services.asClass&&!o.name){for(let m of n.operations){let u={parameters:Io(e,m),returnType:a?void 0:Do(e,m),statements:jo(e,m,r,t),types:a?[i]:void 0},d=o.client.name==="legacy/angular"?l.anonymousFunction(u):l.arrowFunction(u),x=l.constVariable({comment:Mo(m),exportConst:!0,expression:d,name:de(m,!0)});s(x);}return}let p=n.operations.map(m=>l.methodDeclaration({accessLevel:"public",comment:Mo(m),isStatic:o.name===void 0&&o.client.name!=="legacy/angular",name:de(m,!1),parameters:Io(e,m),returnType:a?void 0:Do(e,m),statements:jo(e,m,r,t),types:a?[i]:void 0}));if(!p.length)return;o.name?p=[l.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]}),...p]:o.client.name==="legacy/angular"&&(p=[l.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}),...p]);let c=l.classDeclaration({decorator:o.client.name==="legacy/angular"?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:p,name:mt(n.name)});s(c);},Ha=({files:e})=>{if(!h().client.name)throw new Error("\u{1F6AB} client needs to be set to generate services - which HTTP client do you want to use?");if(!e.types)throw new Error("\u{1F6AB} types need to be exported to generate services - enable type generation")},Fo=async({client:e,files:t})=>{let r=h();if(!r.services.export)return;Ha({files:t});let s=A(r);if(t.services=new W({dir:r.output.path,name:"services.ts"}),s?(t.services.import({module:Oe(),name:"createClient"}),t.services.import({module:Oe(),name:"createConfig"}),t.services.import({asType:!0,module:Oe(),name:be()})):(r.client.name==="legacy/angular"?(t.services.import({module:"@angular/core",name:"Injectable"}),r.name||t.services.import({module:"@angular/common/http",name:"HttpClient"}),t.services.import({asType:!0,module:"rxjs",name:"Observable"})):t.services.import({asType:!0,module:"./core/CancelablePromise",name:"CancelablePromise"}),r.services.response==="response"&&t.services.import({asType:!0,module:"./core/ApiResult",name:"ApiResult"}),r.name?t.services.import({asType:r.client.name!=="legacy/angular",module:"./core/BaseHttpRequest",name:"BaseHttpRequest"}):(t.services.import({module:"./core/OpenAPI",name:"OpenAPI"}),t.services.import({alias:"__request",module:"./core/request",name:"request"}))),s){let n=l.constVariable({exportConst:!0,expression:l.callExpression({functionName:"createClient",parameters:[l.callExpression({functionName:"createConfig"})]}),name:"client"});t.services.add(n);}for(let n of e.services)ja({client:e,onClientImport:o=>{t.services.import({module:Oe(),name:o});},onImport:o=>{t.services.import({asType:!o.endsWith("Transformer"),module:`./${t.types.getName(!1)}`,name:o});},onNode:o=>{t.services.add(o);},service:n});};var Fa="$OpenApiTs",L={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},Ba=({leadingComment:e,comments:t,meta:r,obj:s,onNode:n,...o})=>{if(!r)return;let{created:a,name:i}=G({create:!0,meta:r,...o});if(a){let p=l.enumDeclaration({comments:t,leadingComment:e,name:i,obj:s});n(p);}},ce=({comment:e,meta:t,onCreated:r,onNode:s,type:n,...o})=>{if(!t)return {created:!1,name:""};let a=G({create:!0,meta:t,...o}),{created:i,name:p}=a;if(i){let c=l.typeAliasDeclaration({comment:e,exportType:!0,name:p,type:n});s(c),r?.(p);}return a},La=e=>{let t=h(),r=[];Lo(e),e.model.enums.forEach(s=>t.types.enums!=="typescript+namespace"?Bo({...e,model:s}):_a({...e,model:s,onNode:n=>{r.push(n);}})),r.length&&e.onNode(l.namespaceDeclaration({name:e.model.name,statements:r}));},Bo=({client:e,model:t,onNode:r})=>{let s=h(),n={},o={};t.enum.forEach(i=>{let{key:p,value:c}=bt(i);n[p]=c;let m=i.customDescription||i.description;m&&(o[p]=[$(m)]);});let a=[t.description&&$(t.description),t.deprecated&&"@deprecated"];if(s.types.enums==="typescript"||s.types.enums==="typescript+namespace"){Ba({client:e,comments:o,leadingComment:a,meta:t.meta,obj:n,onNode:r});return}ce({client:e,comment:a,meta:t.meta,onCreated:i=>{if(s.types.enums==="javascript"){let p=l.objectExpression({multiLine:!0,obj:Object.entries(n).map(([m,u])=>({comments:o[m],key:m,value:u})),unescape:!0}),c=l.constVariable({assertion:"const",comment:a,exportConst:!0,expression:p,name:i});r(c);}},onNode:r,type:yo(t.enum)});},_a=({model:e,onNode:t})=>{let r={},s={};e.enum.forEach(n=>{let{key:o,value:a}=bt(n);r[o]=a;let i=n.customDescription||n.description;i&&(s[o]=[$(i)]);}),t(l.enumDeclaration({comments:s,leadingComment:[e.description&&$(e.description),e.deprecated&&"@deprecated"],name:e.meta?.name||e.name,obj:r}));},Lo=({client:e,model:t,onNode:r})=>{ce({client:e,comment:[t.description&&$(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:r,type:Q(t)});},Ua=e=>{switch(e.model.export){case"all-of":case"any-of":case"one-of":case"interface":return La(e);case"enum":return Bo(e);default:return Lo(e)}},Va=({client:e,onNode:t})=>{let r={},s=h();if(!s.services.export&&!s.types.tree)return;let n=A(s);for(let a of e.services)for(let i of a.operations){if(!i.parameters.length&&!i.responses.length)continue;r[i.path]||(r[i.path]={});let p=r[i.path];p[i.method]||(p[i.method]={});let c=p[i.method];if(c.$ref=i.name,i.responses.length>0){if(c.res||(c.res={}),Array.isArray(c.res))continue;i.responses.forEach(u=>{c.res[u.code]=u;});}if(i.parameters.length>0){let u=i.parameters.find(P=>P.in==="body");u||(u=i.parameters.find(P=>P.in==="formData"));let d={mediaType:null,...L,...u,in:"body",isRequired:u?u.isRequired:!1,name:"body",prop:"body"},x={...L,in:"header",isRequired:se(i.parameters.filter(P=>P.in==="header")),mediaType:null,name:n?"headers":"header",prop:n?"headers":"header",properties:i.parameters.filter(P=>P.in==="header").sort(Ue)},g={...L,in:"path",isRequired:se(i.parameters.filter(P=>P.in==="path")),mediaType:null,name:"path",prop:"path",properties:i.parameters.filter(P=>P.in==="path").sort(Ue)},C={...L,in:"query",isRequired:se(i.parameters.filter(P=>P.in==="query")),mediaType:null,name:"query",prop:"query",properties:i.parameters.filter(P=>P.in==="query").sort(Ue)},R=n?[d,x,g,C].filter(P=>P.properties.length||P.$refs.length||P.mediaType):Ve([...i.parameters]);c.req=R,ce({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:ve,onNode:t,type:Q({...L,isRequired:!0,properties:R})});}let m=i.responses.filter(u=>u.responseTypes.includes("success"));if(m.length>0){ce({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:ie,onNode:t,type:Q({...L,export:"any-of",isRequired:!0,properties:m})});let u=i.responses.filter(d=>d.responseTypes.includes("error"));n&&ce({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:Le,onNode:t,type:Q(u.length?{...L,export:"one-of",isRequired:!0,properties:u}:{...L,base:"unknown",isRequired:!0,type:"unknown"})});}}let o=Object.entries(r).map(([a,i])=>{let p=Object.entries(i).map(([m,u])=>{let d=m,x=[];if(u.req){let C=u.$ref,{name:R}=G({client:e,meta:{$ref:C,name:C},nameTransformer:ve}),P={...L,base:R,export:"reference",isRequired:!0,name:"req",properties:[],type:R};x=[...x,P];}if(u.res){let C=Object.entries(u.res).map(([P,M])=>({...L,...M,isRequired:!0,name:String(P)})),R={...L,isRequired:!0,name:"res",properties:C};x=[...x,R];}return {...L,isRequired:!0,name:d.toLocaleLowerCase(),properties:x}}).filter(Boolean);return {...L,isRequired:!0,name:`'${a}'`,properties:p}});s.types.tree&&ce({client:e,meta:{$ref:"@hey-api/openapi-ts",name:Fa},onNode:t,type:Q({...L,properties:o})});},_o=async({client:e,files:t})=>{let r=h();r.types.export&&(t.types=new W({dir:r.output.path,name:"types.ts"}));let s=n=>{t.types?.add(n);};for(let n of e.models)Ua({client:e,model:n,onNode:s});Va({client:e,onNode:s});};var ye="data",Wa=e=>e.base==="unknown"&&e.export==="generic"&&e.type==="unknown",Uo=({client:e,model:t})=>t.$refs.map(s=>{let n=e.models.find(o=>o.meta?.$ref===s);if(!n)throw new Error(`Ref ${s} could not be found. Transformers cannot be generated without having access to all refs.`);return n}),Vo=e=>{let t=e.model.meta.name,{name:r}=ce({...e,meta:{$ref:`transformers/${t}`,name:t},nameTransformer:Ho,onCreated:n=>{let o=Et({...e,meta:{$ref:`transformers/${t}`,name:n},path:[ye]});Ko({...e,async:!1,name:n,statements:o});},type:`(${ye}: any) => ${t}`});return {created:!!e.client.types[r],name:r}},Qa=e=>{let{model:t}=e,r=Uo(e);if(r.length===1){let{created:s,name:n}=Vo({...e,model:r[0]});return s?[l.transformArrayMutation({path:e.path,transformerName:n})]:[]}return Xe(t)||t.link&&!Array.isArray(t.link)&&t.link.export==="any-of"&&t.link.properties.find(s=>Xe(s))?[l.transformArrayMap({path:e.path,transformExpression:l.conditionalExpression({condition:l.identifier({text:"item"}),whenFalse:l.identifier({text:"item"}),whenTrue:l.transformNewDate({parameterName:"item"})})})]:[]},Ga=e=>{let{model:t}=e,r=[...e.path,t.name];return t.type==="string"&&t.export!=="array"&&Xe(t)?[l.transformDateMutation({path:r})]:Et({...e,model:t,path:r})},Et=e=>{let{model:t}=e;switch(t.export){case"array":return Qa(e);case"interface":return t.properties.flatMap(r=>Ga({...e,model:r}));case"reference":{if(t.$refs.length!==1)return [];let r=Uo(e),{created:s,name:n}=Vo({...e,model:r[0]});return s?t.in==="response"?[l.expressionToStatement({expression:l.callExpression({functionName:n,parameters:[ye]})})]:l.transformFunctionMutation({path:e.path,transformerName:n}):[]}default:return []}},Ko=({async:e,client:t,name:r,onNode:s,onRemoveNode:n,statements:o})=>{let a={created:!1,name:r};if(!o.length)return $o({client:t,name:r}),n?.(),a;let i=l.arrowFunction({async:e,multiLine:!0,parameters:[{name:ye}],statements:[...o,l.returnVariable({name:ye})]}),p=l.constVariable({exportConst:!0,expression:i,name:r,typeName:r});return s(p),{created:!0,name:r}},Wo=async({client:e,onNode:t,onRemoveNode:r})=>{let s=h();for(let n of e.services)for(let o of n.operations){let a=o.responses.filter(c=>c.responseTypes.includes("success"));if(!a.length)continue;let i=a.filter(c=>!Wa(c));if(!i.length)continue;if(i.length>1){s.debug&&console.warn(`\u2757\uFE0F Transformers warning: route ${o.method} ${o.path} has ${i.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);continue}let p=ie(o.name);ce({client:e,meta:{$ref:`transformers/${p}`,name:p},nameTransformer:an,onCreated:c=>{let m=a.length>1?a.flatMap(u=>{let d=Et({client:e,meta:{$ref:`transformers/${p}`,name:p},model:u,onNode:t,onRemoveNode:r,path:[ye]});return d.length?[l.ifStatement({expression:l.safeAccessExpression(["data"]),thenStatement:y.factory.createBlock(d)})]:[]}):Et({client:e,meta:{$ref:`transformers/${p}`,name:p},model:a[0],onNode:t,onRemoveNode:r,path:[ye]});Ko({async:!0,client:e,name:c,onNode:t,onRemoveNode:r,statements:m});},onNode:t,type:`(${ye}: any) => Promise<${p}>`});}};var Go=async(e,t,r)=>{let s=h();if(s.services.include&&s.services.asClass){let a=new RegExp(s.services.include);t.services=t.services.filter(i=>a.test(i.name));}if(s.types.include){let a=new RegExp(s.types.include);t.models=t.models.filter(i=>a.test(i.name));}let n=K.resolve(s.output.path),o={};await pr(n,s.client.name),await _o({client:t,files:o}),await No({files:o,openApi:e}),s.services.export&&t.services.length&&s.types.dates==="types+transform"&&await Wo({client:t,onNode:a=>{o.types?.add(a);},onRemoveNode:()=>{o.types?.removeNode();}}),await Fo({client:t,files:o}),await ar(e,n,t,r),await cr(K.resolve(s.output.path,"core"),t,r),await Kr({files:o}),await Wr({client:t,files:o}),Object.entries(o).forEach(([a,i])=>{s.dryRun||(a==="index"?i.write():i.write(`
|
|
18
|
+
`){if(this.isEmpty()){this.remove({force:!0});return}let r=this._path;if(typeof this._path=="string"){let s=this._path.split(K.sep);r=s.slice(0,s.length-1).join(K.sep);}ke(r),writeFileSync(this._path,this.toString(t));}},l={anonymousFunction:ur,arrayLiteralExpression:Gt,arrowFunction:ot,awaitExpression:fr,binaryExpression:Ir,callExpression:ne,classDeclaration:qr,conditionalExpression:xr,constVariable:Rr,constructorDeclaration:vr,enumDeclaration:dr,exportAllDeclaration:Pr,exportNamedDeclaration:Tr,expressionToStatement:Re,identifier:O,ifStatement:Ie,indexedAccessTypeNode:gr,isTsNode:Pe,keywordTypeNode:rt,methodDeclaration:Er,namedImportDeclarations:Ar,namespaceDeclaration:yr,nodeToString:Ce,objectExpression:st,ots:V,propertyAccessExpression:te,propertyAccessExpressions:$r,returnFunctionCall:Nr,returnVariable:wr,safeAccessExpression:$e,stringLiteral:hr,stringToTsNodes:lr,transformArrayMap:Fr,transformArrayMutation:jr,transformDateMutation:Dr,transformFunctionMutation:Mr,transformNewDate:Hr,typeAliasDeclaration:br,typeArrayNode:Ur,typeInterfaceNode:Xt,typeIntersectionNode:Br,typeNode:B,typeOfExpression:Or,typeParenthesizedNode:Cr,typeRecordNode:_r,typeReferenceNode:z,typeTupleNode:Lr,typeUnionNode:Qe};var Kr=async({files:e})=>{let t=h();e.index=new W({dir:t.output.path,name:"index.ts"}),t.name&&e.index.add(l.exportNamedDeclaration({exports:t.name,module:`./${t.name}`})),t.exportCore&&(e.index.add(l.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),t.services.response==="response"&&e.index.add(l.exportNamedDeclaration({exports:{asType:!0,name:"ApiResult"},module:"./core/ApiResult"})),t.name&&e.index.add(l.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),t.client.name!=="legacy/angular"&&e.index.add(l.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(l.exportNamedDeclaration({exports:["OpenAPI",{asType:!0,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach(r=>{let s=e[r];r==="index"||s.isEmpty()||e.index.add(l.exportAllDeclaration({module:`./${s.getName(!1)}`}));});};var Wr=async({client:e,files:t})=>{let r=h();if(A(r))for(let n of r.plugins){let o=n.output.split("/"),a=K.resolve(r.output.path,...o.slice(0,o.length-1));t[n.name]=new W({dir:a,name:`${o[o.length-1]}.ts`}),n.handler({client:e,files:t,outputParts:o,plugin:n});}};var ce=({method:e,operation:t,operationIds:r,path:s})=>{let n=`${e} ${s}`,o=h(),a=o.services.filter?new RegExp(o.services.filter):void 0;a&&!a.test(n)||(t.operationId&&(r.has(t.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${t.operationId} in ${n}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):r.set(t.operationId,n)),console.log(t));};var Jt=e=>{let t=new Map;for(let r in e.paths){let s=e.paths[r];s.delete&&ce({method:"DELETE",operation:s.delete,operationIds:t,path:r}),s.get&&ce({method:"GET",operation:s.get,operationIds:t,path:r}),s.head&&ce({method:"HEAD",operation:s.head,operationIds:t,path:r}),s.options&&ce({method:"OPTIONS",operation:s.options,operationIds:t,path:r}),s.patch&&ce({method:"PATCH",operation:s.patch,operationIds:t,path:r}),s.post&&ce({method:"POST",operation:s.post,operationIds:t,path:r}),s.put&&ce({method:"PUT",operation:s.put,operationIds:t,path:r}),s.trace&&ce({method:"TRACE",operation:s.trace,operationIds:t,path:r});}};var Qr,S=()=>Qr,Gr=e=>(Qr=e,S());var at=["connect","delete","get","head","options","patch","post","put","trace"];function pt(e="1.0"){return String(e).replace(/^v/gi,"")}var Me="#/components/parameters/",ct="#/components/schemas/";var da=/[\p{Lu}]/u,ya=/[\p{Ll}]/u,Jr=/([\p{Alpha}\p{N}_]|$)/u,Yt=/[_.\- ]+/,ga=new RegExp("^"+Yt.source),Xr=new RegExp(Yt.source+Jr.source,"gu"),zr=new RegExp("\\d+"+Jr.source,"gu"),ha=e=>{let t=!1,r=!1,s=!1,n=!1;for(let o=0;o<e.length;o++){let a=e[o];n=o>2?e[o-3]==="-":!0,t&&da.test(a)?(e=e.slice(0,o)+"-"+e.slice(o),t=!1,s=r,r=!0,o++):r&&s&&ya.test(a)&&!n?(e=e.slice(0,o-1)+"-"+e.slice(o-1),s=r,r=!1,t=!0):(t=a.toLocaleLowerCase()===a&&a.toLocaleUpperCase()!==a,s=r,r=a.toLocaleUpperCase()===a&&a.toLocaleLowerCase()!==a);}return e},H=({input:e,pascalCase:t})=>{let r=e.trim();return r.length?r.length===1?Yt.test(r)?"":t?r.toLocaleUpperCase():r.toLocaleLowerCase():(r!==r.toLocaleLowerCase()&&(r=ha(r)),r=r.replace(ga,""),r=r.toLocaleLowerCase(),t&&(r=r.charAt(0).toLocaleUpperCase()+r.slice(1)),Xr.lastIndex=0,zr.lastIndex=0,r=r.replaceAll(zr,(n,o,a)=>["_","-","."].includes(r.charAt(a+n.length))?n:n.toLocaleUpperCase()),r=r.replaceAll(Xr,(n,o)=>o.toLocaleUpperCase()),r):""};var mt=e=>{let t=h();return t.services.name?t.services.name.replace("{{name}}",e):e},Zt=e=>h().types.name==="PascalCase"?H({input:e,pascalCase:!0}):e,Yr=e=>{let t=Zt(e);return J(t).replace(Z,"_$1")};var Zr=(e,t)=>{if(e.enum&&!t.includes("boolean"))return "enum"},en=e=>je(e).includes("null"),fe=e=>e.nullable===!0||en(e),je=({type:e})=>Array.isArray(e)?e:e?[e]:[];var xa=e=>e.replace(et,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_"),J=e=>{et.lastIndex=0;let r=et.test(e)?`_${e}`:e;return xa(r)},He=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/\$/g,"-"),tn=e=>{let t=e.replace("[]","Array");return He(t)};var Ge=e=>e.trim().replace(/^#\/definitions\//,"").replace(/^#\/parameters\//,"").replace(/^#\/responses\//,"").replace(/^#\/securityDefinitions\//,"").replace(/^#\/components\/schemas\//,"").replace(/^#\/components\/responses\//,"").replace(/^#\/components\/parameters\//,"").replace(/^#\/components\/examples\//,"").replace(/^#\/components\/requestBodies\//,"").replace(/^#\/components\/headers\//,"").replace(/^#\/components\/securitySchemes\//,"").replace(/^#\/components\/links\//,"").replace(/^#\/components\/callbacks\//,"");var eo=(e,t)=>{if(t==="binary")return "binary";switch(e){case"any":case"object":case"unknown":return "unknown";case"array":return "unknown[]";case"boolean":return "boolean";case"byte":case"double":case"float":case"int":case"integer":case"long":case"number":case"short":return "number";case"char":case"date":case"date-time":case"password":case"string":return "string";case"file":return "binary";case"null":return "null";case"void":return "void"}},to=/(?<!`1)\[.*\]$/g,b=({debug:e,format:t,type:r="unknown"})=>{let s={$refs:[],base:"unknown",imports:[],isNullable:!1,template:null,type:"unknown"};if(Array.isArray(r)){let a=r.filter(i=>i!=="null").map(i=>eo(i,t)).filter(Boolean).join(" | ");return s.type=a,s.base=a,s.isNullable=en({type:r}),s}let n=eo(r,t);if(n)return s.type=n,s.base=n,s;let o=decodeURIComponent(Ge(r));if(to.lastIndex=0,to.test(o)){let a=o.match(/(.*?)\[(.*)\]$/);if(a?.length){let i=b({debug:e,type:J(a[1])}),p=b({debug:e,type:J(a[2])});return i.type==="unknown[]"?(s.type=`${p.type}[]`,s.base=`${p.type}`,i.$refs=[],i.imports=[]):p.type?(s.type=`${i.type}<${p.type}>`,s.base=i.type,s.template=p.type):(s.type=i.type,s.base=i.type,s.template=i.type),s.$refs=[...s.$refs,...i.$refs,...p.$refs],s.imports=[...s.imports,...i.imports,...p.imports],s}}if(o){let a=Zt(J(o));return r.startsWith(Me)&&(a=`Parameter${a}`),s.type=a,s.base=a,r.startsWith("#")&&(s.$refs=[...s.$refs,decodeURIComponent(r)]),s.imports=[...s.imports,a],s}return s};function F(e,t,r){return r.indexOf(e)===t}var Fe=(e,t)=>{if(!Array.isArray(t))return [];let r=(e["x-enum-descriptions"]??[]).filter(n=>typeof n=="string"),s=(e["x-enum-varnames"]??e["x-enumNames"]??[]).filter(n=>typeof n=="string");return t.filter(F).filter(n=>typeof n=="number"||typeof n=="string").map((n,o)=>({customDescription:r[o],customName:s[o],description:void 0,value:n}))};var k=e=>e?.replace(/\\/g,"\\\\").replace(/'/g,"\\'");var lt=({definition:e,getModel:t,openApi:r,types:s})=>{let n=[];return Object.entries(e.properties??{}).forEach(([o,a])=>{let i=!!e.required?.includes(o);if(a.$ref){let p=b({type:a.$ref});n.push({$refs:[],base:p.base,description:a.description||null,enum:[],enums:[],exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:"reference",format:a.format,imports:p.imports,in:"",isDefinition:!1,isNullable:a["x-nullable"]===!0,isReadOnly:a.readOnly===!0,isRequired:i,link:null,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:ee(o),pattern:k(a.pattern),properties:[],template:p.template,type:p.type,uniqueItems:a.uniqueItems});}else {let p=t({definition:a,openApi:r,types:s});n.push({$refs:[],base:p.base,description:a.description||null,enum:p.enum,enums:p.enums,exclusiveMaximum:a.exclusiveMaximum,exclusiveMinimum:a.exclusiveMinimum,export:p.export,format:a.format,imports:p.imports,in:"",isDefinition:!1,isNullable:a["x-nullable"]===!0,isReadOnly:a.readOnly===!0,isRequired:i,link:p.link,maxItems:a.maxItems,maxLength:a.maxLength,maxProperties:a.maxProperties,maximum:a.maximum,minItems:a.minItems,minLength:a.minLength,minProperties:a.minProperties,minimum:a.minimum,multipleOf:a.multipleOf,name:ee(o),pattern:k(a.pattern),properties:p.properties,template:p.template,type:p.type,uniqueItems:a.uniqueItems});}}),n};var Oa=/~1/g,ba=/~0/g;function v(e,t){if(t.$ref){let r=t.$ref.replace(/^#/g,"").split("/").filter(Boolean),s=e;return r.forEach(n=>{let o=decodeURIComponent(n.replace(Oa,"/").replace(ba,"~"));if(s.hasOwnProperty(o))s=s[o];else throw new Error(`Could not find reference: "${t.$ref}"`)}),s}return t}var no=({definitions:e,getModel:t,openApi:r,required:s,types:n})=>e.reduce((o,a)=>{if(a.$ref){let i=v(r,a);return [...o,...t({definition:i,openApi:r,types:n}).properties]}return [...o,...t({definition:a,openApi:r,types:n}).properties]},[]).filter(o=>!o.isRequired&&s.includes(o.name)).map(o=>({...o,isRequired:!0}));var ro=({definition:e,definitions:t,getModel:r,openApi:s,type:n,types:o})=>{let a={$refs:[],enums:[],export:n,imports:[],properties:[]},i=[];if(t.map(p=>r({definition:p,openApi:s,types:o})).filter(p=>{let c=p.properties.length,m=p.enums.length;return !(p.type==="unknown"&&!c&&!m)}).forEach(p=>{a.imports.push(...p.imports),a.enums.push(...p.enums),a.properties.push(p);}),e.required){let p=no({definitions:t,getModel:r,openApi:s,required:e.required,types:o});p.forEach(c=>{a.imports.push(...c.imports),a.enums.push(...c.enums);}),i.push(...p);}if(e.properties){let p=lt({definition:e,getModel:r,openApi:s,types:o});p.forEach(c=>{a.imports.push(...c.imports),a.enums.push(...c.enums),c.export==="enum"&&a.enums.push(c);}),i.push(...p);}return i.length&&a.properties.push({$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:i,template:null,type:"unknown"}),a};var se=({definition:e,isDefinition:t=!1,meta:r,openApi:s,types:n})=>{let o={$refs:[],base:"unknown",description:e.description||null,enum:[],enums:[],exclusiveMaximum:e.exclusiveMaximum,exclusiveMinimum:e.exclusiveMinimum,export:"interface",format:e.format,imports:[],in:"",isDefinition:t,isNullable:e["x-nullable"]===!0,isReadOnly:e.readOnly===!0,isRequired:!1,link:null,maxItems:e.maxItems,maxLength:e.maxLength,maxProperties:e.maxProperties,maximum:e.maximum,meta:r,minItems:e.minItems,minLength:e.minLength,minProperties:e.minProperties,minimum:e.minimum,multipleOf:e.multipleOf,name:r?.name??"",pattern:k(e.pattern),properties:[],template:null,type:"unknown",uniqueItems:e.uniqueItems};if(e.$ref){let a=b({type:e.$ref});return o.export="reference",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}if(e.enum&&e.type!=="boolean"){let a=Fe(e,e.enum);if(a.length)return o.base="string",o.enum=[...o.enum,...a],o.export="enum",o.type="string",o}if(e.type==="array"&&e.items)if(e.items.$ref){let a=b({type:e.items.$ref});return o.export="array",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}else {let a=se({definition:e.items,openApi:s,types:n});return o.export="array",o.type=a.type,o.base=a.base,o.template=a.template,o.link=a,o.imports.push(...a.imports),o}if(e.type==="object"&&typeof e.additionalProperties=="object")if(e.additionalProperties.$ref){let a=b({type:e.additionalProperties.$ref});return o.export="dictionary",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}else {let a=se({definition:e.additionalProperties,openApi:s,types:n});return o.export="dictionary",o.type=a.type,o.base=a.base,o.template=a.template,o.link=a,o.imports.push(...a.imports),o}if(e.allOf?.length){let a=ro({definition:e,definitions:e.allOf,getModel:se,openApi:s,type:"all-of",types:n});return o.export=a.export,o.imports.push(...a.imports),o.properties.push(...a.properties),o.enums=[...o.enums,...a.enums],o}if(e.type==="object")return o.export="interface",o.type="unknown",o.base="unknown",e.properties&<({definition:e,getModel:se,openApi:s,types:n}).forEach(i=>{o.imports.push(...i.imports),o.enums=[...o.enums,...i.enums],o.properties.push(i),i.export==="enum"&&(o.enums=[...o.enums,i]);}),o;if(e.type){let a=b({format:e.format,type:e.type});return o.export="generic",o.type=a.type,o.base=a.base,o.template=a.template,o.imports.push(...a.imports),o}return o};var oo=e=>{let t={},r=[];return Object.entries(e.definitions??{}).forEach(([s,n])=>{let a=b({type:s}).base.replace(Z,"_$1"),i={$ref:`#/definitions/${s}`,name:a};t[a]=i;let p=se({definition:n,isDefinition:!0,meta:i,openApi:e,types:t});r=[...r,p];}),{models:r,types:t}};var E=(e,t)=>{if(e.default===void 0||e.default===null)return e.default;switch(je(e).find(n=>n!=="null")||typeof e.default){case"int":case"integer":case"number":if(t?.export==="enum"&&t.enum?.[e.default]){let{value:n}=t.enum[e.default];return n}return e.default;case"array":case"boolean":case"object":case"string":return e.default;default:return}};var so=({openApi:e,parameter:t,types:r})=>{let s=S(),n={$refs:[],base:"unknown",description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:t.in,isDefinition:!1,isNullable:t["x-nullable"]===!0,isReadOnly:!1,isRequired:t.required===!0,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maximum:t.maximum,mediaType:null,minItems:t.minItems,minLength:t.minLength,minimum:t.minimum,multipleOf:t.multipleOf,pattern:k(t.pattern),prop:t.name,properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems},o={...n,name:s.nameFn.operationParameter(n)};if(t.$ref){let i=b({type:t.$ref});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"reference",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}if(t.enum){let i=Fe(t,t.enum);if(i.length)return o={...o,base:"string",enum:[...o.enum,...i],export:"enum",type:"string"},o.default=E(t,o),o}if(t.type==="array"&&t.items){let i=b({format:t.items.format,type:t.items.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"array",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}if(t.type==="object"&&t.items){let i=b({format:t.items.format,type:t.items.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"dictionary",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}let a=t.schema;if(a){if(a.$ref?.startsWith("#/parameters/")&&(a=v(e,a)),a.$ref){let p=b({type:a.$ref});return o={...o,$refs:[...o.$refs,...p.$refs],base:p.base,export:"reference",imports:[...o.imports,...p.imports],template:p.template,type:p.type},o.default=E(t,o),o}let i=se({definition:a,openApi:e,types:r});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,enum:[...o.enum,...i.enum],enums:[...o.enums,...i.enums],export:i.export,imports:[...o.imports,...i.imports],link:i.link,properties:[...o.properties,...i.properties],template:i.template,type:i.type},o.default=E(t,o),o}if(t.type){let i=b({format:t.format,type:t.type});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"generic",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o.default=E(t,o),o}return o};var Ca=["body","formData","header","path","query"],ut=({openApi:e,parameters:t,types:r})=>{let s=S(),n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach(o=>{let a=v(e,o),i=so({openApi:e,parameter:a,types:r}),p=s.filterFn?.operationParameter&&!s.filterFn?.operationParameter(i);if(!(!Ca.includes(a.in)||p)){switch(a.in){case"body":n.parametersBody=i;break;case"formData":n.parametersForm=[...n.parametersForm,i];break;case"header":n.parametersHeader=[...n.parametersHeader,i];break;case"path":n.parametersPath=[...n.parametersPath,i];break;case"query":n.parametersQuery=[...n.parametersQuery,i];break}n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.parameters=[...n.parameters,i];}}),n};var ft=e=>{let t=e.find(r=>r.in==="header");return t?t.name:null},ie=e=>e.some(r=>r.isRequired),dt=e=>{if(e==="default")return "default";if(e==="1XX")return "1XX";if(e==="2XX")return "2XX";if(e==="3XX")return "3XX";if(e==="4XX")return "4XX";if(e==="5XX")return "5XX";if(/\d{3}/g.test(e)){let t=Number.parseInt(e,10);if(t>=100&&t<600)return t}return null},yt=(e,t)=>e.code>t.code?1:e.code<t.code?-1:0,Pa=e=>e==="3XX"||e==="4XX"||e==="5XX"||typeof e=="number"&&e>=300,io=e=>e==="2XX"||typeof e=="number"&&e>=200&&e<300,Ta=(e,t)=>{let r=[],s=c=>{r.includes(c)||(r=[...r,c]);};t.some(({code:c})=>io(c))||s("success");let o=(e.description??"").toLocaleLowerCase(),a=e.$refs.join("|").toLocaleLowerCase(),i=["error","problem"];return ["success"].some(c=>o.includes(c)||a.includes(c))&&s("success"),i.some(c=>o.includes(c)||a.includes(c))&&s("error"),r.length||s("error"),r},gt=e=>e.map(t=>{let{code:r}=t;return r==="default"?t.responseTypes=Ta(t,e):io(r)?t.responseTypes=["success"]:Pa(r)&&(t.responseTypes=["error"]),t});function ht(e){return e.sort((t,r)=>{let s=t.isRequired&&t.default===void 0,n=r.isRequired&&r.default===void 0;return s&&!n?-1:n&&!s?1:0})}var ao=({code:e,openApi:t,response:r,types:s})=>{let n={$refs:[],base:e!==204?"unknown":"void",code:e,description:r.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],responseTypes:[],template:null,type:e!==204?"unknown":"void"},o=r.schema;if(o){if(o.$ref?.startsWith("#/responses/")&&(o=v(t,o)),o.$ref){let i=b({type:o.$ref});return n.export="reference",n.type=i.type,n.base=i.base,n.template=i.template,n.imports=[...n.imports,...i.imports],n}let a=se({definition:o,openApi:t,types:s});return n.export=a.export,n.type=a.type,n.base=a.base,n.template=a.template,n.link=a.link,n.isReadOnly=a.isReadOnly,n.isRequired=a.isRequired,n.isNullable=a.isNullable,n.format=a.format,n.maximum=a.maximum,n.exclusiveMaximum=a.exclusiveMaximum,n.minimum=a.minimum,n.exclusiveMinimum=a.exclusiveMinimum,n.multipleOf=a.multipleOf,n.maxLength=a.maxLength,n.minLength=a.minLength,n.maxItems=a.maxItems,n.minItems=a.minItems,n.uniqueItems=a.uniqueItems,n.maxProperties=a.maxProperties,n.minProperties=a.minProperties,n.pattern=k(a.pattern),n.imports=[...n.imports,...a.imports],n.enum=[...n.enum,...a.enum],n.enums=[...n.enums,...a.enums],n.properties=[...n.properties,...a.properties],n}if(r.headers)for(let a in r.headers)return n.in="header",n.name=a,n.type="string",n.base="string",n;return n};var po=({openApi:e,responses:t,types:r})=>{let s=[];return Object.entries(t).forEach(([n,o])=>{let a=dt(n);if(!a)return;let i=v(e,o),p=ao({code:a,openApi:e,response:i,types:r});s=[...s,p];}),s=gt(s),s.sort(yt)};var co=({method:e,op:t,openApi:r,types:s,pathParams:n,url:o})=>{let a=S(),i={$refs:[],deprecated:t.deprecated===!0,description:t.description||null,id:t.operationId||null,imports:[],method:e.toUpperCase(),parameters:[...n.parameters],parametersBody:n.parametersBody,parametersCookie:[...n.parametersCookie],parametersForm:[...n.parametersForm],parametersHeader:[...n.parametersHeader],parametersPath:[...n.parametersPath],parametersQuery:[...n.parametersQuery],path:o,responseHeader:null,responses:[],summary:t.summary||null,tags:t.tags||null},p={...i,name:a.nameFn.operation(i)};if(t.parameters){let c=ut({openApi:r,parameters:t.parameters,types:s});p.$refs=[...p.$refs,...c.$refs],p.imports=[...p.imports,...c.imports],p.parameters=[...p.parameters,...c.parameters],p.parametersBody=c.parametersBody,p.parametersCookie=[...p.parametersCookie,...c.parametersCookie],p.parametersForm=[...p.parametersForm,...c.parametersForm],p.parametersHeader=[...p.parametersHeader,...c.parametersHeader],p.parametersPath=[...p.parametersPath,...c.parametersPath],p.parametersQuery=[...p.parametersQuery,...c.parametersQuery];}if(t.responses){p.responses=po({openApi:r,responses:t.responses,types:s});let c=p.responses.filter(m=>m.responseTypes.includes("success"));p.responseHeader=ft(c),c.forEach(m=>{p.$refs=[...p.$refs,...m.$refs],p.imports=[...p.imports,...m.imports];});}return p.parameters=ht(p.parameters),p};var mo=({openApi:e,types:t})=>{let r=S(),s=new Map,n=[];for(let o in e.paths){let a=e.paths[o],i=ut({openApi:e,parameters:a.parameters??[],types:t});for(let p in a){let c=p,m=`${c.toUpperCase()} ${o}`;if(at.includes(c)){let u=a[c];if(u.operationId&&(s.has(u.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${u.operationId} in ${m}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):s.set(u.operationId,m)),!r.filterFn?.operation||r.filterFn?.operation(m)){let d=co({method:c,op:u,openApi:e,pathParams:i,types:t,url:o});n.push(d);}}}}return n};var lo=e=>{let t=e.schemes?.[0]||"http",r=e.host,s=e.basePath||"";return (r?`${t}://${r}${s}`:s).replace(/\/$/g,"")};var uo=e=>{let t=pt(e.info.version),r=lo(e),{models:s,types:n}=oo(e),o=mo({openApi:e,types:n});return {models:s,operations:o,server:r,types:n,version:t}};var fo=e=>{let r=`Parameter${b({type:e}).base.replace(Z,"_$1")}`;return {$ref:Me+e,name:r}},xt=e=>{let t=Yr(e);return {$ref:ct+e,name:t}};var Ra=(e,t)=>{if(t)return t;if(typeof e=="number")return `'_${e}'`;let r="";return typeof e=="string"&&(r=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_").replace(/^([^$_\p{ID_Start}])/u,"_$1").replace(/(\p{Lowercase})(\p{Uppercase}+)/gu,"$1_$2")),r=r.trim(),r||(r="empty_string"),r.toUpperCase()},yo=e=>e.map(t=>Ot(t.value,!0)).filter(F).join(" | "),Ot=(e,t=!1)=>typeof e=="string"?e.includes("'")&&t?`"${e}"`:`'${e}'`:e,bt=e=>{let t=Ra(e.value,e.customName),r=Ot(e.value);return {key:t,value:r}},Ct=e=>{let t=e.enum.map(r=>bt(r)).sort((r,s)=>Se(r.key,s.key)).map(r=>`${r.key}=${r.value}`).join("&");return {$ref:`enum/${e.name}/${t}`,name:J(we(e.name))}};var Aa=e=>{let t={};for(let r in e)t[e[r]]=r;return t},go=(e,t)=>{if(e.components&&t){for(let r in e.components.schemas)if(e.components.schemas.hasOwnProperty(r)){let s=e.components.schemas[r];if(s.discriminator&&s.oneOf?.length&&s.oneOf.some(n=>n.$ref&&Ge(n.$ref)==t.name))return s.discriminator}}},ho=(e,t)=>{if(e.mapping){let r=Aa(e.mapping),s=Object.keys(r).find(n=>Ge(n)==t.name);if(s&&r[s])return r[s]}return t.name};var nn=({debug:e,definition:t,getModel:r,model:s,openApi:n,types:o})=>{let a=typeof t.additionalProperties=="object"?t.additionalProperties:{},i=r({debug:e,definition:a,openApi:n,parentDefinition:t,types:o});if(a.$ref){let p=b({type:a.$ref});return s.base=p.base,s.default=E(t,s),s.export="dictionary",s.imports.push(...p.imports),s.template=p.template,s.type=p.type,s}if(t.additionalProperties&&t.properties&&Object.keys(t.properties).length>0){let p=typeof t.additionalProperties=="object"&&t.additionalProperties.type&&!Array.isArray(t.additionalProperties.type)?t.additionalProperties.type:i.base,c=[b({type:p}).base,...s.properties.map(m=>m.base)];return i.base=c.filter(F).join(" | "),i.default=E(t,s),i.export="generic",i.isRequired=t.additionalProperties===!0,i.name="[key: string]",i}return s.base=i.base,s.default=E(t,s),s.export="dictionary",s.imports.push(...i.imports),s.link=i,s.template=i.template,s.type=i.type,s},Pt=({debug:e,definition:t,getModel:r,openApi:s,parent:n,types:o})=>{let a=[],i=go(s,n);return Object.entries(t.properties??{}).forEach(([p,c])=>{let m=!!t.required?.includes(p),u={default:c.default,deprecated:c.deprecated===!0,description:c.description||null,exclusiveMaximum:c.exclusiveMaximum,exclusiveMinimum:c.exclusiveMinimum,format:c.type==="array"?c.items?.format??c.format:c.format,in:"",isDefinition:!1,isReadOnly:c.readOnly===!0,isRequired:m,maxItems:c.maxItems,maxLength:c.maxLength,maxProperties:c.maxProperties,maximum:c.maximum,minItems:c.minItems,minLength:c.minLength,minProperties:c.minProperties,minimum:c.minimum,multipleOf:c.multipleOf,name:ee(p),pattern:k(c.pattern),uniqueItems:c.uniqueItems};if(n&&i?.propertyName==p){a=[...a,{...u,$refs:[],base:`'${ho(i,n)}'`,enum:[],enums:[],export:"reference",imports:[],isNullable:fe(c),link:null,properties:[],template:null,type:"string"}];return}if(c.$ref){let x=b({type:c.$ref});a=[...a,{...u,$refs:x.$refs,base:x.base,enum:[],enums:[],export:"reference",imports:x.imports,isNullable:x.isNullable||fe(c),link:null,properties:[],template:x.template,type:x.type}];return}let d=r({debug:e,definition:c,initialValues:u,openApi:s,parentDefinition:t,types:o});d.isNullable=d.isNullable||fe(c),a=[...a,d];}),a};var xo=({definitions:e,getModel:t,openApi:r,required:s,types:n})=>e.reduce((a,i)=>{if(i.$ref){let p=b({type:i.$ref}),c={$ref:i.$ref,name:p.base};n[p.base]=c;let m=v(r,i);return [...a,...t({definition:m,meta:c,openApi:r,types:n}).properties]}return [...a,...t({definition:i,openApi:r,parentDefinition:i,types:n}).properties]},[]).filter(a=>!a.isRequired&&s.includes(a.name)).map(a=>({...a,isRequired:!0}));var Tt=e=>[{definitions:e.allOf,type:"all-of"},{definitions:e.anyOf,type:"any-of"},{definitions:e.oneOf,type:"one-of"}].find(r=>r.definitions?.length),Oo=({debug:e,definition:t,definitions:r,getModel:s,model:n,openApi:o,type:a,types:i})=>{let p={$refs:n.$refs,enums:n.enums,export:a,imports:n.imports,properties:n.properties},c=[];if(r.map(m=>s({debug:e,definition:m,openApi:o,parentDefinition:t,types:i})).forEach(m=>{p.$refs=[...p.$refs,...m.$refs],p.imports=[...p.imports,...m.imports],p.enums=[...p.enums,...m.enums],p.properties=[...p.properties,m];}),t.required){let m=xo({definitions:r,getModel:s,openApi:o,required:t.required,types:i});m.forEach(u=>{p.$refs=[...p.$refs,...u.$refs],p.imports=[...p.imports,...u.imports],p.enums=[...p.enums,...u.enums];}),c=[...c,...m];}if(t.properties){let m=Pt({definition:t,getModel:s,openApi:o,types:i});m.forEach(u=>{p.$refs=[...p.$refs,...u.$refs],p.imports=[...p.imports,...u.imports],p.enums=[...p.enums,...u.enums],u.export==="enum"&&(p.enums=[...p.enums,u]);}),c=[...c,...m];}if(c.length){let m=Tt(t);if(m){let u={$refs:[],base:"unknown",description:"",enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"properties",properties:c,template:null,type:"unknown"};m.type==="one-of"?(p.properties=[{...p,base:"",description:null,enum:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!0,link:null,name:"",template:null,type:""},u],p.export="all-of"):p.properties=[...p.properties,u];}}return p};var D=({debug:e,definition:t,initialValues:r={},isDefinition:s=!1,meta:n,openApi:o,parentDefinition:a=null,types:i})=>{let p=je(t),c=Zr(t,p),m={$refs:[],base:"unknown",deprecated:!!t.deprecated,description:t.description||null,enum:[],enums:[],exclusiveMaximum:t.exclusiveMaximum,exclusiveMinimum:t.exclusiveMinimum,export:"interface",format:t.format,imports:[],in:"",isDefinition:s,isNullable:fe(t),isReadOnly:t.readOnly===!0,isRequired:!1,link:null,maxItems:t.maxItems,maxLength:t.maxLength,maxProperties:t.maxProperties,maximum:t.maximum,meta:n,minItems:t.minItems,minLength:t.minLength,minProperties:t.minProperties,minimum:t.minimum,multipleOf:t.multipleOf,name:n?.name??"",pattern:k(t.pattern),properties:[],template:null,type:"unknown",uniqueItems:t.uniqueItems,...r};if(t.$ref){let d=b({debug:e,type:t.$ref});return m.$refs=[...m.$refs,decodeURIComponent(t.$ref)],m.base=d.base,m.export="reference",m.imports=[...m.imports,...d.imports],m.template=d.template,m.type=d.type,m.default=E(t,m),m}if(c==="enum"){let d=Fe(t,t.enum);if(d.length)return m.base="string",m.enum=[...m.enum,...d],m.export="enum",m.type="string",m.default=E(t,m),m.meta||(m.meta=Ct(m)),m}if(p.includes("array")&&(t.items||t.prefixItems)){if(t.prefixItems){let g=t.prefixItems.map(C=>D({definition:C,openApi:o,parentDefinition:t,types:i}));return m.export="array",m.$refs=[...m.$refs,...g.reduce((C,R)=>[...C,...R.$refs],[])],m.imports=[...m.imports,...g.reduce((C,R)=>[...C,...R.imports],[])],m.link=g,m.default=E(t,m),m}if(!t.items)return m;if(t.items.$ref){let g=b({type:t.items.$ref});return m.$refs=[...m.$refs,decodeURIComponent(t.items.$ref)],m.base=g.base,m.export="array",m.imports=[...m.imports,...g.imports],m.template=g.template,m.type=g.type,m.default=E(t,m),m}if(t.items.anyOf&&a&&a.type){let g=Tt(a);if(g&&g.definitions.some(C=>!je(C).includes("array")))return D({definition:t.items,openApi:o,parentDefinition:t,types:i})}let d=Array.isArray(t.items)?{anyOf:t.items}:t.items,x=D({definition:d,openApi:o,parentDefinition:t,types:i});return m.base=x.base,m.export="array",m.$refs=[...m.$refs,...x.$refs],m.imports=[...m.imports,...x.imports],m.link=x,m.template=x.template,m.type=x.type,m.default=E(t,m),m}let u=Tt(t);if(u){let d=Oo({...u,debug:e,definition:t,getModel:D,model:m,openApi:o,types:i});return {...m,...d}}if(p.includes("object")||t.properties||t.additionalProperties){if(t.properties&&(Object.keys(t.properties).length>0||!t.additionalProperties)){if(m.base="unknown",m.export="interface",m.type="unknown",m.default=E(t,m),Pt({debug:e,definition:t,getModel:D,openApi:o,parent:m,types:i}).forEach(g=>{m.$refs=[...m.$refs,...g.$refs],m.enums=[...m.enums,...g.enums],m.imports=[...m.imports,...g.imports],m.properties=[...m.properties,g],g.export==="enum"&&(m.enums=[...m.enums,g]);}),t.additionalProperties){let g=nn({debug:e,definition:t,getModel:D,model:m,openApi:o,types:i});m.properties=[...m.properties,g];}return !m.properties.length&&m.base==="unknown"&&m.type==="unknown"&&(m.export="dictionary",m.name||(m.name="[key: string]")),m}return nn({debug:e,definition:t,getModel:D,model:m,openApi:o,types:i})}if(t.const!==void 0){let d=t.const,x=typeof d=="string"?`"${d}"`:`${d}`;return m.base=x,m.export="const",m.type=x,m}if(p.length){let d=b({format:t.format,type:t.type});return m.base=d.base,m.export="generic",m.$refs=[...m.$refs,...d.$refs],m.imports=[...m.imports,...d.imports],m.isNullable=d.isNullable||m.isNullable,m.template=d.template,m.type=d.type,m.default=E(t,m),m}return m};var Rt=e=>{if(e.schema)return e.schema;if(e.content){let t=Object.entries(e.content);for(let[r,s]of t)if(s.schema){let n=r;return e.content[n].schema}}};var bo=e=>{let t=S(),r={},s=[];return e.components?(Object.entries(e.components.schemas??{}).forEach(([n,o])=>{let a=xt(n);r[a.name]=a;let i=D({definition:o,isDefinition:!0,meta:a,openApi:e,types:r});s=[...s,i];}),Object.entries(e.components.parameters??{}).forEach(([n,o])=>{let a=Rt(o);if(!a){t.debug&&console.warn("Skipping generating parameter:",n);return}let i=fo(n);r[i.name]=i;let p=D({definition:a,isDefinition:!0,meta:i,openApi:e,types:r});p.deprecated=o.deprecated,p.description=o.description||null,s=[...s,p];}),{models:s,types:r}):{models:s,types:r}};var Co=({openApi:e,parameter:t,types:r})=>{let s=S(),n={$refs:[],base:"unknown",deprecated:t.deprecated===!0,description:t.description||null,enum:[],enums:[],export:"interface",imports:[],in:t.in,isDefinition:!1,isNullable:fe(t),isReadOnly:!1,isRequired:t.required===!0,link:null,mediaType:null,prop:t.name,properties:[],template:null,type:"unknown"},o={...n,name:s.nameFn.operationParameter(n)};if(t.$ref){let i=b({type:t.$ref});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,export:"reference",imports:[...o.imports,...i.imports],template:i.template,type:i.type},o}let a=Rt(t);if(a){if(a.$ref?.startsWith(Me)&&(a=v(e,a)),a.$ref){let p=b({type:a.$ref});return o={...o,$refs:[...o.$refs,...p.$refs],base:p.base,export:"reference",imports:[...o.imports,...p.imports],template:p.template,type:p.type},o.default=E(a),o}let i=D({definition:a,openApi:e,types:r});return o={...o,$refs:[...o.$refs,...i.$refs],base:i.base,enum:[...o.enum,...i.enum],enums:[...o.enums,...i.enums],exclusiveMaximum:i.exclusiveMaximum,exclusiveMinimum:i.exclusiveMinimum,export:i.export,format:i.format,imports:[...o.imports,...i.imports],isNullable:o.isNullable||i.isNullable,isReadOnly:i.isReadOnly,isRequired:o.isRequired||i.isRequired,link:i.link,maxItems:i.maxItems,maxLength:i.maxLength,maxProperties:i.maxProperties,maximum:i.maximum,minItems:i.minItems,minLength:i.minLength,minProperties:i.minProperties,minimum:i.minimum,multipleOf:i.multipleOf,pattern:k(i.pattern),properties:[...o.properties,...i.properties],template:i.template,type:i.type,uniqueItems:i.uniqueItems},(o.enum.length||o.enums.length)&&!o.meta&&(o.meta=Ct(o)),o.default=i.default,o}return o};var va=["cookie","formData","header","path","query"],At=({openApi:e,parameters:t,types:r})=>{let s=S(),n={$refs:[],imports:[],parameters:[],parametersBody:null,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[]};return t.forEach(o=>{let a=v(e,o),i=Co({openApi:e,parameter:a,types:r}),p=s.filterFn?.operationParameter&&!s.filterFn?.operationParameter(i);if(!(!va.includes(a.in)||p)){switch(a.in){case"cookie":n.parametersCookie=[...n.parametersCookie,i];break;case"formData":n.parametersForm=[...n.parametersForm,i];break;case"header":n.parametersHeader=[...n.parametersHeader,i];break;case"path":n.parametersPath=[...n.parametersPath,i];break;case"query":n.parametersQuery=[...n.parametersQuery,i];break}n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.parameters=[...n.parameters,i];}}),n};var Ea=["application/json-patch+json","application/json","application/ld+json","application/x-www-form-urlencoded","multipart/batch","multipart/form-data","multipart/mixed","multipart/related","text/json","text/plain"],vt=(e,t)=>{let r=Object.keys(t).filter(n=>{let o=n.split(";")[0].trim();return Ea.includes(o)}).find(n=>!!t[n]?.schema);if(r)return {mediaType:r,schema:t[r].schema};let s=Object.keys(t).find(n=>!!t[n]?.schema);if(s)return {mediaType:s,schema:t[s].schema}};var Po=({body:e,debug:t,openApi:r,types:s})=>{let n=e["x-body-name"]??"requestBody",o={$refs:[],base:"unknown",default:void 0,description:e.description||null,enum:[],enums:[],export:"interface",imports:[],in:"body",isDefinition:!1,isNullable:e.nullable===!0,isReadOnly:!1,isRequired:e.required===!0,link:null,mediaType:null,name:n,prop:n,properties:[],template:null,type:"unknown"};if(!e.content)return o;let a=vt(r,e.content);if(!a)return o;switch(o.mediaType=a.mediaType,o.mediaType){case"application/x-www-form-urlencoded":case"multipart/form-data":o.in="formData",o.name="formData",o.prop="formData";break}if(a.schema.$ref){let p=b({type:a.schema.$ref});return o.export="reference",o.type=p.type,o.base=p.base,o.template=p.template,o.$refs=[...o.$refs,...p.$refs],o.imports=[...o.imports,...p.imports],o}let i=D({debug:t,definition:a.schema,openApi:r,types:s});return o.$refs=[...o.$refs,...i.$refs],o.base=i.base,o.enum=[...o.enum,...i.enum],o.enums=[...o.enums,...i.enums],o.exclusiveMaximum=i.exclusiveMaximum,o.exclusiveMinimum=i.exclusiveMinimum,o.export=i.export,o.format=i.format,o.imports=[...o.imports,...i.imports],o.isNullable=o.isNullable||i.isNullable,o.isReadOnly=i.isReadOnly,o.isRequired=o.isRequired||i.isRequired,o.link=i.link,o.maximum=i.maximum,o.maxItems=i.maxItems,o.maxLength=i.maxLength,o.maxProperties=i.maxProperties,o.minimum=i.minimum,o.minItems=i.minItems,o.minLength=i.minLength,o.minProperties=i.minProperties,o.multipleOf=i.multipleOf,o.pattern=k(i.pattern),o.properties=[...o.properties,...i.properties],o.template=i.template,o.type=i.type,o.uniqueItems=i.uniqueItems,o};var To=({code:e,openApi:t,response:r,types:s})=>{let n={$refs:[],base:e!==204?"unknown":"void",code:e,description:r.description||null,enum:[],enums:[],export:"generic",imports:[],in:"response",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],responseTypes:[],template:null,type:e!==204?"unknown":"void"};if(r.content){let o=vt(t,r.content);if(o){if(o.schema.$ref?.startsWith("#/components/responses/")&&(o.schema=v(t,o.schema)),o.schema.$ref){let i=b({type:o.schema.$ref});return n.base=i.base,n.export="reference",n.$refs=[...n.$refs,...i.$refs],n.imports=[...n.imports,...i.imports],n.template=i.template,n.type=i.type,n}let a=D({definition:o.schema,openApi:t,types:s});return n.export=a.export,n.type=a.type,n.base=a.base,n.template=a.template,n.link=a.link,n.isReadOnly=a.isReadOnly,n.isRequired=a.isRequired,n.isNullable=a.isNullable,n.format=a.format,n.maximum=a.maximum,n.exclusiveMaximum=a.exclusiveMaximum,n.minimum=a.minimum,n.exclusiveMinimum=a.exclusiveMinimum,n.multipleOf=a.multipleOf,n.maxLength=a.maxLength,n.minLength=a.minLength,n.maxItems=a.maxItems,n.minItems=a.minItems,n.uniqueItems=a.uniqueItems,n.maxProperties=a.maxProperties,n.minProperties=a.minProperties,n.pattern=k(a.pattern),n.$refs=[...n.$refs,...a.$refs],n.imports=[...n.imports,...a.imports],n.enum=[...n.enum,...a.enum],n.enums=[...n.enums,...a.enums],n.properties=[...n.properties,...a.properties],n}}if(r.headers)for(let o in r.headers)return n.in="header",n.name=o,n.type="string",n.base="string",n;return n};var Ro=({debug:e,openApi:t,responses:r,types:s})=>{let n=[];return Object.entries(r).forEach(([o,a])=>{let i=dt(o);if(!i)return;let p=v(t,a),c=To({code:i,openApi:t,response:p,types:s});n=[...n,c];}),n=gt(n),n.sort(yt)};var Be=(e,t)=>{let r=[...e],s=[...t];for(;s.length>0;){let n=s[0];s=s.slice(1),r.every(a=>a.in!==n.in||a.name!==n.name)&&(r=[...r,n]);}return r},Ao=({debug:e,method:t,op:r,openApi:s,pathParams:n,types:o,url:a})=>{let i=S(),p={$refs:[],deprecated:!!r.deprecated,description:r.description||null,id:r.operationId||null,imports:[],method:t.toUpperCase(),parameters:[],parametersBody:n.parametersBody,parametersCookie:[],parametersForm:[],parametersHeader:[],parametersPath:[],parametersQuery:[],path:a,responseHeader:null,responses:[],summary:r.summary||null,tags:r.tags||null},c={...p,name:i.nameFn.operation(p)};if(r.parameters){let m=At({openApi:s,parameters:r.parameters,types:o});c.$refs=[...c.$refs,...m.$refs],c.imports=[...c.imports,...m.imports],c.parameters=[...c.parameters,...m.parameters],c.parametersBody=m.parametersBody,c.parametersCookie=[...c.parametersCookie,...m.parametersCookie],c.parametersForm=[...c.parametersForm,...m.parametersForm],c.parametersHeader=[...c.parametersHeader,...m.parametersHeader],c.parametersPath=[...c.parametersPath,...m.parametersPath],c.parametersQuery=[...c.parametersQuery,...m.parametersQuery];}if(r.requestBody){let m=v(s,r.requestBody),u=Po({body:m,debug:e,openApi:s,types:o});c.$refs=[...c.$refs,...u.$refs],c.imports=[...c.imports,...u.imports],c.parameters=[...c.parameters,u],c.parametersBody=u;}if(r.responses){c.responses=Ro({openApi:s,responses:r.responses,types:o});let m=c.responses.filter(u=>u.responseTypes.includes("success"));c.responseHeader=ft(m),m.forEach(u=>{c.$refs=[...c.$refs,...u.$refs],c.imports=[...c.imports,...u.imports];});}return c.parameters=Be(c.parameters,n.parameters),c.parametersCookie=Be(c.parametersCookie,n.parametersCookie),c.parametersForm=Be(c.parametersForm,n.parametersForm),c.parametersHeader=Be(c.parametersHeader,n.parametersHeader),c.parametersPath=Be(c.parametersPath,n.parametersPath),c.parametersQuery=Be(c.parametersQuery,n.parametersQuery),c.parameters=ht(c.parameters),c};var vo=({openApi:e,types:t})=>{let r=S(),s=new Map,n=[];for(let o in e.paths){let a=e.paths[o],i=At({openApi:e,parameters:a.parameters??[],types:t});for(let p in a){let c=p,m=`${c.toUpperCase()} ${o}`;if(at.includes(c)){let u=a[c];if(u.operationId&&(s.has(u.operationId)?console.warn(`\u2757\uFE0F Duplicate operationId: ${u.operationId} in ${m}. Please ensure your operation IDs are unique. This behavior is not supported and will likely lead to unexpected results.`):s.set(u.operationId,m)),!r.filterFn?.operation||r.filterFn?.operation(m)){let d=Ao({method:c,op:u,openApi:e,pathParams:i,types:t,url:o});n.push(d);}}}}return n};var Eo=e=>{let t=e.servers?.[0],r=t?.variables||{},s=t?.url||"";return Object.entries(r).forEach(([n,o])=>{s=s.replace(`{${n}}`,o.default);}),s.replace(/\/$/g,"")};var qo=e=>{let t=pt(e.info.version),r=Eo(e),{models:s,types:n}=bo(e),o=vo({openApi:e,types:n});return {models:s,operations:o,server:r,types:n,version:t}};function So({openApi:e,config:t}){if(Gr(t),"openapi"in e)return qo(e);if("swagger"in e)return uo(e);throw new Error(`Unsupported OpenAPI specification: ${JSON.stringify(e,null,2)}`)}var ko=({spec:e})=>{let t=e;switch(t.openapi){case"3.1.0":return Jt(t);default:throw new Error("Unsupported OpenAPI specification")}};var rn=(e,t)=>{let r=h();if(Array.isArray(e))return e.map(n=>rn(n));if(typeof e!="object"||e===null)return e;let s={...e};return Object.entries(s).forEach(([n,o])=>{if(r.schemas.type==="form"&&["description","x-enum-descriptions","x-enum-varnames","x-enumNames","title"].includes(n)&&t!=="properties"){delete s[n];return}n==="$ref"&&typeof o=="string"&&(s[n]=decodeURIComponent(o)),o&&typeof o=="object"&&(s[n]=rn(o,n));}),s},qa=(e,t)=>{let r=h(),s=J(e);return r.schemas.name?r.schemas.name(s,t):`${s}Schema`},No=async({files:e,openApi:t})=>{let r=h();if(!r.schemas.export)return;e.schemas=new W({dir:r.output.path,name:"schemas.ts"});let s=(n,o)=>{let a=rn(o),i=l.objectExpression({obj:a}),p=l.constVariable({assertion:"const",exportConst:!0,expression:i,name:qa(n,o)});e.schemas.add(p);};"swagger"in t&&Object.entries(t.definitions??{}).forEach(([n,o])=>{s(n,o);}),"openapi"in t&&Object.entries(t.components?.schemas??{}).forEach(([n,o])=>{s(n,o);});};var Xe=e=>e.format==="date"||e.format==="date-time",on=e=>{let t=h();return e.base==="binary"?l.typeUnionNode({types:["Blob","File"]}):t.types.dates&&Xe(e)?l.typeNode("Date"):l.typeNode(e.base)},Sa=e=>{let t=e.base==="null"?!1:e.isNullable,r=on(e);if(e.export==="reference"&&e.$refs.length===1&&e.$refs[0].startsWith(ct)){let n=xt(e.base);r=l.typeNode(n.name);}return l.typeUnionNode({isNullable:t,types:[r]})},ka=e=>{if(e.link){if(Array.isArray(e.link)){let t=e.link.map(s=>Q(s));return l.typeTupleNode({isNullable:e.isNullable,types:t})}if(e.export==="array"&&e.maxItems&&e.minItems&&e.maxItems===e.minItems&&e.maxItems<=100){let t=Array(e.maxItems).fill(Q(e.link));return l.typeTupleNode({isNullable:e.isNullable,types:t})}return l.typeArrayNode([Q(e.link)],e.isNullable)}return l.typeArrayNode([on(e)],e.isNullable)},Na=e=>{let t=e.enum.map(r=>Ot(r.value));return l.typeUnionNode({isNullable:e.isNullable,types:t})},wa=e=>{let t=e.link&&!Array.isArray(e.link)?Q(e.link):on(e);return l.typeRecordNode(["string"],[t],e.isNullable)},wo=({model:e,style:t})=>{let r=e.properties.map(n=>l.nodeToString({node:Q(n),unescape:!0})).filter(F),s=t==="union"?l.typeUnionNode({isNullable:e.isNullable,types:r}):l.typeIntersectionNode({isNullable:e.isNullable,types:r});return e.meta?s:l.typeParenthesizedNode({type:s})},$a=e=>{if(!e.properties.length)return l.typeNode("unknown");let t=h(),r=A(t),s=e.properties.map(n=>{let o=n.isRequired?"":"?",a=Q(n),i=r?ee(we(sn(n.name))):/^\dXX$/.test(n.name)?ee(n.name):n.name;return n.name==="[key: string]"&&(i=n.name,o&&(o="",a=l.typeUnionNode({types:[a,"undefined"]}))),{comment:[n.description&&$(n.description),n.deprecated&&"@deprecated"],isReadOnly:n.isReadOnly,isRequired:o==="",name:i,type:a}});return l.typeInterfaceNode({isNullable:e.isNullable,properties:s})},Q=e=>{switch(e.export){case"all-of":return wo({model:e,style:"intersection"});case"any-of":case"one-of":return wo({model:e,style:"union"});case"array":return ka(e);case"dictionary":return wa(e);case"enum":return Na(e);case"interface":return $a(e);case"const":case"generic":case"reference":default:return Sa(e)}},G=({client:e,count:t=1,create:r=!1,meta:s,nameTransformer:n})=>{let o={created:!1,name:""},a=s.name;n&&(a=n(a)),t>1&&(a=`${a}${t}`);let i=e.types[a];return i?i.$ref===s.$ref?o={created:!1,name:a}:o=G({client:e,count:t+1,create:r,meta:s,nameTransformer:n}):r&&(e.types[a]=s,o={created:!0,name:a}),o},$o=({client:e,name:t})=>{let r={deleted:!1,name:""};return e.types[t]&&(delete e.types[t],r={deleted:!0,name:t}),r},sn=e=>{let t=h();return A(t)?e:H({input:tn(e)}).replace(Z,"_$1")};var Ae=({meta:e,onImport:t,...r})=>{if(!e)return {created:!1,name:""};let{created:s,name:n}=G({meta:e,...r});return n&&t(n),{created:s,name:n}},Ho=e=>`${e}ModelResponseTransformer`,ve=e=>`${H({input:e,pascalCase:!0})}Data`,Le=e=>`${H({input:e,pascalCase:!0})}Error`,an=e=>`${e}Transformer`,ae=e=>`${H({input:e,pascalCase:!0})}Response`,pn=(e,t)=>{let r=be();return t?`${r}<${e||"unknown"}, ${t}>`:e?`${r}<${e}>`:r},Io=(e,t)=>{let r=h(),{name:s}=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ve}),n=ie(t.parameters);if(A(r))return [{isRequired:n,name:"options",type:pn(s,"ThrowOnError")}];if(!t.parameters.length)return [];let o=a=>{if(a.default!==void 0)return JSON.stringify(a.default,null,4)};return r.useOptions?[{default:n?void 0:{},name:"data",type:s}]:t.parameters.map(a=>{let i=`${s}['${a.name}']`;return {default:a?.default,isRequired:(!a.isRequired&&!o(a)?"?":"")=="",name:a.name,type:i}})},Do=(e,t)=>{let r=h(),s=l.typeNode("void");if(t.responses.filter(o=>o.responseTypes.includes("success")).length){let{name:o}=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ae});s=l.typeUnionNode({types:[o]});}return r.useOptions&&r.services.response==="response"&&(s=l.typeNode("ApiResult",[s])),r.client.name==="legacy/angular"?s=l.typeNode("Observable",[s]):s=l.typeNode("CancelablePromise",[s]),s},Mo=e=>{let t=h();if(A(t))return [e.deprecated&&"@deprecated",e.summary&&$(e.summary),e.description&&$(e.description)];let r=[];e.parameters.length&&(t.useOptions?r=["@param data The data for the request.",...e.parameters.map(o=>`@param data.${o.name} ${o.description?$(o.description):""}`)]:r=e.parameters.map(o=>`@param ${o.name} ${o.description?$(o.description):""}`));let s=e.responses.filter(o=>o.responseTypes.includes("success"));return [e.deprecated&&"@deprecated",e.summary&&$(e.summary),e.description&&$(e.description),...r,...s.map(o=>`@returns ${o.type} ${o.description?$(o.description):""}`),"@throws ApiError"]},Ia=(e,t,r,s)=>{let n=h(),o=ae(t.name),{name:a}=G({client:e,meta:{$ref:`transformers/${o}`,name:o},nameTransformer:an});if(a&&r(a),A(n)){let m=[{spread:"options"}],d=t.parameters.filter(x=>x.in==="body"||x.in==="formData").map(x=>x.mediaType).filter(Boolean).filter(F);return d.length===1&&(d[0]==="multipart/form-data"&&(m=[...m,{spread:"formDataBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:null},{spread:"options?.headers"}]}],s?.("formDataBodySerializer")),d[0]==="application/x-www-form-urlencoded"&&(m=[...m,{spread:"urlSearchParamsBodySerializer"},{key:"headers",value:[{key:"Content-Type",value:d[0]},{spread:"options?.headers"}]}],s?.("urlSearchParamsBodySerializer"))),m=[...m,{key:"url",value:t.path}],a&&(m=[...m,{key:"responseTransformer",value:a}]),l.objectExpression({identifiers:["responseTransformer"],obj:m})}let i=m=>m.reduce((u,d)=>{let x=d.prop,g=n.useOptions?`data.${d.name}`:d.name;return x===g?u[x]=x:ee(x)===x?u[x]=g:u[`'${x}'`]=g,u},{}),p={method:t.method,url:t.path};t.parametersPath.length&&(p.path=i(t.parametersPath)),t.parametersCookie.length&&(p.cookies=i(t.parametersCookie)),t.parametersHeader.length&&(p.headers=i(t.parametersHeader)),t.parametersQuery.length&&(p.query=i(t.parametersQuery)),t.parametersForm.length&&(p.formData=i(t.parametersForm)),t.parametersBody&&(t.parametersBody.in==="formData"&&(n.useOptions?p.formData=`data.${t.parametersBody.name}`:p.formData=t.parametersBody.name),t.parametersBody.in==="body"&&(n.useOptions?p.body=`data.${t.parametersBody.name}`:p.body=t.parametersBody.name)),t.parametersBody?.mediaType&&(p.mediaType=t.parametersBody?.mediaType),t.responseHeader&&(p.responseHeader=t.responseHeader),a&&(p.responseTransformer=a);let c=t.responses.filter(m=>m.responseTypes.includes("error"));if(c.length>0){let m={};c.forEach(u=>{m[u.code]=u.description??"";}),p.errors=m;}return l.objectExpression({identifiers:["body","cookies","formData","headers","path","query","responseTransformer"],obj:p,shorthand:!0})},de=(e,t)=>{let r=h();return r.services.methodNameBuilder?r.services.methodNameBuilder(e):t&&e.name.match(Z)?`${e.name}_`:e.name},jo=(e,t,r,s)=>{let n=h(),o=Ia(e,t,r,s);if(A(n)){let a=G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:Le}).name,p=t.responses.filter(c=>c.responseTypes.includes("success")).length?G({client:e,meta:{$ref:t.name,name:t.name},nameTransformer:ae}).name:"void";return [l.returnFunctionCall({args:[o],name:`(options?.client ?? client).${t.method.toLocaleLowerCase()}`,types:a&&p?[p,a,"ThrowOnError"]:a?["unknown",a,"ThrowOnError"]:p?[p,"unknown","ThrowOnError"]:[]})]}return n.name?[l.returnFunctionCall({args:[o],name:"this.httpRequest.request"})]:n.client.name==="legacy/angular"?[l.returnFunctionCall({args:["OpenAPI","this.http",o],name:"__request"})]:[l.returnFunctionCall({args:["OpenAPI",o],name:"__request"})]},Da=({client:e,onClientImport:t,onImport:r,onNode:s,service:n})=>{let o=h(),a=A(o);for(let m of n.operations)m.parameters.length&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:ve,onImport:r}),a&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:Le,onImport:r}),m.responses.filter(d=>d.responseTypes.includes("success")).length&&Ae({client:e,meta:{$ref:m.name,name:m.name},nameTransformer:ae,onImport:r});let i={default:!1,extends:"boolean",name:"ThrowOnError"};if(!o.services.asClass&&!o.name){for(let m of n.operations){let u={parameters:Io(e,m),returnType:a?void 0:Do(e,m),statements:jo(e,m,r,t),types:a?[i]:void 0},d=o.client.name==="legacy/angular"?l.anonymousFunction(u):l.arrowFunction(u),x=l.constVariable({comment:Mo(m),exportConst:!0,expression:d,name:de(m,!0)});s(x);}return}let p=n.operations.map(m=>l.methodDeclaration({accessLevel:"public",comment:Mo(m),isStatic:o.name===void 0&&o.client.name!=="legacy/angular",name:de(m,!1),parameters:Io(e,m),returnType:a?void 0:Do(e,m),statements:jo(e,m,r,t),types:a?[i]:void 0}));if(!p.length)return;o.name?p=[l.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"httpRequest",type:"BaseHttpRequest"}]}),...p]:o.client.name==="legacy/angular"&&(p=[l.constructorDeclaration({multiLine:!1,parameters:[{accessLevel:"public",isReadOnly:!0,name:"http",type:"HttpClient"}]}),...p]);let c=l.classDeclaration({decorator:o.client.name==="legacy/angular"?{args:[{providedIn:"root"}],name:"Injectable"}:void 0,members:p,name:mt(n.name)});s(c);},Ma=({files:e})=>{if(!h().client.name)throw new Error("\u{1F6AB} client needs to be set to generate services - which HTTP client do you want to use?");if(!e.types)throw new Error("\u{1F6AB} types need to be exported to generate services - enable type generation")},Fo=async({client:e,files:t})=>{let r=h();if(!r.services.export)return;Ma({files:t});let s=A(r);if(t.services=new W({dir:r.output.path,name:"services.ts"}),s?(t.services.import({module:Oe(),name:"createClient"}),t.services.import({module:Oe(),name:"createConfig"}),t.services.import({asType:!0,module:Oe(),name:be()})):(r.client.name==="legacy/angular"?(t.services.import({module:"@angular/core",name:"Injectable"}),r.name||t.services.import({module:"@angular/common/http",name:"HttpClient"}),t.services.import({asType:!0,module:"rxjs",name:"Observable"})):t.services.import({asType:!0,module:"./core/CancelablePromise",name:"CancelablePromise"}),r.services.response==="response"&&t.services.import({asType:!0,module:"./core/ApiResult",name:"ApiResult"}),r.name?t.services.import({asType:r.client.name!=="legacy/angular",module:"./core/BaseHttpRequest",name:"BaseHttpRequest"}):(t.services.import({module:"./core/OpenAPI",name:"OpenAPI"}),t.services.import({alias:"__request",module:"./core/request",name:"request"}))),s){let n=l.constVariable({exportConst:!0,expression:l.callExpression({functionName:"createClient",parameters:[l.callExpression({functionName:"createConfig"})]}),name:"client"});t.services.add(n);}for(let n of e.services)Da({client:e,onClientImport:o=>{t.services.import({module:Oe(),name:o});},onImport:o=>{t.services.import({asType:!o.endsWith("Transformer"),module:`./${t.types.getName(!1)}`,name:o});},onNode:o=>{t.services.add(o);},service:n});};var ja="$OpenApiTs",L={$refs:[],base:"",description:null,enum:[],enums:[],export:"interface",imports:[],in:"",isDefinition:!1,isNullable:!1,isReadOnly:!1,isRequired:!1,link:null,name:"",properties:[],template:null,type:""},Ha=({leadingComment:e,comments:t,meta:r,obj:s,onNode:n,...o})=>{if(!r)return;let{created:a,name:i}=G({create:!0,meta:r,...o});if(a){let p=l.enumDeclaration({comments:t,leadingComment:e,name:i,obj:s});n(p);}},me=({comment:e,meta:t,onCreated:r,onNode:s,type:n,...o})=>{if(!t)return {created:!1,name:""};let a=G({create:!0,meta:t,...o}),{created:i,name:p}=a;if(i){let c=l.typeAliasDeclaration({comment:e,exportType:!0,name:p,type:n});s(c),r?.(p);}return a},Fa=e=>{let t=h(),r=[];Lo(e),e.model.enums.forEach(s=>t.types.enums!=="typescript+namespace"?Bo({...e,model:s}):Ba({...e,model:s,onNode:n=>{r.push(n);}})),r.length&&e.onNode(l.namespaceDeclaration({name:e.model.name,statements:r}));},Bo=({client:e,model:t,onNode:r})=>{let s=h(),n={},o={};t.enum.forEach(i=>{let{key:p,value:c}=bt(i);n[p]=c;let m=i.customDescription||i.description;m&&(o[p]=[$(m)]);});let a=[t.description&&$(t.description),t.deprecated&&"@deprecated"];if(s.types.enums==="typescript"||s.types.enums==="typescript+namespace"){Ha({client:e,comments:o,leadingComment:a,meta:t.meta,obj:n,onNode:r});return}me({client:e,comment:a,meta:t.meta,onCreated:i=>{if(s.types.enums==="javascript"){let p=l.objectExpression({multiLine:!0,obj:Object.entries(n).map(([m,u])=>({comments:o[m],key:m,value:u})),unescape:!0}),c=l.constVariable({assertion:"const",comment:a,exportConst:!0,expression:p,name:i});r(c);}},onNode:r,type:yo(t.enum)});},Ba=({model:e,onNode:t})=>{let r={},s={};e.enum.forEach(n=>{let{key:o,value:a}=bt(n);r[o]=a;let i=n.customDescription||n.description;i&&(s[o]=[$(i)]);}),t(l.enumDeclaration({comments:s,leadingComment:[e.description&&$(e.description),e.deprecated&&"@deprecated"],name:e.meta?.name||e.name,obj:r}));},Lo=({client:e,model:t,onNode:r})=>{me({client:e,comment:[t.description&&$(t.description),t.deprecated&&"@deprecated"],meta:t.meta,onNode:r,type:Q(t)});},La=e=>{switch(e.model.export){case"all-of":case"any-of":case"one-of":case"interface":return Fa(e);case"enum":return Bo(e);default:return Lo(e)}},_a=({client:e,onNode:t})=>{let r={},s=h();if(!s.services.export&&!s.types.tree)return;let n=A(s);for(let a of e.services)for(let i of a.operations){if(!i.parameters.length&&!i.responses.length)continue;r[i.path]||(r[i.path]={});let p=r[i.path];p[i.method]||(p[i.method]={});let c=p[i.method];if(c.$ref=i.name,i.responses.length>0){if(c.res||(c.res={}),Array.isArray(c.res))continue;i.responses.forEach(u=>{c.res[u.code]=u;});}if(i.parameters.length>0){let u=i.parameters.find(P=>P.in==="body");u||(u=i.parameters.find(P=>P.in==="formData"));let d={mediaType:null,...L,...u,in:"body",isRequired:u?u.isRequired:!1,name:"body",prop:"body"},x={...L,in:"header",isRequired:ie(i.parameters.filter(P=>P.in==="header")),mediaType:null,name:n?"headers":"header",prop:n?"headers":"header",properties:i.parameters.filter(P=>P.in==="header").sort(Ue)},g={...L,in:"path",isRequired:ie(i.parameters.filter(P=>P.in==="path")),mediaType:null,name:"path",prop:"path",properties:i.parameters.filter(P=>P.in==="path").sort(Ue)},C={...L,in:"query",isRequired:ie(i.parameters.filter(P=>P.in==="query")),mediaType:null,name:"query",prop:"query",properties:i.parameters.filter(P=>P.in==="query").sort(Ue)},R=n?[d,x,g,C].filter(P=>P.properties.length||P.$refs.length||P.mediaType):Ve([...i.parameters]);c.req=R,me({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:ve,onNode:t,type:Q({...L,isRequired:!0,properties:R})});}let m=i.responses.filter(u=>u.responseTypes.includes("success"));if(m.length>0){me({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:ae,onNode:t,type:Q({...L,export:"any-of",isRequired:!0,properties:m})});let u=i.responses.filter(d=>d.responseTypes.includes("error"));n&&me({client:e,meta:{$ref:i.name,name:i.name},nameTransformer:Le,onNode:t,type:Q(u.length?{...L,export:"one-of",isRequired:!0,properties:u}:{...L,base:"unknown",isRequired:!0,type:"unknown"})});}}let o=Object.entries(r).map(([a,i])=>{let p=Object.entries(i).map(([m,u])=>{let d=m,x=[];if(u.req){let C=u.$ref,{name:R}=G({client:e,meta:{$ref:C,name:C},nameTransformer:ve}),P={...L,base:R,export:"reference",isRequired:!0,name:"req",properties:[],type:R};x=[...x,P];}if(u.res){let C=Object.entries(u.res).map(([P,M])=>({...L,...M,isRequired:!0,name:String(P)})),R={...L,isRequired:!0,name:"res",properties:C};x=[...x,R];}return {...L,isRequired:!0,name:d.toLocaleLowerCase(),properties:x}}).filter(Boolean);return {...L,isRequired:!0,name:`'${a}'`,properties:p}});s.types.tree&&me({client:e,meta:{$ref:"@hey-api/openapi-ts",name:ja},onNode:t,type:Q({...L,properties:o})});},_o=async({client:e,files:t})=>{let r=h();r.types.export&&(t.types=new W({dir:r.output.path,name:"types.ts"}));let s=n=>{t.types?.add(n);};for(let n of e.models)La({client:e,model:n,onNode:s});_a({client:e,onNode:s});};var ye="data",Va=e=>e.base==="unknown"&&e.export==="generic"&&e.type==="unknown",Uo=({client:e,model:t})=>t.$refs.map(s=>{let n=e.models.find(o=>o.meta?.$ref===s);if(!n)throw new Error(`Ref ${s} could not be found. Transformers cannot be generated without having access to all refs.`);return n}),Vo=e=>{let t=e.model.meta.name,{name:r}=me({...e,meta:{$ref:`transformers/${t}`,name:t},nameTransformer:Ho,onCreated:n=>{let o=Et({...e,meta:{$ref:`transformers/${t}`,name:n},path:[ye]});Ko({...e,async:!1,name:n,statements:o});},type:`(${ye}: any) => ${t}`});return {created:!!e.client.types[r],name:r}},Ka=e=>{let{model:t}=e,r=Uo(e);if(r.length===1){let{created:s,name:n}=Vo({...e,model:r[0]});return s?[l.transformArrayMutation({path:e.path,transformerName:n})]:[]}return Xe(t)||t.link&&!Array.isArray(t.link)&&t.link.export==="any-of"&&t.link.properties.find(s=>Xe(s))?[l.transformArrayMap({path:e.path,transformExpression:l.conditionalExpression({condition:l.identifier({text:"item"}),whenFalse:l.identifier({text:"item"}),whenTrue:l.transformNewDate({parameterName:"item"})})})]:[]},Wa=e=>{let{model:t}=e,r=[...e.path,t.name];return t.type==="string"&&t.export!=="array"&&Xe(t)?[l.transformDateMutation({path:r})]:Et({...e,model:t,path:r})},Et=e=>{let{model:t}=e;switch(t.export){case"array":return Ka(e);case"interface":return t.properties.flatMap(r=>Wa({...e,model:r}));case"reference":{if(t.$refs.length!==1)return [];let r=Uo(e),{created:s,name:n}=Vo({...e,model:r[0]});return s?t.in==="response"?[l.expressionToStatement({expression:l.callExpression({functionName:n,parameters:[ye]})})]:l.transformFunctionMutation({path:e.path,transformerName:n}):[]}default:return []}},Ko=({async:e,client:t,name:r,onNode:s,onRemoveNode:n,statements:o})=>{let a={created:!1,name:r};if(!o.length)return $o({client:t,name:r}),n?.(),a;let i=l.arrowFunction({async:e,multiLine:!0,parameters:[{name:ye}],statements:[...o,l.returnVariable({name:ye})]}),p=l.constVariable({exportConst:!0,expression:i,name:r,typeName:r});return s(p),{created:!0,name:r}},Wo=async({client:e,onNode:t,onRemoveNode:r})=>{let s=h();for(let n of e.services)for(let o of n.operations){let a=o.responses.filter(c=>c.responseTypes.includes("success"));if(!a.length)continue;let i=a.filter(c=>!Va(c));if(!i.length)continue;if(i.length>1){s.debug&&console.warn(`\u2757\uFE0F Transformers warning: route ${o.method} ${o.path} has ${i.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);continue}let p=ae(o.name);me({client:e,meta:{$ref:`transformers/${p}`,name:p},nameTransformer:an,onCreated:c=>{let m=a.length>1?a.flatMap(u=>{let d=Et({client:e,meta:{$ref:`transformers/${p}`,name:p},model:u,onNode:t,onRemoveNode:r,path:[ye]});return d.length?[l.ifStatement({expression:l.safeAccessExpression(["data"]),thenStatement:y.factory.createBlock(d)})]:[]}):Et({client:e,meta:{$ref:`transformers/${p}`,name:p},model:a[0],onNode:t,onRemoveNode:r,path:[ye]});Ko({async:!0,client:e,name:c,onNode:t,onRemoveNode:r,statements:m});},onNode:t,type:`(${ye}: any) => Promise<${p}>`});}};var Go=async(e,t,r)=>{let s=h();if(s.services.include&&s.services.asClass){let a=new RegExp(s.services.include);t.services=t.services.filter(i=>a.test(i.name));}if(s.types.include){let a=new RegExp(s.types.include);t.models=t.models.filter(i=>a.test(i.name));}let n=K.resolve(s.output.path),o={};await pr(n,s.client.name),await _o({client:t,files:o}),await No({files:o,openApi:e}),s.services.export&&t.services.length&&s.types.dates==="types+transform"&&await Wo({client:t,onNode:a=>{o.types?.add(a);},onRemoveNode:()=>{o.types?.removeNode();}}),await Fo({client:t,files:o}),await ar(e,n,t,r),await cr(K.resolve(s.output.path,"core"),t,r),await Kr({files:o}),await Wr({client:t,files:o}),Object.entries(o).forEach(([a,i])=>{s.dryRun||(a==="index"?i.write():i.write(`
|
|
17
19
|
|
|
18
|
-
`));});};var qt={handler:()=>{},name:"@hey-api/schemas",output:"schemas"};var St={handler:()=>{},name:"@hey-api/services",output:"services"};var kt={handler:()=>{},name:"@hey-api/types",output:"types"};var Xa=e=>`${de(e,!1)}InfiniteOptions`,za=e=>`${de(e,!1)}Mutation`,Ja=e=>`${de(e,!1)}Options`,Nt=(e,t)=>`${de(e,!1)}${t?"Infinite":""}QueryKey`,Ya=({files:e})=>{if(!e.services)throw new Error("\u{1F6AB} services need to be exported to use TanStack Query plugin - enable service generation")},Za=e=>{switch(e.in){case"formData":return "body";case"header":return "headers";default:return e.in}},_e=/^(cursor|offset|page|start)/,rs="createQueryKey",Xo="infiniteQueryOptions",zo="mutationOptions",ln="QueryKey",Jo="queryOptions",Je="TOptions",mn=()=>h().client.name==="@hey-api/client-axios"?"baseURL":"baseUrl",Yo=({file:e})=>{let t=l.indexedAccessTypeNode({indexType:l.typeNode(0),objectType:l.typeNode(ln,[l.typeNode(Je)])}),r=l.identifier({text:"infinite"}),s=l.constVariable({expression:l.arrowFunction({multiLine:!0,parameters:[{name:"id",type:l.typeNode("string")},{isRequired:!1,name:"options",type:l.typeNode(Je)},{isRequired:!1,name:"infinite",type:l.typeNode("boolean")}],returnType:t,statements:[l.constVariable({assertion:t,expression:l.objectExpression({multiLine:!1,obj:[{key:"_id",value:l.identifier({text:"id"})},{key:mn(),value:l.identifier({text:`(options?.client ?? client).getConfig().${mn()}`})}]}),name:"params",typeName:t}),l.ifStatement({expression:r,thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"_infinite"}),right:r})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"body"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"body"}),right:l.propertyAccessExpression({expression:"options",name:"body"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"headers"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"headers"}),right:l.propertyAccessExpression({expression:"options",name:"headers"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"path"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"path"}),right:l.propertyAccessExpression({expression:"options",name:"path"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"query"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"query"}),right:l.propertyAccessExpression({expression:"options",name:"query"})})})],!0)}),l.returnVariable({name:"params"})],types:[{extends:l.typeReferenceNode({typeName:l.identifier({text:be()})}),name:Je}]}),name:rs});e.add(s);},Zo=({file:e})=>{let t=[{name:"_id",type:l.keywordTypeNode({keyword:"string"})},{isRequired:!1,name:"_infinite",type:l.keywordTypeNode({keyword:"boolean"})}],r=l.typeAliasDeclaration({name:ln,type:l.typeTupleNode({types:[l.typeIntersectionNode({types:[l.typeReferenceNode({typeName:`Pick<${Je}, '${mn()}' | 'body' | 'headers' | 'path' | 'query'>`}),l.typeInterfaceNode({properties:t})]})]}),typeParameters:[{extends:l.typeReferenceNode({typeName:l.identifier({text:be()})}),name:Je}]});e.add(r);},cn=({client:e,file:t,operation:r,typesModulePath:s})=>{let{name:n}=Ae({client:e,meta:r.parameters.length?{$ref:r.name,name:r.name}:void 0,nameTransformer:ve,onImport:a=>{t.import({asType:!0,module:s,name:a});}});return {typeData:pn(n)}},es=({client:e,file:t,operation:r,pluginName:s,typesModulePath:n})=>{let o=h(),{name:a}=Ae({client:e,meta:{$ref:r.name,name:r.name},nameTransformer:Le,onImport:p=>{t.import({asType:!0,module:n,name:p});}}),i={asType:!0,name:a};if(i.name||(i=t.import({asType:!0,module:s,name:"DefaultError"})),o.client.name==="@hey-api/client-axios"){let p=t.import({asType:!0,module:"axios",name:"AxiosError"});i={...p,name:`${p.name}<${i.name}>`};}return {typeError:i}},ts=({client:e,file:t,operation:r,typesModulePath:s})=>{let{name:n}=Ae({client:e,meta:{$ref:r.name,name:r.name},nameTransformer:ie,onImport:a=>{t.import({asType:!0,module:s,name:a});}});return {typeResponse:n||"void"}},ns=({isInfinite:e,operation:t})=>l.arrayLiteralExpression({elements:[l.callExpression({functionName:rs,parameters:[l.stringLiteral({text:t.name}),"options",e?l.ots.boolean(!0):void 0]})],multiLine:!1}),ge=({client:e,files:t,outputParts:r,plugin:s})=>{if(s.name!=="@tanstack/react-query"&&s.name!=="@tanstack/solid-query"&&s.name!=="@tanstack/svelte-query"&&s.name!=="@tanstack/vue-query")return;Ya({files:t});let n=t[s.name];n.import({asType:!0,module:Oe(),name:be()});let o=new Array(r.length).fill("").join("../")||"./",a=o+t.types.getName(!1),i=s.name==="@tanstack/svelte-query"||s.name==="@tanstack/solid-query"?"MutationOptions":"UseMutationOptions",p,c=!1,m=!1,u=!1,d=!1;for(let x of e.services)for(let g of x.operations){let C=de(g,!0),R=!1;if(s.queryOptions&&["GET","POST"].includes(g.method)){d||(d=!0,c||(Zo({file:n}),Yo({file:n}),c=!0),n.import({module:s.name,name:Jo})),R=!0;let{typeData:M}=cn({client:e,file:n,operation:g,typesModulePath:a}),X=se(g.parameters),w=l.constVariable({exportConst:!0,expression:l.arrowFunction({parameters:[{isRequired:X,name:"options",type:M}],statements:ns({operation:g})}),name:Nt(g)});n.add(w);let _=l.arrowFunction({parameters:[{isRequired:X,name:"options",type:M}],statements:[l.returnFunctionCall({args:[l.objectExpression({obj:[{key:"queryFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"queryKey"}]}],statements:[l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})},{key:"queryKey",value:l.callExpression({functionName:Nt(g),parameters:["options"]})}]})],name:Jo})]}),he=l.constVariable({comment:[],exportConst:!0,expression:_,name:Ja(g)});n.add(he);}if(s.infiniteQueryOptions&&["GET","POST"].includes(g.method)){let M,X=g.parameters.find(w=>{if(_e.lastIndex=0,_e.test(w.name))return M=w,!0;if(w.in==="body"){if(w.export==="reference"){let _=w.$refs[0];return e.models.find(xe=>xe.meta?.$ref===_)?.properties.find(xe=>{if(_e.lastIndex=0,_e.test(xe.name))return M=xe,!0})}return w.properties.find(_=>{if(_e.lastIndex=0,_e.test(_.name))return M=_,!0})}});if(X&&M){m||(m=!0,c||(Zo({file:n}),Yo({file:n}),c=!0),n.import({module:s.name,name:Xo}),p=n.import({asType:!0,module:s.name,name:"InfiniteData"})),R=!0;let{typeData:w}=cn({client:e,file:n,operation:g,typesModulePath:a}),{typeError:_}=es({client:e,file:n,operation:g,pluginName:s.name,typesModulePath:a}),{typeResponse:he}=ts({client:e,file:n,operation:g,typesModulePath:a}),xe=se(g.parameters),jt=`${ln}<${w}>`,yn=`Pick<${jt}[0], 'body' | 'headers' | 'path' | 'query'>`,oi=`${M.base} | ${yn}`,si=l.constVariable({exportConst:!0,expression:l.arrowFunction({parameters:[{isRequired:xe,name:"options",type:w}],returnType:jt,statements:ns({isInfinite:!0,operation:g})}),name:Nt(g,!0)});n.add(si);let ii=l.arrowFunction({parameters:[{isRequired:xe,name:"options",type:w}],statements:[l.returnFunctionCall({args:[l.objectExpression({comments:[{jsdoc:!1,lines:["@ts-ignore"]}],obj:[{key:"queryFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"pageParam"},{name:"queryKey"}]}],statements:[l.constVariable({comment:[{jsdoc:!1,lines:["@ts-ignore"]}],expression:l.conditionalExpression({condition:l.binaryExpression({left:l.typeOfExpression({text:"pageParam"}),operator:"===",right:l.stringLiteral({text:"object"})}),whenFalse:l.objectExpression({multiLine:!0,obj:[{key:Za(X),value:l.objectExpression({multiLine:!0,obj:[{key:M.name,value:l.identifier({text:"pageParam"})}]})}]}),whenTrue:l.identifier({text:"pageParam"})}),name:"page",typeName:yn}),l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"body",value:l.objectExpression({multiLine:!0,obj:[{assertion:"any",spread:"queryKey[0].body"},{assertion:"any",spread:"page.body"}]})},{key:"headers",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].headers"},{spread:"page.headers"}]})},{key:"path",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].path"},{spread:"page.path"}]})},{key:"query",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].query"},{spread:"page.query"}]})},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})},{key:"queryKey",value:l.callExpression({functionName:Nt(g,!0),parameters:["options"]})}]})],name:Xo,types:[he,_.name,`${typeof p=="string"?p:p.name}<${he}>`,jt,oi]})]}),ai=l.constVariable({comment:[],exportConst:!0,expression:ii,name:Xa(g)});n.add(ai);}}if(s.mutationOptions&&["DELETE","PATCH","POST","PUT"].includes(g.method)){u||(u=!0,n.import({asType:!0,module:s.name,name:i})),R=!0;let{typeData:M}=cn({client:e,file:n,operation:g,typesModulePath:a}),{typeError:X}=es({client:e,file:n,operation:g,pluginName:s.name,typesModulePath:a}),{typeResponse:w}=ts({client:e,file:n,operation:g,typesModulePath:a}),_=l.arrowFunction({statements:[l.constVariable({expression:l.objectExpression({obj:[{key:"mutationFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{name:"options"}],statements:[l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})}]}),name:zo,typeName:`${i}<${w}, ${X.name}, ${M}>`}),l.returnVariable({name:zo})]}),he=l.constVariable({comment:[],exportConst:!0,expression:_,name:za(g)});n.add(he);}let P=o+t.services.getName(!1);(d||m)&&n.import({module:P,name:"client"}),R&&n.import({module:P,name:C});}};var wt={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/react-query",output:"@tanstack/react-query",queryOptions:!0};var $t={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/solid-query",output:"@tanstack/solid-query",queryOptions:!0};var It={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/svelte-query",output:"@tanstack/svelte-query",queryOptions:!0};var Dt={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/vue-query",output:"@tanstack/vue-query",queryOptions:!0};var un={"@hey-api/schemas":qt,"@hey-api/services":St,"@hey-api/types":kt,"@tanstack/react-query":wt,"@tanstack/solid-query":$t,"@tanstack/svelte-query":It,"@tanstack/vue-query":Dt};var os=["@hey-api/client-axios","@hey-api/client-fetch","legacy/angular","legacy/axios","legacy/fetch","legacy/node","legacy/xhr"];var ss=async e=>{let t=existsSync(e)?K.resolve(e):e;return await np.bundle(t,t,{})};var is={1:function(e,t,r,s,n){return `import { NgModule} from '@angular/core';
|
|
20
|
+
`));});};var qt={handler:()=>{},name:"@hey-api/schemas",output:"schemas"};var St={handler:()=>{},name:"@hey-api/services",output:"services"};var kt={handler:()=>{},name:"@hey-api/types",output:"types"};var Qa=e=>`${de(e,!1)}InfiniteOptions`,Ga=e=>`${de(e,!1)}Mutation`,Xa=e=>`${de(e,!1)}Options`,Nt=(e,t)=>`${de(e,!1)}${t?"Infinite":""}QueryKey`,za=({files:e})=>{if(!e.services)throw new Error("\u{1F6AB} services need to be exported to use TanStack Query plugin - enable service generation")},Ja=e=>{switch(e.in){case"formData":return "body";case"header":return "headers";default:return e.in}},_e=/^(cursor|offset|page|start)/,rs="createQueryKey",Xo="infiniteQueryOptions",zo="mutationOptions",ln="QueryKey",Jo="queryOptions",Je="TOptions",mn=()=>h().client.name==="@hey-api/client-axios"?"baseURL":"baseUrl",Yo=({file:e})=>{let t=l.indexedAccessTypeNode({indexType:l.typeNode(0),objectType:l.typeNode(ln,[l.typeNode(Je)])}),r=l.identifier({text:"infinite"}),s=l.constVariable({expression:l.arrowFunction({multiLine:!0,parameters:[{name:"id",type:l.typeNode("string")},{isRequired:!1,name:"options",type:l.typeNode(Je)},{isRequired:!1,name:"infinite",type:l.typeNode("boolean")}],returnType:t,statements:[l.constVariable({assertion:t,expression:l.objectExpression({multiLine:!1,obj:[{key:"_id",value:l.identifier({text:"id"})},{key:mn(),value:l.identifier({text:`(options?.client ?? client).getConfig().${mn()}`})}]}),name:"params",typeName:t}),l.ifStatement({expression:r,thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"_infinite"}),right:r})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"body"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"body"}),right:l.propertyAccessExpression({expression:"options",name:"body"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"headers"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"headers"}),right:l.propertyAccessExpression({expression:"options",name:"headers"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"path"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"path"}),right:l.propertyAccessExpression({expression:"options",name:"path"})})})],!0)}),l.ifStatement({expression:l.propertyAccessExpression({expression:l.identifier({text:"options"}),isOptional:!0,name:l.identifier({text:"query"})}),thenStatement:y.factory.createBlock([l.expressionToStatement({expression:l.binaryExpression({left:l.propertyAccessExpression({expression:"params",name:"query"}),right:l.propertyAccessExpression({expression:"options",name:"query"})})})],!0)}),l.returnVariable({name:"params"})],types:[{extends:l.typeReferenceNode({typeName:l.identifier({text:be()})}),name:Je}]}),name:rs});e.add(s);},Zo=({file:e})=>{let t=[{name:"_id",type:l.keywordTypeNode({keyword:"string"})},{isRequired:!1,name:"_infinite",type:l.keywordTypeNode({keyword:"boolean"})}],r=l.typeAliasDeclaration({name:ln,type:l.typeTupleNode({types:[l.typeIntersectionNode({types:[l.typeReferenceNode({typeName:`Pick<${Je}, '${mn()}' | 'body' | 'headers' | 'path' | 'query'>`}),l.typeInterfaceNode({properties:t})]})]}),typeParameters:[{extends:l.typeReferenceNode({typeName:l.identifier({text:be()})}),name:Je}]});e.add(r);},cn=({client:e,file:t,operation:r,typesModulePath:s})=>{let{name:n}=Ae({client:e,meta:r.parameters.length?{$ref:r.name,name:r.name}:void 0,nameTransformer:ve,onImport:a=>{t.import({asType:!0,module:s,name:a});}});return {typeData:pn(n)}},es=({client:e,file:t,operation:r,pluginName:s,typesModulePath:n})=>{let o=h(),{name:a}=Ae({client:e,meta:{$ref:r.name,name:r.name},nameTransformer:Le,onImport:p=>{t.import({asType:!0,module:n,name:p});}}),i={asType:!0,name:a};if(i.name||(i=t.import({asType:!0,module:s,name:"DefaultError"})),o.client.name==="@hey-api/client-axios"){let p=t.import({asType:!0,module:"axios",name:"AxiosError"});i={...p,name:`${p.name}<${i.name}>`};}return {typeError:i}},ts=({client:e,file:t,operation:r,typesModulePath:s})=>{let{name:n}=Ae({client:e,meta:{$ref:r.name,name:r.name},nameTransformer:ae,onImport:a=>{t.import({asType:!0,module:s,name:a});}});return {typeResponse:n||"void"}},ns=({isInfinite:e,operation:t})=>l.arrayLiteralExpression({elements:[l.callExpression({functionName:rs,parameters:[l.stringLiteral({text:t.name}),"options",e?l.ots.boolean(!0):void 0]})],multiLine:!1}),ge=({client:e,files:t,outputParts:r,plugin:s})=>{if(s.name!=="@tanstack/react-query"&&s.name!=="@tanstack/solid-query"&&s.name!=="@tanstack/svelte-query"&&s.name!=="@tanstack/vue-query")return;za({files:t});let n=t[s.name];n.import({asType:!0,module:Oe(),name:be()});let o=new Array(r.length).fill("").join("../")||"./",a=o+t.types.getName(!1),i=s.name==="@tanstack/svelte-query"||s.name==="@tanstack/solid-query"?"MutationOptions":"UseMutationOptions",p,c=!1,m=!1,u=!1,d=!1;for(let x of e.services)for(let g of x.operations){let C=de(g,!0),R=!1;if(s.queryOptions&&["GET","POST"].includes(g.method)){d||(d=!0,c||(Zo({file:n}),Yo({file:n}),c=!0),n.import({module:s.name,name:Jo})),R=!0;let{typeData:M}=cn({client:e,file:n,operation:g,typesModulePath:a}),X=ie(g.parameters),w=l.constVariable({exportConst:!0,expression:l.arrowFunction({parameters:[{isRequired:X,name:"options",type:M}],statements:ns({operation:g})}),name:Nt(g)});n.add(w);let _=l.arrowFunction({parameters:[{isRequired:X,name:"options",type:M}],statements:[l.returnFunctionCall({args:[l.objectExpression({obj:[{key:"queryFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"queryKey"}]}],statements:[l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})},{key:"queryKey",value:l.callExpression({functionName:Nt(g),parameters:["options"]})}]})],name:Jo})]}),he=l.constVariable({comment:[],exportConst:!0,expression:_,name:Xa(g)});n.add(he);}if(s.infiniteQueryOptions&&["GET","POST"].includes(g.method)){let M,X=g.parameters.find(w=>{if(_e.lastIndex=0,_e.test(w.name))return M=w,!0;if(w.in==="body"){if(w.export==="reference"){let _=w.$refs[0];return e.models.find(xe=>xe.meta?.$ref===_)?.properties.find(xe=>{if(_e.lastIndex=0,_e.test(xe.name))return M=xe,!0})}return w.properties.find(_=>{if(_e.lastIndex=0,_e.test(_.name))return M=_,!0})}});if(X&&M){m||(m=!0,c||(Zo({file:n}),Yo({file:n}),c=!0),n.import({module:s.name,name:Xo}),p=n.import({asType:!0,module:s.name,name:"InfiniteData"})),R=!0;let{typeData:w}=cn({client:e,file:n,operation:g,typesModulePath:a}),{typeError:_}=es({client:e,file:n,operation:g,pluginName:s.name,typesModulePath:a}),{typeResponse:he}=ts({client:e,file:n,operation:g,typesModulePath:a}),xe=ie(g.parameters),jt=`${ln}<${w}>`,yn=`Pick<${jt}[0], 'body' | 'headers' | 'path' | 'query'>`,oi=`${M.base} | ${yn}`,si=l.constVariable({exportConst:!0,expression:l.arrowFunction({parameters:[{isRequired:xe,name:"options",type:w}],returnType:jt,statements:ns({isInfinite:!0,operation:g})}),name:Nt(g,!0)});n.add(si);let ii=l.arrowFunction({parameters:[{isRequired:xe,name:"options",type:w}],statements:[l.returnFunctionCall({args:[l.objectExpression({comments:[{jsdoc:!1,lines:["@ts-ignore"]}],obj:[{key:"queryFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{destructure:[{name:"pageParam"},{name:"queryKey"}]}],statements:[l.constVariable({comment:[{jsdoc:!1,lines:["@ts-ignore"]}],expression:l.conditionalExpression({condition:l.binaryExpression({left:l.typeOfExpression({text:"pageParam"}),operator:"===",right:l.stringLiteral({text:"object"})}),whenFalse:l.objectExpression({multiLine:!0,obj:[{key:Ja(X),value:l.objectExpression({multiLine:!0,obj:[{key:M.name,value:l.identifier({text:"pageParam"})}]})}]}),whenTrue:l.identifier({text:"pageParam"})}),name:"page",typeName:yn}),l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{spread:"queryKey[0]"},{key:"body",value:l.objectExpression({multiLine:!0,obj:[{assertion:"any",spread:"queryKey[0].body"},{assertion:"any",spread:"page.body"}]})},{key:"headers",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].headers"},{spread:"page.headers"}]})},{key:"path",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].path"},{spread:"page.path"}]})},{key:"query",value:l.objectExpression({multiLine:!0,obj:[{spread:"queryKey[0].query"},{spread:"page.query"}]})},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})},{key:"queryKey",value:l.callExpression({functionName:Nt(g,!0),parameters:["options"]})}]})],name:Xo,types:[he,_.name,`${typeof p=="string"?p:p.name}<${he}>`,jt,oi]})]}),ai=l.constVariable({comment:[],exportConst:!0,expression:ii,name:Qa(g)});n.add(ai);}}if(s.mutationOptions&&["DELETE","PATCH","POST","PUT"].includes(g.method)){u||(u=!0,n.import({asType:!0,module:s.name,name:i})),R=!0;let{typeData:M}=cn({client:e,file:n,operation:g,typesModulePath:a}),{typeError:X}=es({client:e,file:n,operation:g,pluginName:s.name,typesModulePath:a}),{typeResponse:w}=ts({client:e,file:n,operation:g,typesModulePath:a}),_=l.arrowFunction({statements:[l.constVariable({expression:l.objectExpression({obj:[{key:"mutationFn",value:l.arrowFunction({async:!0,multiLine:!0,parameters:[{name:"options"}],statements:[l.constVariable({destructure:!0,expression:l.awaitExpression({expression:l.callExpression({functionName:C,parameters:[l.objectExpression({multiLine:!0,obj:[{spread:"options"},{key:"throwOnError",value:!0}]})]})}),name:"data"}),l.returnVariable({name:"data"})]})}]}),name:zo,typeName:`${i}<${w}, ${X.name}, ${M}>`}),l.returnVariable({name:zo})]}),he=l.constVariable({comment:[],exportConst:!0,expression:_,name:Ga(g)});n.add(he);}let P=o+t.services.getName(!1);(d||m)&&n.import({module:P,name:"client"}),R&&n.import({module:P,name:C});}};var wt={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/react-query",output:"@tanstack/react-query",queryOptions:!0};var $t={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/solid-query",output:"@tanstack/solid-query",queryOptions:!0};var It={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/svelte-query",output:"@tanstack/svelte-query",queryOptions:!0};var Dt={handler:ge,infiniteQueryOptions:!0,mutationOptions:!0,name:"@tanstack/vue-query",output:"@tanstack/vue-query",queryOptions:!0};var un={"@hey-api/schemas":qt,"@hey-api/services":St,"@hey-api/types":kt,"@tanstack/react-query":wt,"@tanstack/solid-query":$t,"@tanstack/svelte-query":It,"@tanstack/vue-query":Dt};var os=["@hey-api/client-axios","@hey-api/client-fetch","legacy/angular","legacy/axios","legacy/fetch","legacy/node","legacy/xhr"];var ss=async e=>{let t=existsSync(e)?K.resolve(e):e;return await ep.bundle(t,t,{})};var is={1:function(e,t,r,s,n){return `import { NgModule} from '@angular/core';
|
|
19
21
|
import { HttpClientModule } from '@angular/common/http';
|
|
20
22
|
|
|
21
23
|
import { AngularHttpRequest } from './core/AngularHttpRequest';
|
|
@@ -1311,8 +1313,8 @@ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>)
|
|
|
1311
1313
|
|
|
1312
1314
|
onCancel(() => xhr.abort());
|
|
1313
1315
|
});
|
|
1314
|
-
};`},useData:!0};var
|
|
1316
|
+
};`},useData:!0};var tp=()=>{f.registerHelper("camelCase",function(e){return H({input:e})}),f.registerHelper("equals",function(e,t,r){return e===t?r.fn(this):r.inverse(this)}),f.registerHelper("ifdef",function(...e){let t=e.pop();return e.every(r=>!r)?t.inverse(this):t.fn(this)}),f.registerHelper("notEquals",function(e,t,r){return e!==t?r.fn(this):r.inverse(this)}),f.registerHelper("transformServiceName",mt);},zs=()=>{tp();let e={client:f.template(is),core:{apiError:f.template(fs),apiRequestOptions:f.template(ds),apiResult:f.template(ys),baseHttpRequest:f.template(Ps),cancelablePromise:f.template(Ts),httpRequest:f.template(Ls),request:f.template(Us),settings:f.template(_s)}};return f.registerPartial("functions/base64",f.template(ks)),f.registerPartial("functions/catchErrorCodes",f.template(Ns)),f.registerPartial("functions/getFormData",f.template(ws)),f.registerPartial("functions/getQueryString",f.template($s)),f.registerPartial("functions/getUrl",f.template(Is)),f.registerPartial("functions/isBlob",f.template(Ds)),f.registerPartial("functions/isFormData",f.template(Ms)),f.registerPartial("functions/isString",f.template(js)),f.registerPartial("functions/isStringWithValue",f.template(Hs)),f.registerPartial("functions/isSuccess",f.template(Fs)),f.registerPartial("functions/resolve",f.template(Bs)),f.registerPartial("fetch/getHeaders",f.template(Rs)),f.registerPartial("fetch/getRequestBody",f.template(As)),f.registerPartial("fetch/getResponseBody",f.template(vs)),f.registerPartial("fetch/getResponseHeader",f.template(Es)),f.registerPartial("fetch/request",f.template(qs)),f.registerPartial("fetch/sendRequest",f.template(Ss)),f.registerPartial("xhr/getHeaders",f.template(Vs)),f.registerPartial("xhr/getRequestBody",f.template(Ks)),f.registerPartial("xhr/getResponseBody",f.template(Ws)),f.registerPartial("xhr/getResponseHeader",f.template(Qs)),f.registerPartial("xhr/request",f.template(Gs)),f.registerPartial("xhr/sendRequest",f.template(Xs)),f.registerPartial("axios/getHeaders",f.template(gs)),f.registerPartial("axios/getRequestBody",f.template(hs)),f.registerPartial("axios/getResponseBody",f.template(xs)),f.registerPartial("axios/getResponseHeader",f.template(Os)),f.registerPartial("axios/request",f.template(bs)),f.registerPartial("axios/sendRequest",f.template(Cs)),f.registerPartial("angular/getHeaders",f.template(as)),f.registerPartial("angular/getRequestBody",f.template(ps)),f.registerPartial("angular/getResponseBody",f.template(cs)),f.registerPartial("angular/getResponseHeader",f.template(ms)),f.registerPartial("angular/request",f.template(ls)),f.registerPartial("angular/sendRequest",f.template(us)),e};var Js=e=>{let t=h(),r=t.services.filter?new RegExp(t.services.filter):void 0;return !r||r.test(e)},Ys=e=>{let t=h();return A(t)||e.prop!=="api-version"},Zs=e=>{let t=h();if(t.services.operationId&&e.id)return H({input:He(e.id)});let r=e.path;return A(t)||(r=r.replace(/[^/]*?{api-version}.*?\//g,"")),r=r.replace(/{(.*?)}/g,"by-$1").replace(/[/:]/g,"-"),H({input:`${e.method}-${r}`})},ei=e=>{let t=h();return A(t)?e.prop:sn(e.prop)};var ti=e=>`${e}-end`,fn=e=>`${e}-length`,ni=e=>`${e}-start`,N={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(ti(e)),getEntriesByName:e=>performance.getEntriesByName(fn(e)),measure:e=>performance.measure(fn(e),ni(e),ti(e)),start:e=>performance.mark(ni(e))},Mt=class{totalMeasure;constructor({totalMark:t}){this.totalMeasure=N.measure(t);}report({marks:t}){let r=Math.ceil(this.totalMeasure.duration*100)/100,s=this.totalMeasure.name;console.warn(`${s.substring(0,s.length-fn("").length)}: ${r.toFixed(2)}ms`),t.forEach(n=>{let o=N.measure(n),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${n}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);});}};function ri(e){return {...e,models:e.models.map(t=>np(t)),services:rp(e.operations).map(op),types:{}}}var np=e=>({...e,$refs:e.$refs.filter((t,r,s)=>F(t,r,s)),enum:e.enum.filter((t,r,s)=>s.findIndex(n=>n.value===t.value)===r),enums:e.enums.filter((t,r,s)=>s.findIndex(n=>n.name===t.name)===r),imports:e.imports.filter((t,r,s)=>F(t,r,s)&&t!==e.name).sort(Se)}),rp=e=>{let t=h(),r=new Map;return e.forEach(s=>{(s.tags?.length&&(t.services.asClass||t.name)?s.tags.filter(F):["Default"]).forEach(o=>{let a={...s,service:ap(o)},i=r.get(a.service)||ip(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],r.set(a.service,i);});}),Array.from(r.values())},op=e=>{let t={...e};return t.operations=sp(t),t.operations.forEach(r=>{t.imports.push(...r.imports);}),t.imports=t.imports.filter(F).sort(Se),t},sp=e=>{let t=new Map;return e.operations.map(r=>{let s={...r};s.imports.push(...s.parameters.flatMap(i=>i.imports));let n=s.responses.filter(i=>i.responseTypes.includes("success"));s.imports.push(...n.flatMap(i=>i.imports));let o=s.name,a=t.get(o)||0;return a>0&&(s.name=`${o}${a}`),t.set(o,a+1),s})},ip=e=>({$refs:[],imports:[],name:e.service,operations:[]}),ap=e=>H({input:He(e),pascalCase:!0});var mp={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"}},lp={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},up=()=>{let e=h();if(e.output.format){let t=mp[e.output.format];console.log(`\u2728 Running ${t.name}`),(0, dn.sync)(t.command,t.args(e.output.path));}if(e.output.lint){let t=lp[e.output.lint];console.log(`\u2728 Running ${t.name}`),(0, dn.sync)(t.command,t.args(e.output.path));}},fp=()=>{let{client:e}=h();switch(e.name){case"legacy/angular":return console.log("\u2728 Creating Angular client");case"@hey-api/client-axios":case"legacy/axios":return console.log("\u2728 Creating Axios client");case"@hey-api/client-fetch":case"legacy/fetch":return console.log("\u2728 Creating Fetch client");case"legacy/node":return console.log("\u2728 Creating Node.js client");case"legacy/xhr":return console.log("\u2728 Creating XHR client")}},dp=e=>{let t={bundle:!1,name:""};return typeof e.client=="string"?t.name=e.client:e.client&&(t={...t,...e.client}),t},yp=e=>{let t={format:!1,lint:!1,path:""};return typeof e.output=="string"?t.path=e.output:t={...t,...e.output},t},gp=e=>(e.plugins??[]).map(r=>typeof r=="string"?un[r]:{...un[r.name],...r}),hp=e=>{let t={export:!0,type:"json"};return typeof e.schemas=="boolean"?t.export=e.schemas:t={...t,...e.schemas},t},xp=e=>{let t={asClass:!1,export:!0,name:"{{name}}Service",operationId:!0,response:"body"};return typeof e.services=="boolean"?t.export=e.services:typeof e.services=="string"?t.include=e.services:t={...t,...e.services},t},Op=(e,t)=>{let r={dates:!1,enums:!1,export:!0,name:"preserve",tree:!t.export};return typeof e.types=="boolean"?r.export=e.types:typeof e.types=="string"?r.include=e.types:r={...r,...e.types},r},bp=async e=>{let t;if(e.configFile){let n=e.configFile.split(".");t=n.slice(0,n.length-1).join(".");}let{config:r}=await loadConfig({configFile:t,jitiOptions:{esmResolve:!0},name:"openapi-ts"});return (Array.isArray(e)?e:Array.isArray(r)?r.map(n=>({...n,...e})):[{...r??{},...e}]).map(n=>{let{base:o,configFile:a="",debug:i=!1,dryRun:p=!1,exportCore:c=!0,experimental_parser:m=!1,input:u,name:d,request:x,useOptions:g=!0}=n;i&&console.warn("userConfig:",n);let C=yp(n);if(!u)throw new Error("\u{1F6AB} missing input - which OpenAPI specification should we use to generate your client?");if(!C.path)throw new Error("\u{1F6AB} missing output - where should we generate your client?");let R=dp(n);if(R.name&&!os.includes(R.name))throw new Error("\u{1F6AB} invalid client - select a valid client value");g||console.warn("\u2757\uFE0F Deprecation warning: useOptions set to false. This setting will be removed in future versions. Please migrate useOptions to true https://heyapi.vercel.app/openapi-ts/migrating.html#v0-27-38");let P=gp(n),M=hp(n),X=xp(n),w=Op(n,X);C.path=K.resolve(process.cwd(),C.path);let _=ir({base:o,client:R,configFile:a,debug:i,dryRun:p,experimental_parser:m,exportCore:A(R)||!R.name?!1:c,input:u,name:d,output:C,plugins:P,request:x,schemas:M,services:X,types:w,useOptions:g});return i&&console.warn("config:",_),_})};async function Cp(e){N.start("createClient"),N.start("config");let t=await bp(e);N.end("config"),N.start("handlebars");let r=zs();N.end("handlebars");let s=a=>async()=>{N.start("openapi");let i=typeof a.input=="string"?await ss(a.input):a.input;if(N.end("openapi"),a.experimental_parser)N.start("experimental_parser"),ko({spec:i}),N.end("experimental_parser");else {N.start("parser");let p=So({config:{filterFn:{operation:Js,operationParameter:Ys},nameFn:{operation:Zs,operationParameter:ei}},openApi:i}),c=ri(p);return N.end("parser"),fp(),N.start("generator"),await Go(i,c,r),N.end("generator"),N.start("postprocess"),a.dryRun||(up(),console.log("\u2728 Done! Your client is located in:",a.output.path)),N.end("postprocess"),c}},n=[],o=t.map(a=>s(a));for(let a of o){let i=await a();i&&n.push(i);}return N.end("createClient"),e.debug&&new Mt({totalMark:"createClient"}).report({marks:["config","openapi","handlebars","parser","generator","postprocess"]}),n}var Pp=e=>e,kh={createClient:Cp,defineConfig:Pp};
|
|
1315
1317
|
|
|
1316
|
-
export {
|
|
1318
|
+
export { Cp as createClient, kh as default, Pp as defineConfig };
|
|
1317
1319
|
//# sourceMappingURL=index.js.map
|
|
1318
1320
|
//# sourceMappingURL=index.js.map
|