openapi-sync 5.0.6 → 6.0.0

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.js CHANGED
@@ -1,120 +1,124 @@
1
- 'use strict';var Pe=require('js-yaml'),V=require('path'),ce=require('fs'),Xt=require('lodash.isequal'),Le=require('lodash.get'),er=require('axios'),nr=require('axios-retry'),tr=require('@apidevtools/swagger-parser'),curlGenerator=require('curl-generator'),Ut=require('prompts');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Pe__namespace=/*#__PURE__*/_interopNamespace(Pe);var V__default=/*#__PURE__*/_interopDefault(V);var ce__default=/*#__PURE__*/_interopDefault(ce);var Xt__default=/*#__PURE__*/_interopDefault(Xt);var Le__default=/*#__PURE__*/_interopDefault(Le);var er__default=/*#__PURE__*/_interopDefault(er);var nr__default=/*#__PURE__*/_interopDefault(nr);var tr__default=/*#__PURE__*/_interopDefault(tr);var Ut__default=/*#__PURE__*/_interopDefault(Ut);var gt=Object.defineProperty,Jt=Object.defineProperties;var _t=Object.getOwnPropertyDescriptors;var ft=Object.getOwnPropertySymbols;var Ht=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable;var yt=(r,o,p)=>o in r?gt(r,o,{enumerable:true,configurable:true,writable:true,value:p}):r[o]=p,X=(r,o)=>{for(var p in o||(o={}))Ht.call(o,p)&&yt(r,p,o[p]);if(ft)for(var p of ft(o))Kt.call(o,p)&&yt(r,p,o[p]);return r},ae=(r,o)=>Jt(r,_t(o));var ve=(r=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(r,{get:(o,p)=>(typeof require!="undefined"?require:o)[p]}):r)(function(r){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var de=(r,o)=>()=>(r&&(o=r(r=0)),o);var ht=(r,o)=>{for(var p in o)gt(r,p,{get:o[p],enumerable:true});};var ie=(r,o,p)=>new Promise((e,i)=>{var n=f=>{try{t(p.next(f));}catch(c){i(c);}},u=f=>{try{t(p.throw(f));}catch(c){i(c);}},t=f=>f.done?e(f.value):Promise.resolve(f.value).then(n,u);t((p=p.apply(r,o)).next());});exports.variableName=void 0;exports.variableNameChar=void 0;var ze=de(()=>{exports.variableName=/^[A-Za-z_$][A-Za-z0-9_$]*$/,exports.variableNameChar=/[A-Za-z0-9_$]/;});function Yt(r,o){return o.split(".").reduce((e,i)=>e&&e[i]!==void 0?e[i]:void 0,r)}exports.isJson=void 0;exports.isYamlString=void 0;exports.yamlStringToJson=void 0;exports.capitalize=void 0;exports.getEndpointDetails=void 0;exports.JSONStringify=void 0;exports.renderTypeRefMD=void 0;exports.extractCustomCode=void 0;exports.createCustomCodeMarker=void 0;var $t;exports.mergeCustomCode=void 0;var Ne=de(()=>{ze();exports.isJson=r=>["object"].includes(typeof r)&&!(r instanceof Blob),exports.isYamlString=r=>{try{return Pe__namespace.load(r),!0}catch(o){let p=o;if(p instanceof Pe__namespace.YAMLException)return false;throw p}},exports.yamlStringToJson=r=>{if(exports.isYamlString(r)){let o=Pe__namespace.load(r),p=JSON.stringify(o,null,2);return JSON.parse(p)}},exports.capitalize=r=>r.substring(0,1).toUpperCase()+r.substring(1),exports.getEndpointDetails=(r,o)=>{let p=r.split("/"),e=`${exports.capitalize(o)}`,i=[];return p.forEach(n=>{if(n[0]==="{"&&n[n.length-1]==="}"){let t=n.replace(/{/,"").replace(/}/,"");i.push(t),n=`$${t}`;}else if(n[0]==="<"&&n[n.length-1]===">"){let t=n.replace(/</,"").replace(/>/,"");i.push(t),n=`$${t}`;}else if(n[0]===":"){let t=n.replace(/:/,"");i.push(t),n=`$${t}`;}let u="";n.split("").forEach(t=>{let f=t;exports.variableNameChar.test(t)||(f="/"),u+=f;}),u.split("/").forEach(t=>{e+=exports.capitalize(t);});}),{name:e,variables:i,pathParts:p}},exports.JSONStringify=(r,o=1)=>{let p="{",e=Object.keys(r);for(let i=0;i<e.length;i++){let n=e[i],u=r[n];if(p+=`
2
- `+" ".repeat(o)+n+": ",Array.isArray(u)){p+="[";for(let t=0;t<u.length;t++){let f=u[t];typeof f=="object"&&f!==null?p+=exports.JSONStringify(f,o+1):p+=typeof f=="string"?`"${f}"`:f,t<u.length-1&&(p+=", ");}p+="]";}else typeof u=="object"&&u!==null?p+=""+exports.JSONStringify(u,o+1):p+=u.split(`
1
+ 'use strict';var Re=require('js-yaml'),ee=require('path'),me=require('fs'),yr=require('lodash.isequal'),_e=require('lodash.get'),hr=require('axios'),$r=require('axios-retry'),br=require('@apidevtools/swagger-parser'),curlGenerator=require('curl-generator'),nr=require('prompts');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Re__namespace=/*#__PURE__*/_interopNamespace(Re);var ee__default=/*#__PURE__*/_interopDefault(ee);var me__default=/*#__PURE__*/_interopDefault(me);var yr__default=/*#__PURE__*/_interopDefault(yr);var _e__default=/*#__PURE__*/_interopDefault(_e);var hr__default=/*#__PURE__*/_interopDefault(hr);var $r__default=/*#__PURE__*/_interopDefault($r);var br__default=/*#__PURE__*/_interopDefault(br);var nr__default=/*#__PURE__*/_interopDefault(nr);var Nt=Object.defineProperty,pr=Object.defineProperties;var ur=Object.getOwnPropertyDescriptors;var qt=Object.getOwnPropertySymbols;var cr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable;var kt=(r,a,o)=>a in r?Nt(r,a,{enumerable:true,configurable:true,writable:true,value:o}):r[a]=o,B=(r,a)=>{for(var o in a||(a={}))cr.call(a,o)&&kt(r,o,a[o]);if(qt)for(var o of qt(a))dr.call(a,o)&&kt(r,o,a[o]);return r},_=(r,a)=>pr(r,ur(a));var Ee=(r=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(r,{get:(a,o)=>(typeof require!="undefined"?require:a)[o]}):r)(function(r){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var pe=(r,a,o)=>()=>{if(o)throw o[0];try{return r&&(a=r(r=0)),a}catch(e){throw o=[e],e}};var Xe=(r,a)=>{for(var o in a)Nt(r,o,{get:a[o],enumerable:true});};var V=(r,a,o)=>new Promise((e,s)=>{var n=d=>{try{t(o.next(d));}catch(l){s(l);}},c=d=>{try{t(o.throw(d));}catch(l){s(l);}},t=d=>d.done?e(d.value):Promise.resolve(d.value).then(n,c);t((o=o.apply(r,a)).next());});exports.variableName=void 0;exports.variableNameChar=void 0;var nn=pe(()=>{"use strict";exports.variableName=/^[A-Za-z_$][A-Za-z0-9_$]*$/,exports.variableNameChar=/[A-Za-z0-9_$]/;});function fr(r,a){return a.split(".").reduce((e,s)=>e&&e[s]!==void 0?e[s]:void 0,r)}exports.isJson=void 0;exports.isYamlString=void 0;exports.yamlStringToJson=void 0;exports.capitalize=void 0;exports.getEndpointDetails=void 0;exports.JSONStringify=void 0;exports.renderTypeRefMD=void 0;exports.extractCustomCode=void 0;exports.createCustomCodeMarker=void 0;var Ft;exports.mergeCustomCode=void 0;var Ue=pe(()=>{"use strict";nn();exports.isJson=r=>["object"].includes(typeof r)&&!(r instanceof Blob),exports.isYamlString=r=>{try{return Re__namespace.load(r),!0}catch(a){let o=a;if(o instanceof Re__namespace.YAMLException)return !1;throw o}},exports.yamlStringToJson=r=>{if(exports.isYamlString(r)){let a=Re__namespace.load(r),o=JSON.stringify(a,null,2);return JSON.parse(o)}},exports.capitalize=r=>r.substring(0,1).toUpperCase()+r.substring(1),exports.getEndpointDetails=(r,a)=>{let o=r.split("/"),e=`${exports.capitalize(a)}`,s=[];return o.forEach(n=>{if(n[0]==="{"&&n[n.length-1]==="}"){let t=n.replace(/{/,"").replace(/}/,"");s.push(t),n=`$${t}`;}else if(n[0]==="<"&&n[n.length-1]===">"){let t=n.replace(/</,"").replace(/>/,"");s.push(t),n=`$${t}`;}else if(n[0]===":"){let t=n.replace(/:/,"");s.push(t),n=`$${t}`;}let c="";n.split("").forEach(t=>{let d=t;exports.variableNameChar.test(t)||(d="/"),c+=d;}),c.split("/").forEach(t=>{e+=exports.capitalize(t);});}),{name:e,variables:s,pathParts:o}},exports.JSONStringify=(r,a=1)=>{let o="{",e=Object.keys(r);for(let s=0;s<e.length;s++){let n=e[s],c=r[n];if(o+=`
2
+ `+" ".repeat(a)+n+": ",Array.isArray(c)){o+="[";for(let t=0;t<c.length;t++){let d=c[t];typeof d=="object"&&d!==null?o+=exports.JSONStringify(d,a+1):o+=typeof d=="string"?`"${d}"`:d,t<c.length-1&&(o+=", ");}o+="]";}else typeof c=="object"&&c!==null?o+=""+exports.JSONStringify(c,a+1):o+=c.split(`
3
3
  `).filter(t=>t.trim()!=="").join(`
4
- ${" ".repeat(o)}`);i<e.length-1&&(p+=", ");}return p+=`
5
- ${" ".repeat(o-1)}}`,p},exports.renderTypeRefMD=(r,o=1)=>{let p=r.replace(/\/\*\*?[\s\S]*?\*\//g,e=>e.replace(/^\/\*\*?\s*/,"").replace(/\s*\*\/$/,"").split(`
4
+ ${" ".repeat(a)}`);s<e.length-1&&(o+=", ");}return o+=`
5
+ ${" ".repeat(a-1)}}`,o},exports.renderTypeRefMD=(r,a=1)=>{let o=r.replace(/\/\*\*?[\s\S]*?\*\//g,e=>e.replace(/^\/\*\*?\s*/,"").replace(/\s*\*\/$/,"").split(`
6
6
  `).map(n=>n.replace(/^\s*\*\s?/,"").trim()).filter(n=>n.length>0).map(n=>`// ${n}`).join(`
7
7
  `));return `
8
8
  \`\`\`typescript
9
- ${" ".repeat(o)} ${p.split(`
9
+ ${" ".repeat(a)} ${o.split(`
10
10
  `).filter(e=>e.trim()!=="").join(`
11
- ${" ".repeat(o)} `)}
12
- \`\`\``};exports.extractCustomCode=(r,o="CUSTOM CODE")=>{let e=["//","#"].map(t=>({start:`${t} \u{1F512} ${o} START`,end:`${t} \u{1F512} ${o} END`})),i={beforeGenerated:"",afterGenerated:""},n=0,u=[];for(;n<r.length;){let t=null,f=-1;for(let P of e){let T=r.indexOf(P.start,n);T!==-1&&(f===-1||T<f)&&(f=T,t=P);}if(f===-1||!t)break;let c=r.indexOf(t.end,f);if(c===-1)break;let y=c+t.end.length,A=r.substring(y,y+100),L=A.match(/^\s*\n\s*((?:\/\/|#)\s*=+)/);if(L){let P=A.indexOf(`
13
- `,L.index+1);P!==-1?y+=P+1:y+=L[0].length;}let q=f,O=r.substring(Math.max(0,f-200),f),U=/(^|\n)\s*(?:\/\/|#)\s*=+/g,F,R=-1;for(;(F=U.exec(O))!==null;)R=F.index+F[1].length;R!==-1&&(q=Math.max(0,f-200)+R);let B=r.substring(q,y);u.push({start:q,end:y,content:B}),n=y;}return u.length>0&&(r.substring(0,u[0].start).split(`
14
- `).filter(c=>{let y=c.trim();return y.length>0&&!y.startsWith("//")&&!y.startsWith("#")}).join("").length===0?(i.beforeGenerated=u[0].content,u.length>1&&(i.afterGenerated=u[1].content)):(i.afterGenerated=u[0].content,u.length>1&&!i.beforeGenerated&&(i.beforeGenerated=u[1].content))),i},exports.createCustomCodeMarker=(r,o="CUSTOM CODE",p=true,e="//")=>{let i=p?`${e} ${r==="top"?"Add your custom code below this line":"Add your custom code above this line"}
11
+ ${" ".repeat(a)} `)}
12
+ \`\`\``};exports.extractCustomCode=(r,a="CUSTOM CODE")=>{let e=["//","#"].map(t=>({start:`${t} \u{1F512} ${a} START`,end:`${t} \u{1F512} ${a} END`})),s={beforeGenerated:"",afterGenerated:""},n=0,c=[];for(;n<r.length;){let t=null,d=-1;for(let S of e){let w=r.indexOf(S.start,n);w!==-1&&(d===-1||w<d)&&(d=w,t=S);}if(d===-1||!t)break;let l=r.indexOf(t.end,d);if(l===-1)break;let g=l+t.end.length,x=r.substring(g,g+100),k=x.match(/^\s*\n\s*((?:\/\/|#)\s*=+)/);if(k){let S=x.indexOf(`
13
+ `,k.index+1);S!==-1?g+=S+1:g+=k[0].length;}let q=d,v=r.substring(Math.max(0,d-200),d),N=/(^|\n)\s*(?:\/\/|#)\s*=+/g,F,T=-1;for(;(F=N.exec(v))!==null;)T=F.index+F[1].length;T!==-1&&(q=Math.max(0,d-200)+T);let M=r.substring(q,g);c.push({start:q,end:g,content:M}),n=g;}return c.length>0&&(r.substring(0,c[0].start).split(`
14
+ `).filter(l=>{let g=l.trim();return g.length>0&&!g.startsWith("//")&&!g.startsWith("#")}).join("").length===0?(s.beforeGenerated=c[0].content,c.length>1&&(s.afterGenerated=c[1].content)):(s.afterGenerated=c[0].content,c.length>1&&!s.beforeGenerated&&(s.beforeGenerated=c[1].content))),s},exports.createCustomCodeMarker=(r,a="CUSTOM CODE",o=!0,e="//")=>{let s=o?`${e} ${r==="top"?"Add your custom code below this line":"Add your custom code above this line"}
15
15
  ${e} This section will be preserved during regeneration
16
16
  `:"";return `${e} ${"=".repeat(60)}
17
- ${e} \u{1F512} ${o} START
18
- ${i}${e} ${"=".repeat(60)}
19
-
20
- ${e} \u{1F512} ${o} END
21
- ${e} ${"=".repeat(60)}`},$t=(r,o,p)=>{if(!r)return r;let e=new RegExp(`^\\s*//\\s*(?:={3,}|\u{1F512}\\s+${o}\\s+(?:START|END)|Add your custom code (?:below|above) this line|This section will be preserved during regeneration)\\s*$`);return r.split(`
22
- `).map(i=>e.test(i)?i.replace(/^\s*\/\//,p):i).join(`
23
- `)},exports.mergeCustomCode=(r,o,p={})=>{let{position:e="bottom",markerText:i="CUSTOM CODE",includeInstructions:n=true,commentPrefix:u="//"}=p,t={beforeGenerated:"",afterGenerated:""};o&&(t=exports.extractCustomCode(o,i),t.beforeGenerated=$t(t.beforeGenerated,i,u),t.afterGenerated=$t(t.afterGenerated,i,u)),!t.beforeGenerated&&!t.afterGenerated&&((e==="top"||e==="both")&&(t.beforeGenerated=exports.createCustomCodeMarker("top",i,n,u)),(e==="bottom"||e==="both")&&(t.afterGenerated=exports.createCustomCodeMarker("bottom",i,n,u)));let f=[];return t.beforeGenerated&&(f.push(t.beforeGenerated),f.push("")),f.push(r),t.afterGenerated&&(f.push(""),f.push(t.afterGenerated)),f.join(`
24
- `)};});var Fe,Ke,qe,It,xt,Tt,Ve,Ye=de(()=>{Fe=V__default.default.join(__dirname,"../","../db.json");ce__default.default.existsSync(Fe)||ce__default.default.writeFileSync(Fe,"{}");Ke={};try{Ke=ve(Fe);}catch(r){Ke={};}qe=Ke||{},It=r=>{ce__default.default.writeFileSync(Fe,JSON.stringify(r));},xt=(r,o)=>{qe[r]=o,It(qe);},Tt=r=>qe[r],Ve=()=>{qe={},It(qe);};});var Et,wt,At,Ze=de(()=>{Et={},wt=(r,o)=>{Et[r]=o;},At=r=>Et[r]||[];});var be,Xe,Ot,Ie,vt,sr,en,Pt=de(()=>{Ne();Ye();Ze();be=process.cwd(),Xe={},Ot=er__default.default.create({timeout:6e4});nr__default.default(Ot,{retries:20,retryCondition:r=>r.code==="ECONNABORTED"||r.message.includes("Network Error"),retryDelay:r=>r*1e3});Ie=(r,o,p)=>ie(null,null,function*(){var t,f,c,y;if(!(((t=p==null?void 0:p.customCode)==null?void 0:t.enabled)!==false)){yield ce__default.default.promises.writeFile(r,o);return}let i=null;try{i=yield ce__default.default.promises.readFile(r,"utf-8");}catch(A){}let n=r.endsWith(".py")?"#":"//",u=exports.mergeCustomCode(o,i,{position:((f=p==null?void 0:p.customCode)==null?void 0:f.position)||"bottom",markerText:(c=p==null?void 0:p.customCode)==null?void 0:c.markerText,includeInstructions:(y=p==null?void 0:p.customCode)==null?void 0:y.includeInstructions,commentPrefix:n});yield ce__default.default.promises.writeFile(r,u);}),vt=(r,o,p,e)=>ie(null,null,function*(){let i=yield sr(r,o,p,e);return e&&!isNaN(e)&&e>0&&(process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||(Xe[o]&&clearTimeout(Xe[o]),Xe[o]=setTimeout(()=>{console.info(`\u{1F504} Auto syncing ${o}`),vt(r,o,p,e);},e))),i}),sr=(...r)=>ie(null,null,function*(){var an,ln,pn,un,cn,mn,dn,fn,yn,gn;let[o,p,e]=r,i=s=>s.startsWith("http://")||s.startsWith("https://"),n;try{if(i(o))n=(yield Ot.get(o)).data;else {let s=V__default.default.isAbsolute(o)?o:V__default.default.join(be,o);`${s}`,n=yield ce__default.default.promises.readFile(s,"utf-8");}}catch(s){throw process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||console.error(`Failed to load OpenAPI spec for ${p}:`,s),s}if(!n)return;let u=exports.isJson(n)?n:exports.yamlStringToJson(n),t;try{t=yield tr__default.default.parse(u);}catch(s){let a=s instanceof Error?s.message:String(s);throw new Error(`Failed to parse OpenAPI spec for ${p}: ${a}`)}let f=V__default.default.join((e==null?void 0:e.folder)||"",p),c=(e==null?void 0:e.language)==="python",y=c?"py":"ts",A={},L=s=>{var a,C;if((a=e==null?void 0:e.folderSplit)!=null&&a.customFolder){let b=e.folderSplit.customFolder(s);if(b)return b}return (C=e==null?void 0:e.folderSplit)!=null&&C.byTags&&s.tags&&s.tags.length>0?s.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},q=typeof(e==null?void 0:e.server)=="string"?e==null?void 0:e.server:((ln=(an=t==null?void 0:t.servers)==null?void 0:an[(e==null?void 0:e.server)||0])==null?void 0:ln.url)||"",O=typeof((un=(pn=e==null?void 0:e.types)==null?void 0:pn.name)==null?void 0:un.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",U=typeof((mn=(cn=e==null?void 0:e.endpoints)==null?void 0:cn.name)==null?void 0:mn.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",F=(s,a)=>{var b,m;let C=exports.capitalize(s);if((m=(b=e==null?void 0:e.types)==null?void 0:b.name)!=null&&m.format){let g=e==null?void 0:e.types.name.format("shared",{name:s},C);if(g)return `${O}${g}`}return `${O}${C}`},R=(s,a,C,b,m,g=0)=>{let d="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Le__default.default(s,x,null);if(k){k!=null&&k.name&&(d=k.name),$=x[x.length-1];let W=F($);W.includes(".")&&(W=W.split(".").map((Ce,ye)=>ye===0?Ce:`["${Ce}"]`).join("")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${W}`;}}else h+="";else if(a.anyOf)h+=`(${a.anyOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.oneOf)h+=`(${a.oneOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.allOf)h+=`(${a.allOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("&")})`;else if(a.items)h+=`${R(s,a.items,"",false,ae(X({},m),{useComponentName:false}))}[]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],j="";x.forEach(N=>{var W,Ae,Ce,ye,he,$e;let k="";!((Ae=(W=e==null?void 0:e.types)==null?void 0:W.doc)!=null&&Ae.disable)&&((ye=(Ce=a.properties)==null?void 0:Ce[N])!=null&&ye.description)&&(k=" * "+((he=a.properties)==null?void 0:he[N].description.split(`
25
- `).filter(Qe=>Qe.trim()!=="").join(`
26
- *${" ".repeat(1)}`))),j+=(k?`/**
27
- ${k}
17
+ ${e} \u{1F512} ${a} START
18
+ ${s}${e} ${"=".repeat(60)}
19
+
20
+ ${e} \u{1F512} ${a} END
21
+ ${e} ${"=".repeat(60)}`},Ft=(r,a,o)=>{if(!r)return r;let e=new RegExp(`^\\s*//\\s*(?:={3,}|\u{1F512}\\s+${a}\\s+(?:START|END)|Add your custom code (?:below|above) this line|This section will be preserved during regeneration)\\s*$`);return r.split(`
22
+ `).map(s=>e.test(s)?s.replace(/^\s*\/\//,o):s).join(`
23
+ `)},exports.mergeCustomCode=(r,a,o={})=>{let{position:e="bottom",markerText:s="CUSTOM CODE",includeInstructions:n=!0,commentPrefix:c="//"}=o,t={beforeGenerated:"",afterGenerated:""};a&&(t=exports.extractCustomCode(a,s),t.beforeGenerated=Ft(t.beforeGenerated,s,c),t.afterGenerated=Ft(t.afterGenerated,s,c)),!t.beforeGenerated&&!t.afterGenerated&&((e==="top"||e==="both")&&(t.beforeGenerated=exports.createCustomCodeMarker("top",s,n,c)),(e==="bottom"||e==="both")&&(t.afterGenerated=exports.createCustomCodeMarker("bottom",s,n,c)));let d=[];return t.beforeGenerated&&(d.push(t.beforeGenerated),d.push("")),d.push(r),t.afterGenerated&&(d.push(""),d.push(t.afterGenerated)),d.join(`
24
+ `)};});var ze,on,Le,Gt,Mt,Qt,Je,an=pe(()=>{"use strict";ze=ee__default.default.join(__dirname,"../","../db.json");me__default.default.existsSync(ze)||me__default.default.writeFileSync(ze,"{}");on={};try{on=Ee(ze);}catch(r){on={};}Le=on||{},Gt=r=>{me__default.default.writeFileSync(ze,JSON.stringify(r));},Mt=(r,a)=>{Le[r]=a,Gt(Le);},Qt=r=>Le[r],Je=()=>{Le={},Gt(Le);};});var Bt,Dt,We,ln=pe(()=>{"use strict";Bt={},Dt=(r,a)=>{Bt[r]=a;},We=r=>Bt[r]||[];});var we,pn,zt,Te,Jt,Ir,Ke,Wt=pe(()=>{"use strict";Ue();an();ln();we=process.cwd(),pn={},zt=hr__default.default.create({timeout:6e4});$r__default.default(zt,{retries:20,retryCondition:r=>r.code==="ECONNABORTED"||r.message.includes("Network Error"),retryDelay:r=>r*1e3});Te=(r,a,o)=>V(null,null,function*(){var t,d,l,g;if(!(((t=o==null?void 0:o.customCode)==null?void 0:t.enabled)!==!1)){yield me__default.default.promises.writeFile(r,a);return}let s=null;try{s=yield me__default.default.promises.readFile(r,"utf-8");}catch(x){}let n=r.endsWith(".py")?"#":"//",c=exports.mergeCustomCode(a,s,{position:((d=o==null?void 0:o.customCode)==null?void 0:d.position)||"bottom",markerText:(l=o==null?void 0:o.customCode)==null?void 0:l.markerText,includeInstructions:(g=o==null?void 0:o.customCode)==null?void 0:g.includeInstructions,commentPrefix:n});yield me__default.default.promises.writeFile(r,c);}),Jt=(r,a,o,e)=>V(null,null,function*(){let s=yield Ir(r,a,o,e);return e&&!isNaN(e)&&e>0&&(process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||(pn[a]&&clearTimeout(pn[a]),pn[a]=setTimeout(()=>{console.info(`\u{1F504} Auto syncing ${a}`),Jt(r,a,o,e);},e))),s}),Ir=(...r)=>V(null,null,function*(){var Tn,Sn,On,vn,Pn,jn,Rn,qn,kn,Nn;let[a,o,e]=r,s=i=>i.startsWith("http://")||i.startsWith("https://"),n;try{if(s(a))n=(yield zt.get(a)).data;else {let i=ee__default.default.isAbsolute(a)?a:ee__default.default.join(we,a);`${i}`,n=yield me__default.default.promises.readFile(i,"utf-8");}}catch(i){throw process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||console.error(`Failed to load OpenAPI spec for ${o}:`,i),i}if(!n)return;let c=exports.isJson(n)?n:exports.yamlStringToJson(n),t;try{t=yield br__default.default.parse(c);}catch(i){let p=i instanceof Error?i.message:String(i);throw new Error(`Failed to parse OpenAPI spec for ${o}: ${p}`)}let d=ee__default.default.join((e==null?void 0:e.folder)||"",o),l=(e==null?void 0:e.language)==="python",g=l?"py":"ts",x={},k=i=>{var p,C;if((p=e==null?void 0:e.folderSplit)!=null&&p.customFolder){let b=e.folderSplit.customFolder(i);if(b)return b}return (C=e==null?void 0:e.folderSplit)!=null&&C.byTags&&i.tags&&i.tags.length>0?i.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},q=typeof(e==null?void 0:e.server)=="string"?e==null?void 0:e.server:((Sn=(Tn=t==null?void 0:t.servers)==null?void 0:Tn[(e==null?void 0:e.server)||0])==null?void 0:Sn.url)||"",v=typeof((vn=(On=e==null?void 0:e.types)==null?void 0:On.name)==null?void 0:vn.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",N=typeof((jn=(Pn=e==null?void 0:e.endpoints)==null?void 0:Pn.name)==null?void 0:jn.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",F=(i,p)=>{var b,m;let C=exports.capitalize(i);if((m=(b=e==null?void 0:e.types)==null?void 0:b.name)!=null&&m.format){let y=e==null?void 0:e.types.name.format("shared",{name:i},C);if(y)return `${v}${y}`}return `${v}${C}`},T=(i,p,C,b,m,y=0)=>{let f="",$="",h="";if(p)if(p.$ref)if(p.$ref[0]==="#"){let E=(p.$ref||"").split("/");E.shift();let P=E[0]==="definitions";[...E].pop();let U=_e__default.default(i,E,null);if(U){U!=null&&U.name&&(f=U.name),$=E[E.length-1];let K=F($);K.includes(".")&&(K=K.split(".").map((Ae,Ce)=>Ce===0?Ae:`["${Ae}"]`).join("")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${K}`;}}else h+="";else if(p.anyOf)h+=`(${p.anyOf.map(E=>T(i,E,"",b,_(B({},m),{useComponentName:!1}))).filter(E=>!!E).join("|")})`;else if(p.oneOf)h+=`(${p.oneOf.map(E=>T(i,E,"",b,_(B({},m),{useComponentName:!1}))).filter(E=>!!E).join("|")})`;else if(p.allOf)h+=`(${p.allOf.map(E=>T(i,E,"",b,_(B({},m),{useComponentName:!1}))).filter(E=>!!E).join("&")})`;else if(p.items)h+=`${T(i,p.items,"",!1,_(B({},m),{useComponentName:!1}))}[]`;else if(p.properties){let E=Object.keys(p.properties),P=p.required||[],j="";E.forEach(L=>{var K,Oe,Ae,Ce,Ie,xe;let U="";!((Oe=(K=e==null?void 0:e.types)==null?void 0:K.doc)!=null&&Oe.disable)&&((Ce=(Ae=p.properties)==null?void 0:Ae[L])!=null&&Ce.description)&&(U=" * "+((Ie=p.properties)==null?void 0:Ie[L].description.split(`
25
+ `).filter(Ze=>Ze.trim()!=="").join(`
26
+ *${" ".repeat(1)}`))),j+=(U?`/**
27
+ ${U}
28
28
  */
29
- `:"")+`${R(s,($e=a.properties)==null?void 0:$e[N],N,v.includes(N),m,g+1)}`;}),j.length>0?h+=`{
30
- ${" ".repeat(g)}${j}${" ".repeat(g)}}`:h+="{[k: string]: any}";}else if(a.enum&&a.enum.length>0){let x=a.enum.includes(null),v=a.enum.filter(N=>N!==null).map(N=>JSON.stringify(N)).filter(N=>N!==void 0),j=v.length>1||v.length>0&&x;j&&(h+="("),v.forEach((N,k)=>{h+=`${k===0?"":"|"}${N}`;}),x&&(h+=`${v.length>0?"|":""}null`),j&&(h+=")");}else if(a.type){let x=v=>{let j="";if(typeof v=="string")["string","integer","number","array","boolean","null"].includes(v)?["integer","number"].includes(v)?j+="number":v==="array"?j+="any[]":j+=v:v==="object"&&(a.additionalProperties?j+=`{[k: string]: ${R(s,a.additionalProperties,"",true,ae(X({},m),{useComponentName:false}))||"any"}}`:j+="{[k: string]: any}");else if(Array.isArray(v)){let N=v.map(k=>x(k));N.filter(k=>k!==""),N.length>1&&(j+="("+N.join("|")+")");}else j+="any";return j};h=x(a.type);}else h+="any";else h="string";let S=d||C;m!=null&&m.useComponentName&&!S&&(S=$);let Q=S?` "${S}"${b?"":"?"}: `:"",l=(a==null?void 0:a.enum)&&a.enum.includes(null),z=a!=null&&a.nullable&&!l?" | null":"";return h.length>0?`${Q}${h}${z}${S?`;
31
- `:""}`:""},B=(s,a,C,b,m,g=0)=>{let d="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Le__default.default(s,x,null);if(k){k!=null&&k.name&&(d=k.name),$=x[x.length-1];let W=F($);W.includes(".")&&(W=W.split(".").join("_")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${W}`;}}else h+="Any";else if(a.anyOf)h+=`Union[${a.anyOf.map(x=>B(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(a.oneOf)h+=`Union[${a.oneOf.map(x=>B(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(a.allOf)h+="Dict[str, Any]";else if(a.items)h+=`List[${B(s,a.items,"",false,ae(X({},m),{useComponentName:false}))}]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],j="";x.forEach(N=>{var k;j+=B(s,(k=a.properties)==null?void 0:k[N],N,v.includes(N),m,g+1);}),j.length>0?C?h+="Dict[str, Any]":h+=`
32
- ${j}`:h+="Dict[str, Any]";}else if(a.enum&&a.enum.length>0){let x=a.enum.filter(v=>v!==null).map(v=>JSON.stringify(v));x.length>0?h+=`Literal[${x.join(", ")}]`:h+="Any";}else if(a.type){let x=v=>{let j="";if(typeof v=="string")["integer","number"].includes(v)?j+=v==="number"?"float":"int":v==="string"?j+="str":v==="boolean"?j+="bool":v==="array"?j+="List[Any]":v==="object"?j+="Dict[str, Any]":v==="null"?j+="None":j+="Any";else if(Array.isArray(v)){let N=v.map(k=>x(k)).filter(k=>k!=="");N.length>1?j+=`Union[${N.join(", ")}]`:j+=N[0]||"Any";}else j+="Any";return j};h=x(a.type);}else h+="Any";else h="str";let S=d||C;m!=null&&m.useComponentName&&!S&&(S=$);let Q="";S&&(Q=` ${S.replace(/[^a-zA-Z0-9_]/g,"_")}: `);let l=h,z=!S&&h.includes(`
33
- `);return a!=null&&a.nullable&&!z&&(h.startsWith("Union[")?l=h.replace("Union[","Union[None, "):l=`Optional[${h}]`),h.length>0?`${Q}${l}${S?`
34
- `:""}`:""},P=s=>{let a=(s||"").replace(/^\n+/,"").trimEnd();if(!a)return ` pass
35
- `;let C=a.split(`
29
+ `:"")+`${T(i,(xe=p.properties)==null?void 0:xe[L],L,P.includes(L),m,y+1)}`;}),j.length>0?h+=`{
30
+ ${" ".repeat(y)}${j}${" ".repeat(y)}}`:h+="{[k: string]: any}";}else if(p.enum&&p.enum.length>0){let E=p.enum.includes(null),P=p.enum.filter(L=>L!==null).map(L=>JSON.stringify(L)).filter(L=>L!==void 0),j=P.length>1||P.length>0&&E;j&&(h+="("),P.forEach((L,U)=>{h+=`${U===0?"":"|"}${L}`;}),E&&(h+=`${P.length>0?"|":""}null`),j&&(h+=")");}else if(p.type){let E=P=>{let j="";if(typeof P=="string")["string","integer","number","array","boolean","null"].includes(P)?["integer","number"].includes(P)?j+="number":P==="array"?j+="any[]":j+=P:P==="object"&&(p.additionalProperties?j+=`{[k: string]: ${T(i,p.additionalProperties,"",!0,_(B({},m),{useComponentName:!1}))||"any"}}`:j+="{[k: string]: any}");else if(Array.isArray(P)){let L=P.map(U=>E(U));L.filter(U=>U!==""),L.length>1&&(j+="("+L.join("|")+")");}else j+="any";return j};h=E(p.type);}else h+="any";else h="string";let R=f||C;m!=null&&m.useComponentName&&!R&&(R=$);let z=R?` "${R}"${b?"":"?"}: `:"",u=(p==null?void 0:p.enum)&&p.enum.includes(null),J=p!=null&&p.nullable&&!u?" | null":"";return h.length>0?`${z}${h}${J}${R?`;
31
+ `:""}`:""},M=(i,p,C,b,m,y=0)=>{let f="",$="",h="";if(p)if(p.$ref)if(p.$ref[0]==="#"){let E=(p.$ref||"").split("/");E.shift();let P=E[0]==="definitions";[...E].pop();let U=_e__default.default(i,E,null);if(U){U!=null&&U.name&&(f=U.name),$=E[E.length-1];let K=F($);K.includes(".")&&(K=K.split(".").join("_")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${K}`;}}else h+="Any";else if(p.anyOf)h+=`Union[${p.anyOf.map(E=>M(i,E,"",b,_(B({},m),{useComponentName:!1}))).filter(E=>!!E).join(", ")}]`;else if(p.oneOf)h+=`Union[${p.oneOf.map(E=>M(i,E,"",b,_(B({},m),{useComponentName:!1}))).filter(E=>!!E).join(", ")}]`;else if(p.allOf)h+="Dict[str, Any]";else if(p.items)h+=`List[${M(i,p.items,"",!1,_(B({},m),{useComponentName:!1}))}]`;else if(p.properties){let E=Object.keys(p.properties),P=p.required||[],j="";E.forEach(L=>{var U;j+=M(i,(U=p.properties)==null?void 0:U[L],L,P.includes(L),m,y+1);}),j.length>0?C?h+="Dict[str, Any]":h+=`
32
+ ${j}`:h+="Dict[str, Any]";}else if(p.enum&&p.enum.length>0){let E=p.enum.filter(P=>P!==null).map(P=>JSON.stringify(P));E.length>0?h+=`Literal[${E.join(", ")}]`:h+="Any";}else if(p.type){let E=P=>{let j="";if(typeof P=="string")["integer","number"].includes(P)?j+=P==="number"?"float":"int":P==="string"?j+="str":P==="boolean"?j+="bool":P==="array"?j+="List[Any]":P==="object"?j+="Dict[str, Any]":P==="null"?j+="None":j+="Any";else if(Array.isArray(P)){let L=P.map(U=>E(U)).filter(U=>U!=="");L.length>1?j+=`Union[${L.join(", ")}]`:j+=L[0]||"Any";}else j+="Any";return j};h=E(p.type);}else h+="Any";else h="str";let R=f||C;m!=null&&m.useComponentName&&!R&&(R=$);let z="";R&&(z=` ${R.replace(/[^a-zA-Z0-9_]/g,"_")}: `);let u=h,J=!R&&h.includes(`
33
+ `);return p!=null&&p.nullable&&!J&&(h.startsWith("Union[")?u=h.replace("Union[","Union[None, "):u=`Optional[${h}]`),h.length>0?`${z}${u}${R?`
34
+ `:""}`:""},S=i=>{let p=(i||"").replace(/^\n+/,"").trimEnd();if(!p)return ` pass
35
+ `;let C=p.split(`
36
36
  `),b=/^[A-Za-z_][A-Za-z0-9_]*\s*:\s*.+$/,m=C.map($=>$.trim()).filter($=>!!$).filter($=>!$.startsWith('"""')&&!$.endsWith('"""'));return !m.some($=>b.test($))&&m.length===1?` value: ${m[0]}
37
- `:`${a.split(`
37
+ `:`${p.split(`
38
38
  `).map($=>$.trim()?/^\s/.test($)?$:` ${$}`:$).join(`
39
39
  `)}
40
- `},T=(s,a)=>`@dataclass
41
- class ${s}:
42
- ${P(a)}`,ee=s=>{let C=["Any","List","Dict","Union","Optional","Literal"].filter(b=>new RegExp(`\\b${b}\\b`).test(s));return C.length>0?`from typing import ${C.join(", ")}
43
- `:""},M=(s,a=72)=>{let C=(s||"").replace(/\s+/g," ").trim().split(" ");if(!C[0])return [];let b=[],m="";return C.forEach(g=>{let d=m?`${m} ${g}`:g;d.length>a&&m?(b.push(m),m=g):m=d;}),m&&b.push(m),b},J=s=>{var m,g;if(!s||(g=(m=e==null?void 0:e.types)==null?void 0:m.doc)!=null&&g.disable)return "";let a=(s.description||"").trim(),C=Object.entries(s.properties||{}).map(([d,$])=>({name:d,desc:(($==null?void 0:$.description)||"").trim()})).filter(d=>d.desc.length>0);if(!a&&C.length===0)return "";let b=[' """'];return a&&M(a).forEach(d=>b.push(` ${d}`)),C.length>0&&(a&&b.push(""),b.push(" Attributes:"),C.forEach(d=>{let $=M(d.desc);$.length&&(b.push(` ${d.name}: ${$[0]}`),$.slice(1).forEach(h=>b.push(` ${h}`)));})),b.push(' """'),`${b.join(`
40
+ `},w=i=>{let p=(i||"").replace(/^\n+/,"").trimEnd();if(!p)return null;let C=p.split(`
41
+ `),b=/^[A-Za-z_][A-Za-z0-9_]*\s*:\s*.+$/,m=C.map(f=>f.trim()).filter(f=>!!f).filter(f=>!f.startsWith('"""')&&!f.endsWith('"""'));return !m.some(f=>b.test(f))&&m.length===1?m[0]:null},H=(i,p,C)=>{let b=w(p);return (C==null?void 0:C.inheritSingleTypeExpression)===!0&&!!b?`@dataclass
42
+ class ${i}(${b}):
43
+ pass
44
+ `:`@dataclass
45
+ class ${i}:
46
+ ${S(p)}`},G=i=>{let C=["Any","List","Dict","Union","Optional","Literal"].filter(b=>new RegExp(`\\b${b}\\b`).test(i));return C.length>0?`from typing import ${C.join(", ")}
47
+ `:""},Q=(i,p=72)=>{let C=(i||"").replace(/\s+/g," ").trim().split(" ");if(!C[0])return [];let b=[],m="";return C.forEach(y=>{let f=m?`${m} ${y}`:y;f.length>p&&m?(b.push(m),m=y):m=f;}),m&&b.push(m),b},ce=i=>{var m,y;if(!i||(y=(m=e==null?void 0:e.types)==null?void 0:m.doc)!=null&&y.disable)return "";let p=(i.description||"").trim(),C=Object.entries(i.properties||{}).map(([f,$])=>({name:f,desc:(($==null?void 0:$.description)||"").trim()})).filter(f=>f.desc.length>0);if(!p&&C.length===0)return "";let b=[' """'];return p&&Q(p).forEach(f=>b.push(` ${f}`)),C.length>0&&(p&&b.push(""),b.push(" Attributes:"),C.forEach(f=>{let $=Q(f.desc);$.length&&(b.push(` ${f.name}: ${$[0]}`),$.slice(1).forEach(h=>b.push(` ${h}`)));})),b.push(' """'),`${b.join(`
44
48
  `)}
45
- `},re=(s,a)=>{let m="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let g=(a.$ref||"").split("/");g.shift();let $=Le__default.default(s,g,null);$&&($!=null&&$.name&&($.name),g[g.length-1],m+=re(s,$));}else m+="";else if(a.anyOf)m+=re(s,a.anyOf[0]);else if(a.oneOf)m+=re(s,a.oneOf[0]);else if(a.allOf)m+=`{${a.allOf.map(g=>`...(${re(s,g)})`).join(",")}}`;else if(a.items)m+=`[${re(s,a.items)}]`;else if(a.properties){let $=Object.keys(a.properties).map(h=>{var S;return ` "${h}": ${re(s,(S=a.properties)==null?void 0:S[h])}`}).join(`,
49
+ `},ie=(i,p)=>{let C="",b="",m="";if(p)if(p.$ref)if(p.$ref[0]==="#"){let y=(p.$ref||"").split("/");y.shift();let $=_e__default.default(i,y,null);$&&($!=null&&$.name&&(C=$.name),b=y[y.length-1],m+=ie(i,$));}else m+="";else if(p.anyOf)m+=ie(i,p.anyOf[0]);else if(p.oneOf)m+=ie(i,p.oneOf[0]);else if(p.allOf)m+=`{${p.allOf.map(y=>`...(${ie(i,y)})`).join(",")}}`;else if(p.items)m+=`[${ie(i,p.items)}]`;else if(p.properties){let $=Object.keys(p.properties).map(h=>{var R;return ` "${h}": ${ie(i,(R=p.properties)==null?void 0:R[h])}`}).join(`,
46
50
  `);$.length>0?m+=`{
47
51
  ${$}
48
- }`:m+="{}";}else if(a.enum&&a.enum.length>0)a.enum.length>1&&(m+=a.enum[0]);else if(a.type)if(a.example)m+=JSON.stringify(a.example);else {let g=d=>{let $="";if(typeof d=="string")["string","integer","number","array","boolean","null"].includes(d)?["integer","number"].includes(d)?$+="123":d==="array"?$+="[]":d==="boolean"?$+="true":d==="null"?$+="null":$+=`"${d}"`:d==="object"&&($+="{}");else if(Array.isArray(d)){let h=d.map(S=>g(S));h.filter(S=>S!==""),h.length>1&&($+=h.join("|"));}else $+="any";return $};m=g(a.type);}else m+="any";else m="string";return m},ge=Tt(p);if(Xt__default.default(ge,t))return;xt(p,t);let se="",le="",ue={},we=[],ke=(s,a)=>{let C={},b={};Object.keys(s).forEach(g=>{var h;let d=(h=s[g])!=null&&h.schema?s[g].schema:s[g],$=c?`${B(t,d,"",true,{noSharedImport:true,useComponentName:false})}`:`${R(t,d,"",true,{noSharedImport:true,useComponentName:false})}`;if($){let S=g.split("."),Q=C,l=b;for(let z=0;z<S.length;z++){let x=S[z];z<S.length-1?(x in Q||(Q[x]={},l[x]={}),Q=Q[x],l=l[x]):(Q[x]=$,l[x]=d);}}}),Object.keys(C).forEach(g=>{var z,x,v,j,N;let d=F(g),$=C[g],h=s[g],S=h!=null&&h.schema?h.schema:h,Q="",l="";!((x=(z=e==null?void 0:e.types)==null?void 0:z.doc)!=null&&x.disable)&&g in s&&((v=s[g])!=null&&v.description)&&(Q=" * "+s[g].description.split(`
49
- `).filter(W=>W.trim()!=="").join(`
50
- *${" ".repeat(1)}`)),l=J(S),c?ue[g]=((j=ue[g])!=null?j:"")+`@dataclass
51
- class ${d}:
52
- `+(l||"")+P(typeof $=="string"?$:"")+`
53
- `:ue[g]=((N=ue[g])!=null?N:"")+(Q?`/**
54
- ${Q}
52
+ }`:m+="{}";}else if(p.enum&&p.enum.length>0)p.enum.length>1&&(m+=p.enum[0]);else if(p.type)if(p.example)m+=JSON.stringify(p.example);else {let y=f=>{let $="";if(typeof f=="string")["string","integer","number","array","boolean","null"].includes(f)?["integer","number"].includes(f)?$+="123":f==="array"?$+="[]":f==="boolean"?$+="true":f==="null"?$+="null":$+=`"${f}"`:f==="object"&&($+="{}");else if(Array.isArray(f)){let h=f.map(R=>y(R));h.filter(R=>R!==""),h.length>1&&($+=h.join("|"));}else $+="any";return $};m=y(p.type);}else m+="any";else m="string";return m},ae=Qt(o);if(yr__default.default(ae,t))return;Mt(o,t);let de="",be="",le={},Be=[],wn=(i,p)=>{let C={},b={};Object.keys(i).forEach(y=>{var h;let f=(h=i[y])!=null&&h.schema?i[y].schema:i[y],$=l?`${M(t,f,"",!0,{noSharedImport:!0,useComponentName:!1})}`:`${T(t,f,"",!0,{noSharedImport:!0,useComponentName:!1})}`;if($){let R=y.split("."),z=C,u=b;for(let J=0;J<R.length;J++){let E=R[J];J<R.length-1?(E in z||(z[E]={},u[E]={}),z=z[E],u=u[E]):(z[E]=$,u[E]=f);}}}),Object.keys(C).forEach(y=>{var J,E,P,j,L;let f=F(y),$=C[y],h=i[y],R=h!=null&&h.schema?h.schema:h,z="",u="";!((E=(J=e==null?void 0:e.types)==null?void 0:J.doc)!=null&&E.disable)&&y in i&&((P=i[y])!=null&&P.description)&&(z=" * "+i[y].description.split(`
53
+ `).filter(K=>K.trim()!=="").join(`
54
+ *${" ".repeat(1)}`)),u=ce(R),l?le[y]=((j=le[y])!=null?j:"")+`@dataclass
55
+ class ${f}:
56
+ `+(u||"")+S(typeof $=="string"?$:"")+`
57
+ `:le[y]=((L=le[y])!=null?L:"")+(z?`/**
58
+ ${z}
55
59
  */
56
- `:"")+"export type "+d+" = "+(typeof $=="string"?$:exports.JSONStringify($))+`;
57
- `;});};t.definitions&&ke(t.definitions),t.components&&Object.keys(t.components).forEach(s=>{if(["schemas","responses","parameters","examples","requestBodies","headers","links","callbacks"].includes(s)){let a=t.components[s];ke(a);}});let on=s=>{let a="";if(s.content){let C=Object.keys(s.content);C[0]&&s.content[C[0]].schema&&(a+=c?`${B(t,s.content[C[0]].schema,"")}`:`${R(t,s.content[C[0]].schema,"")}`);}return a},me=(s,a,C=0)=>{if(!s)return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()";if(s.$ref){if(s.$ref[0]==="#"){let b=s.$ref.split("/");b.shift();let m=b.join("."),g=Le__default.default(t,m);if(g)return me(g,a,C)}return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"}if(s.anyOf||s.oneOf){let b=s.anyOf||s.oneOf;if(b.every(g=>g.enum!==void 0&&Array.isArray(g.enum))){let g=[],d=false;if(b.forEach($=>{$.enum&&$.enum.forEach(h=>{h===null?d=true:g.includes(h)||g.push(h);});}),g.length>0){let $=g.map(h=>JSON.stringify(h)).join(", ");if(a==="zod"){let h=`z.enum([${$}])`;return d&&(h+=".nullable()"),h}else if(a==="yup"){let h=`yup.mixed().oneOf([${$}])`;return d&&(h+=".nullable()"),h}else return d?`Joi.valid(${$}, null)`:`Joi.valid(${$})`}else if(d)return a==="zod"?"z.null()":a==="yup"?"yup.mixed().nullable()":"Joi.valid(null)"}return a==="zod"?`z.union([${b.map($=>me($,a,C+1)).join(", ")}])`:a==="yup"?`yup.mixed().oneOf([${b.map($=>me($,a,C+1)).join(", ")}])`:`Joi.alternatives().try(${b.map(d=>me(d,a,C+1)).join(", ")})`}if(s.allOf)if(a==="zod"){let b=s.allOf.map(g=>me(g,a,C+1)),m=b[0];for(let g=1;g<b.length;g++)m=`${m}.merge(${b[g]})`;return m}else return me(s.allOf[0],a,C+1);if(s.items){let b=me(s.items,a,C+1);if(a==="zod"){let m=`z.array(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}else if(a==="yup"){let m=`yup.array().of(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}else {let m=`Joi.array().items(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}}if(s.properties){let b=s.required||[],m=" ".repeat(C+1),g=Object.entries(s.properties).map(([d,$])=>{let h=b.includes(d),S=me($,a,C+1);return h||(S+=".optional()"),`${m}${d}: ${S}`}).join(`,
58
- `);return a==="zod"?`z.object({
59
- ${g}
60
- ${" ".repeat(C)}})`:a==="yup"?`yup.object({
61
- ${g}
60
+ `:"")+"export type "+f+" = "+(typeof $=="string"?$:exports.JSONStringify($))+`;
61
+ `;});};t.definitions&&wn(t.definitions,"definitions"),t.components&&Object.keys(t.components).forEach(i=>{if(["schemas","responses","parameters","examples","requestBodies","headers","links","callbacks"].includes(i)){let p=t.components[i];wn(p,"components");}});let An=i=>{let p="";if(i.content){let C=Object.keys(i.content);C[0]&&i.content[C[0]].schema&&(p+=l?`${M(t,i.content[C[0]].schema,"")}`:`${T(t,i.content[C[0]].schema,"")}`);}return p},ye=(i,p,C=0)=>{if(!i)return p==="joi"?"Joi.any()":p==="yup"?"yup.mixed()":"z.any()";if(i.$ref){if(i.$ref[0]==="#"){let b=i.$ref.split("/");b.shift();let m=b.join("."),y=_e__default.default(t,m);if(y)return ye(y,p,C)}return p==="joi"?"Joi.any()":p==="yup"?"yup.mixed()":"z.any()"}if(i.anyOf||i.oneOf){let b=i.anyOf||i.oneOf;if(b.every(y=>y.enum!==void 0&&Array.isArray(y.enum))){let y=[],f=!1;if(b.forEach($=>{$.enum&&$.enum.forEach(h=>{h===null?f=!0:y.includes(h)||y.push(h);});}),y.length>0){let $=y.map(h=>JSON.stringify(h)).join(", ");if(p==="zod"){let h=`z.enum([${$}])`;return f&&(h+=".nullable()"),h}else if(p==="yup"){let h=`yup.mixed().oneOf([${$}])`;return f&&(h+=".nullable()"),h}else return f?`Joi.valid(${$}, null)`:`Joi.valid(${$})`}else if(f)return p==="zod"?"z.null()":p==="yup"?"yup.mixed().nullable()":"Joi.valid(null)"}return p==="zod"?`z.union([${b.map($=>ye($,p,C+1)).join(", ")}])`:p==="yup"?`yup.mixed().oneOf([${b.map($=>ye($,p,C+1)).join(", ")}])`:`Joi.alternatives().try(${b.map(f=>ye(f,p,C+1)).join(", ")})`}if(i.allOf)if(p==="zod"){let b=i.allOf.map(y=>ye(y,p,C+1)),m=b[0];for(let y=1;y<b.length;y++)m=`${m}.merge(${b[y]})`;return m}else return ye(i.allOf[0],p,C+1);if(i.items){let b=ye(i.items,p,C+1);if(p==="zod"){let m=`z.array(${b})`;return i.minItems!==void 0&&(m+=`.min(${i.minItems})`),i.maxItems!==void 0&&(m+=`.max(${i.maxItems})`),m}else if(p==="yup"){let m=`yup.array().of(${b})`;return i.minItems!==void 0&&(m+=`.min(${i.minItems})`),i.maxItems!==void 0&&(m+=`.max(${i.maxItems})`),m}else {let m=`Joi.array().items(${b})`;return i.minItems!==void 0&&(m+=`.min(${i.minItems})`),i.maxItems!==void 0&&(m+=`.max(${i.maxItems})`),m}}if(i.properties){let b=i.required||[],m=" ".repeat(C+1),y=Object.entries(i.properties).map(([f,$])=>{let h=b.includes(f),R=ye($,p,C+1);return h||(R+=".optional()"),`${m}${f}: ${R}`}).join(`,
62
+ `);return p==="zod"?`z.object({
63
+ ${y}
64
+ ${" ".repeat(C)}})`:p==="yup"?`yup.object({
65
+ ${y}
62
66
  ${" ".repeat(C)}})`:`Joi.object({
63
- ${g}
64
- ${" ".repeat(C)}})`}if(s.enum&&s.enum.length>0){let b=[],m=false;s.enum.forEach(d=>{d===null?m=true:b.includes(d)||b.push(d);});let g=b.map(d=>JSON.stringify(d)).join(", ");if(a==="zod"){let d=`z.enum([${g}])`;return m&&(d+=".nullable()"),d}else if(a==="yup"){let d=`yup.mixed().oneOf([${g}])`;return m&&(d+=".nullable()"),d}else {let d=`Joi.valid(${g})`;return m&&(d+=".allow(null)"),d}}if(s.type){let m=(g=>{switch(g){case "string":if(a==="zod"){let d="z.string()";return s.format==="email"?d+=".email()":s.format==="uuid"?d+=".uuid()":s.format==="url"||s.format==="uri"?d+=".url()":s.format==="date-time"?d+=".datetime()":s.format==="date"&&(d+=".date()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.regex(/${s.pattern}/)`),d}else if(a==="yup"){let d="yup.string()";return s.format==="email"?d+=".email()":(s.format==="url"||s.format==="uri")&&(d+=".url()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.matches(/${s.pattern}/)`),d}else {let d="Joi.string()";return s.format==="email"?d+=".email()":s.format==="url"||s.format==="uri"?d+=".uri()":s.format==="uuid"?d+=".guid({ version: 'uuidv4' })":s.format==="date-time"&&(d+=".isoDate()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.pattern(/${s.pattern}/)`),d}case "integer":case "number":if(a==="zod"){let d="z.number()";return g==="integer"&&(d+=".int()"),s.minimum!==void 0&&(s.exclusiveMinimum?d+=`.gt(${s.minimum})`:d+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?d+=`.lt(${s.maximum})`:d+=`.max(${s.maximum})`),d}else if(a==="yup"){let d="yup.number()";return g==="integer"&&(d+=".integer()"),s.minimum!==void 0&&(d+=`.min(${s.minimum})`),s.maximum!==void 0&&(d+=`.max(${s.maximum})`),d}else {let d="Joi.number()";return g==="integer"&&(d+=".integer()"),s.minimum!==void 0&&(s.exclusiveMinimum?d+=`.greater(${s.minimum})`:d+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?d+=`.less(${s.maximum})`:d+=`.max(${s.maximum})`),d}case "boolean":return a==="joi"?"Joi.boolean()":a==="yup"?"yup.boolean()":"z.boolean()";case "null":return a==="joi"?"Joi.any().allow(null)":a==="yup"?"yup.mixed().nullable()":"z.null()";default:return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"}})(typeof s.type=="string"?s.type:s.type[0]);return s.nullable&&a!=="joi"?m+=".nullable()":s.nullable&&a==="joi"&&(m+=".allow(null)"),m}return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"},Qt=s=>{var a,C,b,m,g;if((C=(a=e==null?void 0:e.endpoints)==null?void 0:a.value)!=null&&C.replaceWords&&Array.isArray(e==null?void 0:e.endpoints.value.replaceWords)){let d=s;return (g=(m=(b=e==null?void 0:e.endpoints)==null?void 0:b.value)==null?void 0:m.replaceWords)==null||g.forEach(($,h)=>{let S=new RegExp($.replace,"g");d=d.replace(S,$.with||"");}),d}else return s},Bt=(s,a,C=[])=>{var g,d;let b=(g=e==null?void 0:e.endpoints)==null?void 0:g.exclude,m=(d=e==null?void 0:e.endpoints)==null?void 0:d.include;if(m){let $=m.tags&&m.tags.length>0?C.some(S=>m.tags.includes(S)):true,h=m.endpoints&&m.endpoints.length>0?m.endpoints.some(S=>{let Q=!S.method||S.method.toLowerCase()===a.toLowerCase();return S.path?s===S.path&&Q:S.regex?new RegExp(S.regex).test(s)&&Q:false}):true;if(!$||!h)return true}return !!(b&&(b.tags&&b.tags.length>0&&C.some(h=>b.tags.includes(h))||b.endpoints&&b.endpoints.length>0&&b.endpoints.some(h=>{let S=!h.method||h.method.toLowerCase()===a.toLowerCase();return h.path?s===h.path&&S:h.regex?new RegExp(h.regex).test(s)&&S:false})))};if(Object.keys(t.paths||{}).forEach(s=>{let a=t.paths[s];Object.keys(a).forEach(b=>{var $n,bn,Cn,In,xn,Tn,En,wn,An,On,vn,Pn,jn,Sn,qn,Rn,kn,Un,Nn,Fn,Ln,Gn,Mn,Qn,Bn,zn,Dn,Wn,Jn,_n,Hn,Kn,Vn,Yn,Zn,Xn,et,nt,tt,rt,st,ot,it,at,lt,pt,ut,ct,mt,dt;let m=b,g=exports.getEndpointDetails(s,m),d=(($n=a[m])==null?void 0:$n.tags)||[];if(Bt(s,m,d))return;let $=a[m],h=L({method:m,path:s,summary:$==null?void 0:$.summary,operationId:$==null?void 0:$.operationId,tags:d,parameters:$==null?void 0:$.parameters,requestBody:$==null?void 0:$.requestBody,responses:$==null?void 0:$.responses});A[h]||(A[h]={endpoints:"",types:"",validation:""});let S=((Cn=(bn=e==null?void 0:e.endpoints)==null?void 0:bn.value)!=null&&Cn.includeServer?q:"")+g.pathParts.map(E=>(E[0]==="{"&&E[E.length-1]==="}"?E=`\${${E.replace(/{/,"").replace(/}/,"")}}`:E[0]==="<"&&E[E.length-1]===">"?E=`\${${E.replace(/</,"").replace(/>/,"")}}`:E[0]===":"&&(E=`\${${E.replace(/:/,"")}}`),E)).join("/"),Q=`"${S}"`;g.variables.length>0&&(Q=`(${g.variables.map(I=>`${I}:string`).join(",")})=> \`${S}\``),Q=Qt(Q);let l=a[m],z="",x;if(l!=null&&l.parameters&&((l==null?void 0:l.parameters).forEach((I,w)=>{(I.$ref||I.in==="query"&&I.name)&&(z+=c?`${B(t,I.$ref?I:I.schema,I.name||"",I.required)}`:`${R(t,I.$ref?I:I.schema,I.name||"",I.required)}`);}),z)){z=c?z:`{
65
- ${z}}`;let w=`${g.name}Query`;if((xn=(In=e==null?void 0:e.types)==null?void 0:In.name)!=null&&xn.useOperationId&&(l!=null&&l.operationId)&&(w=`${l.operationId}Query`),w=exports.capitalize(`${O}${w}`),(En=(Tn=e==null?void 0:e.types)==null?void 0:Tn.name)!=null&&En.format){let _=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},w);_&&(w=`${O}${_}`);}x=w;let G=c?`${T(w,z)}
66
- `:`export type ${w} = ${z};
67
- `;e!=null&&e.folderSplit?A[h].types+=G:le+=G;}if(((wn=e==null?void 0:e.validations)==null?void 0:wn.disable)!==true&&((On=(An=e==null?void 0:e.validations)==null?void 0:An.generate)==null?void 0:On.query)!==false&&(l!=null&&l.parameters)){let E=((vn=e.validations)==null?void 0:vn.library)||"zod",w=l.parameters.filter(G=>!G.$ref&&G.in==="query"&&G.name);if(w.length>0){let G=((Pn=e==null?void 0:e.validations)==null?void 0:Pn.name)||((jn=e==null?void 0:e.types)==null?void 0:jn.name),_=typeof(G==null?void 0:G.prefix)=="string"?G.prefix:"I",Y=typeof((qn=(Sn=e==null?void 0:e.validations)==null?void 0:Sn.name)==null?void 0:qn.suffix)=="string"?e.validations.name.suffix:"Schema",Z=`${g.name}Query`;if(G!=null&&G.useOperationId&&(l!=null&&l.operationId)&&(Z=`${l.operationId}Query`),Z=exports.capitalize(`${_}${Z}${Y}`),(kn=(Rn=e==null?void 0:e.validations)==null?void 0:Rn.name)!=null&&kn.format){let K=e.validations.name.format({code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Z);K&&(Z=`${_}${K}${Y}`);}else if((Nn=(Un=e==null?void 0:e.types)==null?void 0:Un.name)!=null&&Nn.format){let K=e.types.name.format("endpoint",{code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Z);K&&(Z=`${_}${K}${Y}`);}let D=w.map(K=>{let Ue=K!=null&&K.schema?me(K.schema,E):E==="joi"?"Joi.string()":E==="yup"?"yup.string()":"z.string()",Wt=K.required?"":".optional()";return ` ${K.name}: ${Ue}${Wt}`}).join(`,
68
- `),H=`export const ${Z} = ${E==="joi"?"Joi.object":E==="yup"?"yup.object":"z.object"}({
69
- ${D}
67
+ ${y}
68
+ ${" ".repeat(C)}})`}if(i.enum&&i.enum.length>0){let b=[],m=!1;i.enum.forEach(f=>{f===null?m=!0:b.includes(f)||b.push(f);});let y=b.map(f=>JSON.stringify(f)).join(", ");if(p==="zod"){let f=`z.enum([${y}])`;return m&&(f+=".nullable()"),f}else if(p==="yup"){let f=`yup.mixed().oneOf([${y}])`;return m&&(f+=".nullable()"),f}else {let f=`Joi.valid(${y})`;return m&&(f+=".allow(null)"),f}}if(i.type){let m=(y=>{switch(y){case "string":if(p==="zod"){let f="z.string()";return i.format==="email"?f+=".email()":i.format==="uuid"?f+=".uuid()":i.format==="url"||i.format==="uri"?f+=".url()":i.format==="date-time"?f+=".datetime()":i.format==="date"&&(f+=".date()"),i.minLength&&(f+=`.min(${i.minLength})`),i.maxLength&&(f+=`.max(${i.maxLength})`),i.pattern&&(f+=`.regex(/${i.pattern}/)`),f}else if(p==="yup"){let f="yup.string()";return i.format==="email"?f+=".email()":(i.format==="url"||i.format==="uri")&&(f+=".url()"),i.minLength&&(f+=`.min(${i.minLength})`),i.maxLength&&(f+=`.max(${i.maxLength})`),i.pattern&&(f+=`.matches(/${i.pattern}/)`),f}else {let f="Joi.string()";return i.format==="email"?f+=".email()":i.format==="url"||i.format==="uri"?f+=".uri()":i.format==="uuid"?f+=".guid({ version: 'uuidv4' })":i.format==="date-time"&&(f+=".isoDate()"),i.minLength&&(f+=`.min(${i.minLength})`),i.maxLength&&(f+=`.max(${i.maxLength})`),i.pattern&&(f+=`.pattern(/${i.pattern}/)`),f}case "integer":case "number":if(p==="zod"){let f="z.number()";return y==="integer"&&(f+=".int()"),i.minimum!==void 0&&(i.exclusiveMinimum?f+=`.gt(${i.minimum})`:f+=`.min(${i.minimum})`),i.maximum!==void 0&&(i.exclusiveMaximum?f+=`.lt(${i.maximum})`:f+=`.max(${i.maximum})`),f}else if(p==="yup"){let f="yup.number()";return y==="integer"&&(f+=".integer()"),i.minimum!==void 0&&(f+=`.min(${i.minimum})`),i.maximum!==void 0&&(f+=`.max(${i.maximum})`),f}else {let f="Joi.number()";return y==="integer"&&(f+=".integer()"),i.minimum!==void 0&&(i.exclusiveMinimum?f+=`.greater(${i.minimum})`:f+=`.min(${i.minimum})`),i.maximum!==void 0&&(i.exclusiveMaximum?f+=`.less(${i.maximum})`:f+=`.max(${i.maximum})`),f}case "boolean":return p==="joi"?"Joi.boolean()":p==="yup"?"yup.boolean()":"z.boolean()";case "null":return p==="joi"?"Joi.any().allow(null)":p==="yup"?"yup.mixed().nullable()":"z.null()";default:return p==="joi"?"Joi.any()":p==="yup"?"yup.mixed()":"z.any()"}})(typeof i.type=="string"?i.type:i.type[0]);return i.nullable&&p!=="joi"?m+=".nullable()":i.nullable&&p==="joi"&&(m+=".allow(null)"),m}return p==="joi"?"Joi.any()":p==="yup"?"yup.mixed()":"z.any()"},sr=i=>{var p,C,b,m,y;if((C=(p=e==null?void 0:e.endpoints)==null?void 0:p.value)!=null&&C.replaceWords&&Array.isArray(e==null?void 0:e.endpoints.value.replaceWords)){let f=i;return (y=(m=(b=e==null?void 0:e.endpoints)==null?void 0:b.value)==null?void 0:m.replaceWords)==null||y.forEach(($,h)=>{let R=new RegExp($.replace,"g");f=f.replace(R,$.with||"");}),f}else return i},or=(i,p,C=[])=>{var y,f;let b=(y=e==null?void 0:e.endpoints)==null?void 0:y.exclude,m=(f=e==null?void 0:e.endpoints)==null?void 0:f.include;if(m){let $=m.tags&&m.tags.length>0?C.some(R=>m.tags.includes(R)):!0,h=m.endpoints&&m.endpoints.length>0?m.endpoints.some(R=>{let z=!R.method||R.method.toLowerCase()===p.toLowerCase();return R.path?i===R.path&&z:R.regex?new RegExp(R.regex).test(i)&&z:!1}):!0;if(!$||!h)return !0}return !!(b&&(b.tags&&b.tags.length>0&&C.some(h=>b.tags.includes(h))||b.endpoints&&b.endpoints.length>0&&b.endpoints.some(h=>{let R=!h.method||h.method.toLowerCase()===p.toLowerCase();return h.path?i===h.path&&R:h.regex?new RegExp(h.regex).test(i)&&R:!1})))};if(Object.keys(t.paths||{}).forEach(i=>{let p=t.paths[i];Object.keys(p).forEach(b=>{var Un,Ln,Gn,Mn,Qn,Bn,Dn,zn,Jn,Wn,_n,Kn,Vn,Hn,Yn,Zn,Xn,et,nt,tt,rt,st,ot,it,at,lt,pt,ut,ct,dt,mt,ft,gt,yt,ht,$t,bt,Ct,It,xt,Et,wt,At,Tt,St,Ot,vt,Pt,jt,Rt;let m=b,y=exports.getEndpointDetails(i,m),f=((Un=p[m])==null?void 0:Un.tags)||[];if(or(i,m,f))return;let $=p[m],h=k({method:m,path:i,summary:$==null?void 0:$.summary,operationId:$==null?void 0:$.operationId,tags:f,parameters:$==null?void 0:$.parameters,requestBody:$==null?void 0:$.requestBody,responses:$==null?void 0:$.responses});x[h]||(x[h]={endpoints:"",types:"",validation:""});let R=((Gn=(Ln=e==null?void 0:e.endpoints)==null?void 0:Ln.value)!=null&&Gn.includeServer?q:"")+y.pathParts.map(A=>(A[0]==="{"&&A[A.length-1]==="}"?A=`\${${A.replace(/{/,"").replace(/}/,"")}}`:A[0]==="<"&&A[A.length-1]===">"?A=`\${${A.replace(/</,"").replace(/>/,"")}}`:A[0]===":"&&(A=`\${${A.replace(/:/,"")}}`),A)).join("/"),z=`"${R}"`;y.variables.length>0&&(z=`(${y.variables.map(I=>`${I}:string`).join(",")})=> \`${R}\``),z=sr(z);let u=p[m],J="",E;if(u!=null&&u.parameters&&((u==null?void 0:u.parameters).forEach((I,O)=>{(I.$ref||I.in==="query"&&I.name)&&(J+=l?`${M(t,I.$ref?I:I.schema,I.name||"",I.required)}`:`${T(t,I.$ref?I:I.schema,I.name||"",I.required)}`);}),J)){J=l?J:`{
69
+ ${J}}`;let O=`${y.name}Query`;if((Qn=(Mn=e==null?void 0:e.types)==null?void 0:Mn.name)!=null&&Qn.useOperationId&&(u!=null&&u.operationId)&&(O=`${u.operationId}Query`),O=exports.capitalize(`${v}${O}`),(Dn=(Bn=e==null?void 0:e.types)==null?void 0:Bn.name)!=null&&Dn.format){let Y=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},O);Y&&(O=`${v}${Y}`);}E=O;let D=l?`${H(O,J)}
70
+ `:`export type ${O} = ${J};
71
+ `;e!=null&&e.folderSplit?x[h].types+=D:be+=D;}if(((zn=e==null?void 0:e.validations)==null?void 0:zn.disable)!==!0&&((Wn=(Jn=e==null?void 0:e.validations)==null?void 0:Jn.generate)==null?void 0:Wn.query)!==!1&&(u!=null&&u.parameters)){let A=((_n=e.validations)==null?void 0:_n.library)||"zod",O=u.parameters.filter(D=>!D.$ref&&D.in==="query"&&D.name);if(O.length>0){let D=((Kn=e==null?void 0:e.validations)==null?void 0:Kn.name)||((Vn=e==null?void 0:e.types)==null?void 0:Vn.name),Y=typeof(D==null?void 0:D.prefix)=="string"?D.prefix:"I",ne=typeof((Yn=(Hn=e==null?void 0:e.validations)==null?void 0:Hn.name)==null?void 0:Yn.suffix)=="string"?e.validations.name.suffix:"Schema",te=`${y.name}Query`;if(D!=null&&D.useOperationId&&(u!=null&&u.operationId)&&(te=`${u.operationId}Query`),te=exports.capitalize(`${Y}${te}${ne}`),(Xn=(Zn=e==null?void 0:e.validations)==null?void 0:Zn.name)!=null&&Xn.format){let X=e.validations.name.format({code:"",type:"query",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},te);X&&(te=`${Y}${X}${ne}`);}else if((nt=(et=e==null?void 0:e.types)==null?void 0:et.name)!=null&&nt.format){let X=e.types.name.format("endpoint",{code:"",type:"query",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},te);X&&(te=`${Y}${X}${ne}`);}let W=O.map(X=>{let De=X!=null&&X.schema?ye(X.schema,A):A==="joi"?"Joi.string()":A==="yup"?"yup.string()":"z.string()",lr=X.required?"":".optional()";return ` ${X.name}: ${De}${lr}`}).join(`,
72
+ `),Z=`export const ${te} = ${A==="joi"?"Joi.object":A==="yup"?"yup.object":"z.object"}({
73
+ ${W}
70
74
  });
71
75
 
72
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=H;}}let v=l==null?void 0:l.requestBody,j="",N;if(v&&(j=on(v),j)){let E=`${g.name}DTO`;if((Ln=(Fn=e==null?void 0:e.types)==null?void 0:Fn.name)!=null&&Ln.useOperationId&&(l!=null&&l.operationId)&&(E=`${l.operationId}DTO`),E=exports.capitalize(`${O}${E}`),(Mn=(Gn=e==null?void 0:e.types)==null?void 0:Gn.name)!=null&&Mn.format){let w=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},E);w&&(E=`${O}${w}`);}N=E;let I=c?`${T(E,j)}
73
- `:`export type ${E} = ${j};
74
- `;e!=null&&e.folderSplit?A[h].types+=I:le+=I;}if(((Qn=e==null?void 0:e.validations)==null?void 0:Qn.disable)!==true&&((zn=(Bn=e==null?void 0:e.validations)==null?void 0:Bn.generate)==null?void 0:zn.dto)!==false&&v){let E=((Dn=e.validations)==null?void 0:Dn.library)||"zod";if(v.content){let I=Object.keys(v.content);if(I[0]&&v.content[I[0]].schema){let w=((Wn=e==null?void 0:e.validations)==null?void 0:Wn.name)||((Jn=e==null?void 0:e.types)==null?void 0:Jn.name),G=typeof(w==null?void 0:w.prefix)=="string"?w.prefix:"I",_=typeof((Hn=(_n=e==null?void 0:e.validations)==null?void 0:_n.name)==null?void 0:Hn.suffix)=="string"?e.validations.name.suffix:"Schema",Y=`${g.name}DTO`;if(w!=null&&w.useOperationId&&(l!=null&&l.operationId)&&(Y=`${l.operationId}DTO`),Y=exports.capitalize(`${G}${Y}${_}`),(Vn=(Kn=e==null?void 0:e.validations)==null?void 0:Kn.name)!=null&&Vn.format){let oe=e.validations.name.format({code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);oe&&(Y=`${G}${oe}${_}`);}else if((Zn=(Yn=e==null?void 0:e.types)==null?void 0:Yn.name)!=null&&Zn.format){let oe=e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);oe&&(Y=`${G}${oe}${_}`);}let Z=me(v.content[I[0]].schema,E),D=`export const ${Y} = ${Z};
75
-
76
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=D;}}}let k={},W="",Ae="";if(l!=null&&l.responses){let E=l==null?void 0:l.responses;Object.keys(E).forEach(w=>{var G,_,Y,Z;if(W=on(E[w]),k[w]=W,W){let D=`${g.name}${w}Response`;if((_=(G=e==null?void 0:e.types)==null?void 0:G.name)!=null&&_.useOperationId&&(l!=null&&l.operationId)&&(D=`${l.operationId}${w}Response`),D=exports.capitalize(`${O}${D}`),(Z=(Y=e==null?void 0:e.types)==null?void 0:Y.name)!=null&&Z.format){let K=e==null?void 0:e.types.name.format("endpoint",{code:w,type:"response",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},D);K&&(D=`${O}${K}`);}let oe=c?`${T(D,W)}
77
- `:`export type ${D} = ${W};
78
- `;e!=null&&e.folderSplit?A[h].types+=oe:le+=oe,k[w]=D;let H=parseInt(w);H>=200&&H<300&&(Ae=D);}});}let Ce=E=>!E||!E.length?"":E.map(I=>Object.entries(I).map(([G,_])=>{let Y=G,Z="";return Array.isArray(_)&&_.length&&(Z=`
79
- - Scopes: [\`${_.join("`, `")}\`]`,Y=`**${Y}**`),`
80
- - ${Y}${Z}`}).join("")).join(`
81
- `),ye=l!=null&&l.security?Ce(l.security):"",he="";if(!((et=(Xn=e==null?void 0:e.endpoints)==null?void 0:Xn.doc)!=null&&et.disable)){let E="";if((tt=(nt=e==null?void 0:e.endpoints)==null?void 0:nt.doc)!=null&&tt.showCurl||c){let I={},w="",G="";(rt=l.requestBody)!=null&&rt.content&&Object.keys(l.requestBody.content).forEach(oe=>{let H=l.requestBody.content[oe].schema;if(H){Array.isArray(I["Content-type"])?I["Content-type"].push(oe):I["Content-type"]=[oe];let K=re(t,H);K&&(w=K);}}),l!=null&&l.security&&l.security.forEach(D=>{Object.keys(D).forEach(oe=>{var K,Ue;let H=(Ue=(K=t.components)==null?void 0:K.securitySchemes)==null?void 0:Ue[oe];H&&(H.type==="mutualTLS"?G+=`
82
- --cert client-certificate.crt --key client-private-key.key --cacert ca-certificate.crt`:H.type==="apiKey"?I[(H==null?void 0:H.name)||"X-API-KEY"]="{API_KEY_VALUE}":I.Authorization=`${(H==null?void 0:H.scheme)==="basic"?"Basic":"Bearer"} {${(H==null?void 0:H.scheme)==="basic"?"VALUE":"TOKEN"}}`);});});let _={};Object.keys(I).forEach(D=>{Array.isArray(I[D])?_[D]=I[D].join("; "):_[D]=I[D];});let Z=`${curlGenerator.CurlGenerator({url:q+s,method:m.toUpperCase(),headers:_,body:w})||`curl ${q+s} -X ${m.toUpperCase()}`}${G}`;E=c?`
76
+ `;e!=null&&e.folderSplit||x[h]||(x[h]={endpoints:"",types:"",validation:""}),x[h].validation+=Z;}}let P=u==null?void 0:u.requestBody,j="",L;if(P&&(j=An(P),j)){let A=`${y.name}DTO`;if((rt=(tt=e==null?void 0:e.types)==null?void 0:tt.name)!=null&&rt.useOperationId&&(u!=null&&u.operationId)&&(A=`${u.operationId}DTO`),A=exports.capitalize(`${v}${A}`),(ot=(st=e==null?void 0:e.types)==null?void 0:st.name)!=null&&ot.format){let O=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},A);O&&(A=`${v}${O}`);}L=A;let I=l?`${H(A,j,{inheritSingleTypeExpression:!0})}
77
+ `:`export type ${A} = ${j};
78
+ `;e!=null&&e.folderSplit?x[h].types+=I:be+=I;}if(((it=e==null?void 0:e.validations)==null?void 0:it.disable)!==!0&&((lt=(at=e==null?void 0:e.validations)==null?void 0:at.generate)==null?void 0:lt.dto)!==!1&&P){let A=((pt=e.validations)==null?void 0:pt.library)||"zod";if(P.content){let I=Object.keys(P.content);if(I[0]&&P.content[I[0]].schema){let O=((ut=e==null?void 0:e.validations)==null?void 0:ut.name)||((ct=e==null?void 0:e.types)==null?void 0:ct.name),D=typeof(O==null?void 0:O.prefix)=="string"?O.prefix:"I",Y=typeof((mt=(dt=e==null?void 0:e.validations)==null?void 0:dt.name)==null?void 0:mt.suffix)=="string"?e.validations.name.suffix:"Schema",ne=`${y.name}DTO`;if(O!=null&&O.useOperationId&&(u!=null&&u.operationId)&&(ne=`${u.operationId}DTO`),ne=exports.capitalize(`${D}${ne}${Y}`),(gt=(ft=e==null?void 0:e.validations)==null?void 0:ft.name)!=null&&gt.format){let oe=e.validations.name.format({code:"",type:"dto",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},ne);oe&&(ne=`${D}${oe}${Y}`);}else if((ht=(yt=e==null?void 0:e.types)==null?void 0:yt.name)!=null&&ht.format){let oe=e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},ne);oe&&(ne=`${D}${oe}${Y}`);}let te=ye(P.content[I[0]].schema,A),W=`export const ${ne} = ${te};
79
+
80
+ `;e!=null&&e.folderSplit||x[h]||(x[h]={endpoints:"",types:"",validation:""}),x[h].validation+=W;}}}let U={},K="",Oe="";if(u!=null&&u.responses){let A=u==null?void 0:u.responses;Object.keys(A).forEach(O=>{var D,Y,ne,te;if(K=An(A[O]),U[O]=K,K){let W=`${y.name}${O}Response`;if((Y=(D=e==null?void 0:e.types)==null?void 0:D.name)!=null&&Y.useOperationId&&(u!=null&&u.operationId)&&(W=`${u.operationId}${O}Response`),W=exports.capitalize(`${v}${W}`),(te=(ne=e==null?void 0:e.types)==null?void 0:ne.name)!=null&&te.format){let X=e==null?void 0:e.types.name.format("endpoint",{code:O,type:"response",method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},W);X&&(W=`${v}${X}`);}let oe=l?`${H(W,K,{inheritSingleTypeExpression:!0})}
81
+ `:`export type ${W} = ${K};
82
+ `;e!=null&&e.folderSplit?x[h].types+=oe:be+=oe,U[O]=W;let Z=parseInt(O);Z>=200&&Z<300&&(Oe=W);}});}let Ae=A=>!A||!A.length?"":A.map(I=>Object.entries(I).map(([D,Y])=>{let ne=D,te="";return Array.isArray(Y)&&Y.length&&(te=`
83
+ - Scopes: [\`${Y.join("`, `")}\`]`,ne=`**${ne}**`),`
84
+ - ${ne}${te}`}).join("")).join(`
85
+ `),Ce=u!=null&&u.security?Ae(u.security):"",Ie="";if(!((bt=($t=e==null?void 0:e.endpoints)==null?void 0:$t.doc)!=null&&bt.disable)){let A="";if((It=(Ct=e==null?void 0:e.endpoints)==null?void 0:Ct.doc)!=null&&It.showCurl||l){let I={},O="",D="";(xt=u.requestBody)!=null&&xt.content&&Object.keys(u.requestBody.content).forEach(oe=>{let Z=u.requestBody.content[oe].schema;if(Z){Array.isArray(I["Content-type"])?I["Content-type"].push(oe):I["Content-type"]=[oe];let X=ie(t,Z);X&&(O=X);}}),u!=null&&u.security&&u.security.forEach(W=>{Object.keys(W).forEach(oe=>{var X,De;let Z=(De=(X=t.components)==null?void 0:X.securitySchemes)==null?void 0:De[oe];Z&&(Z.type==="mutualTLS"?D+=`
86
+ --cert client-certificate.crt --key client-private-key.key --cacert ca-certificate.crt`:Z.type==="apiKey"?I[(Z==null?void 0:Z.name)||"X-API-KEY"]="{API_KEY_VALUE}":I.Authorization=`${(Z==null?void 0:Z.scheme)==="basic"?"Basic":"Bearer"} {${(Z==null?void 0:Z.scheme)==="basic"?"VALUE":"TOKEN"}}`);});});let Y={};Object.keys(I).forEach(W=>{Array.isArray(I[W])?Y[W]=I[W].join("; "):Y[W]=I[W];});let te=`${curlGenerator.CurlGenerator({url:q+i,method:m.toUpperCase(),headers:Y,body:O})||`curl ${q+i} -X ${m.toUpperCase()}`}${D}`;A=l?`
83
87
  \`\`\`bash
84
- ${Z}
88
+ ${te}
85
89
  \`\`\``:`
86
90
  \`\`\`bash
87
- ${Z}
88
- \`\`\``;}if(c){let I=[];l!=null&&l.description&&I.push(`* ${l.description}`),I.push(`* **Method**: ${m.toUpperCase()}`),I.push(`* **Summary**: ${(l==null?void 0:l.summary)||""}`),I.push(`* **Tags**: [${((st=l==null?void 0:l.tags)==null?void 0:st.join(", "))||""}]`),I.push(`* **OperationId**: ${(l==null?void 0:l.operationId)||""}`),z&&(I.push("* **Query**:"),I.push("```python"),z.split(`
89
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),j&&(I.push("* **DTO**:"),I.push("```python"),j.split(`
90
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),W&&(I.push("* **Response**:"),I.push("```python"),Object.entries(k).forEach(([w,G])=>{I.push(`${w}: ${String(G).replace(/\n/g," ")}`);}),I.push("```")),ye&&(I.push("* **Security**:"),ye.split(`
91
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w.replace(/\*\*/g,"")))),he=`"""
91
+ ${te}
92
+ \`\`\``;}if(l){let I=[];u!=null&&u.description&&I.push(`* ${u.description}`),I.push(`* **Method**: ${m.toUpperCase()}`),I.push(`* **Summary**: ${(u==null?void 0:u.summary)||""}`),I.push(`* **Tags**: [${((Et=u==null?void 0:u.tags)==null?void 0:Et.join(", "))||""}]`),I.push(`* **OperationId**: ${(u==null?void 0:u.operationId)||""}`),J&&(I.push("* **Query**:"),I.push("```python"),J.split(`
93
+ `).filter(O=>O.trim().length>0).forEach(O=>I.push(O)),I.push("```")),j&&(I.push("* **DTO**:"),I.push("```python"),j.split(`
94
+ `).filter(O=>O.trim().length>0).forEach(O=>I.push(O)),I.push("```")),K&&(I.push("* **Response**:"),I.push("```python"),Object.entries(U).forEach(([O,D])=>{I.push(`${O}: ${String(D).replace(/\n/g," ")}`);}),I.push("```")),Ce&&(I.push("* **Security**:"),Ce.split(`
95
+ `).filter(O=>O.trim().length>0).forEach(O=>I.push(O.replace(/\*\*/g,"")))),Ie=`"""
92
96
  ${I.join(`
93
- `)}${E}
97
+ `)}${A}
94
98
  """
95
- `;}else he=`/**${l!=null&&l.description?`
96
- * ${l==null?void 0:l.description} `:""}
99
+ `;}else Ie=`/**${u!=null&&u.description?`
100
+ * ${u==null?void 0:u.description} `:""}
97
101
  * **Method**: \`${m.toUpperCase()}\`
98
- * **Summary**: ${(l==null?void 0:l.summary)||""}
99
- * **Tags**: [${((ot=l==null?void 0:l.tags)==null?void 0:ot.join(", "))||""}]
100
- * **OperationId**: ${(l==null?void 0:l.operationId)||""} ${z?`
101
- * **Query**: ${exports.renderTypeRefMD(z)} `:""}${j?`
102
- * **DTO**: ${exports.renderTypeRefMD(j)} `:""}${W?`
103
- * **Response**: ${Object.entries(k).map(([I,w])=>`
104
- - **${I}**: ${exports.renderTypeRefMD(w,2)} `).join("")}`:""}${ye?`
105
- * **Security**: ${ye}
106
- `:""}${E}
102
+ * **Summary**: ${(u==null?void 0:u.summary)||""}
103
+ * **Tags**: [${((wt=u==null?void 0:u.tags)==null?void 0:wt.join(", "))||""}]
104
+ * **OperationId**: ${(u==null?void 0:u.operationId)||""} ${J?`
105
+ * **Query**: ${exports.renderTypeRefMD(J)} `:""}${j?`
106
+ * **DTO**: ${exports.renderTypeRefMD(j)} `:""}${K?`
107
+ * **Response**: ${Object.entries(U).map(([I,O])=>`
108
+ - **${I}**: ${exports.renderTypeRefMD(O,2)} `).join("")}`:""}${Ce?`
109
+ * **Security**: ${Ce}
110
+ `:""}${A}
107
111
  */
108
- `;}let $e=(at=(it=e==null?void 0:e.endpoints)==null?void 0:it.name)!=null&&at.useOperationId&&((lt=l==null?void 0:l.operationId)==null?void 0:lt.length)>0?l.operationId:`${g.name}`;if((ut=(pt=e==null?void 0:e.endpoints)==null?void 0:pt.name)!=null&&ut.format){let E=e==null?void 0:e.endpoints.name.format({method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},$e);E&&($e=E);}let Qe={method:`"${m}"`,operationId:`"${l==null?void 0:l.operationId}"`,url:Q,tags:(l==null?void 0:l.tags)||[]},zt=`Endpoint(
112
+ `;}let xe=(Tt=(At=e==null?void 0:e.endpoints)==null?void 0:At.name)!=null&&Tt.useOperationId&&((St=u==null?void 0:u.operationId)==null?void 0:St.length)>0?u.operationId:`${y.name}`;if((vt=(Ot=e==null?void 0:e.endpoints)==null?void 0:Ot.name)!=null&&vt.format){let A=e==null?void 0:e.endpoints.name.format({method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId},xe);A&&(xe=A);}let Ze={method:`"${m}"`,operationId:`"${u==null?void 0:u.operationId}"`,url:z,tags:(u==null?void 0:u.tags)||[]},ir=`Endpoint(
109
113
  method="${m}",
110
- operationId="${(l==null?void 0:l.operationId)||""}",
111
- url=${Q},
112
- tags=[${((l==null?void 0:l.tags)||[]).map(E=>`"${E}"`).join(", ")}]
113
- )`,hn=c?`${U}${$e} = ${zt}
114
- ${he?`${he}`:""}
115
-
116
- `:`${he}export const ${U}${$e} = ${((mt=(ct=e==null?void 0:e.endpoints)==null?void 0:ct.value)==null?void 0:mt.type)==="object"?exports.JSONStringify(Qe):Q};
117
- `;e!=null&&e.folderSplit?A[h].endpoints+=hn:se+=hn;let Dt={name:`${U}${$e}`,method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId,tags:d,parameters:(dt=l==null?void 0:l.parameters)==null?void 0:dt.filter(E=>!E.$ref&&E.in&&E.name).map(E=>{var I;return {name:E.name,in:E.in,required:E.required,type:((I=E.schema)==null?void 0:I.type)||"string"}}),requestBody:v?{type:j,required:v.required}:void 0,responses:k?Object.entries(k).reduce((E,[I,w])=>(E[I]={type:w},E),{}):void 0,queryType:x,dtoType:N,responseType:Ae||void 0};we.push(Dt);});}),e!=null&&e.folderSplit){let s=`from dataclasses import dataclass
114
+ operationId="${(u==null?void 0:u.operationId)||""}",
115
+ url=${z},
116
+ tags=[${((u==null?void 0:u.tags)||[]).map(A=>`"${A}"`).join(", ")}]
117
+ )`,Fn=l?`${N}${xe} = ${ir}
118
+ ${Ie?`${Ie}`:""}
119
+
120
+ `:`${Ie}export const ${N}${xe} = ${((jt=(Pt=e==null?void 0:e.endpoints)==null?void 0:Pt.value)==null?void 0:jt.type)==="object"?exports.JSONStringify(Ze):z};
121
+ `;e!=null&&e.folderSplit?x[h].endpoints+=Fn:de+=Fn;let ar={name:`${N}${xe}`,method:m,path:i,summary:u==null?void 0:u.summary,operationId:u==null?void 0:u.operationId,tags:f,parameters:(Rt=u==null?void 0:u.parameters)==null?void 0:Rt.filter(A=>!A.$ref&&A.in&&A.name).map(A=>{var I;return {name:A.name,in:A.in,required:A.required,type:((I=A.schema)==null?void 0:I.type)||"string"}}),requestBody:P?{type:j,required:P.required}:void 0,responses:U?Object.entries(U).reduce((A,[I,O])=>(A[I]={type:O},A),{}):void 0,queryType:E,dtoType:L,responseType:Oe||void 0};Be.push(ar);});}),e!=null&&e.folderSplit){let i=`from dataclasses import dataclass
118
122
  from typing import List
119
123
 
120
124
  @dataclass
@@ -126,15 +130,15 @@ class Endpoint:
126
130
 
127
131
 
128
132
 
129
- `;for(let[a,C]of Object.entries(A))if(C.endpoints||C.types){let b=V__default.default.join(f,a);if(C.endpoints){let m=V__default.default.join(be,b,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(m),{recursive:true}),yield Ie(m,c?`${s}${C.endpoints}`:C.endpoints,e);}if(C.types){let m=V__default.default.join(be,b,`types.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(m),{recursive:true});let g=Object.values(ue).length>0?c?`from __future__ import annotations
133
+ `;for(let[p,C]of Object.entries(x))if(C.endpoints||C.types){let b=ee__default.default.join(d,p);if(C.endpoints){let m=ee__default.default.join(we,b,`endpoints.${g}`);yield me__default.default.promises.mkdir(ee__default.default.dirname(m),{recursive:!0}),yield Te(m,l?`${i}${C.endpoints}`:C.endpoints,e);}if(C.types){let m=ee__default.default.join(we,b,`types.${g}`);yield me__default.default.promises.mkdir(ee__default.default.dirname(m),{recursive:!0});let y=Object.values(le).length>0?l?`from __future__ import annotations
130
134
  from dataclasses import dataclass
131
135
  from . import shared as Shared
132
- ${ee(C.types)}
136
+ ${G(C.types)}
133
137
  ${C.types}`:`import * as Shared from "../shared";
134
138
 
135
- ${C.types}`:C.types;yield Ie(m,g,e);}if(((dn=e==null?void 0:e.validations)==null?void 0:dn.disable)!==true&&C.validation&&!c){let m=((fn=e.validations)==null?void 0:fn.library)||"zod",g=m==="joi"?'import Joi from "joi";':m==="yup"?'import * as yup from "yup";':'import { z } from "zod";',d=V__default.default.join(be,b,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(d),{recursive:true}),yield Ie(d,`${g}
139
+ ${C.types}`:C.types;yield Te(m,y,e);}if(((Rn=e==null?void 0:e.validations)==null?void 0:Rn.disable)!==!0&&C.validation&&!l){let m=((qn=e.validations)==null?void 0:qn.library)||"zod",y=m==="joi"?'import Joi from "joi";':m==="yup"?'import * as yup from "yup";':'import { z } from "zod";',f=ee__default.default.join(we,b,"validations.ts");yield me__default.default.promises.mkdir(ee__default.default.dirname(f),{recursive:!0}),yield Te(f,`${y}
136
140
 
137
- ${C.validation}`,e);}}}if(se.length>0){let s=`from dataclasses import dataclass
141
+ ${C.validation}`,e);}}}if(de.length>0){let i=`from dataclasses import dataclass
138
142
  from typing import List
139
143
 
140
144
  @dataclass
@@ -146,33 +150,39 @@ class Endpoint:
146
150
 
147
151
 
148
152
 
149
- `,a=V__default.default.join(be,f,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield Ie(a,c?`${s}${se}`:se,e);}if(Object.values(ue).length>0){let s=Object.values(ue).join(`
150
- `),a=V__default.default.join(be,f,e!=null&&e.folderSplit?"":"types",`shared.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield Ie(a,(c?`from __future__ import annotations
153
+ `,p=ee__default.default.join(we,d,`endpoints.${g}`);yield me__default.default.promises.mkdir(ee__default.default.dirname(p),{recursive:!0}),yield Te(p,l?`${i}${de}`:de,e);}if(Object.values(le).length>0){let i=Object.values(le).join(`
154
+ `),p=ee__default.default.join(we,d,e!=null&&e.folderSplit?"":"types",`shared.${g}`);yield me__default.default.promises.mkdir(ee__default.default.dirname(p),{recursive:!0}),yield Te(p,(l?`from __future__ import annotations
151
155
  from dataclasses import dataclass
152
- ${ee(s)}
153
- `:"")+s,e);}if(le.length>0){let s=V__default.default.join(be,f,"types",`index.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(s),{recursive:true}),yield Ie(s,(Object.values(ue).length>0?c?`from __future__ import annotations
156
+ ${G(i)}
157
+ `:"")+i,e);}if(be.length>0){let i=ee__default.default.join(we,d,"types",`index.${g}`);yield me__default.default.promises.mkdir(ee__default.default.dirname(i),{recursive:!0}),yield Te(i,(Object.values(le).length>0?l?`from __future__ import annotations
154
158
  from dataclasses import dataclass
155
159
  from . import shared as Shared
156
- ${ee(le)}
160
+ ${G(be)}
157
161
  `:`import * as Shared from "./shared";
158
162
 
159
- `:"")+le,e);}if(((yn=e==null?void 0:e.validations)==null?void 0:yn.disable)!==true&&!(e!=null&&e.folderSplit)&&!c){let s=((gn=e.validations)==null?void 0:gn.library)||"zod",a=s==="joi"?'import Joi from "joi";':s==="yup"?'import * as yup from "yup";':'import { z } from "zod";',C=Object.values(A).map(b=>b.validation).filter(b=>b.length>0).join("");if(C){let b=V__default.default.join(be,f,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(b),{recursive:true}),yield Ie(b,`${a}
163
+ `:"")+be,e);}if(((kn=e==null?void 0:e.validations)==null?void 0:kn.disable)!==!0&&!(e!=null&&e.folderSplit)&&!l){let i=((Nn=e.validations)==null?void 0:Nn.library)||"zod",p=i==="joi"?'import Joi from "joi";':i==="yup"?'import * as yup from "yup";':'import { z } from "zod";',C=Object.values(x).map(b=>b.validation).filter(b=>b.length>0).join("");if(C){let b=ee__default.default.join(we,d,"validations.ts");yield me__default.default.promises.mkdir(ee__default.default.dirname(b),{recursive:!0}),yield Te(b,`${p}
160
164
 
161
- ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{success:true}}),en=vt;});var jt,nn,xe,tn,rn,sn,St=de(()=>{jt=(r,o)=>{let p=r;return o.tags&&o.tags.length>0&&(p=p.filter(e=>!e.tags||e.tags.length===0?false:e.tags.some(i=>o.tags.includes(i)))),o.endpoints&&o.endpoints.length>0&&(p=p.filter(e=>o.endpoints.includes(e.name))),p},nn=(r,o,p=false)=>{var t,f;let e=o.baseURL||"";o.auth;let n=`// Generated Fetch API Client
165
+ ${C}`,e);}}return Dt(o,Be),console.info(`\u2705 Successfully synced ${o}`),{success:!0}}),Ke=Jt;});var _t,un,Se,cn,dn,mn,Kt=pe(()=>{"use strict";_t=(r,a)=>{let o=r;return a.tags&&a.tags.length>0&&(o=o.filter(e=>!e.tags||e.tags.length===0?!1:e.tags.some(s=>a.tags.includes(s)))),a.endpoints&&a.endpoints.length>0&&(o=o.filter(e=>a.endpoints.includes(e.name))),o},un=(r,a,o=!1)=>{var t,d;let e=a.baseURL||"",s=a.auth,n=`// Generated Fetch API Client
162
166
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
163
167
 
164
168
  `,n+=`import type {
165
- `;let u=new Set;return r.forEach(c=>{c.queryType&&u.add(c.queryType),c.dtoType&&u.add(c.dtoType),c.responseType&&u.add(c.responseType);}),u.forEach(c=>{n+=` ${c},
169
+ `;let c=new Set;if(r.forEach(l=>{l.queryType&&c.add(l.queryType),l.dtoType&&c.add(l.dtoType),l.responseType&&c.add(l.responseType);}),c.forEach(l=>{n+=` ${l},
166
170
  `;}),n+=`} from '../types';
167
171
 
168
172
  `,n+=`import {
169
- `,r.forEach(c=>{n+=` ${c.name} as ${c.name}_endpoint,
173
+ `,r.forEach(l=>{n+=` ${l.name} as ${l.name}_endpoint,
170
174
  `;}),n+=`} from '../endpoints';
171
175
 
172
176
  `,n+=`export interface ApiConfig {
173
177
  `,n+=` baseURL?: string;
174
178
  `,n+=` headers?: Record<string, string>;
175
- `,n+=`}
179
+ `,s&&(n+=` auth?: {
180
+ `,s.type==="bearer"?n+=` token?: string;
181
+ `:s.type==="basic"?(n+=` username?: string;
182
+ `,n+=` password?: string;
183
+ `):s.type==="apiKey"&&(n+=` apiKey?: string;
184
+ `),n+=` };
185
+ `),n+=`}
176
186
 
177
187
  `,n+=`let globalConfig: ApiConfig = {
178
188
  `,n+=` baseURL: "${e}",
@@ -182,7 +192,7 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
182
192
  `,n+=` globalConfig = { ...globalConfig, ...config };
183
193
  `,n+=`};
184
194
 
185
- `,(t=o.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
195
+ `,(t=a.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
186
196
  `,n+=` constructor(
187
197
  `,n+=` message: string,
188
198
  `,n+=` public statusCode: number,
@@ -203,12 +213,22 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
203
213
  `,n+=` ...(options.headers as Record<string, string>),
204
214
  `,n+=` };
205
215
 
206
- `,n+=" const response = await fetch(`${globalConfig.baseURL}${url}`, {\n",n+=` ...options,
216
+ `,s){if(s.type==="bearer")n+=` if (globalConfig.auth?.token) {
217
+ `,n+=" headers['Authorization'] = `Bearer ${globalConfig.auth.token}`;\n",n+=` }
218
+
219
+ `;else if(s.type==="basic")n+=` if (globalConfig.auth?.username && globalConfig.auth?.password) {
220
+ `,n+=" const credentials = btoa(`${globalConfig.auth.username}:${globalConfig.auth.password}`);\n",n+=" headers['Authorization'] = `Basic ${credentials}`;\n",n+=` }
221
+
222
+ `;else if(s.type==="apiKey"){let l=s.name||"X-API-Key";(s.in==="header"||!s.in)&&(n+=` if (globalConfig.auth?.apiKey) {
223
+ `,n+=` headers['${l}'] = globalConfig.auth.apiKey;
224
+ `,n+=` }
225
+
226
+ `);}}return n+=" const response = await fetch(`${globalConfig.baseURL}${url}`, {\n",n+=` ...options,
207
227
  `,n+=` headers,
208
228
  `,n+=` });
209
229
 
210
230
  `,n+=` if (!response.ok) {
211
- `,(f=o.errorHandling)!=null&&f.generateErrorClasses?(n+=` const errorData = await response.json().catch(() => ({}));
231
+ `,(d=a.errorHandling)!=null&&d.generateErrorClasses?(n+=` const errorData = await response.json().catch(() => ({}));
212
232
  `,n+=` throw new ApiError(
213
233
  `,n+=` errorData.message || response.statusText,
214
234
  `,n+=` response.status,
@@ -219,52 +239,52 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
219
239
  `,n+=` return response.json();
220
240
  `,n+=`}
221
241
 
222
- `,r.forEach(c=>{var B,P;let y=c.name,A=((B=c.parameters)==null?void 0:B.filter(T=>T.in==="path"))||[],L=((P=c.parameters)==null?void 0:P.filter(T=>T.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!c.requestBody,F=c.responseType||"any";if(n+=`/**
223
- `,c.summary&&(n+=` * ${c.summary}
224
- `),n+=` * @method ${c.method.toUpperCase()}
225
- `,n+=` * @path ${c.path}
226
- `,c.tags&&c.tags.length>0&&(n+=` * @tags ${c.tags.join(", ")}
242
+ `,r.forEach(l=>{var M,S;let g=l.name,x=((M=l.parameters)==null?void 0:M.filter(w=>w.in==="path"))||[],k=((S=l.parameters)==null?void 0:S.filter(w=>w.in==="query"))||[],q=x.length>0,v=k.length>0,N=!!l.requestBody,F=l.responseType||"any";if(n+=`/**
243
+ `,l.summary&&(n+=` * ${l.summary}
244
+ `),n+=` * @method ${l.method.toUpperCase()}
245
+ `,n+=` * @path ${l.path}
246
+ `,l.tags&&l.tags.length>0&&(n+=` * @tags ${l.tags.join(", ")}
227
247
  `),n+=` */
228
- `,n+=`export async function ${y}(`,(q||O||U)&&(n+=`params: {
248
+ `,n+=`export async function ${g}(`,(q||v||N)&&(n+=`params: {
229
249
  `,q&&(n+=` url: {
230
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";n+=` ${T.name}${J}: ${M};
250
+ `,x.forEach(w=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[w.type||"string"]||"any",Q=w.required?"":"?";n+=` ${w.name}${Q}: ${G};
231
251
  `;}),n+=` };
232
- `),O&&(n+=` query: ${c.queryType||"Record<string, any>"};
233
- `),U&&(n+=` data: ${c.dtoType||"any"};
252
+ `),v&&(n+=` query: ${l.queryType||"Record<string, any>"};
253
+ `),N&&(n+=` data: ${l.dtoType||"any"};
234
254
  `),n+=`}
235
255
  `),n+=`): Promise<${F}> {
236
- `,q||O||U){let T=[];q&&T.push("url"),O&&T.push("query"),U&&T.push("data"),n+=` const { ${T.join(", ")} } = params;
237
- `;}let R;if(q){let T=A.map(ee=>`url.${ee.name}`).join(", ");R=`${c.name}_endpoint(${T})`;}else R=`${c.name}_endpoint`;O?(n+=` const queryParams = new URLSearchParams();
238
- `,L.forEach(T=>{T.required?n+=` queryParams.append('${T.name}', String(query.${T.name}));
239
- `:(n+=` if (query.${T.name} !== undefined) {
240
- `,n+=` queryParams.append('${T.name}', String(query.${T.name}));
256
+ `,q||v||N){let w=[];q&&w.push("url"),v&&w.push("query"),N&&w.push("data"),n+=` const { ${w.join(", ")} } = params;
257
+ `;}let T;if(q){let w=x.map(H=>`url.${H.name}`).join(", ");T=`${l.name}_endpoint(${w})`;}else T=`${l.name}_endpoint`;v?(n+=` const queryParams = new URLSearchParams();
258
+ `,k.forEach(w=>{w.required?n+=` queryParams.append('${w.name}', String(query.${w.name}));
259
+ `:(n+=` if (query.${w.name} !== undefined) {
260
+ `,n+=` queryParams.append('${w.name}', String(query.${w.name}));
241
261
  `,n+=` }
242
- `);}),n+=` const _url = \`\${${R}}?\${queryParams.toString()}\`;
243
- `):n+=` const _url = ${R};
262
+ `);}),n+=` const _url = \`\${${T}}?\${queryParams.toString()}\`;
263
+ `):n+=` const _url = ${T};
244
264
  `,n+=` return fetchAPI<${F}>(_url, {
245
- `,n+=` method: '${c.method.toUpperCase()}',
246
- `,U&&(n+=` body: JSON.stringify(data),
265
+ `,n+=` method: '${l.method.toUpperCase()}',
266
+ `,N&&(n+=` body: JSON.stringify(data),
247
267
  `),n+=` });
248
268
  `,n+=`}
249
269
 
250
- `;}),p&&(n+=`// Export all functions as a default object
270
+ `;}),o&&(n+=`// Export all functions as a default object
251
271
  `,n+=`const apiClient = {
252
272
  `,n+=` setApiConfig,
253
- `,r.forEach(c=>{n+=` ${c.name},
273
+ `,r.forEach(l=>{n+=` ${l.name},
254
274
  `;}),n+=`};
255
275
 
256
276
  `,n+=`export default apiClient;
257
- `),n},xe=(r,o,p=false)=>{var t,f;let e=o.baseURL||"";o.auth;let n=`// Generated Axios API Client
277
+ `),n},Se=(r,a,o=!1)=>{var t,d;let e=a.baseURL||"",s=a.auth,n=`// Generated Axios API Client
258
278
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
259
279
 
260
280
  `,n+=`import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
261
281
 
262
282
  `,n+=`import type {
263
- `;let u=new Set;return r.forEach(c=>{c.queryType&&u.add(c.queryType),c.dtoType&&u.add(c.dtoType),c.responseType&&u.add(c.responseType);}),u.forEach(c=>{n+=` ${c},
283
+ `;let c=new Set;return r.forEach(l=>{l.queryType&&c.add(l.queryType),l.dtoType&&c.add(l.dtoType),l.responseType&&c.add(l.responseType);}),c.forEach(l=>{n+=` ${l},
264
284
  `;}),n+=`} from '../types';
265
285
 
266
286
  `,n+=`import {
267
- `,r.forEach(c=>{n+=` ${c.name},
287
+ `,r.forEach(l=>{n+=` ${l.name},
268
288
  `;}),n+=`} from '../endpoints';
269
289
 
270
290
  `,n+=`export interface ApiConfig {
@@ -273,7 +293,7 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
273
293
  `,n+=` timeout?: number;
274
294
  `,n+=`}
275
295
 
276
- `,(t=o.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
296
+ `,(t=a.errorHandling)!=null&&t.generateErrorClasses&&(n+=`export class ApiError extends Error {
277
297
  `,n+=` constructor(
278
298
  `,n+=` message: string,
279
299
  `,n+=` public statusCode: number,
@@ -301,7 +321,7 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
301
321
  `,n+=` this.client.interceptors.response.use(
302
322
  `,n+=` (response) => response,
303
323
  `,n+=` (error) => {
304
- `,(f=o.errorHandling)!=null&&f.generateErrorClasses?(n+=` const message = error.response?.data?.message || error.message;
324
+ `,(d=a.errorHandling)!=null&&d.generateErrorClasses?(n+=` const message = error.response?.data?.message || error.message;
305
325
  `,n+=` const statusCode = error.response?.status || 500;
306
326
  `,n+=` throw new ApiError(message, statusCode, error.response?.data);
307
327
  `):n+=` return Promise.reject(error);
@@ -313,27 +333,27 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
313
333
  `,n+=` Object.assign(this.client.defaults, config);
314
334
  `,n+=` }
315
335
 
316
- `,r.forEach(c=>{var R,B;let y=c.name,A=((R=c.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],L=((B=c.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!c.requestBody,F=c.responseType||"any";if(n+=` /**
317
- `,c.summary&&(n+=` * ${c.summary}
318
- `),n+=` * @method ${c.method.toUpperCase()}
319
- `,n+=` * @path ${c.path}
320
- `,c.tags&&c.tags.length>0&&(n+=` * @tags ${c.tags.join(", ")}
336
+ `,r.forEach(l=>{var T,M;let g=l.name,x=((T=l.parameters)==null?void 0:T.filter(S=>S.in==="path"))||[],k=((M=l.parameters)==null?void 0:M.filter(S=>S.in==="query"))||[],q=x.length>0,v=k.length>0,N=!!l.requestBody,F=l.responseType||"any";if(n+=` /**
337
+ `,l.summary&&(n+=` * ${l.summary}
338
+ `),n+=` * @method ${l.method.toUpperCase()}
339
+ `,n+=` * @path ${l.path}
340
+ `,l.tags&&l.tags.length>0&&(n+=` * @tags ${l.tags.join(", ")}
321
341
  `),n+=` */
322
- `,n+=` async ${y}(`,(q||O||U)&&(n+=`params: {
342
+ `,n+=` async ${g}(`,(q||v||N)&&(n+=`params: {
323
343
  `,q&&(n+=` url: {
324
- `,A.forEach(P=>{let ee={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[P.type||"string"]||"any",M=P.required?"":"?";n+=` ${P.name}${M}: ${ee};
344
+ `,x.forEach(S=>{let H={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[S.type||"string"]||"any",G=S.required?"":"?";n+=` ${S.name}${G}: ${H};
325
345
  `;}),n+=` };
326
- `),O&&(n+=` query: ${c.queryType||"Record<string, any>"};
327
- `),U&&(n+=` data: ${c.dtoType||"any"};
346
+ `),v&&(n+=` query: ${l.queryType||"Record<string, any>"};
347
+ `),N&&(n+=` data: ${l.dtoType||"any"};
328
348
  `),n+=" }"),n+=`): Promise<${F}> {
329
- `,q||O||U){let P=[];q&&P.push("url"),O&&P.push("query"),U&&P.push("data"),n+=` const { ${P.join(", ")} } = params;
330
- `;}if(q){let P=A.map(T=>`url.${T.name}`).join(", ");n+=` const _url = ${c.name}(${P});
331
- `;}else n+=` const _url = ${c.name};
349
+ `,q||v||N){let S=[];q&&S.push("url"),v&&S.push("query"),N&&S.push("data"),n+=` const { ${S.join(", ")} } = params;
350
+ `;}if(q){let S=x.map(w=>`url.${w.name}`).join(", ");n+=` const _url = ${l.name}(${S});
351
+ `;}else n+=` const _url = ${l.name};
332
352
  `;n+=` const config: AxiosRequestConfig = {};
333
- `,O&&(n+=` config.params = { ...query };
334
- `),n+=` const response = await this.client.${c.method.toLowerCase()}<${F}>(
353
+ `,v&&(n+=` config.params = { ...query };
354
+ `),n+=` const response = await this.client.${l.method.toLowerCase()}<${F}>(
335
355
  `,n+=` _url,
336
- `,U?n+=` data,
356
+ `,N?n+=` data,
337
357
  config
338
358
  `:n+=` config
339
359
  `,n+=` );
@@ -342,110 +362,110 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
342
362
 
343
363
  `;}),n+=`}
344
364
 
345
- `,p?n+=`export default ApiClient;
365
+ `,o?n+=`export default ApiClient;
346
366
  `:(n+=`export const apiClient = new ApiClient();
347
367
  `,n+=`export default apiClient;
348
- `),n},tn=(r,o)=>{var f,c;let p=((f=o.reactQuery)==null?void 0:f.version)||5,e=((c=o.reactQuery)==null?void 0:c.mutations)!==false,i=!!(o.reactQuery&&o.reactQuery.infiniteQueries&&!o.reactQuery.infiniteQueries.disable),n=`// Generated React Query Hooks
368
+ `),n},cn=(r,a)=>{var d,l;let o=((d=a.reactQuery)==null?void 0:d.version)||5,e=((l=a.reactQuery)==null?void 0:l.mutations)!==!1,s=!!(a.reactQuery&&a.reactQuery.infiniteQueries&&!a.reactQuery.infiniteQueries.disable),n=`// Generated React Query Hooks
349
369
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
350
370
 
351
- `;let u=e&&r.some(y=>["POST","PUT","PATCH","DELETE"].includes(y.method.toUpperCase()));if(p===5){let y=u?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
371
+ `;let c=e&&r.some(g=>["POST","PUT","PATCH","DELETE"].includes(g.method.toUpperCase()));if(o===5){let g=c?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
352
372
  `:`import { useQuery, UseQueryOptions } from '@tanstack/react-query';
353
- `;i&&(y=y.replace("@tanstack/react-query';\\n",`@tanstack/react-query';
373
+ `;s&&(g=g.replace("@tanstack/react-query';\\n",`@tanstack/react-query';
354
374
  import { useInfiniteQuery, UseInfiniteQueryOptions } from '@tanstack/react-query';
355
- `)),n+=y;}else {let y=u?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from 'react-query';
375
+ `)),n+=g;}else {let g=c?`import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from 'react-query';
356
376
  `:`import { useQuery, UseQueryOptions } from 'react-query';
357
- `;i&&(y=y.replace("react-query';\\n",`react-query';
377
+ `;s&&(g=g.replace("react-query';\\n",`react-query';
358
378
  import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
359
- `)),n+=y;}n+=`
379
+ `)),n+=g;}n+=`
360
380
  `,n+=`import apiClient from './client';
361
381
  `,n+=`import type {
362
- `;let t=new Set;return r.forEach(y=>{y.queryType&&t.add(y.queryType),y.dtoType&&t.add(y.dtoType),y.responseType&&t.add(y.responseType);}),t.forEach(y=>{n+=` ${y},
382
+ `;let t=new Set;return r.forEach(g=>{g.queryType&&t.add(g.queryType),g.dtoType&&t.add(g.dtoType),g.responseType&&t.add(g.responseType);}),t.forEach(g=>{n+=` ${g},
363
383
  `;}),n+=`} from '../types';
364
384
 
365
- `,r.forEach(y=>{var T,ee;let A=y.method.toUpperCase(),L=A==="GET",q=["POST","PUT","PATCH","DELETE"].includes(A),O=((T=y.parameters)==null?void 0:T.filter(M=>M.in==="path"))||[],U=((ee=y.parameters)==null?void 0:ee.filter(M=>M.in==="query"))||[],F=O.length>0,R=U.length>0,B=!!y.requestBody,P=y.responseType||"any";if(L){let M=U.map(se=>se.name.toLowerCase()),re=(M.includes("page")||M.includes("cursor")||M.includes("cursorid")||M.includes("after")||M.includes("before"))&&i,ge=`use${y.name.charAt(0).toUpperCase()+y.name.slice(1)}`;if(n+=`/**
366
- `,y.summary&&(n+=` * ${y.summary}
367
- `),n+=` * @method ${A}
368
- `,n+=` * @path ${y.path}
369
- `,y.tags&&y.tags.length>0&&(n+=` * @tags ${y.tags.join(", ")}
385
+ `,r.forEach(g=>{var w,H;let x=g.method.toUpperCase(),k=x==="GET",q=["POST","PUT","PATCH","DELETE"].includes(x),v=((w=g.parameters)==null?void 0:w.filter(G=>G.in==="path"))||[],N=((H=g.parameters)==null?void 0:H.filter(G=>G.in==="query"))||[],F=v.length>0,T=N.length>0,M=!!g.requestBody,S=g.responseType||"any";if(k){let G=N.map(ae=>ae.name.toLowerCase()),ce=(G.includes("page")||G.includes("cursor")||G.includes("cursorid")||G.includes("after")||G.includes("before"))&&s,ie=`use${g.name.charAt(0).toUpperCase()+g.name.slice(1)}`;if(n+=`/**
386
+ `,g.summary&&(n+=` * ${g.summary}
387
+ `),n+=` * @method ${x}
388
+ `,n+=` * @path ${g.path}
389
+ `,g.tags&&g.tags.length>0&&(n+=` * @tags ${g.tags.join(", ")}
370
390
  `),n+=` */
371
- `,F||R?(n+=`export function ${ge}(
391
+ `,F||T?(n+=`export function ${ie}(
372
392
  `,n+=` params: {
373
393
  `,F&&(n+=` url: {
374
- `,O.forEach(se=>{let ue={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[se.type||"string"]||"any",we=se.required?"":"?";n+=` ${se.name}${we}: ${ue};
394
+ `,v.forEach(ae=>{let be={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ae.type||"string"]||"any",le=ae.required?"":"?";n+=` ${ae.name}${le}: ${be};
375
395
  `;}),n+=` };
376
- `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
396
+ `),T&&(n+=` query: ${g.queryType||"Record<string, any>"};
377
397
  `),n+=` },
378
- `,n+=` options?: Omit<UseQueryOptions<${P}>, 'queryKey' | 'queryFn'>
398
+ `,n+=` options?: Omit<UseQueryOptions<${S}>, 'queryKey' | 'queryFn'>
379
399
  `,n+=`) {
380
400
  `,n+=` return useQuery({
381
- `,n+=` queryKey: ['${y.name}', params],
382
- `,n+=` queryFn: () => apiClient.${y.name}(params),
401
+ `,n+=` queryKey: ['${g.name}', params],
402
+ `,n+=` queryFn: () => apiClient.${g.name}(params),
383
403
  `,n+=` ...options,
384
404
  `,n+=` });
385
405
  `,n+=`}
386
406
 
387
- `):(n+=`export function ${ge}(
388
- `,n+=` options?: Omit<UseQueryOptions<${P}>, 'queryKey' | 'queryFn'>
407
+ `):(n+=`export function ${ie}(
408
+ `,n+=` options?: Omit<UseQueryOptions<${S}>, 'queryKey' | 'queryFn'>
389
409
  `,n+=`) {
390
410
  `,n+=` return useQuery({
391
- `,n+=` queryKey: ['${y.name}'],
392
- `,n+=` queryFn: () => apiClient.${y.name}(),
411
+ `,n+=` queryKey: ['${g.name}'],
412
+ `,n+=` queryFn: () => apiClient.${g.name}(),
393
413
  `,n+=` ...options,
394
414
  `,n+=` });
395
415
  `,n+=`}
396
416
 
397
- `),re){let se=`${ge}Infinite`;F||R?(n+=`export function ${se}(
417
+ `),ce){let ae=`${ie}Infinite`;F||T?(n+=`export function ${ae}(
398
418
  `,n+=` params: {
399
419
  `,F&&(n+=` url: {
400
- `,O.forEach(le=>{let we={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[le.type||"string"]||"any",ke=le.required?"":"?";n+=` ${le.name}${ke}: ${we};
420
+ `,v.forEach(de=>{let le={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[de.type||"string"]||"any",Be=de.required?"":"?";n+=` ${de.name}${Be}: ${le};
401
421
  `;}),n+=` };
402
- `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
422
+ `),T&&(n+=` query: ${g.queryType||"Record<string, any>"};
403
423
  `),n+=` },
404
- `,n+=` options?: Omit<UseInfiniteQueryOptions<${P}, Error, ${P}>, 'queryKey' | 'queryFn'>
424
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${S}, Error, ${S}>, 'queryKey' | 'queryFn'>
405
425
  `,n+=`) {
406
426
  `,n+=` return useInfiniteQuery({
407
- `,n+=` queryKey: ['${y.name}', params],
408
- `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${y.name}({ ...params, query: { ...(params.query || {}), page: pageParam } }),
427
+ `,n+=` queryKey: ['${g.name}', params],
428
+ `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${g.name}({ ...params, query: { ...(params.query || {}), page: pageParam } }),
409
429
  `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
410
430
  `,n+=` ...options,
411
431
  `,n+=` });
412
432
  `,n+=`}
413
433
 
414
- `):(n+=`export function ${se}(
415
- `,n+=` options?: Omit<UseInfiniteQueryOptions<${P}, Error, ${P}>, 'queryKey' | 'queryFn'>
434
+ `):(n+=`export function ${ae}(
435
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${S}, Error, ${S}>, 'queryKey' | 'queryFn'>
416
436
  `,n+=`) {
417
437
  `,n+=` return useInfiniteQuery({
418
- `,n+=` queryKey: ['${y.name}'],
419
- `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${y.name}({ query: { page: pageParam } }),
438
+ `,n+=` queryKey: ['${g.name}'],
439
+ `,n+=` queryFn: ({ pageParam = 1 }) => apiClient.${g.name}({ query: { page: pageParam } }),
420
440
  `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
421
441
  `,n+=` ...options,
422
442
  `,n+=` });
423
443
  `,n+=`}
424
444
 
425
- `);}}else if(q&&e){let M=`use${y.name.charAt(0).toUpperCase()+y.name.slice(1)}`;n+=`/**
426
- `,y.summary&&(n+=` * ${y.summary}
427
- `),n+=` * @method ${A}
428
- `,n+=` * @path ${y.path}
429
- `,y.tags&&y.tags.length>0&&(n+=` * @tags ${y.tags.join(", ")}
445
+ `);}}else if(q&&e){let G=`use${g.name.charAt(0).toUpperCase()+g.name.slice(1)}`;n+=`/**
446
+ `,g.summary&&(n+=` * ${g.summary}
447
+ `),n+=` * @method ${x}
448
+ `,n+=` * @path ${g.path}
449
+ `,g.tags&&g.tags.length>0&&(n+=` * @tags ${g.tags.join(", ")}
430
450
  `),n+=` */
431
- `;let J="void";(F||R||B)&&(J=`{
432
- `,F&&(J+=` url: {
433
- `,O.forEach(re=>{let se={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[re.type||"string"]||"any",le=re.required?"":"?";J+=` ${re.name}${le}: ${se};
434
- `;}),J+=` };
435
- `),R&&(J+=` query: ${y.queryType||"Record<string, any>"};
436
- `),B&&(J+=` data: ${y.dtoType||"any"};
437
- `),J+=" }"),n+=`export function ${M}(
438
- `,n+=` options?: Omit<UseMutationOptions<${P}, Error, ${J}>, 'mutationFn'>
451
+ `;let Q="void";(F||T||M)&&(Q=`{
452
+ `,F&&(Q+=` url: {
453
+ `,v.forEach(ce=>{let ae={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ce.type||"string"]||"any",de=ce.required?"":"?";Q+=` ${ce.name}${de}: ${ae};
454
+ `;}),Q+=` };
455
+ `),T&&(Q+=` query: ${g.queryType||"Record<string, any>"};
456
+ `),M&&(Q+=` data: ${g.dtoType||"any"};
457
+ `),Q+=" }"),n+=`export function ${G}(
458
+ `,n+=` options?: Omit<UseMutationOptions<${S}, Error, ${Q}>, 'mutationFn'>
439
459
  `,n+=`) {
440
460
  `,n+=` return useMutation({
441
- `,n+=" mutationFn: (",J!=="void"&&(n+=`variables: ${J}`),n+=`) => {
442
- `,n+=` return apiClient.${y.name}(${J!=="void"?"variables":""});
461
+ `,n+=" mutationFn: (",Q!=="void"&&(n+=`variables: ${Q}`),n+=`) => {
462
+ `,n+=` return apiClient.${g.name}(${Q!=="void"?"variables":""});
443
463
  `,n+=` },
444
464
  `,n+=` ...options,
445
465
  `,n+=` });
446
466
  `,n+=`}
447
467
 
448
- `;}}),n},rn=(r,o)=>{var u;let p=((u=o.swr)==null?void 0:u.mutations)!==false,e=`// Generated SWR Hooks
468
+ `;}}),n},dn=(r,a)=>{var c;let o=((c=a.swr)==null?void 0:c.mutations)!==!1,e=`// Generated SWR Hooks
449
469
  `;e+=`// This file was auto-generated. Add custom code in the marked sections.
450
470
 
451
471
  `,e+=`/**
@@ -640,25 +660,25 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
640
660
  `,e+=` */
641
661
 
642
662
  `,e+=`import useSWR, { SWRConfiguration } from 'swr';
643
- `,p&&r.some(t=>["POST","PUT","PATCH","DELETE"].includes(t.method.toUpperCase()))&&(e+=`import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation';
663
+ `,o&&r.some(t=>["POST","PUT","PATCH","DELETE"].includes(t.method.toUpperCase()))&&(e+=`import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation';
644
664
  `),e+=`
645
665
  `,e+=`import apiClient from './client';
646
666
  `,e+=`import type {
647
667
  `;let n=new Set;return r.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{e+=` ${t},
648
668
  `;}),e+=`} from '../types';
649
669
 
650
- `,r.forEach(t=>{var R,B;let f=t.method.toUpperCase(),c=f==="GET",y=["POST","PUT","PATCH","DELETE"].includes(f),A=((R=t.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],L=((B=t.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!t.requestBody,F=t.responseType||"any";if(c){let P=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
670
+ `,r.forEach(t=>{var T,M;let d=t.method.toUpperCase(),l=d==="GET",g=["POST","PUT","PATCH","DELETE"].includes(d),x=((T=t.parameters)==null?void 0:T.filter(S=>S.in==="path"))||[],k=((M=t.parameters)==null?void 0:M.filter(S=>S.in==="query"))||[],q=x.length>0,v=k.length>0,N=!!t.requestBody,F=t.responseType||"any";if(l){let S=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
651
671
  `,t.summary&&(e+=` * ${t.summary}
652
- `),e+=` * @method ${f}
672
+ `),e+=` * @method ${d}
653
673
  `,e+=` * @path ${t.path}
654
674
  `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
655
675
  `),e+=` */
656
- `,q||O?(e+=`export function ${P}(
676
+ `,q||v?(e+=`export function ${S}(
657
677
  `,e+=` params: {
658
678
  `,q&&(e+=` url: {
659
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";e+=` ${T.name}${J}: ${M};
679
+ `,x.forEach(w=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[w.type||"string"]||"any",Q=w.required?"":"?";e+=` ${w.name}${Q}: ${G};
660
680
  `;}),e+=` };
661
- `),O&&(e+=` query: ${t.queryType||"Record<string, any>"};
681
+ `),v&&(e+=` query: ${t.queryType||"Record<string, any>"};
662
682
  `),e+=` },
663
683
  `,e+=` config?: SWRConfiguration<${F}>
664
684
  `,e+=`) {
@@ -667,7 +687,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
667
687
  `,e+=` () => apiClient.${t.name}(params),
668
688
  `,e+=` config
669
689
  `,e+=` );
670
- `):(e+=`export function ${P}(
690
+ `):(e+=`export function ${S}(
671
691
  `,e+=` config?: SWRConfiguration<${F}>
672
692
  `,e+=`) {
673
693
  `,e+=` return useSWR(
@@ -677,189 +697,214 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
677
697
  `,e+=` );
678
698
  `),e+=`}
679
699
 
680
- `;}else if(y&&p){let P=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
700
+ `;}else if(g&&o){let S=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
681
701
  `,t.summary&&(e+=` * ${t.summary}
682
- `),e+=` * @method ${f}
702
+ `),e+=` * @method ${d}
683
703
  `,e+=` * @path ${t.path}
684
704
  `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
685
705
  `),e+=` */
686
- `;let T="void",ee="void";(q||O||U)&&(T=`{
687
- `,q&&(T+=` url: {
688
- `,A.forEach(M=>{let re={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[M.type||"string"]||"any",ge=M.required?"":"?";T+=` ${M.name}${ge}: ${re};
689
- `;}),T+=` };
690
- `),O&&(T+=` query: ${t.queryType||"Record<string, any>"};
691
- `),U&&(T+=` data: ${t.dtoType||"any"};
692
- `),T+=" }",ee=`{ arg: ${T} }`),e+=`export function ${P}(
693
- `,e+=` config?: SWRMutationConfiguration<${F}, Error, string, ${T}>
706
+ `;let w="void",H="void";(q||v||N)&&(w=`{
707
+ `,q&&(w+=` url: {
708
+ `,x.forEach(G=>{let ce={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[G.type||"string"]||"any",ie=G.required?"":"?";w+=` ${G.name}${ie}: ${ce};
709
+ `;}),w+=` };
710
+ `),v&&(w+=` query: ${t.queryType||"Record<string, any>"};
711
+ `),N&&(w+=` data: ${t.dtoType||"any"};
712
+ `),w+=" }",H=`{ arg: ${w} }`),e+=`export function ${S}(
713
+ `,e+=` config?: SWRMutationConfiguration<${F}, Error, string, ${w}>
694
714
  `,e+=`) {
695
715
  `,e+=` return useSWRMutation(
696
716
  `,e+=` '${t.name}',
697
- `,e+=" async (_, ",T!=="void"&&(e+=`{ arg }: ${ee}`),e+=`) => {
698
- `,e+=` return apiClient.${t.name}(${T!=="void"?"arg":""});
717
+ `,e+=" async (_, ",w!=="void"&&(e+=`{ arg }: ${H}`),e+=`) => {
718
+ `,e+=` return apiClient.${t.name}(${w!=="void"?"arg":""});
699
719
  `,e+=` },
700
720
  `,e+=` config
701
721
  `,e+=` );
702
722
  `,e+=`}
703
723
 
704
- `;}}),e},sn=(r,o)=>{var u;let p=((u=o.rtkQuery)==null?void 0:u.apiName)||"api",e=o.baseURL||"",i=`// Generated RTK Query API Slice
705
- `;i+=`// This file was auto-generated. Add custom code in the marked sections.
706
-
707
- `,i+=`import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
708
-
709
- `,i+=`import type {
710
- `;let n=new Set;return r.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{i+=` ${t},
711
- `;}),i+=`} from '../types';
712
-
713
- `,i+=`import {
714
- `,r.forEach(t=>{i+=` ${t.name},
715
- `;}),i+=`} from '../endpoints';
716
-
717
- `,i+=`const ${p}Api = createApi({
718
- `,i+=` reducerPath: '${p}Api',
719
- `,i+=` baseQuery: fetchBaseQuery({
720
- `,i+=` baseUrl: '${e}',
721
- `,o.auth&&(i+=` prepareHeaders: (headers, { getState }) => {
722
- `,i+=` // Get token from your auth state
723
- `,i+=` // const token = (getState() as RootState).auth.token;
724
- `,i+=` // if (token) {
725
- `,o.auth.type==="bearer"?i+=" // headers.set('Authorization', `Bearer ${token}`);\n":o.auth.type==="apiKey"&&o.auth.in==="header"&&(i+=` // headers.set('${o.auth.name||"X-API-Key"}', token);
726
- `),i+=` // }
727
- `,i+=` return headers;
728
- `,i+=` },
729
- `),i+=` }),
730
- `,i+=` tagTypes: [${[...new Set(r.flatMap(t=>t.tags||[]))].map(t=>`'${t}'`).join(", ")}],
731
- `,i+=` endpoints: (builder) => ({
732
- `,r.forEach((t,f)=>{var B,P;let c=t.method.toUpperCase(),y=c==="GET",A=((B=t.parameters)==null?void 0:B.filter(T=>T.in==="path"))||[],L=((P=t.parameters)==null?void 0:P.filter(T=>T.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!t.requestBody,F=t.responseType||"any";i+=` ${t.name}: builder.${y?"query":"mutation"}<
733
- `,i+=` ${F},
734
- `;let R="void";if((q||O||U)&&(R=`{
735
- `,q&&(R+=` url: {
736
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";R+=` ${T.name}${J}: ${M};
737
- `;}),R+=` };
738
- `),O&&(R+=` query: ${t.queryType||"Record<string, any>"};
739
- `),U&&(R+=` data: ${t.dtoType||"any"};
740
- `),R+=" }"),i+=` ${R}
741
- `,i+=` >({
742
- `,i+=" query: (",R!=="void"&&(i+="arg"),i+=`) => {
743
- `,q){let T=A.map(ee=>`arg.url.${ee.name}`).join(", ");i+=` const url = ${t.name}(${T});
744
- `;}else i+=` const url = ${t.name};
745
- `;i+=` return {
746
- `,i+=` url,
747
- `,i+=` method: '${c}',
748
- `,O&&(i+=` params: arg.query,
749
- `),U&&(i+=` body: arg.data,
750
- `),i+=` };
751
- `,i+=` },
752
- `,t.tags&&t.tags.length>0&&(y?i+=` providesTags: ['${t.tags[0]}'],
753
- `:i+=` invalidatesTags: ['${t.tags[0]}'],
754
- `),i+=` })${f<r.length-1?",":""}
755
- `;}),i+=` }),
756
- `,i+=`});
757
-
758
- `,i+=`export default ${p}Api;
759
-
760
- `,i};});var or,qt,te,ir,ar,Rt=de(()=>{St();Ne();or=(r,o)=>{var p,e;if((p=o==null?void 0:o.folderSplit)!=null&&p.customFolder){let i=o.folderSplit.customFolder({method:r.method,path:r.path,tags:r.tags,operationId:r.operationId,summary:r.summary});if(i)return i}return (e=o==null?void 0:o.folderSplit)!=null&&e.byTags&&r.tags&&r.tags.length>0?r.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},qt=(r,o,p,e,i)=>ie(null,null,function*(){let n=jt(r,p);if(n.length===0)return;let u=p.type||"fetch";p.outputDir||V__default.default.join(i,e,"client");let f=!!(o!=null&&o.folderSplit&&(o.folderSplit.byTags||o.folderSplit.customFolder));if(`${u}${n.length}`,f){let y={};n.forEach(q=>{let O=or(q,o);y[O]||(y[O]=[]),y[O].push(q);});let A=Object.keys(y);for(let[q,O]of Object.entries(y)){let U=V__default.default.join(i,e,q);yield ce__default.default.promises.mkdir(U,{recursive:true}),`${u}${q}${O.length}`,yield ir(O,o,p,U,u,q,true);}let L=V__default.default.join(i,e);yield ar(L,A,u,o);return}let c=V__default.default.join(i,e);switch(yield ce__default.default.promises.mkdir(c,{recursive:true}),u){case "fetch":let y=nn(n,p);y=y.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),y,o);break;case "axios":let A=xe(n,p,false);A=A.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),A,o);break;case "react-query":let L=xe(n,p,false);L=L.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),L,o);let q=tn(n,p);q=q.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V__default.default.join(c,"hooks.ts"),q,o);break;case "swr":let O=xe(n,p,false);O=O.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),O,o);let U=rn(n,p);U=U.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V__default.default.join(c,"hooks.ts"),U,o);break;case "rtk-query":let F=sn(n,p);F=F.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"api.ts"),F,o);break;default:throw new Error(`Unknown client type: ${u}`)}}),te=(r,o,p)=>ie(null,null,function*(){var u,t,f,c;if(!(((u=p==null?void 0:p.customCode)==null?void 0:u.enabled)!==false)){yield ce__default.default.promises.writeFile(r,o);return}let i=null;try{i=yield ce__default.default.promises.readFile(r,"utf-8");}catch(y){}let n=exports.mergeCustomCode(o,i,{position:((t=p==null?void 0:p.customCode)==null?void 0:t.position)||"bottom",markerText:(f=p==null?void 0:p.customCode)==null?void 0:f.markerText,includeInstructions:(c=p==null?void 0:p.customCode)==null?void 0:c.includeInstructions});yield ce__default.default.promises.writeFile(r,n);}),ir=(r,o,p,e,i,n,u=false)=>ie(null,null,function*(){let t="",f="",c=u?"./types":"../types",y=u?"./endpoints":"../endpoints";switch(i){case "fetch":t=nn(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "axios":t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "react-query":if(t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o),f=tn(r,p),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let L=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${L}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "swr":if(t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o),f=rn(r,p),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let L=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${L}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "rtk-query":let A=u?ae(X({},p),{rtkQuery:ae(X({},p.rtkQuery),{apiName:n.replace(/-/g,"_")})}):p;f=sn(r,A),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"api.ts"),f,o);break;default:throw new Error(`Unknown client type: ${i}`)}}),ar=(r,o,p,e)=>ie(null,null,function*(){var n;if(p==="rtk-query"){let u=`// Generated RTK Query APIs
761
- `;u+=`// This file was auto-generated.
762
- `,u+=`// Aggregates all API slices for easy Redux store setup
763
-
764
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=`import ${f}Api from './${t}/api';
765
- `;}),u+=`
724
+ `;}}),e},mn=(r,a)=>{var c;let o=((c=a.rtkQuery)==null?void 0:c.apiName)||"api",e=a.baseURL||"",s=`// Generated RTK Query API Slice
725
+ `;s+=`// This file was auto-generated. Add custom code in the marked sections.
726
+
727
+ `,s+=`import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
728
+
729
+ `,s+=`import type {
730
+ `;let n=new Set;return r.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{s+=` ${t},
731
+ `;}),s+=`} from '../types';
732
+
733
+ `,s+=`import {
734
+ `,r.forEach(t=>{s+=` ${t.name},
735
+ `;}),s+=`} from '../endpoints';
736
+
737
+ `,s+=`const ${o}Api = createApi({
738
+ `,s+=` reducerPath: '${o}Api',
739
+ `,s+=` baseQuery: fetchBaseQuery({
740
+ `,s+=` baseUrl: '${e}',
741
+ `,a.auth&&(s+=` prepareHeaders: (headers, { getState }) => {
742
+ `,s+=` // Get token from your auth state
743
+ `,s+=` // const token = (getState() as RootState).auth.token;
744
+ `,s+=` // if (token) {
745
+ `,a.auth.type==="bearer"?s+=" // headers.set('Authorization', `Bearer ${token}`);\n":a.auth.type==="apiKey"&&a.auth.in==="header"&&(s+=` // headers.set('${a.auth.name||"X-API-Key"}', token);
746
+ `),s+=` // }
747
+ `,s+=` return headers;
748
+ `,s+=` },
749
+ `),s+=` }),
750
+ `,s+=` tagTypes: [${[...new Set(r.flatMap(t=>t.tags||[]))].map(t=>`'${t}'`).join(", ")}],
751
+ `,s+=` endpoints: (builder) => ({
752
+ `,r.forEach((t,d)=>{var M,S;let l=t.method.toUpperCase(),g=l==="GET",x=((M=t.parameters)==null?void 0:M.filter(w=>w.in==="path"))||[],k=((S=t.parameters)==null?void 0:S.filter(w=>w.in==="query"))||[],q=x.length>0,v=k.length>0,N=!!t.requestBody,F=t.responseType||"any";s+=` ${t.name}: builder.${g?"query":"mutation"}<
753
+ `,s+=` ${F},
754
+ `;let T="void";if((q||v||N)&&(T=`{
755
+ `,q&&(T+=` url: {
756
+ `,x.forEach(w=>{let G={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[w.type||"string"]||"any",Q=w.required?"":"?";T+=` ${w.name}${Q}: ${G};
757
+ `;}),T+=` };
758
+ `),v&&(T+=` query: ${t.queryType||"Record<string, any>"};
759
+ `),N&&(T+=` data: ${t.dtoType||"any"};
760
+ `),T+=" }"),s+=` ${T}
761
+ `,s+=` >({
762
+ `,s+=" query: (",T!=="void"&&(s+="arg"),s+=`) => {
763
+ `,q){let w=x.map(H=>`arg.url.${H.name}`).join(", ");s+=` const url = ${t.name}(${w});
764
+ `;}else s+=` const url = ${t.name};
765
+ `;s+=` return {
766
+ `,s+=` url,
767
+ `,s+=` method: '${l}',
768
+ `,v&&(s+=` params: arg.query,
769
+ `),N&&(s+=` body: arg.data,
770
+ `),s+=` };
771
+ `,s+=` },
772
+ `,t.tags&&t.tags.length>0&&(g?s+=` providesTags: ['${t.tags[0]}'],
773
+ `:s+=` invalidatesTags: ['${t.tags[0]}'],
774
+ `),s+=` })${d<r.length-1?",":""}
775
+ `;}),s+=` }),
776
+ `,s+=`});
777
+
778
+ `,s+=`export default ${o}Api;
779
+
780
+ `,s};});var xr,Vt,se,Er,wr,Ht=pe(()=>{"use strict";Kt();Ue();xr=(r,a)=>{var o,e;if((o=a==null?void 0:a.folderSplit)!=null&&o.customFolder){let s=a.folderSplit.customFolder({method:r.method,path:r.path,tags:r.tags,operationId:r.operationId,summary:r.summary});if(s)return s}return (e=a==null?void 0:a.folderSplit)!=null&&e.byTags&&r.tags&&r.tags.length>0?r.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},Vt=(r,a,o,e,s)=>V(null,null,function*(){let n=_t(r,o);if(n.length===0)return;let c=o.type||"fetch",t=o.outputDir||ee__default.default.join(s,e,"client"),d=!!(a!=null&&a.folderSplit&&(a.folderSplit.byTags||a.folderSplit.customFolder));if(`${c}${n.length}`,d){let g={};n.forEach(q=>{let v=xr(q,a);g[v]||(g[v]=[]),g[v].push(q);});let x=Object.keys(g);for(let[q,v]of Object.entries(g)){let N=ee__default.default.join(s,e,q);yield me__default.default.promises.mkdir(N,{recursive:!0}),`${c}${q}${v.length}`,yield Er(v,a,o,N,c,q,!0);}let k=ee__default.default.join(s,e);yield wr(k,x,c,a),c==="rtk-query"?`${k}`:(`${k}`,(c==="react-query"||c==="swr")&&`${k}`);return}let l=ee__default.default.join(s,e);switch(yield me__default.default.promises.mkdir(l,{recursive:!0}),c){case "fetch":let g=un(n,o);g=g.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield se(ee__default.default.join(l,"clients.ts"),g,a),`${l}`;break;case "axios":let x=Se(n,o,!1);x=x.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield se(ee__default.default.join(l,"clients.ts"),x,a),`${l}`;break;case "react-query":let k=Se(n,o,!1);k=k.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield se(ee__default.default.join(l,"clients.ts"),k,a),`${l}`;let q=cn(n,o);q=q.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield se(ee__default.default.join(l,"hooks.ts"),q,a),`${l}`;break;case "swr":let v=Se(n,o,!1);v=v.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield se(ee__default.default.join(l,"clients.ts"),v,a),`${l}`;let N=dn(n,o);N=N.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield se(ee__default.default.join(l,"hooks.ts"),N,a),`${l}`;break;case "rtk-query":let F=mn(n,o);F=F.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield se(ee__default.default.join(l,"api.ts"),F,a),`${l}`;break;default:throw new Error(`Unknown client type: ${c}`)}}),se=(r,a,o)=>V(null,null,function*(){var c,t,d,l;if(!(((c=o==null?void 0:o.customCode)==null?void 0:c.enabled)!==!1)){yield me__default.default.promises.writeFile(r,a);return}let s=null;try{s=yield me__default.default.promises.readFile(r,"utf-8");}catch(g){}let n=exports.mergeCustomCode(a,s,{position:((t=o==null?void 0:o.customCode)==null?void 0:t.position)||"bottom",markerText:(d=o==null?void 0:o.customCode)==null?void 0:d.markerText,includeInstructions:(l=o==null?void 0:o.customCode)==null?void 0:l.includeInstructions});yield me__default.default.promises.writeFile(r,n);}),Er=(r,a,o,e,s,n,c=!1)=>V(null,null,function*(){let t="",d="",l=c?"./types":"../types",g=c?"./endpoints":"../endpoints";switch(s){case "fetch":t=un(r,o,c),t=t.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),yield se(ee__default.default.join(e,"client.ts"),t,a);break;case "axios":t=Se(r,o,c),t=t.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),yield se(ee__default.default.join(e,"client.ts"),t,a);break;case "react-query":if(t=Se(r,o,c),t=t.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),yield se(ee__default.default.join(e,"client.ts"),t,a),d=cn(r,o),d=d.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),c){let k=n.replace(/-/g,"_");d=d.replace("import apiClient from './client';",`import { ${k}Client as apiClient } from '../clients';`);}yield se(ee__default.default.join(e,"hooks.ts"),d,a);break;case "swr":if(t=Se(r,o,c),t=t.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),yield se(ee__default.default.join(e,"client.ts"),t,a),d=dn(r,o),d=d.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),c){let k=n.replace(/-/g,"_");d=d.replace("import apiClient from './client';",`import { ${k}Client as apiClient } from '../clients';`);}yield se(ee__default.default.join(e,"hooks.ts"),d,a);break;case "rtk-query":let x=c?_(B({},o),{rtkQuery:_(B({},o.rtkQuery),{apiName:n.replace(/-/g,"_")})}):o;d=mn(r,x),d=d.replace("} from '../types';",`} from '${l}';`).replace("} from '../endpoints';",`} from '${g}';`),yield se(ee__default.default.join(e,"api.ts"),d,a);break;default:throw new Error(`Unknown client type: ${s}`)}}),wr=(r,a,o,e)=>V(null,null,function*(){var n;if(o==="rtk-query"){let c=`// Generated RTK Query APIs
781
+ `;c+=`// This file was auto-generated.
782
+ `,c+=`// Aggregates all API slices for easy Redux store setup
783
+
784
+ `,a.forEach(t=>{let d=t.replace(/-/g,"_");c+=`import ${d}Api from './${t}/api';
785
+ `;}),c+=`
766
786
  // Export all API slices
767
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=`export { default as ${f}Api } from './${t}/api';
768
- `;}),u+=`
787
+ `,a.forEach(t=>{let d=t.replace(/-/g,"_");c+=`export { default as ${d}Api } from './${t}/api';
788
+ `;}),c+=`
769
789
  /**
770
- `,u+=` * Configure Redux store with all API slices
771
- `,u+=` *
772
- `,u+=` * @example
773
- `,u+=` * import { configureStore } from '@reduxjs/toolkit';
774
- `,u+=` * import { setupApiStore } from './apis';
775
- `,u+=` *
776
- `,u+=` * export const store = configureStore({
777
- `,u+=` * reducer: setupApiStore.reducer,
778
- `,u+=` * middleware: (getDefaultMiddleware) =>
779
- `,u+=` * getDefaultMiddleware().concat(setupApiStore.middleware),
780
- `,u+=` * });
781
- `,u+=` */
782
- `,u+=`export const setupApiStore = {
783
- `,u+=` reducer: {
784
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=` [${f}Api.reducerPath]: ${f}Api.reducer,
785
- `;}),u+=` },
786
- `,u+=` middleware: [
787
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=` ${f}Api.middleware,
788
- `;}),u+=` ],
789
- `,u+=`};
790
- `,yield te(V__default.default.join(r,"apis.ts"),u,e);return}let i=`// Generated API Clients
791
- `;if(i+=`// This file was auto-generated.
792
- `,i+=`// Centralized client instances and configuration
793
-
794
- `,p==="fetch"?o.forEach(u=>{let t=u.replace(/-/g,"_");i+=`export { default as ${t}Client } from './${u}/client';
795
- `;}):(o.forEach(u=>{let t=u.replace(/-/g,"_"),f=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;i+=`import ${f} from './${u}/client';
796
- `;}),i+=`
790
+ `,c+=` * Configure Redux store with all API slices
791
+ `,c+=` *
792
+ `,c+=` * @example
793
+ `,c+=` * import { configureStore } from '@reduxjs/toolkit';
794
+ `,c+=` * import { setupApiStore } from './apis';
795
+ `,c+=` *
796
+ `,c+=` * export const store = configureStore({
797
+ `,c+=` * reducer: setupApiStore.reducer,
798
+ `,c+=` * middleware: (getDefaultMiddleware) =>
799
+ `,c+=` * getDefaultMiddleware().concat(setupApiStore.middleware),
800
+ `,c+=` * });
801
+ `,c+=` */
802
+ `,c+=`export const setupApiStore = {
803
+ `,c+=` reducer: {
804
+ `,a.forEach(t=>{let d=t.replace(/-/g,"_");c+=` [${d}Api.reducerPath]: ${d}Api.reducer,
805
+ `;}),c+=` },
806
+ `,c+=` middleware: [
807
+ `,a.forEach(t=>{let d=t.replace(/-/g,"_");c+=` ${d}Api.middleware,
808
+ `;}),c+=` ],
809
+ `,c+=`};
810
+ `,yield se(ee__default.default.join(r,"apis.ts"),c,e);return}let s=`// Generated API Clients
811
+ `;if(s+=`// This file was auto-generated.
812
+ `,s+=`// Centralized client instances and configuration
813
+
814
+ `,o==="fetch"?a.forEach(c=>{let t=c.replace(/-/g,"_");s+=`export { default as ${t}Client } from './${c}/client';
815
+ `;}):(a.forEach(c=>{let t=c.replace(/-/g,"_"),d=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;s+=`import ${d} from './${c}/client';
816
+ `;}),s+=`
797
817
  // Create client instances
798
- `,o.forEach(u=>{let t=u.replace(/-/g,"_"),f=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;i+=`export const ${t}Client = new ${f}();
799
- `;})),p==="fetch"&&(i+=`
818
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_"),d=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;s+=`export const ${t}Client = new ${d}();
819
+ `;})),o==="fetch"&&(s+=`
800
820
  // Import clients for aggregation
801
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=`import ${t}_client from './${u}/client';
802
- `;})),i+=`
821
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_");s+=`import ${t}_client from './${c}/client';
822
+ `;})),s+=`
803
823
  // Aggregate all client instances
804
- `,i+=`export const clients = {
805
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");p==="fetch"?i+=` ${t}: ${t}_client,
806
- `:i+=` ${t}: ${t}Client,
807
- `;}),i+=`};
824
+ `,s+=`export const clients = {
825
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_");o==="fetch"?s+=` ${t}: ${t}_client,
826
+ `:s+=` ${t}: ${t}Client,
827
+ `;}),s+=`};
808
828
 
809
- `,p==="axios"?(i+=`
829
+ `,o==="axios"?(s+=`
810
830
  /**
811
- `,i+=` * Configure all API clients at once
812
- `,i+=` * @param config - Configuration to apply to all clients
813
- `,i+=` */
814
- `,i+=`export const configureAllClients = (config: {
815
- `,i+=` baseURL?: string;
816
- `,i+=` headers?: Record<string, string>;
817
- `,i+=` timeout?: number;
818
- `,i+=`}) => {
819
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=` ${t}Client.updateConfig(config);
820
- `;}),i+=`};
821
-
822
- `):p==="fetch"&&(i+=`
831
+ `,s+=` * Configure all API clients at once
832
+ `,s+=` * @param config - Configuration to apply to all clients
833
+ `,s+=` */
834
+ `,s+=`export const configureAllClients = (config: {
835
+ `,s+=` baseURL?: string;
836
+ `,s+=` headers?: Record<string, string>;
837
+ `,s+=` timeout?: number;
838
+ `,s+=`}) => {
839
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_");s+=` ${t}Client.updateConfig(config);
840
+ `;}),s+=`};
841
+
842
+ `):o==="fetch"&&(s+=`
823
843
  /**
824
- `,i+=` * Configure all API clients at once
825
- `,i+=` * @param config - Configuration to apply to all clients
826
- `,i+=` */
827
- `,i+=`export const configureAllClients = (config: {
828
- `,i+=` baseURL?: string;
829
- `,i+=` headers?: Record<string, string>;
830
- `,i+=` auth?: { token?: string };
831
- `,i+=`}) => {
832
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=` ${t}_client.setApiConfig(config);
833
- `;}),i+=`};
834
-
835
- `),i+=`// Example usage:
836
- `,i+=`// import { configureAllClients, clients } from './clients';
837
- `,i+=`//
838
- `,i+=`// // Configure all clients at once
839
- `,i+=`// configureAllClients({
840
- `,i+=`// baseURL: 'https://api.example.com',
841
- `,i+=`// timeout: 10000,
842
- `,i+=`// });
843
- `,i+=`//
844
- `,i+=`// // Use specific client
845
- `,i+=`// const data = await clients.${(n=o[0])==null?void 0:n.replace(/-/g,"_")}.someMethod(...);
846
- `,yield te(V__default.default.join(r,"clients.ts"),i,e),p==="react-query"||p==="swr"){let u=`// Generated Hooks Aggregator
847
- `;u+=`// This file was auto-generated.
848
- `,u+=`// Aggregates all folder-split hooks
849
-
850
- `,o.forEach(t=>{u+=`export * from './${t}/hooks';
851
- `;}),u+=`
844
+ `,s+=` * Configure all API clients at once
845
+ `,s+=` * @param config - Configuration to apply to all clients
846
+ `,s+=` */
847
+ `,s+=`export const configureAllClients = (config: {
848
+ `,s+=` baseURL?: string;
849
+ `,s+=` headers?: Record<string, string>;
850
+ `,s+=` auth?: { token?: string };
851
+ `,s+=`}) => {
852
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_");s+=` ${t}_client.setApiConfig(config);
853
+ `;}),s+=`};
854
+
855
+ `),s+=`// Example usage:
856
+ `,s+=`// import { configureAllClients, clients } from './clients';
857
+ `,s+=`//
858
+ `,s+=`// // Configure all clients at once
859
+ `,s+=`// configureAllClients({
860
+ `,s+=`// baseURL: 'https://api.example.com',
861
+ `,s+=`// timeout: 10000,
862
+ `,s+=`// });
863
+ `,s+=`//
864
+ `,s+=`// // Use specific client
865
+ `,s+=`// const data = await clients.${(n=a[0])==null?void 0:n.replace(/-/g,"_")}.someMethod(...);
866
+ `,yield se(ee__default.default.join(r,"clients.ts"),s,e),o==="react-query"||o==="swr"){let c=`// Generated Hooks Aggregator
867
+ `;c+=`// This file was auto-generated.
868
+ `,c+=`// Aggregates all folder-split hooks
869
+
870
+ `,a.forEach(t=>{c+=`export * from './${t}/hooks';
871
+ `;}),c+=`
852
872
  // Example usage:
853
- `,u+=`// import { useGetSomething } from './hooks';
854
- `,yield te(V__default.default.join(r,"hooks.ts"),u,e);}});});var kt=de(()=>{});var Nt={};ht(Nt,{interactiveInit:()=>lr});function lr(){return ie(this,null,function*(){try{let r=yield Ut__default.default([{type:"select",name:"configFormat",message:"What configuration format would you like to use?",choices:[{title:"TypeScript (openapi.sync.ts)",value:"typescript"},{title:"JSON (openapi.sync.json)",value:"json"},{title:"JavaScript (openapi.sync.js)",value:"javascript"}],initial:0},{type:"select",name:"apiSource",message:"Where is your OpenAPI specification?",choices:[{title:"URL (e.g., https://api.example.com/openapi.json)",value:"url"},{title:"Local file",value:"file"}],initial:0},{type:t=>t==="url"?"text":null,name:"apiUrl",message:"Enter the OpenAPI specification URL:",validate:t=>t.startsWith("http://")||t.startsWith("https://")?!0:"Please enter a valid URL starting with http:// or https://"},{type:(t,f)=>f.apiSource==="file"?"text":null,name:"apiFile",message:"Enter the path to your OpenAPI file:",validate:t=>t.trim()!==""?!0:"Please enter a valid file path"},{type:"text",name:"apiName",message:"What would you like to name this API?",initial:"myapi",validate:t=>/^[a-zA-Z0-9_-]+$/.test(t)?!0:"API name must contain only letters, numbers, hyphens, and underscores"},{type:"text",name:"outputFolder",message:"Where should generated files be saved?",initial:"./src/api",validate:t=>{if(!t||t.trim()==="")return "Output folder cannot be empty";let f=V__default.default.normalize(t);if(f==="/"||f==="C:\\"||f==="\\")return "Cannot use filesystem root directory. Please use a project subfolder like './src/api'";if(V__default.default.isAbsolute(t)){let c=process.cwd();if(!t.startsWith(c))return "\u26A0\uFE0F Warning: Using absolute path outside project directory. Recommended: use relative path like './src/api'"}return !0}},{type:"confirm",name:"enableFolderSplit",message:"Organize generated code into folders by OpenAPI tags?",initial:!1},{type:"confirm",name:"generateClient",message:"Generate API client code?",initial:!0},{type:t=>t?"select":null,name:"clientType",message:"Which client type would you like?",choices:[{title:"React Query (Recommended for React)",value:"react-query"},{title:"RTK Query (Redux Toolkit)",value:"rtk-query"},{title:"SWR",value:"swr"},{title:"Fetch API",value:"fetch"},{title:"Axios",value:"axios"}],initial:0},{type:"confirm",name:"enableValidation",message:"Enable runtime validation schemas?",initial:!0},{type:t=>t?"select":null,name:"validationLibrary",message:"Which validation library?",choices:[{title:"Zod (Recommended)",value:"zod"},{title:"Yup",value:"yup"},{title:"Joi",value:"joi"}],initial:0},{type:"confirm",name:"enableCustomCode",message:"Enable custom code preservation?",initial:!0},{type:"confirm",name:"typesUseOperationId",message:"Use operationId from OpenAPI spec for type names?",initial:!0},{type:"text",name:"typesPrefix",message:"Prefix for TypeScript interface names (leave empty for none):",initial:"I"},{type:"confirm",name:"excludeEndpointsByTags",message:"Exclude endpoints by tags (e.g., deprecated, internal)?",initial:!1},{type:t=>t?"text":null,name:"excludeTags",message:"Enter tags to exclude (comma-separated):",initial:"deprecated,internal"},{type:"confirm",name:"showCurlInDocs",message:"Include cURL examples in generated documentation?",initial:!0},{type:"number",name:"refetchInterval",message:"Refetch interval in milliseconds (0 to disable auto-refresh):",initial:5e3,min:0},{type:"confirm",name:"runSync",message:"Run initial sync after setup?",initial:!0}],{onCancel:()=>{throw pe||process.exit(0),new Error("Setup cancelled")}}),o={refetchInterval:r.refetchInterval||void 0,folder:r.outputFolder,api:{[r.apiName]:r.apiUrl||r.apiFile}};r.enableFolderSplit&&(o.folderSplit={byTags:!0}),o.types={name:{prefix:r.typesPrefix||"",useOperationId:r.typesUseOperationId}},o.endpoints={name:{useOperationId:r.typesUseOperationId},doc:{showCurl:r.showCurlInDocs}},r.excludeEndpointsByTags&&r.excludeTags&&(o.endpoints.exclude={tags:r.excludeTags.split(",").map(t=>t.trim())}),r.generateClient&&r.clientType&&(o.clientGeneration={enabled:!0,type:r.clientType,outputDir:V__default.default.join(r.outputFolder,r.apiName,"client")},r.clientType==="react-query"?o.clientGeneration.reactQuery={version:5,mutations:!0}:r.clientType==="swr"&&(o.clientGeneration.swr={mutations:!0})),r.enableValidation&&r.validationLibrary&&(o.validations={library:r.validationLibrary}),r.enableCustomCode&&(o.customCode={enabled:!0,position:"bottom"});let p,e;r.configFormat==="json"?(e="openapi.sync.json",p=JSON.stringify(o,null,2)):r.configFormat==="typescript"?(e="openapi.sync.ts",p=`import { IConfig } from "openapi-sync";
855
-
856
- const config: IConfig = ${JSON.stringify(o,null,2)};
873
+ `,c+=`// import { useGetSomething } from './hooks';
874
+ `,yield se(ee__default.default.join(r,"hooks.ts"),c,e);}});});exports.OpenApiSyncError=void 0;exports.ConfigNotFoundError=void 0;exports.ConfigParseError=void 0;exports.ConfigValidationError=void 0;exports.SpecFetchError=void 0;exports.SpecReadError=void 0;exports.SpecParseError=void 0;exports.GenerationError=void 0;exports.UnknownApiError=void 0;var bn=pe(()=>{"use strict";exports.OpenApiSyncError=class extends Error{toJSON(){return {code:this.code,message:this.message}}},exports.ConfigNotFoundError=class extends exports.OpenApiSyncError{constructor(o){super(`No openapi-sync config file found. Searched: ${o.join(", ")}. Run \`npx openapi-sync init --no-interactive\` to create one.`);this.code="CONFIG_NOT_FOUND";this.name="ConfigNotFoundError";}toJSON(){return _(B({},super.toJSON()),{searchedPaths:this.message})}},exports.ConfigParseError=class extends exports.OpenApiSyncError{constructor(o,e){let s=e instanceof Error?e.message:String(e);super(`Failed to parse config file "${o}": ${s}`);this.code="CONFIG_PARSE_FAILED";this.name="ConfigParseError",this.configPath=o;}toJSON(){return _(B({},super.toJSON()),{configPath:this.configPath})}},exports.ConfigValidationError=class extends exports.OpenApiSyncError{constructor(o,e){super(`Invalid configuration at "${o}": ${e}`);this.code="CONFIG_INVALID";this.name="ConfigValidationError",this.field=o;}toJSON(){return _(B({},super.toJSON()),{field:this.field})}},exports.SpecFetchError=class extends exports.OpenApiSyncError{constructor(o,e,s){let n=e instanceof Error?e.message:String(e);super(`Failed to fetch OpenAPI spec from "${o}": ${n}`+(s?` (HTTP ${s})`:""));this.code="SPEC_FETCH_FAILED";this.name="SpecFetchError",this.url=o,this.statusCode=s;}toJSON(){return B(_(B({},super.toJSON()),{url:this.url}),this.statusCode!==void 0&&{statusCode:this.statusCode})}},exports.SpecReadError=class extends exports.OpenApiSyncError{constructor(o,e){let s=e instanceof Error?e.message:String(e);super(`Failed to read local OpenAPI spec from "${o}": ${s}`);this.code="SPEC_READ_FAILED";this.name="SpecReadError",this.filePath=o;}toJSON(){return _(B({},super.toJSON()),{filePath:this.filePath})}},exports.SpecParseError=class extends exports.OpenApiSyncError{constructor(o,e){let s=e instanceof Error?e.message:String(e);super(`Failed to parse OpenAPI spec for API "${o}": ${s}`);this.code="SPEC_PARSE_FAILED";this.name="SpecParseError",this.api=o;}toJSON(){return _(B({},super.toJSON()),{api:this.api})}},exports.GenerationError=class extends exports.OpenApiSyncError{constructor(o,e,s){let n=s instanceof Error?s.message:String(s);super(`Failed to write generated file "${o}" for API "${e}": ${n}`);this.code="GENERATION_FAILED";this.name="GenerationError",this.file=o,this.api=e;}toJSON(){return _(B({},super.toJSON()),{file:this.file,api:this.api})}},exports.UnknownApiError=class extends exports.OpenApiSyncError{constructor(o,e){super(`API "${o}" not found in config. Available APIs: ${e.join(", ")}`);this.code="UNKNOWN_API";this.name="UnknownApiError",this.requestedApi=o,this.availableApis=e;}toJSON(){return _(B({},super.toJSON()),{requestedApi:this.requestedApi,availableApis:this.availableApis})}};});var Yt=pe(()=>{"use strict";});var Xt={};Xe(Xt,{validateConfig:()=>vr});var Ve,Sr,Or,vr,er=pe(()=>{"use strict";Ue();Ve=process.cwd(),Sr=()=>{let r=ee__default.default.join(Ve,"openapi.sync.js"),a=ee__default.default.join(Ve,"openapi.sync.ts"),o=ee__default.default.join(Ve,"openapi.sync.json"),e=[r,a,o];try{Ee("esbuild-register");}catch(s){}for(let s of e)if(me__default.default.existsSync(s))try{let n=Ee(s);return Object.keys(n).length===1&&n.default&&(n=n.default),typeof n=="function"&&(n=n()),{config:n,errors:[]}}catch(n){let c=n instanceof Error?n.message:String(n);return {config:null,errors:[`Failed to parse ${s}: ${c}`]}}return {config:null,errors:[`No config file found. Searched: ${e.join(", ")}. Run \`npx openapi-sync init --no-interactive\` to create one.`]}},Or=(r,a)=>V(null,null,function*(){var c;let o;try{if(r.startsWith("http://")||r.startsWith("https://"))o=(yield hr__default.default.get(r,{timeout:15e3})).data;else {let d=ee__default.default.isAbsolute(r)?r:ee__default.default.join(Ve,r);o=yield me__default.default.promises.readFile(d,"utf-8");}}catch(t){return {endpointCount:0,error:`Could not fetch/read spec: ${t instanceof Error?t.message:String(t)}`}}let e;try{let t=exports.isJson(o)?o:exports.yamlStringToJson(o);e=yield br__default.default.parse(t);}catch(t){return {endpointCount:0,error:`Could not parse spec: ${t instanceof Error?t.message:String(t)}`}}let s=0,n=(e==null?void 0:e.paths)||{};for(let t of Object.keys(n)){let d=["get","post","put","patch","delete","head","options"];for(let l of d)(c=n[t])!=null&&c[l]&&s++;}return {endpointCount:s}}),vr=r=>V(null,null,function*(){var d;let o=((d=r==null?void 0:r.silent)!=null?d:!1)?{log:()=>{},warn:()=>{},error:()=>{}}:{log:console.log,warn:console.warn,error:console.error},e={valid:!1,apis:{},configErrors:[]},{config:s,errors:n}=Sr();if(n.length>0)return e.configErrors=n,o.error(`\u274C Config errors:
875
+ ${n.map(l=>` \u2022 ${l}`).join(`
876
+ `)}`),e;if(!s)return e.configErrors=["Config loaded but is empty or null."],e;if((!s.api||Object.keys(s.api).length===0)&&e.configErrors.push('Config must have at least one API defined under the "api" key.'),e.configErrors.length>0)return o.error(`\u274C Config validation errors:
877
+ ${e.configErrors.map(l=>` \u2022 ${l}`).join(`
878
+ `)}`),e;let c=Object.keys(s.api);o.log(`
879
+ \u{1F50D} Validating ${c.length} API spec(s)...
880
+ `);let t=!0;return yield Promise.all(c.map(l=>V(null,null,function*(){let g=s.api[l];o.log(` \u{1F50E} ${l}: ${g}`);let{endpointCount:x,error:k}=yield Or(g,l);k?(e.apis[l]={valid:!1,endpointCount:0,error:k},o.error(` \u274C ${l}: ${k}`),t=!1):(e.apis[l]={valid:!0,endpointCount:x},o.log(` \u2705 ${l}: ${x} endpoint(s) found`));}))),e.valid=t&&e.configErrors.length===0,e.valid?o.log(`
881
+ \u2705 All checks passed \u2014 config and specs are valid.
882
+ `):o.error(`
883
+ \u274C Validation failed \u2014 see errors above.
884
+ `),e});});var tr={};Xe(tr,{interactiveInit:()=>Pr,nonInteractiveInit:()=>jr});function Pr(){return V(this,null,function*(){try{let r=yield nr__default.default([{type:"select",name:"configFormat",message:"What configuration format would you like to use?",choices:[{title:"TypeScript (openapi.sync.ts)",value:"typescript"},{title:"JSON (openapi.sync.json)",value:"json"},{title:"JavaScript (openapi.sync.js)",value:"javascript"}],initial:0},{type:"select",name:"apiSource",message:"Where is your OpenAPI specification?",choices:[{title:"URL (e.g., https://api.example.com/openapi.json)",value:"url"},{title:"Local file",value:"file"}],initial:0},{type:t=>t==="url"?"text":null,name:"apiUrl",message:"Enter the OpenAPI specification URL:",validate:t=>t.startsWith("http://")||t.startsWith("https://")?!0:"Please enter a valid URL starting with http:// or https://"},{type:(t,d)=>d.apiSource==="file"?"text":null,name:"apiFile",message:"Enter the path to your OpenAPI file:",validate:t=>t.trim()!==""?!0:"Please enter a valid file path"},{type:"text",name:"apiName",message:"What would you like to name this API?",initial:"myapi",validate:t=>/^[a-zA-Z0-9_-]+$/.test(t)?!0:"API name must contain only letters, numbers, hyphens, and underscores"},{type:"text",name:"outputFolder",message:"Where should generated files be saved?",initial:"./src/api",validate:t=>{if(!t||t.trim()==="")return "Output folder cannot be empty";let d=ee__default.default.normalize(t);if(d==="/"||d==="C:\\"||d==="\\")return "Cannot use filesystem root directory. Please use a project subfolder like './src/api'";if(ee__default.default.isAbsolute(t)){let l=process.cwd();if(!t.startsWith(l))return "\u26A0\uFE0F Warning: Using absolute path outside project directory. Recommended: use relative path like './src/api'"}return !0}},{type:"confirm",name:"enableFolderSplit",message:"Organize generated code into folders by OpenAPI tags?",initial:!1},{type:"confirm",name:"generateClient",message:"Generate API client code?",initial:!0},{type:t=>t?"select":null,name:"clientType",message:"Which client type would you like?",choices:[{title:"React Query (Recommended for React)",value:"react-query"},{title:"RTK Query (Redux Toolkit)",value:"rtk-query"},{title:"SWR",value:"swr"},{title:"Fetch API",value:"fetch"},{title:"Axios",value:"axios"}],initial:0},{type:"confirm",name:"enableValidation",message:"Enable runtime validation schemas?",initial:!0},{type:t=>t?"select":null,name:"validationLibrary",message:"Which validation library?",choices:[{title:"Zod (Recommended)",value:"zod"},{title:"Yup",value:"yup"},{title:"Joi",value:"joi"}],initial:0},{type:"confirm",name:"enableCustomCode",message:"Enable custom code preservation?",initial:!0},{type:"confirm",name:"typesUseOperationId",message:"Use operationId from OpenAPI spec for type names?",initial:!0},{type:"text",name:"typesPrefix",message:"Prefix for TypeScript interface names (leave empty for none):",initial:"I"},{type:"confirm",name:"excludeEndpointsByTags",message:"Exclude endpoints by tags (e.g., deprecated, internal)?",initial:!1},{type:t=>t?"text":null,name:"excludeTags",message:"Enter tags to exclude (comma-separated):",initial:"deprecated,internal"},{type:"confirm",name:"showCurlInDocs",message:"Include cURL examples in generated documentation?",initial:!0},{type:"number",name:"refetchInterval",message:"Refetch interval in milliseconds (0 to disable auto-refresh):",initial:5e3,min:0},{type:"confirm",name:"runSync",message:"Run initial sync after setup?",initial:!0}],{onCancel:()=>{throw ue||process.exit(0),new Error("Setup cancelled")}}),a={refetchInterval:r.refetchInterval||void 0,folder:r.outputFolder,api:{[r.apiName]:r.apiUrl||r.apiFile}};r.enableFolderSplit&&(a.folderSplit={byTags:!0}),a.types={name:{prefix:r.typesPrefix||"",useOperationId:r.typesUseOperationId}},a.endpoints={name:{useOperationId:r.typesUseOperationId},doc:{showCurl:r.showCurlInDocs}},r.excludeEndpointsByTags&&r.excludeTags&&(a.endpoints.exclude={tags:r.excludeTags.split(",").map(t=>t.trim())}),r.generateClient&&r.clientType&&(a.clientGeneration={enabled:!0,type:r.clientType,outputDir:ee__default.default.join(r.outputFolder,r.apiName,"client")},r.clientType==="react-query"?a.clientGeneration.reactQuery={version:5,mutations:!0}:r.clientType==="swr"&&(a.clientGeneration.swr={mutations:!0})),r.enableValidation&&r.validationLibrary&&(a.validations={library:r.validationLibrary}),r.enableCustomCode&&(a.customCode={enabled:!0,position:"bottom"});let o,e;r.configFormat==="json"?(e="openapi.sync.json",o=JSON.stringify(a,null,2)):r.configFormat==="typescript"?(e="openapi.sync.ts",o=`import { IConfig } from "openapi-sync";
885
+
886
+ const config: IConfig = ${JSON.stringify(a,null,2)};
857
887
 
858
888
  export default config;
859
- `):(e="openapi.sync.js",p=`module.exports = ${JSON.stringify(o,null,2)};
860
- `);let i=V__default.default.join(process.cwd(),e);if(ce__default.default.existsSync(i)&&!(yield Ut__default.default({type:"confirm",name:"value",message:`${e} already exists. Overwrite?`,initial:!1})).value)throw pe||process.exit(0),new Error("Configuration file not created");ce__default.default.writeFileSync(i,p,"utf-8"),pe||`${e}`;let n=V__default.default.isAbsolute(r.outputFolder)?r.outputFolder:V__default.default.join(process.cwd(),r.outputFolder);if(!ce__default.default.existsSync(n))try{ce__default.default.mkdirSync(n,{recursive:!0}),pe||`${r.outputFolder}`;}catch(t){pe||`${t.message}`;}let u=V__default.default.join(process.cwd(),".gitignore");if(ce__default.default.existsSync(u)&&(ce__default.default.readFileSync(u,"utf-8").includes(r.outputFolder)||ce__default.default.appendFileSync(u,`
889
+ `):(e="openapi.sync.js",o=`module.exports = ${JSON.stringify(a,null,2)};
890
+ `);let s=ee__default.default.join(process.cwd(),e);if(me__default.default.existsSync(s)&&!(yield nr__default.default({type:"confirm",name:"value",message:`${e} already exists. Overwrite?`,initial:!1})).value)throw ue||process.exit(0),new Error("Configuration file not created");me__default.default.writeFileSync(s,o,"utf-8"),ue||`${e}`;let n=ee__default.default.isAbsolute(r.outputFolder)?r.outputFolder:ee__default.default.join(process.cwd(),r.outputFolder);if(!me__default.default.existsSync(n))try{me__default.default.mkdirSync(n,{recursive:!0}),ue||`${r.outputFolder}`;}catch(t){ue||`${t.message}`;}let c=ee__default.default.join(process.cwd(),".gitignore");if(me__default.default.existsSync(c)&&(me__default.default.readFileSync(c,"utf-8").includes(r.outputFolder)||me__default.default.appendFileSync(c,`
861
891
  # OpenAPI Sync generated files
862
892
  ${r.outputFolder}
863
- `)),pe||(`${e}`,r.generateClient&&r.clientType&&(r.clientType==="axios"||r.clientType==="react-query"||r.clientType==="swr"||r.clientType),r.enableValidation&&r.validationLibrary&&(r.generateClient,`${r.validationLibrary}`)),r.runSync&&!pe)try{let{Init:t,GenerateClient:f}=yield Promise.resolve().then(()=>(Gt(),Lt));yield t({refetchInterval:r.refetchInterval}),r.generateClient&&r.clientType&&(yield f({type:r.clientType,apiName:r.apiName}));}catch(t){console.error(`
864
- \u274C Error during sync:`,t.message),t.stack&&process.env.DEBUG&&console.error(t.stack);}else pe||(r.generateClient||r.enableValidation,r.generateClient&&r.clientType&&(r.generateClient||r.enableValidation,`${r.clientType}`));pe||(`${r.outputFolder}${r.apiName}`,r.generateClient&&`${r.outputFolder}${r.apiName}`,r.generateClient&&r.clientType&&`${r.clientType}`);}catch(r){throw pe||(console.error(`
865
- \u274C Error during setup:`,r.message),process.exit(1)),r}})}var pe,Ft=de(()=>{pe=process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0;});var Lt={};ht(Lt,{GenerateClient:()=>exports.GenerateClient,Init:()=>exports.Init,InteractiveInit:()=>exports.InteractiveInit,JSONStringify:()=>exports.JSONStringify,capitalize:()=>exports.capitalize,createCustomCodeMarker:()=>exports.createCustomCodeMarker,extractCustomCode:()=>exports.extractCustomCode,getEndpointDetails:()=>exports.getEndpointDetails,getNestedValue:()=>Yt,isJson:()=>exports.isJson,isYamlString:()=>exports.isYamlString,mergeCustomCode:()=>exports.mergeCustomCode,renderTypeRefMD:()=>exports.renderTypeRefMD,variableName:()=>exports.variableName,variableNameChar:()=>exports.variableNameChar,yamlStringToJson:()=>exports.yamlStringToJson});var Me,Mt;exports.Init=void 0;exports.GenerateClient=void 0;exports.InteractiveInit=void 0;var Gt=de(()=>{Pt();Ye();Ze();Rt();kt();Ne();ze();Me=process.cwd(),Mt=()=>{let r;try{ve("esbuild-register");}catch(u){throw u}let o=V__default.default.join(Me,"openapi.sync.js"),p=V__default.default.join(Me,"openapi.sync.ts"),e=V__default.default.join(Me,"openapi.sync.json"),i=[o,p,e];try{for(let u of i)ce__default.default.existsSync(u)&&(r=ve(u),Object.keys(r).length===1&&r.default&&(r=r.default));}catch(u){}typeof r=="function"&&(r=r());let n=r;if(!n)throw new Error("No config found");return n},exports.Init=r=>ie(null,null,function*(){let o=Mt(),p=Object.keys(o.api),e=r&&"refetchInterval"in r&&!isNaN(r==null?void 0:r.refetchInterval)?r.refetchInterval:o.refetchInterval;Ve();for(let i=0;i<p.length;i+=1){let n=p[i],u=o.api[n];yield en(u,n,o,e);}}),exports.GenerateClient=r=>ie(null,null,function*(){let o=Mt(),p=r.apiName?[r.apiName]:Object.keys(o.api);for(let i of p)if(!o.api[i])throw new Error(`API "${i}" not found in configuration. Available APIs: ${Object.keys(o.api).join(", ")}`);Ve();for(let i of p){let n=o.api[i];yield en(n,i,o);}let e=(o==null?void 0:o.folder)||"api";for(let i of p){let n=At(i);if(n.length===0){continue}`${n.length}${i}`;let u=X(X(X(X(ae(X({enabled:true},o.clientGeneration||{}),{type:r.type}),r.outputDir&&{outputDir:r.outputDir}),r.baseURL&&{baseURL:r.baseURL}),r.tags&&{tags:r.tags}),r.endpoints&&{endpoints:r.endpoints});yield qt(n,o,u,i,V__default.default.join(Me,e));}}),exports.InteractiveInit=()=>ie(null,null,function*(){let{interactiveInit:r}=yield Promise.resolve().then(()=>(Ft(),Nt));yield r();});});Gt();exports.getNestedValue=Yt;
893
+ `)),ue||(`${e}`,r.generateClient&&r.clientType&&(r.clientType==="axios"||r.clientType==="react-query"||r.clientType==="swr"||r.clientType),r.enableValidation&&r.validationLibrary&&(r.generateClient,`${r.validationLibrary}`)),r.runSync&&!ue)try{let{Init:t,GenerateClient:d}=yield Promise.resolve().then(()=>(In(),Cn));yield t({refetchInterval:r.refetchInterval}),r.generateClient&&r.clientType&&(yield d({type:r.clientType,apiName:r.apiName}));}catch(t){console.error(`
894
+ \u274C Error during sync:`,t.message),t.stack&&process.env.DEBUG&&console.error(t.stack);}else ue||(r.generateClient||r.enableValidation,r.generateClient&&r.clientType&&(r.generateClient||r.enableValidation,`${r.clientType}`));ue||(`${r.outputFolder}${r.apiName}`,r.generateClient&&`${r.outputFolder}${r.apiName}`,r.generateClient&&r.clientType&&`${r.clientType}`);}catch(r){throw ue||(console.error(`
895
+ \u274C Error during setup:`,r.message),process.exit(1)),r}})}function jr(r){return V(this,null,function*(){let{apiName:a,apiSource:o,outputFolder:e="./src/api",configFormat:s="typescript",clientType:n,validationLibrary:c,folderSplit:t=false,typesPrefix:d="I",useOperationId:l=true,excludeTags:g=[],showCurl:x=true,refetchInterval:k,runSync:q=false,silent:v=false}=r,N=v?{log:()=>{},warn:()=>{},error:()=>{}}:{log:console.log,warn:console.warn,error:console.error},F=[],T={folder:e,api:{[a]:o}};k&&k>0&&(T.refetchInterval=k),t&&(T.folderSplit={byTags:true}),T.types={name:{prefix:d,useOperationId:l}},T.endpoints={name:{useOperationId:l},doc:{showCurl:x}},g.length>0&&(T.endpoints.exclude={tags:g}),n&&(T.clientGeneration={enabled:true,type:n,outputDir:ee__default.default.join(e,a,"client")},n==="react-query"?T.clientGeneration.reactQuery={version:5,mutations:true}:n==="swr"&&(T.clientGeneration.swr={mutations:true})),c&&(T.validations={library:c}),T.customCode={enabled:true,position:"bottom"};let M,S;s==="json"?(S="openapi.sync.json",M=JSON.stringify(T,null,2)):s==="typescript"?(S="openapi.sync.ts",M=`import { IConfig } from "openapi-sync";
896
+
897
+ const config: IConfig = ${JSON.stringify(T,null,2)};
898
+
899
+ export default config;
900
+ `):(S="openapi.sync.js",M=`module.exports = ${JSON.stringify(T,null,2)};
901
+ `);let w=ee__default.default.join(process.cwd(),S);try{me__default.default.writeFileSync(w,M,"utf-8"),N.log(`
902
+ \u2705 Config written: ${S}`);}catch(Q){return F.push(`Failed to write config: ${Q.message}`),{success:false,configFile:S,message:"Config write failed.",errors:F}}let H=ee__default.default.isAbsolute(e)?e:ee__default.default.join(process.cwd(),e);if(!me__default.default.existsSync(H))try{me__default.default.mkdirSync(H,{recursive:!0});}catch(Q){}if(q){N.log(`
903
+ \u{1F504} Running initial sync...`);try{let{Init:Q,GenerateClient:ce}=yield Promise.resolve().then(()=>(In(),Cn));yield Q({silent:v}),n&&(yield ce({type:n,apiName:a,silent:v})),N.log("\u2705 Sync complete.");}catch(Q){F.push(`Sync failed: ${Q.message}`);}}let G=F.length===0?`Config created: ${S}. Run \`npx openapi-sync\` to generate types.`:`Config created with errors (${F.length}).`;return N.log(`
904
+ ${G}
905
+ `),{success:F.length===0,configFile:S,message:G,errors:F}})}var ue,rr=pe(()=>{"use strict";ue=process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0;});var Cn={};Xe(Cn,{ConfigNotFoundError:()=>exports.ConfigNotFoundError,ConfigParseError:()=>exports.ConfigParseError,ConfigValidationError:()=>exports.ConfigValidationError,GenerateClient:()=>exports.GenerateClient,GenerationError:()=>exports.GenerationError,Init:()=>exports.Init,InteractiveInit:()=>exports.InteractiveInit,JSONStringify:()=>exports.JSONStringify,ListEndpoints:()=>exports.ListEndpoints,OpenApiSyncError:()=>exports.OpenApiSyncError,SpecFetchError:()=>exports.SpecFetchError,SpecParseError:()=>exports.SpecParseError,SpecReadError:()=>exports.SpecReadError,UnknownApiError:()=>exports.UnknownApiError,ValidateConfig:()=>exports.ValidateConfig,capitalize:()=>exports.capitalize,createCustomCodeMarker:()=>exports.createCustomCodeMarker,extractCustomCode:()=>exports.extractCustomCode,getEndpointDetails:()=>exports.getEndpointDetails,getNestedValue:()=>fr,isJson:()=>exports.isJson,isYamlString:()=>exports.isYamlString,mergeCustomCode:()=>exports.mergeCustomCode,renderTypeRefMD:()=>exports.renderTypeRefMD,variableName:()=>exports.variableName,variableNameChar:()=>exports.variableNameChar,yamlStringToJson:()=>exports.yamlStringToJson});var Ye,xn,En;exports.Init=void 0;exports.GenerateClient=void 0;exports.ValidateConfig=void 0;exports.ListEndpoints=void 0;exports.InteractiveInit=void 0;var In=pe(()=>{Wt();an();ln();Ht();bn();Yt();Ue();nn();bn();Ye=process.cwd(),xn=()=>{let r=ee__default.default.join(Ye,"openapi.sync.js"),a=ee__default.default.join(Ye,"openapi.sync.ts"),o=ee__default.default.join(Ye,"openapi.sync.json"),e=[r,a,o];try{Ee("esbuild-register");}catch(t){throw t}let s,n;for(let t of e)if(me__default.default.existsSync(t)){n=t;try{s=Ee(t),Object.keys(s).length===1&&s.default&&(s=s.default);}catch(d){throw new exports.ConfigParseError(t,d)}break}if(!n)throw new exports.ConfigNotFoundError(e);typeof s=="function"&&(s=s());let c=s;if(!c)throw new exports.ConfigNotFoundError(e);return c},En=r=>({log:(...a)=>{r||[...a];},info:(...a)=>{r||console.info(...a);},warn:(...a)=>{r||[...a];},error:(...a)=>{r||console.error(...a);}}),exports.Init=r=>V(null,null,function*(){var s;let a=(s=r==null?void 0:r.silent)!=null?s:!1,o=En(a),e={success:!1,apis:[],filesWritten:[],endpointCount:0,warnings:[],errors:[]};try{let n=xn(),c=Object.keys(n.api);e.apis=c;let t=r&&"refetchInterval"in r&&!isNaN(r==null?void 0:r.refetchInterval)?r.refetchInterval:n.refetchInterval;Je();for(let d=0;d<c.length;d+=1){let l=c[d],g=n.api[l];o.log(`
906
+ \u{1F504} Syncing ${l}...`);try{yield Ke(g,l,n,t);let x=We(l);e.endpointCount+=x.length,o.log(`\u2705 ${l}: ${x.length} endpoints`);}catch(x){let k=x instanceof Error?x.message:String(x);e.errors.push(`[${l}] ${k}`),o.error(`\u274C ${l}: ${k}`);}}return e.success=e.errors.length===0,e}catch(n){let c=n instanceof Error?n.message:String(n);return e.errors.push(c),o.error(`\u274C Fatal error: ${c}`),e}}),exports.GenerateClient=r=>V(null,null,function*(){var s;let a=(s=r.silent)!=null?s:!1,o=En(a),e={success:!1,apis:[],filesWritten:[],endpointCount:0,warnings:[],errors:[]};try{o.log(`
907
+ \u{1F504} Loading configuration...`);let n=xn(),c=r.apiName?[r.apiName]:Object.keys(n.api);e.apis=c;for(let d of c)if(!n.api[d])throw new exports.UnknownApiError(d,Object.keys(n.api));o.log("\u{1F504} Syncing OpenAPI specifications..."),Je();for(let d of c){let l=n.api[d];yield Ke(l,d,n);}let t=(n==null?void 0:n.folder)||"api";for(let d of c){let l=We(d);if(l.length===0){let x=`No endpoints found for API: ${d}`;e.warnings.push(x),o.warn(`\u26A0\uFE0F ${x}`);continue}e.endpointCount+=l.length,o.log(`
908
+ \u{1F4CB} Found ${l.length} endpoint(s) for ${d}`);let g=B(B(B(B(_(B({enabled:!0},n.clientGeneration||{}),{type:r.type}),r.outputDir&&{outputDir:r.outputDir}),r.baseURL&&{baseURL:r.baseURL}),r.tags&&{tags:r.tags}),r.endpoints&&{endpoints:r.endpoints});yield Vt(l,n,g,d,ee__default.default.join(Ye,t));}return o.log(`
909
+ \u2728 All clients generated successfully!
910
+ `),e.success=e.errors.length===0,e}catch(n){let c=n instanceof Error?n.message:String(n);return e.errors.push(c),o.error(`\u274C Error: ${c}`),e}}),exports.ValidateConfig=r=>V(null,null,function*(){let{validateConfig:a}=yield Promise.resolve().then(()=>(er(),Xt));return a(r)}),exports.ListEndpoints=r=>V(null,null,function*(){var e;let a=(e=r==null?void 0:r.silent)!=null?e:!1,o=En(a);try{let s=xn(),n=r!=null&&r.apiName?[r.apiName]:Object.keys(s.api);if(r!=null&&r.apiName&&!s.api[r.apiName])throw new exports.UnknownApiError(r.apiName,Object.keys(s.api));Je();for(let t of n){let d=s.api[t];o.log(`\u{1F50D} Fetching spec for ${t}...`),yield Ke(d,t,s);}let c={};for(let t of n){let d=We(t);r!=null&&r.tags&&r.tags.length>0&&(d=d.filter(l=>{var g;return (g=l.tags)==null?void 0:g.some(x=>r.tags.includes(x))})),c[t]=d.map(l=>({name:l.name,method:l.method.toUpperCase(),path:l.path,operationId:l.operationId,tags:l.tags,summary:l.summary})),o.log(`\u2705 ${t}: ${c[t].length} endpoint(s)`);}return c}catch(s){let n=s instanceof Error?s.message:String(s);throw o.error(`\u274C Error: ${n}`),s}}),exports.InteractiveInit=()=>V(null,null,function*(){let{interactiveInit:r}=yield Promise.resolve().then(()=>(rr(),tr));yield r();});});In();exports.getNestedValue=fr;