openapi-sync 5.0.0 → 5.0.2

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