openapi-sync 5.0.4 → 5.0.5

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.mjs CHANGED
@@ -1,376 +1,451 @@
1
- import {c,d,a,b}from'./chunk-PUWCZVB7.mjs';import ie from'fs';import J from'path';import*as Te from'js-yaml';import yn from'lodash.isequal';import Ge from'lodash.get';import gn from'axios';import hn from'axios-retry';import $n from'@apidevtools/swagger-parser';import {CurlGenerator}from'curl-generator';var wn=/^[A-Za-z_$][A-Za-z0-9_$]*$/,Wt=/[A-Za-z0-9_$]/;var Kt=l=>["object"].includes(typeof l)&&!(l instanceof Blob),cn=l=>{try{return Te.load(l),!0}catch(o){let p=o;if(p instanceof Te.YAMLException)return false;throw p}},_t=l=>{if(cn(l)){let o=Te.load(l),p=JSON.stringify(o,null,2);return JSON.parse(p)}},ue=l=>l.substring(0,1).toUpperCase()+l.substring(1),Vt=(l,o)=>{let p=l.split("/"),e=`${ue(o)}`,s=[];return p.forEach(t=>{if(t[0]==="{"&&t[t.length-1]==="}"){let n=t.replace(/{/,"").replace(/}/,"");s.push(n),t=`$${n}`;}else if(t[0]==="<"&&t[t.length-1]===">"){let n=t.replace(/</,"").replace(/>/,"");s.push(n),t=`$${n}`;}else if(t[0]===":"){let n=t.replace(/:/,"");s.push(n),t=`$${n}`;}let i="";t.split("").forEach(n=>{let g=n;Wt.test(n)||(g="/"),i+=g;}),i.split("/").forEach(n=>{e+=ue(n);});}),{name:e,variables:s,pathParts:p}},Ee=(l,o=1)=>{let p="{",e=Object.keys(l);for(let s=0;s<e.length;s++){let t=e[s],i=l[t];if(p+=`
2
- `+" ".repeat(o)+t+": ",Array.isArray(i)){p+="[";for(let n=0;n<i.length;n++){let g=i[n];typeof g=="object"&&g!==null?p+=Ee(g,o+1):p+=typeof g=="string"?`"${g}"`:g,n<i.length-1&&(p+=", ");}p+="]";}else typeof i=="object"&&i!==null?p+=""+Ee(i,o+1):p+=i.split(`
3
- `).filter(n=>n.trim()!=="").join(`
4
- ${" ".repeat(o)}`);s<e.length-1&&(p+=", ");}return p+=`
5
- ${" ".repeat(o-1)}}`,p},ve=(l,o=1)=>{let p=l.replace(/\/\*\*?[\s\S]*?\*\//g,e=>e.replace(/^\/\*\*?\s*/,"").replace(/\s*\*\/$/,"").split(`
6
- `).map(t=>t.replace(/^\s*\*\s?/,"").trim()).filter(t=>t.length>0).map(t=>`// ${t}`).join(`
1
+ import {c,d,a,b}from'./chunk-PUWCZVB7.mjs';import ue from'fs';import V from'path';import*as Ae from'js-yaml';import wt from'lodash.isequal';import ke from'lodash.get';import Ot from'axios';import Pt from'axios-retry';import jt from'@apidevtools/swagger-parser';import {CurlGenerator}from'curl-generator';var Nt=/^[A-Za-z_$][A-Za-z0-9_$]*$/,nt=/[A-Za-z0-9_$]/;var st=l=>["object"].includes(typeof l)&&!(l instanceof Blob),Et=l=>{try{return Ae.load(l),!0}catch(i){let m=i;if(m instanceof Ae.YAMLException)return false;throw m}},ot=l=>{if(Et(l)){let i=Ae.load(l),m=JSON.stringify(i,null,2);return JSON.parse(m)}},de=l=>l.substring(0,1).toUpperCase()+l.substring(1),at=(l,i)=>{let m=l.split("/"),e=`${de(i)}`,s=[];return m.forEach(n=>{if(n[0]==="{"&&n[n.length-1]==="}"){let t=n.replace(/{/,"").replace(/}/,"");s.push(t),n=`$${t}`;}else if(n[0]==="<"&&n[n.length-1]===">"){let t=n.replace(/</,"").replace(/>/,"");s.push(t),n=`$${t}`;}else if(n[0]===":"){let t=n.replace(/:/,"");s.push(t),n=`$${t}`;}let p="";n.split("").forEach(t=>{let h=t;nt.test(t)||(h="/"),p+=h;}),p.split("/").forEach(t=>{e+=de(t);});}),{name:e,variables:s,pathParts:m}},Te=(l,i=1)=>{let m="{",e=Object.keys(l);for(let s=0;s<e.length;s++){let n=e[s],p=l[n];if(m+=`
2
+ `+" ".repeat(i)+n+": ",Array.isArray(p)){m+="[";for(let t=0;t<p.length;t++){let h=p[t];typeof h=="object"&&h!==null?m+=Te(h,i+1):m+=typeof h=="string"?`"${h}"`:h,t<p.length-1&&(m+=", ");}m+="]";}else typeof p=="object"&&p!==null?m+=""+Te(p,i+1):m+=p.split(`
3
+ `).filter(t=>t.trim()!=="").join(`
4
+ ${" ".repeat(i)}`);s<e.length-1&&(m+=", ");}return m+=`
5
+ ${" ".repeat(i-1)}}`,m},ve=(l,i=1)=>{let m=l.replace(/\/\*\*?[\s\S]*?\*\//g,e=>e.replace(/^\/\*\*?\s*/,"").replace(/\s*\*\/$/,"").split(`
6
+ `).map(n=>n.replace(/^\s*\*\s?/,"").trim()).filter(n=>n.length>0).map(n=>`// ${n}`).join(`
7
7
  `));return `
8
8
  \`\`\`typescript
9
- ${" ".repeat(o)} ${p.split(`
9
+ ${" ".repeat(i)} ${m.split(`
10
10
  `).filter(e=>e.trim()!=="").join(`
11
- ${" ".repeat(o)} `)}
12
- \`\`\``};function vn(l,o){return o.split(".").reduce((e,s)=>e&&e[s]!==void 0?e[s]:void 0,l)}var dn=(l,o="CUSTOM CODE")=>{let p=`// \u{1F512} ${o} START`,e=`// \u{1F512} ${o} END`,s={beforeGenerated:"",afterGenerated:""},t=0,i=[];for(;t<l.length;){let n=l.indexOf(p,t);if(n===-1)break;let g=l.indexOf(e,n);if(g===-1)break;let m=g+e.length,f=l.substring(m,m+100),O=f.match(/^\s*\n\s*(\/\/ =+)/);if(O){let k=f.indexOf(`
13
- `,O.index+1);k!==-1?m+=k+1:m+=O[0].length;}let q=n,w=l.substring(Math.max(0,n-200),n).lastIndexOf("// ==========");w!==-1&&(q=Math.max(0,n-200)+w);let A=l.substring(q,m);i.push({start:q,end:m,content:A}),t=m;}return i.length>0&&(l.substring(0,i[0].start).split(`
14
- `).filter(m=>{let f=m.trim();return f.length>0&&!f.startsWith("//")}).join("").length===0?(s.beforeGenerated=i[0].content,i.length>1&&(s.afterGenerated=i[1].content)):(s.afterGenerated=i[0].content,i.length>1&&!s.beforeGenerated&&(s.beforeGenerated=i[1].content))),s},Ht=(l,o="CUSTOM CODE",p=true)=>{let e=p?`// ${l==="top"?"Add your custom code below this line":"Add your custom code above this line"}
15
- // This section will be preserved during regeneration
16
- `:"";return `// ${"=".repeat(60)}
17
- // \u{1F512} ${o} START
18
- ${e}// ${"=".repeat(60)}
19
-
20
- // \u{1F512} ${o} END
21
- // ${"=".repeat(60)}`},je=(l,o,p={})=>{let{position:e="bottom",markerText:s="CUSTOM CODE",includeInstructions:t=true}=p,i={beforeGenerated:"",afterGenerated:""};o&&(i=dn(o,s)),!i.beforeGenerated&&!i.afterGenerated&&((e==="top"||e==="both")&&(i.beforeGenerated=Ht("top",s,t)),(e==="bottom"||e==="both")&&(i.afterGenerated=Ht("bottom",s,t)));let n=[];return i.beforeGenerated&&(n.push(i.beforeGenerated),n.push("")),n.push(l),i.afterGenerated&&(n.push(""),n.push(i.afterGenerated)),n.join(`
22
- `)};var qe=J.join(__dirname,"../","../db.json");ie.existsSync(qe)||ie.writeFileSync(qe,"{}");var Ue={};try{Ue=c(qe);}catch(l){Ue={};}var we=Ue||{},Yt=l=>{ie.writeFileSync(qe,JSON.stringify(l));},Zt=(l,o)=>{we[l]=o,Yt(we);},Xt=l=>we[l],Me=()=>{we={},Yt(we);};var en={},tn=(l,o)=>{en[l]=o;},nn=l=>en[l]||[];var ce=process.cwd(),Ne={},rn=gn.create({timeout:6e4});hn(rn,{retries:20,retryCondition:l=>l.code==="ECONNABORTED"||l.message.includes("Network Error"),retryDelay:l=>l*1e3});var ge=(l,o,p)=>d(null,null,function*(){var i,n,g,m;if(!(((i=p==null?void 0:p.customCode)==null?void 0:i.enabled)!==false)){yield ie.promises.writeFile(l,o);return}let s=null;try{s=yield ie.promises.readFile(l,"utf-8");}catch(f){}let t=je(o,s,{position:((n=p==null?void 0:p.customCode)==null?void 0:n.position)||"bottom",markerText:(g=p==null?void 0:p.customCode)==null?void 0:g.markerText,includeInstructions:(m=p==null?void 0:p.customCode)==null?void 0:m.includeInstructions});yield ie.promises.writeFile(l,t);}),sn=(l,o,p,e)=>d(null,null,function*(){let s=yield bn(l,o,p,e);return e&&!isNaN(e)&&e>0&&(process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||(Ne[o]&&clearTimeout(Ne[o]),Ne[o]=setTimeout(()=>{console.info(`\u{1F504} Auto syncing ${o}`),sn(l,o,p,e);},e))),s}),bn=(...l)=>d(null,null,function*(){var le,be,$e,Pe,De,Je,We,He,Ke,_e;let[o,p,e]=l,s=r=>r.startsWith("http://")||r.startsWith("https://"),t;try{if(s(o))t=(yield rn.get(o)).data;else {let r=J.isAbsolute(o)?o:J.join(ce,o);`${r}`,t=yield ie.promises.readFile(r,"utf-8");}}catch(r){console.error(`Failed to load OpenAPI spec for ${p}:`,r);return}if(!t)return;let i=Kt(t)?t:_t(t),n;try{n=yield $n.parse(i);}catch(r){let u=r instanceof Error?r.message:String(r);throw new Error(`Failed to parse OpenAPI spec for ${p}: ${u}`)}let g=J.join((e==null?void 0:e.folder)||"",p),m={},f=r=>{var u,E;if((u=e==null?void 0:e.folderSplit)!=null&&u.customFolder){let $=e.folderSplit.customFolder(r);if($)return $}return (E=e==null?void 0:e.folderSplit)!=null&&E.byTags&&r.tags&&r.tags.length>0?r.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},O=typeof(e==null?void 0:e.server)=="string"?e==null?void 0:e.server:((be=(le=n==null?void 0:n.servers)==null?void 0:le[(e==null?void 0:e.server)||0])==null?void 0:be.url)||"",q=typeof((Pe=($e=e==null?void 0:e.types)==null?void 0:$e.name)==null?void 0:Pe.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",j=typeof((Je=(De=e==null?void 0:e.endpoints)==null?void 0:De.name)==null?void 0:Je.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",w=(r,u)=>{var $,d;let E=ue(r);if((d=($=e==null?void 0:e.types)==null?void 0:$.name)!=null&&d.format){let y=e==null?void 0:e.types.name.format("shared",{name:r},E);if(y)return `${q}${y}`}return `${q}${E}`},A=(r,u,E,$,d,y=0)=>{let c="",C="",h="";if(u)if(u.$ref)if(u.$ref[0]==="#"){let v=(u.$ref||"").split("/");v.shift();v[0]==="definitions";[...v].pop();let D=Ge(r,v,null);if(D){D!=null&&D.name&&(c=D.name),C=v[v.length-1];let re=w(C);re.includes(".")&&(re=re.split(".").map((de,fe)=>fe===0?de:`["${de}"]`).join("")),h+=`${d!=null&&d.noSharedImport?"":"Shared."}${re}`;}}else h+="";else if(u.anyOf)h+=`(${u.anyOf.map(v=>A(r,v,"",$,b(a({},d),{useComponentName:false}))).filter(v=>!!v).join("|")})`;else if(u.oneOf)h+=`(${u.oneOf.map(v=>A(r,v,"",$,b(a({},d),{useComponentName:false}))).filter(v=>!!v).join("|")})`;else if(u.allOf)h+=`(${u.allOf.map(v=>A(r,v,"",$,b(a({},d),{useComponentName:false}))).filter(v=>!!v).join("&")})`;else if(u.items)h+=`${A(r,u.items,"",false,b(a({},d),{useComponentName:false}))}[]`;else if(u.properties){let v=Object.keys(u.properties),N=u.required||[],F="";v.forEach(z=>{var re,Ce,de,fe,Ie,ye;let D="";!((Ce=(re=e==null?void 0:e.types)==null?void 0:re.doc)!=null&&Ce.disable)&&((fe=(de=u.properties)==null?void 0:de[z])!=null&&fe.description)&&(D=" * "+((Ie=u.properties)==null?void 0:Ie[z].description.split(`
23
- `).filter(Re=>Re.trim()!=="").join(`
24
- *${" ".repeat(1)}`))),F+=(D?`/**
25
- ${D}
11
+ ${" ".repeat(i)} `)}
12
+ \`\`\``};function Lt(l,i){return i.split(".").reduce((e,s)=>e&&e[s]!==void 0?e[s]:void 0,l)}var Tt=(l,i="CUSTOM CODE")=>{let e=["//","#"].map(t=>({start:`${t} \u{1F512} ${i} START`,end:`${t} \u{1F512} ${i} END`})),s={beforeGenerated:"",afterGenerated:""},n=0,p=[];for(;n<l.length;){let t=null,h=-1;for(let j of e){let E=l.indexOf(j.start,n);E!==-1&&(h===-1||E<h)&&(h=E,t=j);}if(h===-1||!t)break;let d=l.indexOf(t.end,h);if(d===-1)break;let f=d+t.end.length,w=l.substring(f,f+100),G=w.match(/^\s*\n\s*((?:\/\/|#)\s*=+)/);if(G){let j=w.indexOf(`
13
+ `,G.index+1);j!==-1?f+=j+1:f+=G[0].length;}let R=h,O=l.substring(Math.max(0,h-200),h),U=/(^|\n)\s*(?:\/\/|#)\s*=+/g,M,k=-1;for(;(M=U.exec(O))!==null;)k=M.index+M[1].length;k!==-1&&(R=Math.max(0,h-200)+k);let B=l.substring(R,f);p.push({start:R,end:f,content:B}),n=f;}return p.length>0&&(l.substring(0,p[0].start).split(`
14
+ `).filter(d=>{let f=d.trim();return f.length>0&&!f.startsWith("//")&&!f.startsWith("#")}).join("").length===0?(s.beforeGenerated=p[0].content,p.length>1&&(s.afterGenerated=p[1].content)):(s.afterGenerated=p[0].content,p.length>1&&!s.beforeGenerated&&(s.beforeGenerated=p[1].content))),s},tt=(l,i="CUSTOM CODE",m=true,e="//")=>{let s=m?`${e} ${l==="top"?"Add your custom code below this line":"Add your custom code above this line"}
15
+ ${e} This section will be preserved during regeneration
16
+ `:"";return `${e} ${"=".repeat(60)}
17
+ ${e} \u{1F512} ${i} START
18
+ ${s}${e} ${"=".repeat(60)}
19
+
20
+ ${e} \u{1F512} ${i} END
21
+ ${e} ${"=".repeat(60)}`},rt=(l,i,m)=>{if(!l)return l;let e=new RegExp(`^\\s*//\\s*(?:={3,}|\u{1F512}\\s+${i}\\s+(?:START|END)|Add your custom code (?:below|above) this line|This section will be preserved during regeneration)\\s*$`);return l.split(`
22
+ `).map(s=>e.test(s)?s.replace(/^\s*\/\//,m):s).join(`
23
+ `)},qe=(l,i,m={})=>{let{position:e="bottom",markerText:s="CUSTOM CODE",includeInstructions:n=true,commentPrefix:p="//"}=m,t={beforeGenerated:"",afterGenerated:""};i&&(t=Tt(i,s),t.beforeGenerated=rt(t.beforeGenerated,s,p),t.afterGenerated=rt(t.afterGenerated,s,p)),!t.beforeGenerated&&!t.afterGenerated&&((e==="top"||e==="both")&&(t.beforeGenerated=tt("top",s,n,p)),(e==="bottom"||e==="both")&&(t.afterGenerated=tt("bottom",s,n,p)));let h=[];return t.beforeGenerated&&(h.push(t.beforeGenerated),h.push("")),h.push(l),t.afterGenerated&&(h.push(""),h.push(t.afterGenerated)),h.join(`
24
+ `)};var Re=V.join(__dirname,"../","../db.json");ue.existsSync(Re)||ue.writeFileSync(Re,"{}");var Ge={};try{Ge=c(Re);}catch(l){Ge={};}var we=Ge||{},it=l=>{ue.writeFileSync(Re,JSON.stringify(l));},lt=(l,i)=>{we[l]=i,it(we);},pt=l=>we[l],Le=()=>{we={},it(we);};var ut={},mt=(l,i)=>{ut[l]=i;},ct=l=>ut[l]||[];var $e=process.cwd(),Fe={},dt=Ot.create({timeout:6e4});Pt(dt,{retries:20,retryCondition:l=>l.code==="ECONNABORTED"||l.message.includes("Network Error"),retryDelay:l=>l*1e3});var Ce=(l,i,m)=>d(null,null,function*(){var t,h,d,f;if(!(((t=m==null?void 0:m.customCode)==null?void 0:t.enabled)!==false)){yield ue.promises.writeFile(l,i);return}let s=null;try{s=yield ue.promises.readFile(l,"utf-8");}catch(w){}let n=l.endsWith(".py")?"#":"//",p=qe(i,s,{position:((h=m==null?void 0:m.customCode)==null?void 0:h.position)||"bottom",markerText:(d=m==null?void 0:m.customCode)==null?void 0:d.markerText,includeInstructions:(f=m==null?void 0:m.customCode)==null?void 0:f.includeInstructions,commentPrefix:n});yield ue.promises.writeFile(l,p);}),ft=(l,i,m,e)=>d(null,null,function*(){let s=yield qt(l,i,m,e);return e&&!isNaN(e)&&e>0&&(process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||(Fe[i]&&clearTimeout(Fe[i]),Fe[i]=setTimeout(()=>{console.info(`\u{1F504} Auto syncing ${i}`),ft(l,i,m,e);},e))),s}),qt=(...l)=>d(null,null,function*(){var _e,He,Ke,Ve,Ye,Ze,Xe,en,nn,tn;let[i,m,e]=l,s=r=>r.startsWith("http://")||r.startsWith("https://"),n;try{if(s(i))n=(yield dt.get(i)).data;else {let r=V.isAbsolute(i)?i:V.join($e,i);`${r}`,n=yield ue.promises.readFile(r,"utf-8");}}catch(r){throw process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||console.error(`Failed to load OpenAPI spec for ${m}:`,r),r}if(!n)return;let p=st(n)?n:ot(n),t;try{t=yield jt.parse(p);}catch(r){let o=r instanceof Error?r.message:String(r);throw new Error(`Failed to parse OpenAPI spec for ${m}: ${o}`)}let h=V.join((e==null?void 0:e.folder)||"",m),d=(e==null?void 0:e.language)==="python",f=d?"py":"ts",w={},G=r=>{var o,b;if((o=e==null?void 0:e.folderSplit)!=null&&o.customFolder){let C=e.folderSplit.customFolder(r);if(C)return C}return (b=e==null?void 0:e.folderSplit)!=null&&b.byTags&&r.tags&&r.tags.length>0?r.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},R=typeof(e==null?void 0:e.server)=="string"?e==null?void 0:e.server:((He=(_e=t==null?void 0:t.servers)==null?void 0:_e[(e==null?void 0:e.server)||0])==null?void 0:He.url)||"",O=typeof((Ve=(Ke=e==null?void 0:e.types)==null?void 0:Ke.name)==null?void 0:Ve.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",U=typeof((Ze=(Ye=e==null?void 0:e.endpoints)==null?void 0:Ye.name)==null?void 0:Ze.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",M=(r,o)=>{var C,u;let b=de(r);if((u=(C=e==null?void 0:e.types)==null?void 0:C.name)!=null&&u.format){let y=e==null?void 0:e.types.name.format("shared",{name:r},b);if(y)return `${O}${y}`}return `${O}${b}`},k=(r,o,b$1,C,u,y=0)=>{let c="",$="",g="";if(o)if(o.$ref)if(o.$ref[0]==="#"){let x=(o.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let S=ke(r,x,null);if(S){S!=null&&S.name&&(c=S.name),$=x[x.length-1];let W=M($);W.includes(".")&&(W=W.split(".").map((he,ce)=>ce===0?he:`["${he}"]`).join("")),g+=`${u!=null&&u.noSharedImport?"":"Shared."}${W}`;}}else g+="";else if(o.anyOf)g+=`(${o.anyOf.map(x=>k(r,x,"",C,b(a({},u),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(o.oneOf)g+=`(${o.oneOf.map(x=>k(r,x,"",C,b(a({},u),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(o.allOf)g+=`(${o.allOf.map(x=>k(r,x,"",C,b(a({},u),{useComponentName:false}))).filter(x=>!!x).join("&")})`;else if(o.items)g+=`${k(r,o.items,"",false,b(a({},u),{useComponentName:false}))}[]`;else if(o.properties){let x=Object.keys(o.properties),P=o.required||[],v="";x.forEach(N=>{var W,xe,he,ce,ye,ge;let S="";!((xe=(W=e==null?void 0:e.types)==null?void 0:W.doc)!=null&&xe.disable)&&((ce=(he=o.properties)==null?void 0:he[N])!=null&&ce.description)&&(S=" * "+((ye=o.properties)==null?void 0:ye[N].description.split(`
25
+ `).filter(Ne=>Ne.trim()!=="").join(`
26
+ *${" ".repeat(1)}`))),v+=(S?`/**
27
+ ${S}
26
28
  */
27
- `:"")+`${A(r,(ye=u.properties)==null?void 0:ye[z],z,N.includes(z),d,y+1)}`;}),F.length>0?h+=`{
28
- ${" ".repeat(y)}${F}${" ".repeat(y)}}`:h+="{[k: string]: any}";}else if(u.enum&&u.enum.length>0){let v=u.enum.includes(null),N=u.enum.filter(z=>z!==null).map(z=>JSON.stringify(z)).filter(z=>z!==void 0),F=N.length>1||N.length>0&&v;F&&(h+="("),N.forEach((z,D)=>{h+=`${D===0?"":"|"}${z}`;}),v&&(h+=`${N.length>0?"|":""}null`),F&&(h+=")");}else if(u.type){let v=N=>{let F="";if(typeof N=="string")["string","integer","number","array","boolean","null"].includes(N)?["integer","number"].includes(N)?F+="number":N==="array"?F+="any[]":F+=N:N==="object"&&(u.additionalProperties?F+=`{[k: string]: ${A(r,u.additionalProperties,"",true,b(a({},d),{useComponentName:false}))||"any"}}`:F+="{[k: string]: any}");else if(Array.isArray(N)){let z=N.map(D=>v(D));z.filter(D=>D!==""),z.length>1&&(F+="("+z.join("|")+")");}else F+="any";return F};h=v(u.type);}else h+="any";else h="string";let P=c||E;d!=null&&d.useComponentName&&!P&&(P=C);let W=P?` "${P}"${$?"":"?"}: `:"",a$1=(u==null?void 0:u.enum)&&u.enum.includes(null),Z=u!=null&&u.nullable&&!a$1?" | null":"";return h.length>0?`${W}${h}${Z}${P?`;
29
- `:""}`:""},k=(r,u)=>{let d="";if(u)if(u.$ref)if(u.$ref[0]==="#"){let y=(u.$ref||"").split("/");y.shift();let C=Ge(r,y,null);C&&(C!=null&&C.name&&(C.name),y[y.length-1],d+=k(r,C));}else d+="";else if(u.anyOf)d+=k(r,u.anyOf[0]);else if(u.oneOf)d+=k(r,u.oneOf[0]);else if(u.allOf)d+=`{${u.allOf.map(y=>`...(${k(r,y)})`).join(",")}}`;else if(u.items)d+=`[${k(r,u.items)}]`;else if(u.properties){let C=Object.keys(u.properties).map(h=>{var P;return ` "${h}": ${k(r,(P=u.properties)==null?void 0:P[h])}`}).join(`,
30
- `);C.length>0?d+=`{
31
- ${C}
32
- }`:d+="{}";}else if(u.enum&&u.enum.length>0)u.enum.length>1&&(d+=u.enum[0]);else if(u.type)if(u.example)d+=JSON.stringify(u.example);else {let y=c=>{let C="";if(typeof c=="string")["string","integer","number","array","boolean","null"].includes(c)?["integer","number"].includes(c)?C+="123":c==="array"?C+="[]":c==="boolean"?C+="true":c==="null"?C+="null":C+=`"${c}"`:c==="object"&&(C+="{}");else if(Array.isArray(c)){let h=c.map(P=>y(P));h.filter(P=>P!==""),h.length>1&&(C+=h.join("|"));}else C+="any";return C};d=y(u.type);}else d+="any";else d="string";return d},S=Xt(p);if(yn(S,n))return;Zt(p,n);let H="",T="",b$1={},Y=[],G=(r,u)=>{let E={},$={};Object.keys(r).forEach(y=>{var h;let c=(h=r[y])!=null&&h.schema?r[y].schema:r[y],C=`${A(n,c,"",true,{noSharedImport:true,useComponentName:false})}`;if(C){let P=y.split("."),W=E,a=$;for(let Z=0;Z<P.length;Z++){let v=P[Z];Z<P.length-1?(v in W||(W[v]={},a[v]={}),W=W[v],a=a[v]):(W[v]=C,a[v]=c);}}}),Object.keys(E).forEach(y=>{var P,W,a,Z;let c=w(y),C=E[y],h="";!((W=(P=e==null?void 0:e.types)==null?void 0:P.doc)!=null&&W.disable)&&y in r&&((a=r[y])!=null&&a.description)&&(h=" * "+r[y].description.split(`
33
- `).filter(v=>v.trim()!=="").join(`
34
- *${" ".repeat(1)}`)),b$1[y]=((Z=b$1[y])!=null?Z:"")+(h?`/**
35
- ${h}
29
+ `:"")+`${k(r,(ge=o.properties)==null?void 0:ge[N],N,P.includes(N),u,y+1)}`;}),v.length>0?g+=`{
30
+ ${" ".repeat(y)}${v}${" ".repeat(y)}}`:g+="{[k: string]: any}";}else if(o.enum&&o.enum.length>0){let x=o.enum.includes(null),P=o.enum.filter(N=>N!==null).map(N=>JSON.stringify(N)).filter(N=>N!==void 0),v=P.length>1||P.length>0&&x;v&&(g+="("),P.forEach((N,S)=>{g+=`${S===0?"":"|"}${N}`;}),x&&(g+=`${P.length>0?"|":""}null`),v&&(g+=")");}else if(o.type){let x=P=>{let v="";if(typeof P=="string")["string","integer","number","array","boolean","null"].includes(P)?["integer","number"].includes(P)?v+="number":P==="array"?v+="any[]":v+=P:P==="object"&&(o.additionalProperties?v+=`{[k: string]: ${k(r,o.additionalProperties,"",true,b(a({},u),{useComponentName:false}))||"any"}}`:v+="{[k: string]: any}");else if(Array.isArray(P)){let N=P.map(S=>x(S));N.filter(S=>S!==""),N.length>1&&(v+="("+N.join("|")+")");}else v+="any";return v};g=x(o.type);}else g+="any";else g="string";let q=c||b$1;u!=null&&u.useComponentName&&!q&&(q=$);let Q=q?` "${q}"${C?"":"?"}: `:"",a$1=(o==null?void 0:o.enum)&&o.enum.includes(null),z=o!=null&&o.nullable&&!a$1?" | null":"";return g.length>0?`${Q}${g}${z}${q?`;
31
+ `:""}`:""},B=(r,o,b$1,C,u,y=0)=>{let c="",$="",g="";if(o)if(o.$ref)if(o.$ref[0]==="#"){let x=(o.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let S=ke(r,x,null);if(S){S!=null&&S.name&&(c=S.name),$=x[x.length-1];let W=M($);W.includes(".")&&(W=W.split(".").join("_")),g+=`${u!=null&&u.noSharedImport?"":"Shared."}${W}`;}}else g+="Any";else if(o.anyOf)g+=`Union[${o.anyOf.map(x=>B(r,x,"",C,b(a({},u),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(o.oneOf)g+=`Union[${o.oneOf.map(x=>B(r,x,"",C,b(a({},u),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(o.allOf)g+="Dict[str, Any]";else if(o.items)g+=`List[${B(r,o.items,"",false,b(a({},u),{useComponentName:false}))}]`;else if(o.properties){let x=Object.keys(o.properties),P=o.required||[],v="";x.forEach(N=>{var S;v+=B(r,(S=o.properties)==null?void 0:S[N],N,P.includes(N),u,y+1);}),v.length>0?b$1?g+="Dict[str, Any]":g+=`
32
+ ${v}`:g+="Dict[str, Any]";}else if(o.enum&&o.enum.length>0){let x=o.enum.filter(P=>P!==null).map(P=>JSON.stringify(P));x.length>0?g+=`Literal[${x.join(", ")}]`:g+="Any";}else if(o.type){let x=P=>{let v="";if(typeof P=="string")["integer","number"].includes(P)?v+=P==="number"?"float":"int":P==="string"?v+="str":P==="boolean"?v+="bool":P==="array"?v+="List[Any]":P==="object"?v+="Dict[str, Any]":P==="null"?v+="None":v+="Any";else if(Array.isArray(P)){let N=P.map(S=>x(S)).filter(S=>S!=="");N.length>1?v+=`Union[${N.join(", ")}]`:v+=N[0]||"Any";}else v+="Any";return v};g=x(o.type);}else g+="Any";else g="str";let q=c||b$1;u!=null&&u.useComponentName&&!q&&(q=$);let Q="";q&&(Q=` ${q.replace(/[^a-zA-Z0-9_]/g,"_")}: `);let a$1=g,z=!q&&g.includes(`
33
+ `);return o!=null&&o.nullable&&!z&&(g.startsWith("Union[")?a$1=g.replace("Union[","Union[None, "):a$1=`Optional[${g}]`),g.length>0?`${Q}${a$1}${q?`
34
+ `:""}`:""},j=r=>{let o=(r||"").replace(/^\n+/,"").trimEnd();if(!o)return ` pass
35
+ `;let b=o.split(`
36
+ `),C=/^[A-Za-z_][A-Za-z0-9_]*\s*:\s*.+$/,u=b.map($=>$.trim()).filter($=>!!$).filter($=>!$.startsWith('"""')&&!$.endsWith('"""'));return !u.some($=>C.test($))&&u.length===1?` value: ${u[0]}
37
+ `:`${o.split(`
38
+ `).map($=>$.trim()?/^\s/.test($)?$:` ${$}`:$).join(`
39
+ `)}
40
+ `},E=(r,o)=>`@dataclass
41
+ class ${r}:
42
+ ${j(o)}`,ee=r=>{let b=["Any","List","Dict","Union","Optional","Literal"].filter(C=>new RegExp(`\\b${C}\\b`).test(r));return b.length>0?`from typing import ${b.join(", ")}
43
+ `:""},F=(r,o=72)=>{let b=(r||"").replace(/\s+/g," ").trim().split(" ");if(!b[0])return [];let C=[],u="";return b.forEach(y=>{let c=u?`${u} ${y}`:y;c.length>o&&u?(C.push(u),u=y):u=c;}),u&&C.push(u),C},J=r=>{var u,y;if(!r||(y=(u=e==null?void 0:e.types)==null?void 0:u.doc)!=null&&y.disable)return "";let o=(r.description||"").trim(),b=Object.entries(r.properties||{}).map(([c,$])=>({name:c,desc:(($==null?void 0:$.description)||"").trim()})).filter(c=>c.desc.length>0);if(!o&&b.length===0)return "";let C=[' """'];return o&&F(o).forEach(c=>C.push(` ${c}`)),b.length>0&&(o&&C.push(""),C.push(" Attributes:"),b.forEach(c=>{let $=F(c.desc);$.length&&(C.push(` ${c.name}: ${$[0]}`),$.slice(1).forEach(g=>C.push(` ${g}`)));})),C.push(' """'),`${C.join(`
44
+ `)}
45
+ `},re=(r,o)=>{let u="";if(o)if(o.$ref)if(o.$ref[0]==="#"){let y=(o.$ref||"").split("/");y.shift();let $=ke(r,y,null);$&&($!=null&&$.name&&($.name),y[y.length-1],u+=re(r,$));}else u+="";else if(o.anyOf)u+=re(r,o.anyOf[0]);else if(o.oneOf)u+=re(r,o.oneOf[0]);else if(o.allOf)u+=`{${o.allOf.map(y=>`...(${re(r,y)})`).join(",")}}`;else if(o.items)u+=`[${re(r,o.items)}]`;else if(o.properties){let $=Object.keys(o.properties).map(g=>{var q;return ` "${g}": ${re(r,(q=o.properties)==null?void 0:q[g])}`}).join(`,
46
+ `);$.length>0?u+=`{
47
+ ${$}
48
+ }`:u+="{}";}else if(o.enum&&o.enum.length>0)o.enum.length>1&&(u+=o.enum[0]);else if(o.type)if(o.example)u+=JSON.stringify(o.example);else {let y=c=>{let $="";if(typeof c=="string")["string","integer","number","array","boolean","null"].includes(c)?["integer","number"].includes(c)?$+="123":c==="array"?$+="[]":c==="boolean"?$+="true":c==="null"?$+="null":$+=`"${c}"`:c==="object"&&($+="{}");else if(Array.isArray(c)){let g=c.map(q=>y(q));g.filter(q=>q!==""),g.length>1&&($+=g.join("|"));}else $+="any";return $};u=y(o.type);}else u+="any";else u="string";return u},fe=pt(m);if(wt(fe,t))return;lt(m,t);let se="",ie="",pe={},Ie=[],Pe=(r,o)=>{let b={},C={};Object.keys(r).forEach(y=>{var g;let c=(g=r[y])!=null&&g.schema?r[y].schema:r[y],$=d?`${B(t,c,"",true,{noSharedImport:true,useComponentName:false})}`:`${k(t,c,"",true,{noSharedImport:true,useComponentName:false})}`;if($){let q=y.split("."),Q=b,a=C;for(let z=0;z<q.length;z++){let x=q[z];z<q.length-1?(x in Q||(Q[x]={},a[x]={}),Q=Q[x],a=a[x]):(Q[x]=$,a[x]=c);}}}),Object.keys(b).forEach(y=>{var z,x,P,v,N;let c=M(y),$=b[y],g=r[y],q=g!=null&&g.schema?g.schema:g,Q="",a="";!((x=(z=e==null?void 0:e.types)==null?void 0:z.doc)!=null&&x.disable)&&y in r&&((P=r[y])!=null&&P.description)&&(Q=" * "+r[y].description.split(`
49
+ `).filter(W=>W.trim()!=="").join(`
50
+ *${" ".repeat(1)}`)),a=J(q),d?pe[y]=((v=pe[y])!=null?v:"")+`@dataclass
51
+ class ${c}:
52
+ `+(a||"")+j(typeof $=="string"?$:"")+`
53
+ `:pe[y]=((N=pe[y])!=null?N:"")+(Q?`/**
54
+ ${Q}
36
55
  */
37
- `:"")+"export type "+c+" = "+(typeof C=="string"?C:Ee(C))+`;
38
- `;});};n.definitions&&G(n.definitions),n.components&&Object.keys(n.components).forEach(r=>{if(["schemas","responses","parameters","examples","requestBodies","headers","links","callbacks"].includes(r)){let u=n.components[r];G(u);}});let Q=r=>{let u="";if(r.content){let E=Object.keys(r.content);E[0]&&r.content[E[0]].schema&&(u+=`${A(n,r.content[E[0]].schema,"")}`);}return u},K=(r,u,E=0)=>{if(!r)return u==="joi"?"Joi.any()":u==="yup"?"yup.mixed()":"z.any()";if(r.$ref){if(r.$ref[0]==="#"){let $=r.$ref.split("/");$.shift();let d=$.join("."),y=Ge(n,d);if(y)return K(y,u,E)}return u==="joi"?"Joi.any()":u==="yup"?"yup.mixed()":"z.any()"}if(r.anyOf||r.oneOf){let $=r.anyOf||r.oneOf;if($.every(y=>y.enum!==void 0&&Array.isArray(y.enum))){let y=[],c=false;if($.forEach(C=>{C.enum&&C.enum.forEach(h=>{h===null?c=true:y.includes(h)||y.push(h);});}),y.length>0){let C=y.map(h=>JSON.stringify(h)).join(", ");if(u==="zod"){let h=`z.enum([${C}])`;return c&&(h+=".nullable()"),h}else if(u==="yup"){let h=`yup.mixed().oneOf([${C}])`;return c&&(h+=".nullable()"),h}else return c?`Joi.valid(${C}, null)`:`Joi.valid(${C})`}else if(c)return u==="zod"?"z.null()":u==="yup"?"yup.mixed().nullable()":"Joi.valid(null)"}return u==="zod"?`z.union([${$.map(C=>K(C,u,E+1)).join(", ")}])`:u==="yup"?`yup.mixed().oneOf([${$.map(C=>K(C,u,E+1)).join(", ")}])`:`Joi.alternatives().try(${$.map(c=>K(c,u,E+1)).join(", ")})`}if(r.allOf)if(u==="zod"){let $=r.allOf.map(y=>K(y,u,E+1)),d=$[0];for(let y=1;y<$.length;y++)d=`${d}.merge(${$[y]})`;return d}else return K(r.allOf[0],u,E+1);if(r.items){let $=K(r.items,u,E+1);if(u==="zod"){let d=`z.array(${$})`;return r.minItems!==void 0&&(d+=`.min(${r.minItems})`),r.maxItems!==void 0&&(d+=`.max(${r.maxItems})`),d}else if(u==="yup"){let d=`yup.array().of(${$})`;return r.minItems!==void 0&&(d+=`.min(${r.minItems})`),r.maxItems!==void 0&&(d+=`.max(${r.maxItems})`),d}else {let d=`Joi.array().items(${$})`;return r.minItems!==void 0&&(d+=`.min(${r.minItems})`),r.maxItems!==void 0&&(d+=`.max(${r.maxItems})`),d}}if(r.properties){let $=r.required||[],d=" ".repeat(E+1),y=Object.entries(r.properties).map(([c,C])=>{let h=$.includes(c),P=K(C,u,E+1);return h||(P+=".optional()"),`${d}${c}: ${P}`}).join(`,
39
- `);return u==="zod"?`z.object({
56
+ `:"")+"export type "+c+" = "+(typeof $=="string"?$:Te($))+`;
57
+ `;});};t.definitions&&Pe(t.definitions),t.components&&Object.keys(t.components).forEach(r=>{if(["schemas","responses","parameters","examples","requestBodies","headers","links","callbacks"].includes(r)){let o=t.components[r];Pe(o);}});let Je=r=>{let o="";if(r.content){let b=Object.keys(r.content);b[0]&&r.content[b[0]].schema&&(o+=d?`${B(t,r.content[b[0]].schema,"")}`:`${k(t,r.content[b[0]].schema,"")}`);}return o},me=(r,o,b=0)=>{if(!r)return o==="joi"?"Joi.any()":o==="yup"?"yup.mixed()":"z.any()";if(r.$ref){if(r.$ref[0]==="#"){let C=r.$ref.split("/");C.shift();let u=C.join("."),y=ke(t,u);if(y)return me(y,o,b)}return o==="joi"?"Joi.any()":o==="yup"?"yup.mixed()":"z.any()"}if(r.anyOf||r.oneOf){let C=r.anyOf||r.oneOf;if(C.every(y=>y.enum!==void 0&&Array.isArray(y.enum))){let y=[],c=false;if(C.forEach($=>{$.enum&&$.enum.forEach(g=>{g===null?c=true:y.includes(g)||y.push(g);});}),y.length>0){let $=y.map(g=>JSON.stringify(g)).join(", ");if(o==="zod"){let g=`z.enum([${$}])`;return c&&(g+=".nullable()"),g}else if(o==="yup"){let g=`yup.mixed().oneOf([${$}])`;return c&&(g+=".nullable()"),g}else return c?`Joi.valid(${$}, null)`:`Joi.valid(${$})`}else if(c)return o==="zod"?"z.null()":o==="yup"?"yup.mixed().nullable()":"Joi.valid(null)"}return o==="zod"?`z.union([${C.map($=>me($,o,b+1)).join(", ")}])`:o==="yup"?`yup.mixed().oneOf([${C.map($=>me($,o,b+1)).join(", ")}])`:`Joi.alternatives().try(${C.map(c=>me(c,o,b+1)).join(", ")})`}if(r.allOf)if(o==="zod"){let C=r.allOf.map(y=>me(y,o,b+1)),u=C[0];for(let y=1;y<C.length;y++)u=`${u}.merge(${C[y]})`;return u}else return me(r.allOf[0],o,b+1);if(r.items){let C=me(r.items,o,b+1);if(o==="zod"){let u=`z.array(${C})`;return r.minItems!==void 0&&(u+=`.min(${r.minItems})`),r.maxItems!==void 0&&(u+=`.max(${r.maxItems})`),u}else if(o==="yup"){let u=`yup.array().of(${C})`;return r.minItems!==void 0&&(u+=`.min(${r.minItems})`),r.maxItems!==void 0&&(u+=`.max(${r.maxItems})`),u}else {let u=`Joi.array().items(${C})`;return r.minItems!==void 0&&(u+=`.min(${r.minItems})`),r.maxItems!==void 0&&(u+=`.max(${r.maxItems})`),u}}if(r.properties){let C=r.required||[],u=" ".repeat(b+1),y=Object.entries(r.properties).map(([c,$])=>{let g=C.includes(c),q=me($,o,b+1);return g||(q+=".optional()"),`${u}${c}: ${q}`}).join(`,
58
+ `);return o==="zod"?`z.object({
40
59
  ${y}
41
- ${" ".repeat(E)}})`:u==="yup"?`yup.object({
60
+ ${" ".repeat(b)}})`:o==="yup"?`yup.object({
42
61
  ${y}
43
- ${" ".repeat(E)}})`:`Joi.object({
62
+ ${" ".repeat(b)}})`:`Joi.object({
44
63
  ${y}
45
- ${" ".repeat(E)}})`}if(r.enum&&r.enum.length>0){let $=[],d=false;r.enum.forEach(c=>{c===null?d=true:$.includes(c)||$.push(c);});let y=$.map(c=>JSON.stringify(c)).join(", ");if(u==="zod"){let c=`z.enum([${y}])`;return d&&(c+=".nullable()"),c}else if(u==="yup"){let c=`yup.mixed().oneOf([${y}])`;return d&&(c+=".nullable()"),c}else {let c=`Joi.valid(${y})`;return d&&(c+=".allow(null)"),c}}if(r.type){let d=(y=>{switch(y){case "string":if(u==="zod"){let c="z.string()";return r.format==="email"?c+=".email()":r.format==="uuid"?c+=".uuid()":r.format==="url"||r.format==="uri"?c+=".url()":r.format==="date-time"?c+=".datetime()":r.format==="date"&&(c+=".date()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.regex(/${r.pattern}/)`),c}else if(u==="yup"){let c="yup.string()";return r.format==="email"?c+=".email()":(r.format==="url"||r.format==="uri")&&(c+=".url()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.matches(/${r.pattern}/)`),c}else {let c="Joi.string()";return r.format==="email"?c+=".email()":r.format==="url"||r.format==="uri"?c+=".uri()":r.format==="uuid"?c+=".guid({ version: 'uuidv4' })":r.format==="date-time"&&(c+=".isoDate()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.pattern(/${r.pattern}/)`),c}case "integer":case "number":if(u==="zod"){let c="z.number()";return y==="integer"&&(c+=".int()"),r.minimum!==void 0&&(r.exclusiveMinimum?c+=`.gt(${r.minimum})`:c+=`.min(${r.minimum})`),r.maximum!==void 0&&(r.exclusiveMaximum?c+=`.lt(${r.maximum})`:c+=`.max(${r.maximum})`),c}else if(u==="yup"){let c="yup.number()";return y==="integer"&&(c+=".integer()"),r.minimum!==void 0&&(c+=`.min(${r.minimum})`),r.maximum!==void 0&&(c+=`.max(${r.maximum})`),c}else {let c="Joi.number()";return y==="integer"&&(c+=".integer()"),r.minimum!==void 0&&(r.exclusiveMinimum?c+=`.greater(${r.minimum})`:c+=`.min(${r.minimum})`),r.maximum!==void 0&&(r.exclusiveMaximum?c+=`.less(${r.maximum})`:c+=`.max(${r.maximum})`),c}case "boolean":return u==="joi"?"Joi.boolean()":u==="yup"?"yup.boolean()":"z.boolean()";case "null":return u==="joi"?"Joi.any().allow(null)":u==="yup"?"yup.mixed().nullable()":"z.null()";default:return u==="joi"?"Joi.any()":u==="yup"?"yup.mixed()":"z.any()"}})(typeof r.type=="string"?r.type:r.type[0]);return r.nullable&&u!=="joi"?d+=".nullable()":r.nullable&&u==="joi"&&(d+=".allow(null)"),d}return u==="joi"?"Joi.any()":u==="yup"?"yup.mixed()":"z.any()"},pe=r=>{var u,E,$,d,y;if((E=(u=e==null?void 0:e.endpoints)==null?void 0:u.value)!=null&&E.replaceWords&&Array.isArray(e==null?void 0:e.endpoints.value.replaceWords)){let c=r;return (y=(d=($=e==null?void 0:e.endpoints)==null?void 0:$.value)==null?void 0:d.replaceWords)==null||y.forEach((C,h)=>{let P=new RegExp(C.replace,"g");c=c.replace(P,C.with||"");}),c}else return r},oe=(r,u,E=[])=>{var y,c;let $=(y=e==null?void 0:e.endpoints)==null?void 0:y.exclude,d=(c=e==null?void 0:e.endpoints)==null?void 0:c.include;if(d){let C=d.tags&&d.tags.length>0?E.some(P=>d.tags.includes(P)):true,h=d.endpoints&&d.endpoints.length>0?d.endpoints.some(P=>{let W=!P.method||P.method.toLowerCase()===u.toLowerCase();return P.path?r===P.path&&W:P.regex?new RegExp(P.regex).test(r)&&W:false}):true;if(!C||!h)return true}return !!($&&($.tags&&$.tags.length>0&&E.some(h=>$.tags.includes(h))||$.endpoints&&$.endpoints.length>0&&$.endpoints.some(h=>{let P=!h.method||h.method.toLowerCase()===u.toLowerCase();return h.path?r===h.path&&P:h.regex?new RegExp(h.regex).test(r)&&P:false})))};if(Object.keys(n.paths||{}).forEach(r=>{let u=n.paths[r];Object.keys(u).forEach($=>{var Ye,Ze,Xe,et,tt,nt,rt,st,ot,at,it,lt,ut,pt,mt,ct,dt,ft,yt,gt,ht,$t,Ct,bt,It,xt,Et,Tt,wt,At,Pt,vt,jt,qt,Ot,kt,Rt,St,Ut,Mt,Gt,Nt,Lt,Ft,Qt,Bt,zt,Dt,Jt;let d=$,y=Vt(r,d),c=((Ye=u[d])==null?void 0:Ye.tags)||[];if(oe(r,d,c))return;let C=u[d],h=f({method:d,path:r,summary:C==null?void 0:C.summary,operationId:C==null?void 0:C.operationId,tags:c,parameters:C==null?void 0:C.parameters,requestBody:C==null?void 0:C.requestBody,responses:C==null?void 0:C.responses});m[h]||(m[h]={endpoints:"",types:"",validation:""});let P=((Xe=(Ze=e==null?void 0:e.endpoints)==null?void 0:Ze.value)!=null&&Xe.includeServer?O:"")+y.pathParts.map(I=>(I[0]==="{"&&I[I.length-1]==="}"?I=`\${${I.replace(/{/,"").replace(/}/,"")}}`:I[0]==="<"&&I[I.length-1]===">"?I=`\${${I.replace(/</,"").replace(/>/,"")}}`:I[0]===":"&&(I=`\${${I.replace(/:/,"")}}`),I)).join("/"),W=`"${P}"`;y.variables.length>0&&(W=`(${y.variables.map(x=>`${x}:string`).join(",")})=> \`${P}\``),W=pe(W);let a=u[d],Z="",v;if(a!=null&&a.parameters&&((a==null?void 0:a.parameters).forEach((x,R)=>{(x.$ref||x.in==="query"&&x.name)&&(Z+=`${A(n,x.$ref?x:x.schema,x.name||"",x.required)}`);}),Z)){Z=`{
46
- ${Z}}`;let x=`${y.name}Query`;if((tt=(et=e==null?void 0:e.types)==null?void 0:et.name)!=null&&tt.useOperationId&&(a!=null&&a.operationId)&&(x=`${a.operationId}Query`),x=ue(`${q}${x}`),(rt=(nt=e==null?void 0:e.types)==null?void 0:nt.name)!=null&&rt.format){let L=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},x);L&&(x=`${q}${L}`);}v=x;let R=`export type ${x} = ${Z};
47
- `;e!=null&&e.folderSplit?m[h].types+=R:T+=R;}if(((st=e==null?void 0:e.validations)==null?void 0:st.disable)!==true&&((at=(ot=e==null?void 0:e.validations)==null?void 0:ot.generate)==null?void 0:at.query)!==false&&(a!=null&&a.parameters)){let I=((it=e.validations)==null?void 0:it.library)||"zod",R=a.parameters.filter(L=>!L.$ref&&L.in==="query"&&L.name);if(R.length>0){let L=((lt=e==null?void 0:e.validations)==null?void 0:lt.name)||((ut=e==null?void 0:e.types)==null?void 0:ut.name),_=typeof(L==null?void 0:L.prefix)=="string"?L.prefix:"I",M=typeof((mt=(pt=e==null?void 0:e.validations)==null?void 0:pt.name)==null?void 0:mt.suffix)=="string"?e.validations.name.suffix:"Schema",B=`${y.name}Query`;if(L!=null&&L.useOperationId&&(a!=null&&a.operationId)&&(B=`${a.operationId}Query`),B=ue(`${_}${B}${M}`),(dt=(ct=e==null?void 0:e.validations)==null?void 0:ct.name)!=null&&dt.format){let ne=e.validations.name.format({code:"",type:"query",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},B);ne&&(B=`${_}${ne}${M}`);}else if((yt=(ft=e==null?void 0:e.types)==null?void 0:ft.name)!=null&&yt.format){let ne=e.types.name.format("endpoint",{code:"",type:"query",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},B);ne&&(B=`${_}${ne}${M}`);}let U=R.map(ne=>{let pn=ne!=null&&ne.schema?K(ne.schema,I):I==="joi"?"Joi.string()":I==="yup"?"yup.string()":"z.string()",mn=ne.required?"":".optional()";return ` ${ne.name}: ${pn}${mn}`}).join(`,
48
- `),me=`export const ${B} = ${I==="joi"?"Joi.object":I==="yup"?"yup.object":"z.object"}({
49
- ${U}
64
+ ${" ".repeat(b)}})`}if(r.enum&&r.enum.length>0){let C=[],u=false;r.enum.forEach(c=>{c===null?u=true:C.includes(c)||C.push(c);});let y=C.map(c=>JSON.stringify(c)).join(", ");if(o==="zod"){let c=`z.enum([${y}])`;return u&&(c+=".nullable()"),c}else if(o==="yup"){let c=`yup.mixed().oneOf([${y}])`;return u&&(c+=".nullable()"),c}else {let c=`Joi.valid(${y})`;return u&&(c+=".allow(null)"),c}}if(r.type){let u=(y=>{switch(y){case "string":if(o==="zod"){let c="z.string()";return r.format==="email"?c+=".email()":r.format==="uuid"?c+=".uuid()":r.format==="url"||r.format==="uri"?c+=".url()":r.format==="date-time"?c+=".datetime()":r.format==="date"&&(c+=".date()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.regex(/${r.pattern}/)`),c}else if(o==="yup"){let c="yup.string()";return r.format==="email"?c+=".email()":(r.format==="url"||r.format==="uri")&&(c+=".url()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.matches(/${r.pattern}/)`),c}else {let c="Joi.string()";return r.format==="email"?c+=".email()":r.format==="url"||r.format==="uri"?c+=".uri()":r.format==="uuid"?c+=".guid({ version: 'uuidv4' })":r.format==="date-time"&&(c+=".isoDate()"),r.minLength&&(c+=`.min(${r.minLength})`),r.maxLength&&(c+=`.max(${r.maxLength})`),r.pattern&&(c+=`.pattern(/${r.pattern}/)`),c}case "integer":case "number":if(o==="zod"){let c="z.number()";return y==="integer"&&(c+=".int()"),r.minimum!==void 0&&(r.exclusiveMinimum?c+=`.gt(${r.minimum})`:c+=`.min(${r.minimum})`),r.maximum!==void 0&&(r.exclusiveMaximum?c+=`.lt(${r.maximum})`:c+=`.max(${r.maximum})`),c}else if(o==="yup"){let c="yup.number()";return y==="integer"&&(c+=".integer()"),r.minimum!==void 0&&(c+=`.min(${r.minimum})`),r.maximum!==void 0&&(c+=`.max(${r.maximum})`),c}else {let c="Joi.number()";return y==="integer"&&(c+=".integer()"),r.minimum!==void 0&&(r.exclusiveMinimum?c+=`.greater(${r.minimum})`:c+=`.min(${r.minimum})`),r.maximum!==void 0&&(r.exclusiveMaximum?c+=`.less(${r.maximum})`:c+=`.max(${r.maximum})`),c}case "boolean":return o==="joi"?"Joi.boolean()":o==="yup"?"yup.boolean()":"z.boolean()";case "null":return o==="joi"?"Joi.any().allow(null)":o==="yup"?"yup.mixed().nullable()":"z.null()";default:return o==="joi"?"Joi.any()":o==="yup"?"yup.mixed()":"z.any()"}})(typeof r.type=="string"?r.type:r.type[0]);return r.nullable&&o!=="joi"?u+=".nullable()":r.nullable&&o==="joi"&&(u+=".allow(null)"),u}return o==="joi"?"Joi.any()":o==="yup"?"yup.mixed()":"z.any()"},ht=r=>{var o,b,C,u,y;if((b=(o=e==null?void 0:e.endpoints)==null?void 0:o.value)!=null&&b.replaceWords&&Array.isArray(e==null?void 0:e.endpoints.value.replaceWords)){let c=r;return (y=(u=(C=e==null?void 0:e.endpoints)==null?void 0:C.value)==null?void 0:u.replaceWords)==null||y.forEach(($,g)=>{let q=new RegExp($.replace,"g");c=c.replace(q,$.with||"");}),c}else return r},Ct=(r,o,b=[])=>{var y,c;let C=(y=e==null?void 0:e.endpoints)==null?void 0:y.exclude,u=(c=e==null?void 0:e.endpoints)==null?void 0:c.include;if(u){let $=u.tags&&u.tags.length>0?b.some(q=>u.tags.includes(q)):true,g=u.endpoints&&u.endpoints.length>0?u.endpoints.some(q=>{let Q=!q.method||q.method.toLowerCase()===o.toLowerCase();return q.path?r===q.path&&Q:q.regex?new RegExp(q.regex).test(r)&&Q:false}):true;if(!$||!g)return true}return !!(C&&(C.tags&&C.tags.length>0&&b.some(g=>C.tags.includes(g))||C.endpoints&&C.endpoints.length>0&&C.endpoints.some(g=>{let q=!g.method||g.method.toLowerCase()===o.toLowerCase();return g.path?r===g.path&&q:g.regex?new RegExp(g.regex).test(r)&&q:false})))};if(Object.keys(t.paths||{}).forEach(r=>{let o=t.paths[r];Object.keys(o).forEach(C=>{var sn,on,an,ln,pn,un,mn,cn,dn,fn,yn,gn,$n,hn,Cn,bn,In,xn,En,Tn,An,wn,On,Pn,jn,vn,qn,Rn,kn,Sn,Un,Nn,Mn,Gn,Ln,Fn,Qn,Bn,zn,Dn,Wn,Jn,_n,Hn,Kn,Vn,Yn,Zn,Xn,et;let u=C,y=at(r,u),c=((sn=o[u])==null?void 0:sn.tags)||[];if(Ct(r,u,c))return;let $=o[u],g=G({method:u,path:r,summary:$==null?void 0:$.summary,operationId:$==null?void 0:$.operationId,tags:c,parameters:$==null?void 0:$.parameters,requestBody:$==null?void 0:$.requestBody,responses:$==null?void 0:$.responses});w[g]||(w[g]={endpoints:"",types:"",validation:""});let q=((an=(on=e==null?void 0:e.endpoints)==null?void 0:on.value)!=null&&an.includeServer?R:"")+y.pathParts.map(T=>(T[0]==="{"&&T[T.length-1]==="}"?T=`\${${T.replace(/{/,"").replace(/}/,"")}}`:T[0]==="<"&&T[T.length-1]===">"?T=`\${${T.replace(/</,"").replace(/>/,"")}}`:T[0]===":"&&(T=`\${${T.replace(/:/,"")}}`),T)).join("/"),Q=`"${q}"`;y.variables.length>0&&(Q=`(${y.variables.map(I=>`${I}:string`).join(",")})=> \`${q}\``),Q=ht(Q);let a=o[u],z="",x;if(a!=null&&a.parameters&&((a==null?void 0:a.parameters).forEach((I,A)=>{(I.$ref||I.in==="query"&&I.name)&&(z+=d?`${B(t,I.$ref?I:I.schema,I.name||"",I.required)}`:`${k(t,I.$ref?I:I.schema,I.name||"",I.required)}`);}),z)){z=d?z:`{
65
+ ${z}}`;let A=`${y.name}Query`;if((pn=(ln=e==null?void 0:e.types)==null?void 0:ln.name)!=null&&pn.useOperationId&&(a!=null&&a.operationId)&&(A=`${a.operationId}Query`),A=de(`${O}${A}`),(mn=(un=e==null?void 0:e.types)==null?void 0:un.name)!=null&&mn.format){let _=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},A);_&&(A=`${O}${_}`);}x=A;let L=d?`${E(A,z)}
66
+ `:`export type ${A} = ${z};
67
+ `;e!=null&&e.folderSplit?w[g].types+=L:ie+=L;}if(((cn=e==null?void 0:e.validations)==null?void 0:cn.disable)!==true&&((fn=(dn=e==null?void 0:e.validations)==null?void 0:dn.generate)==null?void 0:fn.query)!==false&&(a!=null&&a.parameters)){let T=((yn=e.validations)==null?void 0:yn.library)||"zod",A=a.parameters.filter(L=>!L.$ref&&L.in==="query"&&L.name);if(A.length>0){let L=((gn=e==null?void 0:e.validations)==null?void 0:gn.name)||(($n=e==null?void 0:e.types)==null?void 0:$n.name),_=typeof(L==null?void 0:L.prefix)=="string"?L.prefix:"I",Y=typeof((Cn=(hn=e==null?void 0:e.validations)==null?void 0:hn.name)==null?void 0:Cn.suffix)=="string"?e.validations.name.suffix:"Schema",Z=`${y.name}Query`;if(L!=null&&L.useOperationId&&(a!=null&&a.operationId)&&(Z=`${a.operationId}Query`),Z=de(`${_}${Z}${Y}`),(In=(bn=e==null?void 0:e.validations)==null?void 0:bn.name)!=null&&In.format){let K=e.validations.name.format({code:"",type:"query",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},Z);K&&(Z=`${_}${K}${Y}`);}else if((En=(xn=e==null?void 0:e.types)==null?void 0:xn.name)!=null&&En.format){let K=e.types.name.format("endpoint",{code:"",type:"query",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},Z);K&&(Z=`${_}${K}${Y}`);}let D=A.map(K=>{let je=K!=null&&K.schema?me(K.schema,T):T==="joi"?"Joi.string()":T==="yup"?"yup.string()":"z.string()",xt=K.required?"":".optional()";return ` ${K.name}: ${je}${xt}`}).join(`,
68
+ `),H=`export const ${Z} = ${T==="joi"?"Joi.object":T==="yup"?"yup.object":"z.object"}({
69
+ ${D}
50
70
  });
51
71
 
52
- `;e!=null&&e.folderSplit||m[h]||(m[h]={endpoints:"",types:"",validation:""}),m[h].validation+=me;}}let N=a==null?void 0:a.requestBody,F="",z;if(N&&(F=Q(N),F)){let I=`${y.name}DTO`;if((ht=(gt=e==null?void 0:e.types)==null?void 0:gt.name)!=null&&ht.useOperationId&&(a!=null&&a.operationId)&&(I=`${a.operationId}DTO`),I=ue(`${q}${I}`),(Ct=($t=e==null?void 0:e.types)==null?void 0:$t.name)!=null&&Ct.format){let R=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},I);R&&(I=`${q}${R}`);}z=I;let x=`export type ${I} = ${F};
53
- `;e!=null&&e.folderSplit?m[h].types+=x:T+=x;}if(((bt=e==null?void 0:e.validations)==null?void 0:bt.disable)!==true&&((xt=(It=e==null?void 0:e.validations)==null?void 0:It.generate)==null?void 0:xt.dto)!==false&&N){let I=((Et=e.validations)==null?void 0:Et.library)||"zod";if(N.content){let x=Object.keys(N.content);if(x[0]&&N.content[x[0]].schema){let R=((Tt=e==null?void 0:e.validations)==null?void 0:Tt.name)||((wt=e==null?void 0:e.types)==null?void 0:wt.name),L=typeof(R==null?void 0:R.prefix)=="string"?R.prefix:"I",_=typeof((Pt=(At=e==null?void 0:e.validations)==null?void 0:At.name)==null?void 0:Pt.suffix)=="string"?e.validations.name.suffix:"Schema",M=`${y.name}DTO`;if(R!=null&&R.useOperationId&&(a!=null&&a.operationId)&&(M=`${a.operationId}DTO`),M=ue(`${L}${M}${_}`),(jt=(vt=e==null?void 0:e.validations)==null?void 0:vt.name)!=null&&jt.format){let te=e.validations.name.format({code:"",type:"dto",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},M);te&&(M=`${L}${te}${_}`);}else if((Ot=(qt=e==null?void 0:e.types)==null?void 0:qt.name)!=null&&Ot.format){let te=e.types.name.format("endpoint",{code:"",type:"dto",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},M);te&&(M=`${L}${te}${_}`);}let B=K(N.content[x[0]].schema,I),U=`export const ${M} = ${B};
54
-
55
- `;e!=null&&e.folderSplit||m[h]||(m[h]={endpoints:"",types:"",validation:""}),m[h].validation+=U;}}}let D={},re="",Ce="";if(a!=null&&a.responses){let I=a==null?void 0:a.responses;Object.keys(I).forEach(R=>{var L,_,M,B;if(re=Q(I[R]),D[R]=re,re){let U=`${y.name}${R}Response`;if((_=(L=e==null?void 0:e.types)==null?void 0:L.name)!=null&&_.useOperationId&&(a!=null&&a.operationId)&&(U=`${a.operationId}${R}Response`),U=ue(`${q}${U}`),(B=(M=e==null?void 0:e.types)==null?void 0:M.name)!=null&&B.format){let ne=e==null?void 0:e.types.name.format("endpoint",{code:R,type:"response",method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},U);ne&&(U=`${q}${ne}`);}let te=`export type ${U} = ${re};
56
- `;e!=null&&e.folderSplit?m[h].types+=te:T+=te,D[R]=U;let me=parseInt(R);me>=200&&me<300&&(Ce=U);}});}let de=I=>!I||!I.length?"":I.map(x=>Object.entries(x).map(([L,_])=>{let M=L,B="";return Array.isArray(_)&&_.length&&(B=`
57
- - Scopes: [\`${_.join("`, `")}\`]`,M=`**${M}**`),`
58
- - ${M}${B}`}).join("")).join(`
59
- `),fe=a!=null&&a.security?de(a.security):"",Ie="";if(!((Rt=(kt=e==null?void 0:e.endpoints)==null?void 0:kt.doc)!=null&&Rt.disable)){let I="";if((Ut=(St=e==null?void 0:e.endpoints)==null?void 0:St.doc)!=null&&Ut.showCurl){let x={},R="",L="";(Mt=a.requestBody)!=null&&Mt.content&&Object.keys(a.requestBody.content).forEach(B=>{let U=a.requestBody.content[B].schema;if(U){Array.isArray(x["Content-type"])?x["Content-type"].push(B):x["Content-type"]=[B];let te=k(n,U);te&&(R=te);}}),a!=null&&a.security&&a.security.forEach(M=>{Object.keys(M).forEach(B=>{var te,me;let U=(me=(te=n.components)==null?void 0:te.securitySchemes)==null?void 0:me[B];U&&(U.type==="mutualTLS"?L+=`
60
- --cert client-certificate.crt --key client-private-key.key --cacert ca-certificate.crt`:U.type==="apiKey"?x[(U==null?void 0:U.name)||"X-API-KEY"]="{API_KEY_VALUE}":x.Authorization=`${(U==null?void 0:U.scheme)==="basic"?"Basic":"Bearer"} {${(U==null?void 0:U.scheme)==="basic"?"VALUE":"TOKEN"}}`);});});let _={};Object.keys(x).forEach(M=>{Array.isArray(x[M])?_[M]=x[M].join("; "):_[M]=x[M];}),I=`
72
+ `;e!=null&&e.folderSplit||w[g]||(w[g]={endpoints:"",types:"",validation:""}),w[g].validation+=H;}}let P=a==null?void 0:a.requestBody,v="",N;if(P&&(v=Je(P),v)){let T=`${y.name}DTO`;if((An=(Tn=e==null?void 0:e.types)==null?void 0:Tn.name)!=null&&An.useOperationId&&(a!=null&&a.operationId)&&(T=`${a.operationId}DTO`),T=de(`${O}${T}`),(On=(wn=e==null?void 0:e.types)==null?void 0:wn.name)!=null&&On.format){let A=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},T);A&&(T=`${O}${A}`);}N=T;let I=d?`${E(T,v)}
73
+ `:`export type ${T} = ${v};
74
+ `;e!=null&&e.folderSplit?w[g].types+=I:ie+=I;}if(((Pn=e==null?void 0:e.validations)==null?void 0:Pn.disable)!==true&&((vn=(jn=e==null?void 0:e.validations)==null?void 0:jn.generate)==null?void 0:vn.dto)!==false&&P){let T=((qn=e.validations)==null?void 0:qn.library)||"zod";if(P.content){let I=Object.keys(P.content);if(I[0]&&P.content[I[0]].schema){let A=((Rn=e==null?void 0:e.validations)==null?void 0:Rn.name)||((kn=e==null?void 0:e.types)==null?void 0:kn.name),L=typeof(A==null?void 0:A.prefix)=="string"?A.prefix:"I",_=typeof((Un=(Sn=e==null?void 0:e.validations)==null?void 0:Sn.name)==null?void 0:Un.suffix)=="string"?e.validations.name.suffix:"Schema",Y=`${y.name}DTO`;if(A!=null&&A.useOperationId&&(a!=null&&a.operationId)&&(Y=`${a.operationId}DTO`),Y=de(`${L}${Y}${_}`),(Mn=(Nn=e==null?void 0:e.validations)==null?void 0:Nn.name)!=null&&Mn.format){let oe=e.validations.name.format({code:"",type:"dto",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},Y);oe&&(Y=`${L}${oe}${_}`);}else if((Ln=(Gn=e==null?void 0:e.types)==null?void 0:Gn.name)!=null&&Ln.format){let oe=e.types.name.format("endpoint",{code:"",type:"dto",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},Y);oe&&(Y=`${L}${oe}${_}`);}let Z=me(P.content[I[0]].schema,T),D=`export const ${Y} = ${Z};
75
+
76
+ `;e!=null&&e.folderSplit||w[g]||(w[g]={endpoints:"",types:"",validation:""}),w[g].validation+=D;}}}let S={},W="",xe="";if(a!=null&&a.responses){let T=a==null?void 0:a.responses;Object.keys(T).forEach(A=>{var L,_,Y,Z;if(W=Je(T[A]),S[A]=W,W){let D=`${y.name}${A}Response`;if((_=(L=e==null?void 0:e.types)==null?void 0:L.name)!=null&&_.useOperationId&&(a!=null&&a.operationId)&&(D=`${a.operationId}${A}Response`),D=de(`${O}${D}`),(Z=(Y=e==null?void 0:e.types)==null?void 0:Y.name)!=null&&Z.format){let K=e==null?void 0:e.types.name.format("endpoint",{code:A,type:"response",method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},D);K&&(D=`${O}${K}`);}let oe=d?`${E(D,W)}
77
+ `:`export type ${D} = ${W};
78
+ `;e!=null&&e.folderSplit?w[g].types+=oe:ie+=oe,S[A]=D;let H=parseInt(A);H>=200&&H<300&&(xe=D);}});}let he=T=>!T||!T.length?"":T.map(I=>Object.entries(I).map(([L,_])=>{let Y=L,Z="";return Array.isArray(_)&&_.length&&(Z=`
79
+ - Scopes: [\`${_.join("`, `")}\`]`,Y=`**${Y}**`),`
80
+ - ${Y}${Z}`}).join("")).join(`
81
+ `),ce=a!=null&&a.security?he(a.security):"",ye="";if(!((Qn=(Fn=e==null?void 0:e.endpoints)==null?void 0:Fn.doc)!=null&&Qn.disable)){let T="";if((zn=(Bn=e==null?void 0:e.endpoints)==null?void 0:Bn.doc)!=null&&zn.showCurl||d){let I={},A="",L="";(Dn=a.requestBody)!=null&&Dn.content&&Object.keys(a.requestBody.content).forEach(oe=>{let H=a.requestBody.content[oe].schema;if(H){Array.isArray(I["Content-type"])?I["Content-type"].push(oe):I["Content-type"]=[oe];let K=re(t,H);K&&(A=K);}}),a!=null&&a.security&&a.security.forEach(D=>{Object.keys(D).forEach(oe=>{var K,je;let H=(je=(K=t.components)==null?void 0:K.securitySchemes)==null?void 0:je[oe];H&&(H.type==="mutualTLS"?L+=`
82
+ --cert client-certificate.crt --key client-private-key.key --cacert ca-certificate.crt`:H.type==="apiKey"?I[(H==null?void 0:H.name)||"X-API-KEY"]="{API_KEY_VALUE}":I.Authorization=`${(H==null?void 0:H.scheme)==="basic"?"Basic":"Bearer"} {${(H==null?void 0:H.scheme)==="basic"?"VALUE":"TOKEN"}}`);});});let _={};Object.keys(I).forEach(D=>{Array.isArray(I[D])?_[D]=I[D].join("; "):_[D]=I[D];});let Z=`${CurlGenerator({url:R+r,method:u.toUpperCase(),headers:_,body:A})||`curl ${R+r} -X ${u.toUpperCase()}`}${L}`;T=d?`
83
+ \`\`\`bash
84
+ ${Z}
85
+ \`\`\``:`
61
86
  \`\`\`bash
62
- ${CurlGenerator({url:O+r,method:d.toUpperCase(),headers:_,body:R})}${L}
63
- \`\`\``;}Ie=`/**${a!=null&&a.description?`
87
+ ${Z}
88
+ \`\`\``;}if(d){let I=[];a!=null&&a.description&&I.push(`* ${a.description}`),I.push(`* **Method**: ${u.toUpperCase()}`),I.push(`* **Summary**: ${(a==null?void 0:a.summary)||""}`),I.push(`* **Tags**: [${((Wn=a==null?void 0:a.tags)==null?void 0:Wn.join(", "))||""}]`),I.push(`* **OperationId**: ${(a==null?void 0:a.operationId)||""}`),z&&(I.push("* **Query**:"),I.push("```python"),z.split(`
89
+ `).filter(A=>A.trim().length>0).forEach(A=>I.push(A)),I.push("```")),v&&(I.push("* **DTO**:"),I.push("```python"),v.split(`
90
+ `).filter(A=>A.trim().length>0).forEach(A=>I.push(A)),I.push("```")),W&&(I.push("* **Response**:"),I.push("```python"),Object.entries(S).forEach(([A,L])=>{I.push(`${A}: ${String(L).replace(/\n/g," ")}`);}),I.push("```")),ce&&(I.push("* **Security**:"),ce.split(`
91
+ `).filter(A=>A.trim().length>0).forEach(A=>I.push(A.replace(/\*\*/g,"")))),ye=`"""
92
+ ${I.join(`
93
+ `)}${T}
94
+ """
95
+ `;}else ye=`/**${a!=null&&a.description?`
64
96
  * ${a==null?void 0:a.description} `:""}
65
- * **Method**: \`${d.toUpperCase()}\`
97
+ * **Method**: \`${u.toUpperCase()}\`
66
98
  * **Summary**: ${(a==null?void 0:a.summary)||""}
67
- * **Tags**: [${((Gt=a==null?void 0:a.tags)==null?void 0:Gt.join(", "))||""}]
68
- * **OperationId**: ${(a==null?void 0:a.operationId)||""} ${Z?`
69
- * **Query**: ${ve(Z)} `:""}${F?`
70
- * **DTO**: ${ve(F)} `:""}${re?`
71
- * **Response**: ${Object.entries(D).map(([x,R])=>`
72
- - **${x}**: ${ve(R,2)} `).join("")}`:""}${fe?`
73
- * **Security**: ${fe}
74
- `:""}${I}
99
+ * **Tags**: [${((Jn=a==null?void 0:a.tags)==null?void 0:Jn.join(", "))||""}]
100
+ * **OperationId**: ${(a==null?void 0:a.operationId)||""} ${z?`
101
+ * **Query**: ${ve(z)} `:""}${v?`
102
+ * **DTO**: ${ve(v)} `:""}${W?`
103
+ * **Response**: ${Object.entries(S).map(([I,A])=>`
104
+ - **${I}**: ${ve(A,2)} `).join("")}`:""}${ce?`
105
+ * **Security**: ${ce}
106
+ `:""}${T}
75
107
  */
76
- `;}let ye=(Lt=(Nt=e==null?void 0:e.endpoints)==null?void 0:Nt.name)!=null&&Lt.useOperationId&&((Ft=a==null?void 0:a.operationId)==null?void 0:Ft.length)>0?a.operationId:`${y.name}`;if((Bt=(Qt=e==null?void 0:e.endpoints)==null?void 0:Qt.name)!=null&&Bt.format){let I=e==null?void 0:e.endpoints.name.format({method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},ye);I&&(ye=I);}let Re={method:`"${d}"`,operationId:`"${a==null?void 0:a.operationId}"`,url:W,tags:(a==null?void 0:a.tags)||[]},Ve=`${Ie}export const ${j}${ye} = ${((Dt=(zt=e==null?void 0:e.endpoints)==null?void 0:zt.value)==null?void 0:Dt.type)==="object"?Ee(Re):W};
77
- `;e!=null&&e.folderSplit?m[h].endpoints+=Ve:H+=Ve;let un={name:`${j}${ye}`,method:d,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId,tags:c,parameters:(Jt=a==null?void 0:a.parameters)==null?void 0:Jt.filter(I=>!I.$ref&&I.in&&I.name).map(I=>{var x;return {name:I.name,in:I.in,required:I.required,type:((x=I.schema)==null?void 0:x.type)||"string"}}),requestBody:N?{type:F,required:N.required}:void 0,responses:D?Object.entries(D).reduce((I,[x,R])=>(I[x]={type:R},I),{}):void 0,queryType:v,dtoType:z,responseType:Ce||void 0};Y.push(un);});}),e!=null&&e.folderSplit){for(let[r,u]of Object.entries(m))if(u.endpoints||u.types){let E=J.join(g,r);if(u.endpoints){let $=J.join(ce,E,"endpoints.ts");yield ie.promises.mkdir(J.dirname($),{recursive:true}),yield ge($,u.endpoints,e);}if(u.types){let $=J.join(ce,E,"types.ts");yield ie.promises.mkdir(J.dirname($),{recursive:true});let d=Object.values(b$1).length>0?`import * as Shared from "../shared";
78
-
79
- ${u.types}`:u.types;yield ge($,d,e);}if(((We=e==null?void 0:e.validations)==null?void 0:We.disable)!==true&&u.validation){let $=((He=e.validations)==null?void 0:He.library)||"zod",d=$==="joi"?'import Joi from "joi";':$==="yup"?'import * as yup from "yup";':'import { z } from "zod";',y=J.join(ce,E,"validations.ts");yield ie.promises.mkdir(J.dirname(y),{recursive:true}),yield ge(y,`${d}
80
-
81
- ${u.validation}`,e);}}}if(H.length>0){let r=J.join(ce,g,"endpoints.ts");yield ie.promises.mkdir(J.dirname(r),{recursive:true}),yield ge(r,H,e);}if(Object.values(b$1).length>0){let r=J.join(ce,g,e!=null&&e.folderSplit?"":"types","shared.ts");yield ie.promises.mkdir(J.dirname(r),{recursive:true}),yield ge(r,Object.values(b$1).join(`
82
- `),e);}if(T.length>0){let r=J.join(ce,g,"types","index.ts");yield ie.promises.mkdir(J.dirname(r),{recursive:true}),yield ge(r,`${Object.values(b$1).length>0?`import * as Shared from "./shared";
83
-
84
- `:""}${T}`,e);}if(((Ke=e==null?void 0:e.validations)==null?void 0:Ke.disable)!==true&&!(e!=null&&e.folderSplit)){let r=((_e=e.validations)==null?void 0:_e.library)||"zod",u=r==="joi"?'import Joi from "joi";':r==="yup"?'import * as yup from "yup";':'import { z } from "zod";',E=Object.values(m).map($=>$.validation).filter($=>$.length>0).join("");if(E){let $=J.join(ce,g,"validations.ts");yield ie.promises.mkdir(J.dirname($),{recursive:true}),yield ge($,`${u}
85
-
86
- ${E}`,e);}}return tn(p,Y),console.info(`\u2705 Successfully synced ${p}`),{success:true}}),Le=sn;var on=(l,o)=>{let p=l;return o.tags&&o.tags.length>0&&(p=p.filter(e=>!e.tags||e.tags.length===0?false:e.tags.some(s=>o.tags.includes(s)))),o.endpoints&&o.endpoints.length>0&&(p=p.filter(e=>o.endpoints.includes(e.name))),p};var Fe=(l,o,p=false)=>{var n,g;let e=o.baseURL||"";o.auth;let t=`// Generated Fetch API Client
87
- `;t+=`// This file was auto-generated. Add custom code in the marked sections.
88
-
89
- `,t+=`import type {
90
- `;let i=new Set;return l.forEach(m=>{m.queryType&&i.add(m.queryType),m.dtoType&&i.add(m.dtoType),m.responseType&&i.add(m.responseType);}),i.forEach(m=>{t+=` ${m},
91
- `;}),t+=`} from '../types';
92
-
93
- `,t+=`import {
94
- `,l.forEach(m=>{t+=` ${m.name} as ${m.name}_endpoint,
95
- `;}),t+=`} from '../endpoints';
96
-
97
- `,t+=`export interface ApiConfig {
98
- `,t+=` baseURL?: string;
99
- `,t+=` headers?: Record<string, string>;
100
- `,t+=`}
101
-
102
- `,t+=`let globalConfig: ApiConfig = {
103
- `,t+=` baseURL: "${e}",
104
- `,t+=`};
105
-
106
- `,t+=`export const setApiConfig = (config: Partial<ApiConfig>) => {
107
- `,t+=` globalConfig = { ...globalConfig, ...config };
108
- `,t+=`};
109
-
110
- `,(n=o.errorHandling)!=null&&n.generateErrorClasses&&(t+=`export class ApiError extends Error {
111
- `,t+=` constructor(
112
- `,t+=` message: string,
113
- `,t+=` public statusCode: number,
114
- `,t+=` public response?: any
115
- `,t+=` ) {
116
- `,t+=` super(message);
117
- `,t+=` this.name = 'ApiError';
118
- `,t+=` }
119
- `,t+=`}
120
-
121
- `),t+=`async function fetchAPI<T>(
122
- `,t+=` url: string,
123
- `,t+=` options: RequestInit = {}
124
- `,t+=`): Promise<T> {
125
- `,t+=` const headers: Record<string, string> = {
126
- `,t+=` 'Content-Type': 'application/json',
127
- `,t+=` ...globalConfig.headers,
128
- `,t+=` ...(options.headers as Record<string, string>),
129
- `,t+=` };
130
-
131
- `,t+=" const response = await fetch(`${globalConfig.baseURL}${url}`, {\n",t+=` ...options,
132
- `,t+=` headers,
133
- `,t+=` });
134
-
135
- `,t+=` if (!response.ok) {
136
- `,(g=o.errorHandling)!=null&&g.generateErrorClasses?(t+=` const errorData = await response.json().catch(() => ({}));
137
- `,t+=` throw new ApiError(
138
- `,t+=` errorData.message || response.statusText,
139
- `,t+=` response.status,
140
- `,t+=` errorData
141
- `,t+=` );
142
- `):t+=" throw new Error(`HTTP error! status: ${response.status}`);\n",t+=` }
143
-
144
- `,t+=` return response.json();
145
- `,t+=`}
146
-
147
- `,l.forEach(m=>{var H,T;let f=m.name,O=((H=m.parameters)==null?void 0:H.filter(b=>b.in==="path"))||[],q=((T=m.parameters)==null?void 0:T.filter(b=>b.in==="query"))||[],j=O.length>0,w=q.length>0,A=!!m.requestBody,k=m.responseType||"any";if(t+=`/**
148
- `,m.summary&&(t+=` * ${m.summary}
149
- `),t+=` * @method ${m.method.toUpperCase()}
150
- `,t+=` * @path ${m.path}
151
- `,m.tags&&m.tags.length>0&&(t+=` * @tags ${m.tags.join(", ")}
152
- `),t+=` */
153
- `,t+=`export async function ${f}(`,(j||w||A)&&(t+=`params: {
154
- `,j&&(t+=` url: {
155
- `,O.forEach(b=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[b.type||"string"]||"any",Q=b.required?"":"?";t+=` ${b.name}${Q}: ${G};
156
- `;}),t+=` };
157
- `),w&&(t+=` query: ${m.queryType||"Record<string, any>"};
158
- `),A&&(t+=` data: ${m.dtoType||"any"};
159
- `),t+=`}
160
- `),t+=`): Promise<${k}> {
161
- `,j||w||A){let b=[];j&&b.push("url"),w&&b.push("query"),A&&b.push("data"),t+=` const { ${b.join(", ")} } = params;
162
- `;}let S;if(j){let b=O.map(Y=>`url.${Y.name}`).join(", ");S=`${m.name}_endpoint(${b})`;}else S=`${m.name}_endpoint`;w?(t+=` const queryParams = new URLSearchParams();
163
- `,q.forEach(b=>{b.required?t+=` queryParams.append('${b.name}', String(query.${b.name}));
164
- `:(t+=` if (query.${b.name} !== undefined) {
165
- `,t+=` queryParams.append('${b.name}', String(query.${b.name}));
166
- `,t+=` }
167
- `);}),t+=` const _url = \`\${${S}}?\${queryParams.toString()}\`;
168
- `):t+=` const _url = ${S};
169
- `,t+=` return fetchAPI<${k}>(_url, {
170
- `,t+=` method: '${m.method.toUpperCase()}',
171
- `,A&&(t+=` body: JSON.stringify(data),
172
- `),t+=` });
173
- `,t+=`}
174
-
175
- `;}),p&&(t+=`// Export all functions as a default object
176
- `,t+=`const apiClient = {
177
- `,t+=` setApiConfig,
178
- `,l.forEach(m=>{t+=` ${m.name},
179
- `;}),t+=`};
180
-
181
- `,t+=`export default apiClient;
182
- `),t},he=(l,o,p=false)=>{var n,g;let e=o.baseURL||"";o.auth;let t=`// Generated Axios API Client
183
- `;t+=`// This file was auto-generated. Add custom code in the marked sections.
184
-
185
- `,t+=`import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
186
-
187
- `,t+=`import type {
188
- `;let i=new Set;return l.forEach(m=>{m.queryType&&i.add(m.queryType),m.dtoType&&i.add(m.dtoType),m.responseType&&i.add(m.responseType);}),i.forEach(m=>{t+=` ${m},
189
- `;}),t+=`} from '../types';
190
-
191
- `,t+=`import {
192
- `,l.forEach(m=>{t+=` ${m.name},
193
- `;}),t+=`} from '../endpoints';
194
-
195
- `,t+=`export interface ApiConfig {
196
- `,t+=` baseURL?: string;
197
- `,t+=` headers?: Record<string, string>;
198
- `,t+=` timeout?: number;
199
- `,t+=`}
200
-
201
- `,(n=o.errorHandling)!=null&&n.generateErrorClasses&&(t+=`export class ApiError extends Error {
202
- `,t+=` constructor(
203
- `,t+=` message: string,
204
- `,t+=` public statusCode: number,
205
- `,t+=` public response?: any
206
- `,t+=` ) {
207
- `,t+=` super(message);
208
- `,t+=` this.name = 'ApiError';
209
- `,t+=` }
210
- `,t+=`}
211
-
212
- `),t+=`class ApiClient {
213
- `,t+=` private client: AxiosInstance;
214
-
215
- `,t+=` constructor(config: ApiConfig = {}) {
216
- `,t+=` this.client = axios.create({
217
- `,t+=` baseURL: config.baseURL || "${e}",
218
- `,t+=` timeout: config.timeout || 30000,
219
- `,t+=` headers: {
220
- `,t+=` 'Content-Type': 'application/json',
221
- `,t+=` ...config.headers,
222
- `,t+=` },
223
- `,t+=` });
224
-
225
- `,t+=` // Response interceptor for error handling
226
- `,t+=` this.client.interceptors.response.use(
227
- `,t+=` (response) => response,
228
- `,t+=` (error) => {
229
- `,(g=o.errorHandling)!=null&&g.generateErrorClasses?(t+=` const message = error.response?.data?.message || error.message;
230
- `,t+=` const statusCode = error.response?.status || 500;
231
- `,t+=` throw new ApiError(message, statusCode, error.response?.data);
232
- `):t+=` return Promise.reject(error);
233
- `,t+=` }
234
- `,t+=` );
235
- `,t+=` }
236
-
237
- `,t+=` updateConfig(config: Partial<ApiConfig>) {
238
- `,t+=` Object.assign(this.client.defaults, config);
239
- `,t+=` }
240
-
241
- `,l.forEach(m=>{var S,H;let f=m.name,O=((S=m.parameters)==null?void 0:S.filter(T=>T.in==="path"))||[],q=((H=m.parameters)==null?void 0:H.filter(T=>T.in==="query"))||[],j=O.length>0,w=q.length>0,A=!!m.requestBody,k=m.responseType||"any";if(t+=` /**
242
- `,m.summary&&(t+=` * ${m.summary}
243
- `),t+=` * @method ${m.method.toUpperCase()}
244
- `,t+=` * @path ${m.path}
245
- `,m.tags&&m.tags.length>0&&(t+=` * @tags ${m.tags.join(", ")}
246
- `),t+=` */
247
- `,t+=` async ${f}(`,(j||w||A)&&(t+=`params: {
248
- `,j&&(t+=` url: {
249
- `,O.forEach(T=>{let Y={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",G=T.required?"":"?";t+=` ${T.name}${G}: ${Y};
250
- `;}),t+=` };
251
- `),w&&(t+=` query: ${m.queryType||"Record<string, any>"};
252
- `),A&&(t+=` data: ${m.dtoType||"any"};
253
- `),t+=" }"),t+=`): Promise<${k}> {
254
- `,j||w||A){let T=[];j&&T.push("url"),w&&T.push("query"),A&&T.push("data"),t+=` const { ${T.join(", ")} } = params;
255
- `;}if(j){let T=O.map(b=>`url.${b.name}`).join(", ");t+=` const _url = ${m.name}(${T});
256
- `;}else t+=` const _url = ${m.name};
257
- `;t+=` const config: AxiosRequestConfig = {};
258
- `,w&&(t+=` config.params = { ...query };
259
- `),t+=` const response = await this.client.${m.method.toLowerCase()}<${k}>(
260
- `,t+=` _url,
261
- `,A?t+=` data,
108
+ `;}let ge=(Hn=(_n=e==null?void 0:e.endpoints)==null?void 0:_n.name)!=null&&Hn.useOperationId&&((Kn=a==null?void 0:a.operationId)==null?void 0:Kn.length)>0?a.operationId:`${y.name}`;if((Yn=(Vn=e==null?void 0:e.endpoints)==null?void 0:Vn.name)!=null&&Yn.format){let T=e==null?void 0:e.endpoints.name.format({method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId},ge);T&&(ge=T);}let Ne={method:`"${u}"`,operationId:`"${a==null?void 0:a.operationId}"`,url:Q,tags:(a==null?void 0:a.tags)||[]},bt=`Endpoint(
109
+ method="${u}",
110
+ operationId="${(a==null?void 0:a.operationId)||""}",
111
+ url=${Q},
112
+ tags=[${((a==null?void 0:a.tags)||[]).map(T=>`"${T}"`).join(", ")}]
113
+ )`,rn=d?`${U}${ge} = ${bt}
114
+ ${ye?`${ye}`:""}
115
+
116
+ `:`${ye}export const ${U}${ge} = ${((Xn=(Zn=e==null?void 0:e.endpoints)==null?void 0:Zn.value)==null?void 0:Xn.type)==="object"?Te(Ne):Q};
117
+ `;e!=null&&e.folderSplit?w[g].endpoints+=rn:se+=rn;let It={name:`${U}${ge}`,method:u,path:r,summary:a==null?void 0:a.summary,operationId:a==null?void 0:a.operationId,tags:c,parameters:(et=a==null?void 0:a.parameters)==null?void 0:et.filter(T=>!T.$ref&&T.in&&T.name).map(T=>{var I;return {name:T.name,in:T.in,required:T.required,type:((I=T.schema)==null?void 0:I.type)||"string"}}),requestBody:P?{type:v,required:P.required}:void 0,responses:S?Object.entries(S).reduce((T,[I,A])=>(T[I]={type:A},T),{}):void 0,queryType:x,dtoType:N,responseType:xe||void 0};Ie.push(It);});}),e!=null&&e.folderSplit){let r=`from dataclasses import dataclass
118
+ from typing import List
119
+
120
+ @dataclass
121
+ class Endpoint:
122
+ method: str
123
+ operationId: str
124
+ url: str
125
+ tags: List[str]
126
+
127
+
128
+
129
+ `;for(let[o,b]of Object.entries(w))if(b.endpoints||b.types){let C=V.join(h,o);if(b.endpoints){let u=V.join($e,C,`endpoints.${f}`);yield ue.promises.mkdir(V.dirname(u),{recursive:true}),yield Ce(u,d?`${r}${b.endpoints}`:b.endpoints,e);}if(b.types){let u=V.join($e,C,`types.${f}`);yield ue.promises.mkdir(V.dirname(u),{recursive:true});let y=Object.values(pe).length>0?d?`from __future__ import annotations
130
+ from dataclasses import dataclass
131
+ from . import shared as Shared
132
+ ${ee(b.types)}
133
+ ${b.types}`:`import * as Shared from "../shared";
134
+
135
+ ${b.types}`:b.types;yield Ce(u,y,e);}if(((Xe=e==null?void 0:e.validations)==null?void 0:Xe.disable)!==true&&b.validation&&!d){let u=((en=e.validations)==null?void 0:en.library)||"zod",y=u==="joi"?'import Joi from "joi";':u==="yup"?'import * as yup from "yup";':'import { z } from "zod";',c=V.join($e,C,"validations.ts");yield ue.promises.mkdir(V.dirname(c),{recursive:true}),yield Ce(c,`${y}
136
+
137
+ ${b.validation}`,e);}}}if(se.length>0){let r=`from dataclasses import dataclass
138
+ from typing import List
139
+
140
+ @dataclass
141
+ class Endpoint:
142
+ method: str
143
+ operationId: str
144
+ url: str
145
+ tags: List[str]
146
+
147
+
148
+
149
+ `,o=V.join($e,h,`endpoints.${f}`);yield ue.promises.mkdir(V.dirname(o),{recursive:true}),yield Ce(o,d?`${r}${se}`:se,e);}if(Object.values(pe).length>0){let r=Object.values(pe).join(`
150
+ `),o=V.join($e,h,e!=null&&e.folderSplit?"":"types",`shared.${f}`);yield ue.promises.mkdir(V.dirname(o),{recursive:true}),yield Ce(o,(d?`from __future__ import annotations
151
+ from dataclasses import dataclass
152
+ ${ee(r)}
153
+ `:"")+r,e);}if(ie.length>0){let r=V.join($e,h,"types",`index.${f}`);yield ue.promises.mkdir(V.dirname(r),{recursive:true}),yield Ce(r,(Object.values(pe).length>0?d?`from __future__ import annotations
154
+ from dataclasses import dataclass
155
+ from . import shared as Shared
156
+ ${ee(ie)}
157
+ `:`import * as Shared from "./shared";
158
+
159
+ `:"")+ie,e);}if(((nn=e==null?void 0:e.validations)==null?void 0:nn.disable)!==true&&!(e!=null&&e.folderSplit)&&!d){let r=((tn=e.validations)==null?void 0:tn.library)||"zod",o=r==="joi"?'import Joi from "joi";':r==="yup"?'import * as yup from "yup";':'import { z } from "zod";',b=Object.values(w).map(C=>C.validation).filter(C=>C.length>0).join("");if(b){let C=V.join($e,h,"validations.ts");yield ue.promises.mkdir(V.dirname(C),{recursive:true}),yield Ce(C,`${o}
160
+
161
+ ${b}`,e);}}return mt(m,Ie),console.info(`\u2705 Successfully synced ${m}`),{success:true}}),Qe=ft;var yt=(l,i)=>{let m=l;return i.tags&&i.tags.length>0&&(m=m.filter(e=>!e.tags||e.tags.length===0?false:e.tags.some(s=>i.tags.includes(s)))),i.endpoints&&i.endpoints.length>0&&(m=m.filter(e=>i.endpoints.includes(e.name))),m};var Be=(l,i,m=false)=>{var t,h;let e=i.baseURL||"";i.auth;let n=`// Generated Fetch API Client
162
+ `;n+=`// This file was auto-generated. Add custom code in the marked sections.
163
+
164
+ `,n+=`import type {
165
+ `;let p=new Set;return l.forEach(d=>{d.queryType&&p.add(d.queryType),d.dtoType&&p.add(d.dtoType),d.responseType&&p.add(d.responseType);}),p.forEach(d=>{n+=` ${d},
166
+ `;}),n+=`} from '../types';
167
+
168
+ `,n+=`import {
169
+ `,l.forEach(d=>{n+=` ${d.name} as ${d.name}_endpoint,
170
+ `;}),n+=`} from '../endpoints';
171
+
172
+ `,n+=`export interface ApiConfig {
173
+ `,n+=` baseURL?: string;
174
+ `,n+=` headers?: Record<string, string>;
175
+ `,n+=`}
176
+
177
+ `,n+=`let globalConfig: ApiConfig = {
178
+ `,n+=` baseURL: "${e}",
179
+ `,n+=`};
180
+
181
+ `,n+=`export const setApiConfig = (config: Partial<ApiConfig>) => {
182
+ `,n+=` globalConfig = { ...globalConfig, ...config };
183
+ `,n+=`};
184
+
185
+ `,(t=i.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
186
+ `,n+=` constructor(
187
+ `,n+=` message: string,
188
+ `,n+=` public statusCode: number,
189
+ `,n+=` public response?: any
190
+ `,n+=` ) {
191
+ `,n+=` super(message);
192
+ `,n+=` this.name = 'ApiError';
193
+ `,n+=` }
194
+ `,n+=`}
195
+
196
+ `),n+=`async function fetchAPI<T>(
197
+ `,n+=` url: string,
198
+ `,n+=` options: RequestInit = {}
199
+ `,n+=`): Promise<T> {
200
+ `,n+=` const headers: Record<string, string> = {
201
+ `,n+=` 'Content-Type': 'application/json',
202
+ `,n+=` ...globalConfig.headers,
203
+ `,n+=` ...(options.headers as Record<string, string>),
204
+ `,n+=` };
205
+
206
+ `,n+=" const response = await fetch(`${globalConfig.baseURL}${url}`, {\n",n+=` ...options,
207
+ `,n+=` headers,
208
+ `,n+=` });
209
+
210
+ `,n+=` if (!response.ok) {
211
+ `,(h=i.errorHandling)!=null&&h.generateErrorClasses?(n+=` const errorData = await response.json().catch(() => ({}));
212
+ `,n+=` throw new ApiError(
213
+ `,n+=` errorData.message || response.statusText,
214
+ `,n+=` response.status,
215
+ `,n+=` errorData
216
+ `,n+=` );
217
+ `):n+=" throw new Error(`HTTP error! status: ${response.status}`);\n",n+=` }
218
+
219
+ `,n+=` return response.json();
220
+ `,n+=`}
221
+
222
+ `,l.forEach(d=>{var B,j;let f=d.name,w=((B=d.parameters)==null?void 0:B.filter(E=>E.in==="path"))||[],G=((j=d.parameters)==null?void 0:j.filter(E=>E.in==="query"))||[],R=w.length>0,O=G.length>0,U=!!d.requestBody,M=d.responseType||"any";if(n+=`/**
223
+ `,d.summary&&(n+=` * ${d.summary}
224
+ `),n+=` * @method ${d.method.toUpperCase()}
225
+ `,n+=` * @path ${d.path}
226
+ `,d.tags&&d.tags.length>0&&(n+=` * @tags ${d.tags.join(", ")}
227
+ `),n+=` */
228
+ `,n+=`export async function ${f}(`,(R||O||U)&&(n+=`params: {
229
+ `,R&&(n+=` url: {
230
+ `,w.forEach(E=>{let F={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",J=E.required?"":"?";n+=` ${E.name}${J}: ${F};
231
+ `;}),n+=` };
232
+ `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
233
+ `),U&&(n+=` data: ${d.dtoType||"any"};
234
+ `),n+=`}
235
+ `),n+=`): Promise<${M}> {
236
+ `,R||O||U){let E=[];R&&E.push("url"),O&&E.push("query"),U&&E.push("data"),n+=` const { ${E.join(", ")} } = params;
237
+ `;}let k;if(R){let E=w.map(ee=>`url.${ee.name}`).join(", ");k=`${d.name}_endpoint(${E})`;}else k=`${d.name}_endpoint`;O?(n+=` const queryParams = new URLSearchParams();
238
+ `,G.forEach(E=>{E.required?n+=` queryParams.append('${E.name}', String(query.${E.name}));
239
+ `:(n+=` if (query.${E.name} !== undefined) {
240
+ `,n+=` queryParams.append('${E.name}', String(query.${E.name}));
241
+ `,n+=` }
242
+ `);}),n+=` const _url = \`\${${k}}?\${queryParams.toString()}\`;
243
+ `):n+=` const _url = ${k};
244
+ `,n+=` return fetchAPI<${M}>(_url, {
245
+ `,n+=` method: '${d.method.toUpperCase()}',
246
+ `,U&&(n+=` body: JSON.stringify(data),
247
+ `),n+=` });
248
+ `,n+=`}
249
+
250
+ `;}),m&&(n+=`// Export all functions as a default object
251
+ `,n+=`const apiClient = {
252
+ `,n+=` setApiConfig,
253
+ `,l.forEach(d=>{n+=` ${d.name},
254
+ `;}),n+=`};
255
+
256
+ `,n+=`export default apiClient;
257
+ `),n},be=(l,i,m=false)=>{var t,h;let e=i.baseURL||"";i.auth;let n=`// Generated Axios API Client
258
+ `;n+=`// This file was auto-generated. Add custom code in the marked sections.
259
+
260
+ `,n+=`import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
261
+
262
+ `,n+=`import type {
263
+ `;let p=new Set;return l.forEach(d=>{d.queryType&&p.add(d.queryType),d.dtoType&&p.add(d.dtoType),d.responseType&&p.add(d.responseType);}),p.forEach(d=>{n+=` ${d},
264
+ `;}),n+=`} from '../types';
265
+
266
+ `,n+=`import {
267
+ `,l.forEach(d=>{n+=` ${d.name},
268
+ `;}),n+=`} from '../endpoints';
269
+
270
+ `,n+=`export interface ApiConfig {
271
+ `,n+=` baseURL?: string;
272
+ `,n+=` headers?: Record<string, string>;
273
+ `,n+=` timeout?: number;
274
+ `,n+=`}
275
+
276
+ `,(t=i.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
277
+ `,n+=` constructor(
278
+ `,n+=` message: string,
279
+ `,n+=` public statusCode: number,
280
+ `,n+=` public response?: any
281
+ `,n+=` ) {
282
+ `,n+=` super(message);
283
+ `,n+=` this.name = 'ApiError';
284
+ `,n+=` }
285
+ `,n+=`}
286
+
287
+ `),n+=`class ApiClient {
288
+ `,n+=` private client: AxiosInstance;
289
+
290
+ `,n+=` constructor(config: ApiConfig = {}) {
291
+ `,n+=` this.client = axios.create({
292
+ `,n+=` baseURL: config.baseURL || "${e}",
293
+ `,n+=` timeout: config.timeout || 30000,
294
+ `,n+=` headers: {
295
+ `,n+=` 'Content-Type': 'application/json',
296
+ `,n+=` ...config.headers,
297
+ `,n+=` },
298
+ `,n+=` });
299
+
300
+ `,n+=` // Response interceptor for error handling
301
+ `,n+=` this.client.interceptors.response.use(
302
+ `,n+=` (response) => response,
303
+ `,n+=` (error) => {
304
+ `,(h=i.errorHandling)!=null&&h.generateErrorClasses?(n+=` const message = error.response?.data?.message || error.message;
305
+ `,n+=` const statusCode = error.response?.status || 500;
306
+ `,n+=` throw new ApiError(message, statusCode, error.response?.data);
307
+ `):n+=` return Promise.reject(error);
308
+ `,n+=` }
309
+ `,n+=` );
310
+ `,n+=` }
311
+
312
+ `,n+=` updateConfig(config: Partial<ApiConfig>) {
313
+ `,n+=` Object.assign(this.client.defaults, config);
314
+ `,n+=` }
315
+
316
+ `,l.forEach(d=>{var k,B;let f=d.name,w=((k=d.parameters)==null?void 0:k.filter(j=>j.in==="path"))||[],G=((B=d.parameters)==null?void 0:B.filter(j=>j.in==="query"))||[],R=w.length>0,O=G.length>0,U=!!d.requestBody,M=d.responseType||"any";if(n+=` /**
317
+ `,d.summary&&(n+=` * ${d.summary}
318
+ `),n+=` * @method ${d.method.toUpperCase()}
319
+ `,n+=` * @path ${d.path}
320
+ `,d.tags&&d.tags.length>0&&(n+=` * @tags ${d.tags.join(", ")}
321
+ `),n+=` */
322
+ `,n+=` async ${f}(`,(R||O||U)&&(n+=`params: {
323
+ `,R&&(n+=` url: {
324
+ `,w.forEach(j=>{let ee={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[j.type||"string"]||"any",F=j.required?"":"?";n+=` ${j.name}${F}: ${ee};
325
+ `;}),n+=` };
326
+ `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
327
+ `),U&&(n+=` data: ${d.dtoType||"any"};
328
+ `),n+=" }"),n+=`): Promise<${M}> {
329
+ `,R||O||U){let j=[];R&&j.push("url"),O&&j.push("query"),U&&j.push("data"),n+=` const { ${j.join(", ")} } = params;
330
+ `;}if(R){let j=w.map(E=>`url.${E.name}`).join(", ");n+=` const _url = ${d.name}(${j});
331
+ `;}else n+=` const _url = ${d.name};
332
+ `;n+=` const config: AxiosRequestConfig = {};
333
+ `,O&&(n+=` config.params = { ...query };
334
+ `),n+=` const response = await this.client.${d.method.toLowerCase()}<${M}>(
335
+ `,n+=` _url,
336
+ `,U?n+=` data,
262
337
  config
263
- `:t+=` config
264
- `,t+=` );
265
- `,t+=` return response.data;
266
- `,t+=` }
338
+ `:n+=` config
339
+ `,n+=` );
340
+ `,n+=` return response.data;
341
+ `,n+=` }
267
342
 
268
- `;}),t+=`}
343
+ `;}),n+=`}
269
344
 
270
- `,p?t+=`export default ApiClient;
271
- `:(t+=`export const apiClient = new ApiClient();
272
- `,t+=`export default apiClient;
273
- `),t},Qe=(l,o)=>{var g,m;let p=((g=o.reactQuery)==null?void 0:g.version)||5,e=((m=o.reactQuery)==null?void 0:m.mutations)!==false,s=!!(o.reactQuery&&o.reactQuery.infiniteQueries&&!o.reactQuery.infiniteQueries.disable),t=`// Generated React Query Hooks
274
- `;t+=`// This file was auto-generated. Add custom code in the marked sections.
345
+ `,m?n+=`export default ApiClient;
346
+ `:(n+=`export const apiClient = new ApiClient();
347
+ `,n+=`export default apiClient;
348
+ `),n},ze=(l,i)=>{var h,d;let m=((h=i.reactQuery)==null?void 0:h.version)||5,e=((d=i.reactQuery)==null?void 0:d.mutations)!==false,s=!!(i.reactQuery&&i.reactQuery.infiniteQueries&&!i.reactQuery.infiniteQueries.disable),n=`// Generated React Query Hooks
349
+ `;n+=`// This file was auto-generated. Add custom code in the marked sections.
275
350
 
276
- `;let i=e&&l.some(f=>["POST","PUT","PATCH","DELETE"].includes(f.method.toUpperCase()));if(p===5){let f=i?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
351
+ `;let p=e&&l.some(f=>["POST","PUT","PATCH","DELETE"].includes(f.method.toUpperCase()));if(m===5){let f=p?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
277
352
  `:`import { useQuery, UseQueryOptions } from '@tanstack/react-query';
278
353
  `;s&&(f=f.replace("@tanstack/react-query';\\n",`@tanstack/react-query';
279
354
  import { useInfiniteQuery, UseInfiniteQueryOptions } from '@tanstack/react-query';
280
- `)),t+=f;}else {let f=i?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from 'react-query';
355
+ `)),n+=f;}else {let f=p?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from 'react-query';
281
356
  `:`import { useQuery, UseQueryOptions } from 'react-query';
282
357
  `;s&&(f=f.replace("react-query';\\n",`react-query';
283
358
  import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
284
- `)),t+=f;}t+=`
285
- `,t+=`import apiClient from './client';
286
- `,t+=`import type {
287
- `;let n=new Set;return l.forEach(f=>{f.queryType&&n.add(f.queryType),f.dtoType&&n.add(f.dtoType),f.responseType&&n.add(f.responseType);}),n.forEach(f=>{t+=` ${f},
288
- `;}),t+=`} from '../types';
289
-
290
- `,l.forEach(f=>{var b,Y;let O=f.method.toUpperCase(),q=O==="GET",j=["POST","PUT","PATCH","DELETE"].includes(O),w=((b=f.parameters)==null?void 0:b.filter(G=>G.in==="path"))||[],A=((Y=f.parameters)==null?void 0:Y.filter(G=>G.in==="query"))||[],k=w.length>0,S=A.length>0,H=!!f.requestBody,T=f.responseType||"any";if(q){let G=A.map(oe=>oe.name.toLowerCase()),K=(G.includes("page")||G.includes("cursor")||G.includes("cursorid")||G.includes("after")||G.includes("before"))&&s,pe=`use${f.name.charAt(0).toUpperCase()+f.name.slice(1)}`;if(t+=`/**
291
- `,f.summary&&(t+=` * ${f.summary}
292
- `),t+=` * @method ${O}
293
- `,t+=` * @path ${f.path}
294
- `,f.tags&&f.tags.length>0&&(t+=` * @tags ${f.tags.join(", ")}
295
- `),t+=` */
296
- `,k||S?(t+=`export function ${pe}(
297
- `,t+=` params: {
298
- `,k&&(t+=` url: {
299
- `,w.forEach(oe=>{let be={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[oe.type||"string"]||"any",$e=oe.required?"":"?";t+=` ${oe.name}${$e}: ${be};
300
- `;}),t+=` };
301
- `),S&&(t+=` query: ${f.queryType||"Record<string, any>"};
302
- `),t+=` },
303
- `,t+=` options?: Omit<UseQueryOptions<${T}>, 'queryKey' | 'queryFn'>
304
- `,t+=`) {
305
- `,t+=` return useQuery({
306
- `,t+=` queryKey: ['${f.name}', params],
307
- `,t+=` queryFn: () => apiClient.${f.name}(params),
308
- `,t+=` ...options,
309
- `,t+=` });
310
- `,t+=`}
311
-
312
- `):(t+=`export function ${pe}(
313
- `,t+=` options?: Omit<UseQueryOptions<${T}>, 'queryKey' | 'queryFn'>
314
- `,t+=`) {
315
- `,t+=` return useQuery({
316
- `,t+=` queryKey: ['${f.name}'],
317
- `,t+=` queryFn: () => apiClient.${f.name}(),
318
- `,t+=` ...options,
319
- `,t+=` });
320
- `,t+=`}
321
-
322
- `),K){let oe=`${pe}Infinite`;k||S?(t+=`export function ${oe}(
323
- `,t+=` params: {
324
- `,k&&(t+=` url: {
325
- `,w.forEach(le=>{let $e={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[le.type||"string"]||"any",Pe=le.required?"":"?";t+=` ${le.name}${Pe}: ${$e};
326
- `;}),t+=` };
327
- `),S&&(t+=` query: ${f.queryType||"Record<string, any>"};
328
- `),t+=` },
329
- `,t+=` options?: Omit<UseInfiniteQueryOptions<${T}, Error, ${T}>, 'queryKey' | 'queryFn'>
330
- `,t+=`) {
331
- `,t+=` return useInfiniteQuery({
332
- `,t+=` queryKey: ['${f.name}', params],
333
- `,t+=` queryFn: ({ pageParam = 1 }) => apiClient.${f.name}({ ...params, query: { ...(params.query || {}), page: pageParam } }),
334
- `,t+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
335
- `,t+=` ...options,
336
- `,t+=` });
337
- `,t+=`}
338
-
339
- `):(t+=`export function ${oe}(
340
- `,t+=` options?: Omit<UseInfiniteQueryOptions<${T}, Error, ${T}>, 'queryKey' | 'queryFn'>
341
- `,t+=`) {
342
- `,t+=` return useInfiniteQuery({
343
- `,t+=` queryKey: ['${f.name}'],
344
- `,t+=` queryFn: ({ pageParam = 1 }) => apiClient.${f.name}({ query: { page: pageParam } }),
345
- `,t+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
346
- `,t+=` ...options,
347
- `,t+=` });
348
- `,t+=`}
349
-
350
- `);}}else if(j&&e){let G=`use${f.name.charAt(0).toUpperCase()+f.name.slice(1)}`;t+=`/**
351
- `,f.summary&&(t+=` * ${f.summary}
352
- `),t+=` * @method ${O}
353
- `,t+=` * @path ${f.path}
354
- `,f.tags&&f.tags.length>0&&(t+=` * @tags ${f.tags.join(", ")}
355
- `),t+=` */
356
- `;let Q="void";(k||S||H)&&(Q=`{
357
- `,k&&(Q+=` url: {
358
- `,w.forEach(K=>{let oe={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[K.type||"string"]||"any",le=K.required?"":"?";Q+=` ${K.name}${le}: ${oe};
359
- `;}),Q+=` };
360
- `),S&&(Q+=` query: ${f.queryType||"Record<string, any>"};
361
- `),H&&(Q+=` data: ${f.dtoType||"any"};
362
- `),Q+=" }"),t+=`export function ${G}(
363
- `,t+=` options?: Omit<UseMutationOptions<${T}, Error, ${Q}>, 'mutationFn'>
364
- `,t+=`) {
365
- `,t+=` return useMutation({
366
- `,t+=" mutationFn: (",Q!=="void"&&(t+=`variables: ${Q}`),t+=`) => {
367
- `,t+=` return apiClient.${f.name}(${Q!=="void"?"variables":""});
368
- `,t+=` },
369
- `,t+=` ...options,
370
- `,t+=` });
371
- `,t+=`}
372
-
373
- `;}}),t},Be=(l,o)=>{var i;let p=((i=o.swr)==null?void 0:i.mutations)!==false,e=`// Generated SWR Hooks
359
+ `)),n+=f;}n+=`
360
+ `,n+=`import apiClient from './client';
361
+ `,n+=`import type {
362
+ `;let t=new Set;return l.forEach(f=>{f.queryType&&t.add(f.queryType),f.dtoType&&t.add(f.dtoType),f.responseType&&t.add(f.responseType);}),t.forEach(f=>{n+=` ${f},
363
+ `;}),n+=`} from '../types';
364
+
365
+ `,l.forEach(f=>{var E,ee;let w=f.method.toUpperCase(),G=w==="GET",R=["POST","PUT","PATCH","DELETE"].includes(w),O=((E=f.parameters)==null?void 0:E.filter(F=>F.in==="path"))||[],U=((ee=f.parameters)==null?void 0:ee.filter(F=>F.in==="query"))||[],M=O.length>0,k=U.length>0,B=!!f.requestBody,j=f.responseType||"any";if(G){let F=U.map(se=>se.name.toLowerCase()),re=(F.includes("page")||F.includes("cursor")||F.includes("cursorid")||F.includes("after")||F.includes("before"))&&s,fe=`use${f.name.charAt(0).toUpperCase()+f.name.slice(1)}`;if(n+=`/**
366
+ `,f.summary&&(n+=` * ${f.summary}
367
+ `),n+=` * @method ${w}
368
+ `,n+=` * @path ${f.path}
369
+ `,f.tags&&f.tags.length>0&&(n+=` * @tags ${f.tags.join(", ")}
370
+ `),n+=` */
371
+ `,M||k?(n+=`export function ${fe}(
372
+ `,n+=` params: {
373
+ `,M&&(n+=` url: {
374
+ `,O.forEach(se=>{let pe={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[se.type||"string"]||"any",Ie=se.required?"":"?";n+=` ${se.name}${Ie}: ${pe};
375
+ `;}),n+=` };
376
+ `),k&&(n+=` query: ${f.queryType||"Record<string, any>"};
377
+ `),n+=` },
378
+ `,n+=` options?: Omit<UseQueryOptions<${j}>, 'queryKey' | 'queryFn'>
379
+ `,n+=`) {
380
+ `,n+=` return useQuery({
381
+ `,n+=` queryKey: ['${f.name}', params],
382
+ `,n+=` queryFn: () => apiClient.${f.name}(params),
383
+ `,n+=` ...options,
384
+ `,n+=` });
385
+ `,n+=`}
386
+
387
+ `):(n+=`export function ${fe}(
388
+ `,n+=` options?: Omit<UseQueryOptions<${j}>, 'queryKey' | 'queryFn'>
389
+ `,n+=`) {
390
+ `,n+=` return useQuery({
391
+ `,n+=` queryKey: ['${f.name}'],
392
+ `,n+=` queryFn: () => apiClient.${f.name}(),
393
+ `,n+=` ...options,
394
+ `,n+=` });
395
+ `,n+=`}
396
+
397
+ `),re){let se=`${fe}Infinite`;M||k?(n+=`export function ${se}(
398
+ `,n+=` params: {
399
+ `,M&&(n+=` url: {
400
+ `,O.forEach(ie=>{let Ie={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ie.type||"string"]||"any",Pe=ie.required?"":"?";n+=` ${ie.name}${Pe}: ${Ie};
401
+ `;}),n+=` };
402
+ `),k&&(n+=` query: ${f.queryType||"Record<string, any>"};
403
+ `),n+=` },
404
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${j}, Error, ${j}>, 'queryKey' | 'queryFn'>
405
+ `,n+=`) {
406
+ `,n+=` return useInfiniteQuery({
407
+ `,n+=` queryKey: ['${f.name}', params],
408
+ `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${f.name}({ ...params, query: { ...(params.query || {}), page: pageParam } }),
409
+ `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
410
+ `,n+=` ...options,
411
+ `,n+=` });
412
+ `,n+=`}
413
+
414
+ `):(n+=`export function ${se}(
415
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${j}, Error, ${j}>, 'queryKey' | 'queryFn'>
416
+ `,n+=`) {
417
+ `,n+=` return useInfiniteQuery({
418
+ `,n+=` queryKey: ['${f.name}'],
419
+ `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${f.name}({ query: { page: pageParam } }),
420
+ `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
421
+ `,n+=` ...options,
422
+ `,n+=` });
423
+ `,n+=`}
424
+
425
+ `);}}else if(R&&e){let F=`use${f.name.charAt(0).toUpperCase()+f.name.slice(1)}`;n+=`/**
426
+ `,f.summary&&(n+=` * ${f.summary}
427
+ `),n+=` * @method ${w}
428
+ `,n+=` * @path ${f.path}
429
+ `,f.tags&&f.tags.length>0&&(n+=` * @tags ${f.tags.join(", ")}
430
+ `),n+=` */
431
+ `;let J="void";(M||k||B)&&(J=`{
432
+ `,M&&(J+=` url: {
433
+ `,O.forEach(re=>{let se={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[re.type||"string"]||"any",ie=re.required?"":"?";J+=` ${re.name}${ie}: ${se};
434
+ `;}),J+=` };
435
+ `),k&&(J+=` query: ${f.queryType||"Record<string, any>"};
436
+ `),B&&(J+=` data: ${f.dtoType||"any"};
437
+ `),J+=" }"),n+=`export function ${F}(
438
+ `,n+=` options?: Omit<UseMutationOptions<${j}, Error, ${J}>, 'mutationFn'>
439
+ `,n+=`) {
440
+ `,n+=` return useMutation({
441
+ `,n+=" mutationFn: (",J!=="void"&&(n+=`variables: ${J}`),n+=`) => {
442
+ `,n+=` return apiClient.${f.name}(${J!=="void"?"variables":""});
443
+ `,n+=` },
444
+ `,n+=` ...options,
445
+ `,n+=` });
446
+ `,n+=`}
447
+
448
+ `;}}),n},De=(l,i)=>{var p;let m=((p=i.swr)==null?void 0:p.mutations)!==false,e=`// Generated SWR Hooks
374
449
  `;e+=`// This file was auto-generated. Add custom code in the marked sections.
375
450
 
376
451
  `,e+=`/**
@@ -565,173 +640,173 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
565
640
  `,e+=` */
566
641
 
567
642
  `,e+=`import useSWR, { SWRConfiguration } from 'swr';
568
- `,p&&l.some(n=>["POST","PUT","PATCH","DELETE"].includes(n.method.toUpperCase()))&&(e+=`import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation';
643
+ `,m&&l.some(t=>["POST","PUT","PATCH","DELETE"].includes(t.method.toUpperCase()))&&(e+=`import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation';
569
644
  `),e+=`
570
645
  `,e+=`import apiClient from './client';
571
646
  `,e+=`import type {
572
- `;let t=new Set;return l.forEach(n=>{n.queryType&&t.add(n.queryType),n.dtoType&&t.add(n.dtoType),n.responseType&&t.add(n.responseType);}),t.forEach(n=>{e+=` ${n},
647
+ `;let n=new Set;return l.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{e+=` ${t},
573
648
  `;}),e+=`} from '../types';
574
649
 
575
- `,l.forEach(n=>{var S,H;let g=n.method.toUpperCase(),m=g==="GET",f=["POST","PUT","PATCH","DELETE"].includes(g),O=((S=n.parameters)==null?void 0:S.filter(T=>T.in==="path"))||[],q=((H=n.parameters)==null?void 0:H.filter(T=>T.in==="query"))||[],j=O.length>0,w=q.length>0,A=!!n.requestBody,k=n.responseType||"any";if(m){let T=`use${n.name.charAt(0).toUpperCase()+n.name.slice(1)}`;e+=`/**
576
- `,n.summary&&(e+=` * ${n.summary}
577
- `),e+=` * @method ${g}
578
- `,e+=` * @path ${n.path}
579
- `,n.tags&&n.tags.length>0&&(e+=` * @tags ${n.tags.join(", ")}
650
+ `,l.forEach(t=>{var k,B;let h=t.method.toUpperCase(),d=h==="GET",f=["POST","PUT","PATCH","DELETE"].includes(h),w=((k=t.parameters)==null?void 0:k.filter(j=>j.in==="path"))||[],G=((B=t.parameters)==null?void 0:B.filter(j=>j.in==="query"))||[],R=w.length>0,O=G.length>0,U=!!t.requestBody,M=t.responseType||"any";if(d){let j=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
651
+ `,t.summary&&(e+=` * ${t.summary}
652
+ `),e+=` * @method ${h}
653
+ `,e+=` * @path ${t.path}
654
+ `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
580
655
  `),e+=` */
581
- `,j||w?(e+=`export function ${T}(
656
+ `,R||O?(e+=`export function ${j}(
582
657
  `,e+=` params: {
583
- `,j&&(e+=` url: {
584
- `,O.forEach(b=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[b.type||"string"]||"any",Q=b.required?"":"?";e+=` ${b.name}${Q}: ${G};
658
+ `,R&&(e+=` url: {
659
+ `,w.forEach(E=>{let F={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",J=E.required?"":"?";e+=` ${E.name}${J}: ${F};
585
660
  `;}),e+=` };
586
- `),w&&(e+=` query: ${n.queryType||"Record<string, any>"};
661
+ `),O&&(e+=` query: ${t.queryType||"Record<string, any>"};
587
662
  `),e+=` },
588
- `,e+=` config?: SWRConfiguration<${k}>
663
+ `,e+=` config?: SWRConfiguration<${M}>
589
664
  `,e+=`) {
590
665
  `,e+=` return useSWR(
591
- `,e+=` ['${n.name}', params],
592
- `,e+=` () => apiClient.${n.name}(params),
666
+ `,e+=` ['${t.name}', params],
667
+ `,e+=` () => apiClient.${t.name}(params),
593
668
  `,e+=` config
594
669
  `,e+=` );
595
- `):(e+=`export function ${T}(
596
- `,e+=` config?: SWRConfiguration<${k}>
670
+ `):(e+=`export function ${j}(
671
+ `,e+=` config?: SWRConfiguration<${M}>
597
672
  `,e+=`) {
598
673
  `,e+=` return useSWR(
599
- `,e+=` '${n.name}',
600
- `,e+=` () => apiClient.${n.name}(),
674
+ `,e+=` '${t.name}',
675
+ `,e+=` () => apiClient.${t.name}(),
601
676
  `,e+=` config
602
677
  `,e+=` );
603
678
  `),e+=`}
604
679
 
605
- `;}else if(f&&p){let T=`use${n.name.charAt(0).toUpperCase()+n.name.slice(1)}`;e+=`/**
606
- `,n.summary&&(e+=` * ${n.summary}
607
- `),e+=` * @method ${g}
608
- `,e+=` * @path ${n.path}
609
- `,n.tags&&n.tags.length>0&&(e+=` * @tags ${n.tags.join(", ")}
680
+ `;}else if(f&&m){let j=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
681
+ `,t.summary&&(e+=` * ${t.summary}
682
+ `),e+=` * @method ${h}
683
+ `,e+=` * @path ${t.path}
684
+ `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
610
685
  `),e+=` */
611
- `;let b="void",Y="void";(j||w||A)&&(b=`{
612
- `,j&&(b+=` url: {
613
- `,O.forEach(G=>{let K={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[G.type||"string"]||"any",pe=G.required?"":"?";b+=` ${G.name}${pe}: ${K};
614
- `;}),b+=` };
615
- `),w&&(b+=` query: ${n.queryType||"Record<string, any>"};
616
- `),A&&(b+=` data: ${n.dtoType||"any"};
617
- `),b+=" }",Y=`{ arg: ${b} }`),e+=`export function ${T}(
618
- `,e+=` config?: SWRMutationConfiguration<${k}, Error, string, ${b}>
686
+ `;let E="void",ee="void";(R||O||U)&&(E=`{
687
+ `,R&&(E+=` url: {
688
+ `,w.forEach(F=>{let re={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[F.type||"string"]||"any",fe=F.required?"":"?";E+=` ${F.name}${fe}: ${re};
689
+ `;}),E+=` };
690
+ `),O&&(E+=` query: ${t.queryType||"Record<string, any>"};
691
+ `),U&&(E+=` data: ${t.dtoType||"any"};
692
+ `),E+=" }",ee=`{ arg: ${E} }`),e+=`export function ${j}(
693
+ `,e+=` config?: SWRMutationConfiguration<${M}, Error, string, ${E}>
619
694
  `,e+=`) {
620
695
  `,e+=` return useSWRMutation(
621
- `,e+=` '${n.name}',
622
- `,e+=" async (_, ",b!=="void"&&(e+=`{ arg }: ${Y}`),e+=`) => {
623
- `,e+=` return apiClient.${n.name}(${b!=="void"?"arg":""});
696
+ `,e+=` '${t.name}',
697
+ `,e+=" async (_, ",E!=="void"&&(e+=`{ arg }: ${ee}`),e+=`) => {
698
+ `,e+=` return apiClient.${t.name}(${E!=="void"?"arg":""});
624
699
  `,e+=` },
625
700
  `,e+=` config
626
701
  `,e+=` );
627
702
  `,e+=`}
628
703
 
629
- `;}}),e},ze=(l,o)=>{var i;let p=((i=o.rtkQuery)==null?void 0:i.apiName)||"api",e=o.baseURL||"",s=`// Generated RTK Query API Slice
704
+ `;}}),e},We=(l,i)=>{var p;let m=((p=i.rtkQuery)==null?void 0:p.apiName)||"api",e=i.baseURL||"",s=`// Generated RTK Query API Slice
630
705
  `;s+=`// This file was auto-generated. Add custom code in the marked sections.
631
706
 
632
707
  `,s+=`import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
633
708
 
634
709
  `,s+=`import type {
635
- `;let t=new Set;return l.forEach(n=>{n.queryType&&t.add(n.queryType),n.dtoType&&t.add(n.dtoType),n.responseType&&t.add(n.responseType);}),t.forEach(n=>{s+=` ${n},
710
+ `;let n=new Set;return l.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{s+=` ${t},
636
711
  `;}),s+=`} from '../types';
637
712
 
638
713
  `,s+=`import {
639
- `,l.forEach(n=>{s+=` ${n.name},
714
+ `,l.forEach(t=>{s+=` ${t.name},
640
715
  `;}),s+=`} from '../endpoints';
641
716
 
642
- `,s+=`const ${p}Api = createApi({
643
- `,s+=` reducerPath: '${p}Api',
717
+ `,s+=`const ${m}Api = createApi({
718
+ `,s+=` reducerPath: '${m}Api',
644
719
  `,s+=` baseQuery: fetchBaseQuery({
645
720
  `,s+=` baseUrl: '${e}',
646
- `,o.auth&&(s+=` prepareHeaders: (headers, { getState }) => {
721
+ `,i.auth&&(s+=` prepareHeaders: (headers, { getState }) => {
647
722
  `,s+=` // Get token from your auth state
648
723
  `,s+=` // const token = (getState() as RootState).auth.token;
649
724
  `,s+=` // if (token) {
650
- `,o.auth.type==="bearer"?s+=" // headers.set('Authorization', `Bearer ${token}`);\n":o.auth.type==="apiKey"&&o.auth.in==="header"&&(s+=` // headers.set('${o.auth.name||"X-API-Key"}', token);
725
+ `,i.auth.type==="bearer"?s+=" // headers.set('Authorization', `Bearer ${token}`);\n":i.auth.type==="apiKey"&&i.auth.in==="header"&&(s+=` // headers.set('${i.auth.name||"X-API-Key"}', token);
651
726
  `),s+=` // }
652
727
  `,s+=` return headers;
653
728
  `,s+=` },
654
729
  `),s+=` }),
655
- `,s+=` tagTypes: [${[...new Set(l.flatMap(n=>n.tags||[]))].map(n=>`'${n}'`).join(", ")}],
730
+ `,s+=` tagTypes: [${[...new Set(l.flatMap(t=>t.tags||[]))].map(t=>`'${t}'`).join(", ")}],
656
731
  `,s+=` endpoints: (builder) => ({
657
- `,l.forEach((n,g)=>{var H,T;let m=n.method.toUpperCase(),f=m==="GET",O=((H=n.parameters)==null?void 0:H.filter(b=>b.in==="path"))||[],q=((T=n.parameters)==null?void 0:T.filter(b=>b.in==="query"))||[],j=O.length>0,w=q.length>0,A=!!n.requestBody,k=n.responseType||"any";s+=` ${n.name}: builder.${f?"query":"mutation"}<
658
- `,s+=` ${k},
659
- `;let S="void";if((j||w||A)&&(S=`{
660
- `,j&&(S+=` url: {
661
- `,O.forEach(b=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[b.type||"string"]||"any",Q=b.required?"":"?";S+=` ${b.name}${Q}: ${G};
662
- `;}),S+=` };
663
- `),w&&(S+=` query: ${n.queryType||"Record<string, any>"};
664
- `),A&&(S+=` data: ${n.dtoType||"any"};
665
- `),S+=" }"),s+=` ${S}
732
+ `,l.forEach((t,h)=>{var B,j;let d=t.method.toUpperCase(),f=d==="GET",w=((B=t.parameters)==null?void 0:B.filter(E=>E.in==="path"))||[],G=((j=t.parameters)==null?void 0:j.filter(E=>E.in==="query"))||[],R=w.length>0,O=G.length>0,U=!!t.requestBody,M=t.responseType||"any";s+=` ${t.name}: builder.${f?"query":"mutation"}<
733
+ `,s+=` ${M},
734
+ `;let k="void";if((R||O||U)&&(k=`{
735
+ `,R&&(k+=` url: {
736
+ `,w.forEach(E=>{let F={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",J=E.required?"":"?";k+=` ${E.name}${J}: ${F};
737
+ `;}),k+=` };
738
+ `),O&&(k+=` query: ${t.queryType||"Record<string, any>"};
739
+ `),U&&(k+=` data: ${t.dtoType||"any"};
740
+ `),k+=" }"),s+=` ${k}
666
741
  `,s+=` >({
667
- `,s+=" query: (",S!=="void"&&(s+="arg"),s+=`) => {
668
- `,j){let b=O.map(Y=>`arg.url.${Y.name}`).join(", ");s+=` const url = ${n.name}(${b});
669
- `;}else s+=` const url = ${n.name};
742
+ `,s+=" query: (",k!=="void"&&(s+="arg"),s+=`) => {
743
+ `,R){let E=w.map(ee=>`arg.url.${ee.name}`).join(", ");s+=` const url = ${t.name}(${E});
744
+ `;}else s+=` const url = ${t.name};
670
745
  `;s+=` return {
671
746
  `,s+=` url,
672
- `,s+=` method: '${m}',
673
- `,w&&(s+=` params: arg.query,
674
- `),A&&(s+=` body: arg.data,
747
+ `,s+=` method: '${d}',
748
+ `,O&&(s+=` params: arg.query,
749
+ `),U&&(s+=` body: arg.data,
675
750
  `),s+=` };
676
751
  `,s+=` },
677
- `,n.tags&&n.tags.length>0&&(f?s+=` providesTags: ['${n.tags[0]}'],
678
- `:s+=` invalidatesTags: ['${n.tags[0]}'],
679
- `),s+=` })${g<l.length-1?",":""}
752
+ `,t.tags&&t.tags.length>0&&(f?s+=` providesTags: ['${t.tags[0]}'],
753
+ `:s+=` invalidatesTags: ['${t.tags[0]}'],
754
+ `),s+=` })${h<l.length-1?",":""}
680
755
  `;}),s+=` }),
681
756
  `,s+=`});
682
757
 
683
- `,s+=`export default ${p}Api;
758
+ `,s+=`export default ${m}Api;
684
759
 
685
- `,s};var In=(l,o)=>{var p,e;if((p=o==null?void 0:o.folderSplit)!=null&&p.customFolder){let s=o.folderSplit.customFolder({method:l.method,path:l.path,tags:l.tags,operationId:l.operationId,summary:l.summary});if(s)return s}return (e=o==null?void 0:o.folderSplit)!=null&&e.byTags&&l.tags&&l.tags.length>0?l.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},an=(l,o,p,e,s)=>d(null,null,function*(){let t=on(l,p);if(t.length===0)return;let i=p.type||"fetch";p.outputDir||J.join(s,e,"client");let g=!!(o!=null&&o.folderSplit&&(o.folderSplit.byTags||o.folderSplit.customFolder));if(`${i}${t.length}`,g){let f={};t.forEach(j=>{let w=In(j,o);f[w]||(f[w]=[]),f[w].push(j);});let O=Object.keys(f);for(let[j,w]of Object.entries(f)){let A=J.join(s,e,j);yield ie.promises.mkdir(A,{recursive:true}),`${i}${j}${w.length}`,yield xn(w,o,p,A,i,j,true);}let q=J.join(s,e);yield En(q,O,i,o);return}let m=J.join(s,e);switch(yield ie.promises.mkdir(m,{recursive:true}),i){case "fetch":let f=Fe(t,p);f=f.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield X(J.join(m,"clients.ts"),f,o);break;case "axios":let O=he(t,p,false);O=O.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield X(J.join(m,"clients.ts"),O,o);break;case "react-query":let q=he(t,p,false);q=q.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield X(J.join(m,"clients.ts"),q,o);let j=Qe(t,p);j=j.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield X(J.join(m,"hooks.ts"),j,o);break;case "swr":let w=he(t,p,false);w=w.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield X(J.join(m,"clients.ts"),w,o);let A=Be(t,p);A=A.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield X(J.join(m,"hooks.ts"),A,o);break;case "rtk-query":let k=ze(t,p);k=k.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield X(J.join(m,"api.ts"),k,o);break;default:throw new Error(`Unknown client type: ${i}`)}}),X=(l,o,p)=>d(null,null,function*(){var i,n,g,m;if(!(((i=p==null?void 0:p.customCode)==null?void 0:i.enabled)!==false)){yield ie.promises.writeFile(l,o);return}let s=null;try{s=yield ie.promises.readFile(l,"utf-8");}catch(f){}let t=je(o,s,{position:((n=p==null?void 0:p.customCode)==null?void 0:n.position)||"bottom",markerText:(g=p==null?void 0:p.customCode)==null?void 0:g.markerText,includeInstructions:(m=p==null?void 0:p.customCode)==null?void 0:m.includeInstructions});yield ie.promises.writeFile(l,t);});var xn=(l,o,p,e,s,t,i=false)=>d(null,null,function*(){let n="",g="",m=i?"./types":"../types",f=i?"./endpoints":"../endpoints";switch(s){case "fetch":n=Fe(l,p,i),n=n.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),yield X(J.join(e,"client.ts"),n,o);break;case "axios":n=he(l,p,i),n=n.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),yield X(J.join(e,"client.ts"),n,o);break;case "react-query":if(n=he(l,p,i),n=n.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),yield X(J.join(e,"client.ts"),n,o),g=Qe(l,p),g=g.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),i){let q=t.replace(/-/g,"_");g=g.replace("import apiClient from './client';",`import { ${q}Client as apiClient } from '../clients';`);}yield X(J.join(e,"hooks.ts"),g,o);break;case "swr":if(n=he(l,p,i),n=n.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),yield X(J.join(e,"client.ts"),n,o),g=Be(l,p),g=g.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),i){let q=t.replace(/-/g,"_");g=g.replace("import apiClient from './client';",`import { ${q}Client as apiClient } from '../clients';`);}yield X(J.join(e,"hooks.ts"),g,o);break;case "rtk-query":let O=i?b(a({},p),{rtkQuery:b(a({},p.rtkQuery),{apiName:t.replace(/-/g,"_")})}):p;g=ze(l,O),g=g.replace("} from '../types';",`} from '${m}';`).replace("} from '../endpoints';",`} from '${f}';`),yield X(J.join(e,"api.ts"),g,o);break;default:throw new Error(`Unknown client type: ${s}`)}}),En=(l,o,p,e)=>d(null,null,function*(){var t;if(p==="rtk-query"){let i=`// Generated RTK Query APIs
686
- `;i+=`// This file was auto-generated.
687
- `,i+=`// Aggregates all API slices for easy Redux store setup
760
+ `,s};var Rt=(l,i)=>{var m,e;if((m=i==null?void 0:i.folderSplit)!=null&&m.customFolder){let s=i.folderSplit.customFolder({method:l.method,path:l.path,tags:l.tags,operationId:l.operationId,summary:l.summary});if(s)return s}return (e=i==null?void 0:i.folderSplit)!=null&&e.byTags&&l.tags&&l.tags.length>0?l.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},gt=(l,i,m,e,s)=>d(null,null,function*(){let n=yt(l,m);if(n.length===0)return;let p=m.type||"fetch";m.outputDir||V.join(s,e,"client");let h=!!(i!=null&&i.folderSplit&&(i.folderSplit.byTags||i.folderSplit.customFolder));if(`${p}${n.length}`,h){let f={};n.forEach(R=>{let O=Rt(R,i);f[O]||(f[O]=[]),f[O].push(R);});let w=Object.keys(f);for(let[R,O]of Object.entries(f)){let U=V.join(s,e,R);yield ue.promises.mkdir(U,{recursive:true}),`${p}${R}${O.length}`,yield kt(O,i,m,U,p,R,true);}let G=V.join(s,e);yield St(G,w,p,i);return}let d=V.join(s,e);switch(yield ue.promises.mkdir(d,{recursive:true}),p){case "fetch":let f=Be(n,m);f=f.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V.join(d,"clients.ts"),f,i);break;case "axios":let w=be(n,m,false);w=w.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V.join(d,"clients.ts"),w,i);break;case "react-query":let G=be(n,m,false);G=G.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V.join(d,"clients.ts"),G,i);let R=ze(n,m);R=R.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V.join(d,"hooks.ts"),R,i);break;case "swr":let O=be(n,m,false);O=O.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V.join(d,"clients.ts"),O,i);let U=De(n,m);U=U.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V.join(d,"hooks.ts"),U,i);break;case "rtk-query":let M=We(n,m);M=M.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V.join(d,"api.ts"),M,i);break;default:throw new Error(`Unknown client type: ${p}`)}}),te=(l,i,m)=>d(null,null,function*(){var p,t,h,d;if(!(((p=m==null?void 0:m.customCode)==null?void 0:p.enabled)!==false)){yield ue.promises.writeFile(l,i);return}let s=null;try{s=yield ue.promises.readFile(l,"utf-8");}catch(f){}let n=qe(i,s,{position:((t=m==null?void 0:m.customCode)==null?void 0:t.position)||"bottom",markerText:(h=m==null?void 0:m.customCode)==null?void 0:h.markerText,includeInstructions:(d=m==null?void 0:m.customCode)==null?void 0:d.includeInstructions});yield ue.promises.writeFile(l,n);});var kt=(l,i,m,e,s,n,p=false)=>d(null,null,function*(){let t="",h="",d=p?"./types":"../types",f=p?"./endpoints":"../endpoints";switch(s){case "fetch":t=Be(l,m,p),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),yield te(V.join(e,"client.ts"),t,i);break;case "axios":t=be(l,m,p),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),yield te(V.join(e,"client.ts"),t,i);break;case "react-query":if(t=be(l,m,p),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),yield te(V.join(e,"client.ts"),t,i),h=ze(l,m),h=h.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),p){let G=n.replace(/-/g,"_");h=h.replace("import apiClient from './client';",`import { ${G}Client as apiClient } from '../clients';`);}yield te(V.join(e,"hooks.ts"),h,i);break;case "swr":if(t=be(l,m,p),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),yield te(V.join(e,"client.ts"),t,i),h=De(l,m),h=h.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),p){let G=n.replace(/-/g,"_");h=h.replace("import apiClient from './client';",`import { ${G}Client as apiClient } from '../clients';`);}yield te(V.join(e,"hooks.ts"),h,i);break;case "rtk-query":let w=p?b(a({},m),{rtkQuery:b(a({},m.rtkQuery),{apiName:n.replace(/-/g,"_")})}):m;h=We(l,w),h=h.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${f}';`),yield te(V.join(e,"api.ts"),h,i);break;default:throw new Error(`Unknown client type: ${s}`)}}),St=(l,i,m,e)=>d(null,null,function*(){var n;if(m==="rtk-query"){let p=`// Generated RTK Query APIs
761
+ `;p+=`// This file was auto-generated.
762
+ `,p+=`// Aggregates all API slices for easy Redux store setup
688
763
 
689
- `,o.forEach(n=>{let g=n.replace(/-/g,"_");i+=`import ${g}Api from './${n}/api';
690
- `;}),i+=`
764
+ `,i.forEach(t=>{let h=t.replace(/-/g,"_");p+=`import ${h}Api from './${t}/api';
765
+ `;}),p+=`
691
766
  // Export all API slices
692
- `,o.forEach(n=>{let g=n.replace(/-/g,"_");i+=`export { default as ${g}Api } from './${n}/api';
693
- `;}),i+=`
767
+ `,i.forEach(t=>{let h=t.replace(/-/g,"_");p+=`export { default as ${h}Api } from './${t}/api';
768
+ `;}),p+=`
694
769
  /**
695
- `,i+=` * Configure Redux store with all API slices
696
- `,i+=` *
697
- `,i+=` * @example
698
- `,i+=` * import { configureStore } from '@reduxjs/toolkit';
699
- `,i+=` * import { setupApiStore } from './apis';
700
- `,i+=` *
701
- `,i+=` * export const store = configureStore({
702
- `,i+=` * reducer: setupApiStore.reducer,
703
- `,i+=` * middleware: (getDefaultMiddleware) =>
704
- `,i+=` * getDefaultMiddleware().concat(setupApiStore.middleware),
705
- `,i+=` * });
706
- `,i+=` */
707
- `,i+=`export const setupApiStore = {
708
- `,i+=` reducer: {
709
- `,o.forEach(n=>{let g=n.replace(/-/g,"_");i+=` [${g}Api.reducerPath]: ${g}Api.reducer,
710
- `;}),i+=` },
711
- `,i+=` middleware: [
712
- `,o.forEach(n=>{let g=n.replace(/-/g,"_");i+=` ${g}Api.middleware,
713
- `;}),i+=` ],
714
- `,i+=`};
715
- `,yield X(J.join(l,"apis.ts"),i,e);return}let s=`// Generated API Clients
770
+ `,p+=` * Configure Redux store with all API slices
771
+ `,p+=` *
772
+ `,p+=` * @example
773
+ `,p+=` * import { configureStore } from '@reduxjs/toolkit';
774
+ `,p+=` * import { setupApiStore } from './apis';
775
+ `,p+=` *
776
+ `,p+=` * export const store = configureStore({
777
+ `,p+=` * reducer: setupApiStore.reducer,
778
+ `,p+=` * middleware: (getDefaultMiddleware) =>
779
+ `,p+=` * getDefaultMiddleware().concat(setupApiStore.middleware),
780
+ `,p+=` * });
781
+ `,p+=` */
782
+ `,p+=`export const setupApiStore = {
783
+ `,p+=` reducer: {
784
+ `,i.forEach(t=>{let h=t.replace(/-/g,"_");p+=` [${h}Api.reducerPath]: ${h}Api.reducer,
785
+ `;}),p+=` },
786
+ `,p+=` middleware: [
787
+ `,i.forEach(t=>{let h=t.replace(/-/g,"_");p+=` ${h}Api.middleware,
788
+ `;}),p+=` ],
789
+ `,p+=`};
790
+ `,yield te(V.join(l,"apis.ts"),p,e);return}let s=`// Generated API Clients
716
791
  `;if(s+=`// This file was auto-generated.
717
792
  `,s+=`// Centralized client instances and configuration
718
793
 
719
- `,p==="fetch"?o.forEach(i=>{let n=i.replace(/-/g,"_");s+=`export { default as ${n}Client } from './${i}/client';
720
- `;}):(o.forEach(i=>{let n=i.replace(/-/g,"_"),g=`${n.charAt(0).toUpperCase()+n.slice(1)}ApiClient`;s+=`import ${g} from './${i}/client';
794
+ `,m==="fetch"?i.forEach(p=>{let t=p.replace(/-/g,"_");s+=`export { default as ${t}Client } from './${p}/client';
795
+ `;}):(i.forEach(p=>{let t=p.replace(/-/g,"_"),h=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;s+=`import ${h} from './${p}/client';
721
796
  `;}),s+=`
722
797
  // Create client instances
723
- `,o.forEach(i=>{let n=i.replace(/-/g,"_"),g=`${n.charAt(0).toUpperCase()+n.slice(1)}ApiClient`;s+=`export const ${n}Client = new ${g}();
724
- `;})),p==="fetch"&&(s+=`
798
+ `,i.forEach(p=>{let t=p.replace(/-/g,"_"),h=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;s+=`export const ${t}Client = new ${h}();
799
+ `;})),m==="fetch"&&(s+=`
725
800
  // Import clients for aggregation
726
- `,o.forEach(i=>{let n=i.replace(/-/g,"_");s+=`import ${n}_client from './${i}/client';
801
+ `,i.forEach(p=>{let t=p.replace(/-/g,"_");s+=`import ${t}_client from './${p}/client';
727
802
  `;})),s+=`
728
803
  // Aggregate all client instances
729
804
  `,s+=`export const clients = {
730
- `,o.forEach(i=>{let n=i.replace(/-/g,"_");p==="fetch"?s+=` ${n}: ${n}_client,
731
- `:s+=` ${n}: ${n}Client,
805
+ `,i.forEach(p=>{let t=p.replace(/-/g,"_");m==="fetch"?s+=` ${t}: ${t}_client,
806
+ `:s+=` ${t}: ${t}Client,
732
807
  `;}),s+=`};
733
808
 
734
- `,p==="axios"?(s+=`
809
+ `,m==="axios"?(s+=`
735
810
  /**
736
811
  `,s+=` * Configure all API clients at once
737
812
  `,s+=` * @param config - Configuration to apply to all clients
@@ -741,10 +816,10 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
741
816
  `,s+=` headers?: Record<string, string>;
742
817
  `,s+=` timeout?: number;
743
818
  `,s+=`}) => {
744
- `,o.forEach(i=>{let n=i.replace(/-/g,"_");s+=` ${n}Client.updateConfig(config);
819
+ `,i.forEach(p=>{let t=p.replace(/-/g,"_");s+=` ${t}Client.updateConfig(config);
745
820
  `;}),s+=`};
746
821
 
747
- `):p==="fetch"&&(s+=`
822
+ `):m==="fetch"&&(s+=`
748
823
  /**
749
824
  `,s+=` * Configure all API clients at once
750
825
  `,s+=` * @param config - Configuration to apply to all clients
@@ -754,7 +829,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
754
829
  `,s+=` headers?: Record<string, string>;
755
830
  `,s+=` auth?: { token?: string };
756
831
  `,s+=`}) => {
757
- `,o.forEach(i=>{let n=i.replace(/-/g,"_");s+=` ${n}_client.setApiConfig(config);
832
+ `,i.forEach(p=>{let t=p.replace(/-/g,"_");s+=` ${t}_client.setApiConfig(config);
758
833
  `;}),s+=`};
759
834
 
760
835
  `),s+=`// Example usage:
@@ -767,13 +842,13 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
767
842
  `,s+=`// });
768
843
  `,s+=`//
769
844
  `,s+=`// // Use specific client
770
- `,s+=`// const data = await clients.${(t=o[0])==null?void 0:t.replace(/-/g,"_")}.someMethod(...);
771
- `,yield X(J.join(l,"clients.ts"),s,e),p==="react-query"||p==="swr"){let i=`// Generated Hooks Aggregator
772
- `;i+=`// This file was auto-generated.
773
- `,i+=`// Aggregates all folder-split hooks
845
+ `,s+=`// const data = await clients.${(n=i[0])==null?void 0:n.replace(/-/g,"_")}.someMethod(...);
846
+ `,yield te(V.join(l,"clients.ts"),s,e),m==="react-query"||m==="swr"){let p=`// Generated Hooks Aggregator
847
+ `;p+=`// This file was auto-generated.
848
+ `,p+=`// Aggregates all folder-split hooks
774
849
 
775
- `,o.forEach(n=>{i+=`export * from './${n}/hooks';
776
- `;}),i+=`
850
+ `,i.forEach(t=>{p+=`export * from './${t}/hooks';
851
+ `;}),p+=`
777
852
  // Example usage:
778
- `,i+=`// import { useGetSomething } from './hooks';
779
- `,yield X(J.join(l,"hooks.ts"),i,e);}});var ke=process.cwd(),ln=()=>{let l;try{c("esbuild-register");}catch(i){throw i}let o=J.join(ke,"openapi.sync.js"),p=J.join(ke,"openapi.sync.ts"),e=J.join(ke,"openapi.sync.json"),s=[o,p,e];try{for(let i of s)ie.existsSync(i)&&(l=c(i),Object.keys(l).length===1&&l.default&&(l=l.default));}catch(i){}typeof l=="function"&&(l=l());let t=l;if(!t)throw new Error("No config found");return t},mr=l=>d(null,null,function*(){let o=ln(),p=Object.keys(o.api),e=l&&"refetchInterval"in l&&!isNaN(l==null?void 0:l.refetchInterval)?l.refetchInterval:o.refetchInterval;Me();for(let s=0;s<p.length;s+=1){let t=p[s],i=o.api[t];yield Le(i,t,o,e);}}),cr=l=>d(null,null,function*(){let o=ln(),p=l.apiName?[l.apiName]:Object.keys(o.api);for(let s of p)if(!o.api[s])throw new Error(`API "${s}" not found in configuration. Available APIs: ${Object.keys(o.api).join(", ")}`);Me();for(let s of p){let t=o.api[s];yield Le(t,s,o);}let e=(o==null?void 0:o.folder)||"api";for(let s of p){let t=nn(s);if(t.length===0){continue}`${t.length}${s}`;let i=a(a(a(a(b(a({enabled:true},o.clientGeneration||{}),{type:l.type}),l.outputDir&&{outputDir:l.outputDir}),l.baseURL&&{baseURL:l.baseURL}),l.tags&&{tags:l.tags}),l.endpoints&&{endpoints:l.endpoints});yield an(t,o,i,s,J.join(ke,e));}}),dr=()=>d(null,null,function*(){let{interactiveInit:l}=yield import('./interactive-init-GI3DBKYN.mjs');yield l();});export{cr as GenerateClient,mr as Init,dr as InteractiveInit,Ee as JSONStringify,ue as capitalize,Ht as createCustomCodeMarker,dn as extractCustomCode,Vt as getEndpointDetails,vn as getNestedValue,Kt as isJson,cn as isYamlString,je as mergeCustomCode,ve as renderTypeRefMD,wn as variableName,Wt as variableNameChar,_t as yamlStringToJson};
853
+ `,p+=`// import { useGetSomething } from './hooks';
854
+ `,yield te(V.join(l,"hooks.ts"),p,e);}});var Ue=process.cwd(),$t=()=>{let l;try{c("esbuild-register");}catch(p){throw p}let i=V.join(Ue,"openapi.sync.js"),m=V.join(Ue,"openapi.sync.ts"),e=V.join(Ue,"openapi.sync.json"),s=[i,m,e];try{for(let p of s)ue.existsSync(p)&&(l=c(p),Object.keys(l).length===1&&l.default&&(l=l.default));}catch(p){}typeof l=="function"&&(l=l());let n=l;if(!n)throw new Error("No config found");return n},xr=l=>d(null,null,function*(){let i=$t(),m=Object.keys(i.api),e=l&&"refetchInterval"in l&&!isNaN(l==null?void 0:l.refetchInterval)?l.refetchInterval:i.refetchInterval;Le();for(let s=0;s<m.length;s+=1){let n=m[s],p=i.api[n];yield Qe(p,n,i,e);}}),Er=l=>d(null,null,function*(){let i=$t(),m=l.apiName?[l.apiName]:Object.keys(i.api);for(let s of m)if(!i.api[s])throw new Error(`API "${s}" not found in configuration. Available APIs: ${Object.keys(i.api).join(", ")}`);Le();for(let s of m){let n=i.api[s];yield Qe(n,s,i);}let e=(i==null?void 0:i.folder)||"api";for(let s of m){let n=ct(s);if(n.length===0){continue}`${n.length}${s}`;let p=a(a(a(a(b(a({enabled:true},i.clientGeneration||{}),{type:l.type}),l.outputDir&&{outputDir:l.outputDir}),l.baseURL&&{baseURL:l.baseURL}),l.tags&&{tags:l.tags}),l.endpoints&&{endpoints:l.endpoints});yield gt(n,i,p,s,V.join(Ue,e));}}),Tr=()=>d(null,null,function*(){let{interactiveInit:l}=yield import('./interactive-init-OITE22SZ.mjs');yield l();});export{Er as GenerateClient,xr as Init,Tr as InteractiveInit,Te as JSONStringify,de as capitalize,tt as createCustomCodeMarker,Tt as extractCustomCode,at as getEndpointDetails,Lt as getNestedValue,st as isJson,Et as isYamlString,qe as mergeCustomCode,ve as renderTypeRefMD,Nt as variableName,nt as variableNameChar,ot as yamlStringToJson};