openapi-sync 5.0.7 → 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,124 +1,124 @@
1
- 'use strict';var Pe=require('js-yaml'),V=require('path'),ce=require('fs'),er=require('lodash.isequal'),Fe=require('lodash.get'),nr=require('axios'),tr=require('axios-retry'),rr=require('@apidevtools/swagger-parser'),curlGenerator=require('curl-generator'),Nt=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 er__default=/*#__PURE__*/_interopDefault(er);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var nr__default=/*#__PURE__*/_interopDefault(nr);var tr__default=/*#__PURE__*/_interopDefault(tr);var rr__default=/*#__PURE__*/_interopDefault(rr);var Nt__default=/*#__PURE__*/_interopDefault(Nt);var ht=Object.defineProperty,_t=Object.defineProperties;var Ht=Object.getOwnPropertyDescriptors;var yt=Object.getOwnPropertySymbols;var Kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var gt=(r,o,p)=>o in r?ht(r,o,{enumerable:true,configurable:true,writable:true,value:p}):r[o]=p,X=(r,o)=>{for(var p in o||(o={}))Kt.call(o,p)&&gt(r,p,o[p]);if(yt)for(var p of yt(o))Vt.call(o,p)&&gt(r,p,o[p]);return r},ie=(r,o)=>_t(r,Ht(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 $t=(r,o)=>{for(var p in o)ht(r,p,{get:o[p],enumerable:true});};var se=(r,o,p)=>new Promise((e,i)=>{var n=f=>{try{t(p.next(f));}catch(d){i(d);}},u=f=>{try{t(p.throw(f));}catch(d){i(d);}},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 Zt(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 bt;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 E=r.indexOf(P.start,n);E!==-1&&(f===-1||E<f)&&(f=E,t=P);}if(f===-1||!t)break;let d=r.indexOf(t.end,f);if(d===-1)break;let y=d+t.end.length,A=r.substring(y,y+100),F=A.match(/^\s*\n\s*((?:\/\/|#)\s*=+)/);if(F){let P=A.indexOf(`
13
- `,F.index+1);P!==-1?y+=P+1:y+=F[0].length;}let q=f,O=r.substring(Math.max(0,f-200),f),U=/(^|\n)\s*(?:\/\/|#)\s*=+/g,L,R=-1;for(;(L=U.exec(O))!==null;)R=L.index+L[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(d=>{let y=d.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)}`},bt=(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=bt(t.beforeGenerated,i,u),t.afterGenerated=bt(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 Le,Ke,qe,xt,Tt,Et,Ve,Ye=de(()=>{Le=V__default.default.join(__dirname,"../","../db.json");ce__default.default.existsSync(Le)||ce__default.default.writeFileSync(Le,"{}");Ke={};try{Ke=ve(Le);}catch(r){Ke={};}qe=Ke||{},xt=r=>{ce__default.default.writeFileSync(Le,JSON.stringify(r));},Tt=(r,o)=>{qe[r]=o,xt(qe);},Et=r=>qe[r],Ve=()=>{qe={},xt(qe);};});var wt,At,Ot,Ze=de(()=>{wt={},At=(r,o)=>{wt[r]=o;},Ot=r=>wt[r]||[];});var Ce,Xe,vt,xe,Pt,or,en,St=de(()=>{Ne();Ye();Ze();Ce=process.cwd(),Xe={},vt=nr__default.default.create({timeout:6e4});tr__default.default(vt,{retries:20,retryCondition:r=>r.code==="ECONNABORTED"||r.message.includes("Network Error"),retryDelay:r=>r*1e3});xe=(r,o,p)=>se(null,null,function*(){var t,f,d,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:(d=p==null?void 0:p.customCode)==null?void 0:d.markerText,includeInstructions:(y=p==null?void 0:p.customCode)==null?void 0:y.includeInstructions,commentPrefix:n});yield ce__default.default.promises.writeFile(r,u);}),Pt=(r,o,p,e)=>se(null,null,function*(){let i=yield or(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}`),Pt(r,o,p,e);},e))),i}),or=(...r)=>se(null,null,function*(){var ln,pn,un,cn,mn,dn,fn,yn,gn,hn;let[o,p,e]=r,i=s=>s.startsWith("http://")||s.startsWith("https://"),n;try{if(i(o))n=(yield vt.get(o)).data;else {let s=V__default.default.isAbsolute(o)?o:V__default.default.join(Ce,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 rr__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),d=(e==null?void 0:e.language)==="python",y=d?"py":"ts",A={},F=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:((pn=(ln=t==null?void 0:t.servers)==null?void 0:ln[(e==null?void 0:e.server)||0])==null?void 0:pn.url)||"",O=typeof((cn=(un=e==null?void 0:e.types)==null?void 0:un.name)==null?void 0:cn.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",U=typeof((dn=(mn=e==null?void 0:e.endpoints)==null?void 0:mn.name)==null?void 0:dn.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",L=(s,a)=>{var b,c;let C=exports.capitalize(s);if((c=(b=e==null?void 0:e.types)==null?void 0:b.name)!=null&&c.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,c,g=0)=>{let m="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Fe__default.default(s,x,null);if(k){k!=null&&k.name&&(m=k.name),$=x[x.length-1];let J=L($);J.includes(".")&&(J=J.split(".").map((Ie,he)=>he===0?Ie:`["${Ie}"]`).join("")),h+=`${c!=null&&c.noSharedImport?"":"Shared."}${J}`;}}else h+="";else if(a.anyOf)h+=`(${a.anyOf.map(x=>R(s,x,"",b,ie(X({},c),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.oneOf)h+=`(${a.oneOf.map(x=>R(s,x,"",b,ie(X({},c),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.allOf)h+=`(${a.allOf.map(x=>R(s,x,"",b,ie(X({},c),{useComponentName:false}))).filter(x=>!!x).join("&")})`;else if(a.items)h+=`${R(s,a.items,"",false,ie(X({},c),{useComponentName:false}))}[]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],S="";x.forEach(N=>{var J,Ae,Ie,he,$e,be;let k="";!((Ae=(J=e==null?void 0:e.types)==null?void 0:J.doc)!=null&&Ae.disable)&&((he=(Ie=a.properties)==null?void 0:Ie[N])!=null&&he.description)&&(k=" * "+(($e=a.properties)==null?void 0:$e[N].description.split(`
25
- `).filter(Qe=>Qe.trim()!=="").join(`
26
- *${" ".repeat(1)}`))),S+=(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,(be=a.properties)==null?void 0:be[N],N,v.includes(N),c,g+1)}`;}),S.length>0?h+=`{
30
- ${" ".repeat(g)}${S}${" ".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),S=v.length>1||v.length>0&&x;S&&(h+="("),v.forEach((N,k)=>{h+=`${k===0?"":"|"}${N}`;}),x&&(h+=`${v.length>0?"|":""}null`),S&&(h+=")");}else if(a.type){let x=v=>{let S="";if(typeof v=="string")["string","integer","number","array","boolean","null"].includes(v)?["integer","number"].includes(v)?S+="number":v==="array"?S+="any[]":S+=v:v==="object"&&(a.additionalProperties?S+=`{[k: string]: ${R(s,a.additionalProperties,"",true,ie(X({},c),{useComponentName:false}))||"any"}}`:S+="{[k: string]: any}");else if(Array.isArray(v)){let N=v.map(k=>x(k));N.filter(k=>k!==""),N.length>1&&(S+="("+N.join("|")+")");}else S+="any";return S};h=x(a.type);}else h+="any";else h="string";let j=m||C;c!=null&&c.useComponentName&&!j&&(j=$);let Q=j?` "${j}"${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}${j?`;
31
- `:""}`:""},B=(s,a,C,b,c,g=0)=>{let m="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Fe__default.default(s,x,null);if(k){k!=null&&k.name&&(m=k.name),$=x[x.length-1];let J=L($);J.includes(".")&&(J=J.split(".").join("_")),h+=`${c!=null&&c.noSharedImport?"":"Shared."}${J}`;}}else h+="Any";else if(a.anyOf)h+=`Union[${a.anyOf.map(x=>B(s,x,"",b,ie(X({},c),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(a.oneOf)h+=`Union[${a.oneOf.map(x=>B(s,x,"",b,ie(X({},c),{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,ie(X({},c),{useComponentName:false}))}]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],S="";x.forEach(N=>{var k;S+=B(s,(k=a.properties)==null?void 0:k[N],N,v.includes(N),c,g+1);}),S.length>0?C?h+="Dict[str, Any]":h+=`
32
- ${S}`: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 S="";if(typeof v=="string")["integer","number"].includes(v)?S+=v==="number"?"float":"int":v==="string"?S+="str":v==="boolean"?S+="bool":v==="array"?S+="List[Any]":v==="object"?S+="Dict[str, Any]":v==="null"?S+="None":S+="Any";else if(Array.isArray(v)){let N=v.map(k=>x(k)).filter(k=>k!=="");N.length>1?S+=`Union[${N.join(", ")}]`:S+=N[0]||"Any";}else S+="Any";return S};h=x(a.type);}else h+="Any";else h="str";let j=m||C;c!=null&&c.useComponentName&&!j&&(j=$);let Q="";j&&(Q=` ${j.replace(/[^a-zA-Z0-9_]/g,"_")}: `);let l=h,z=!j&&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}${j?`
34
- `:""}`:""},P=s=>{let a=(s||"").replace(/^\n+/,"").trimEnd();if(!a)return ` pass
35
- `;let C=a.split(`
36
- `),b=/^[A-Za-z_][A-Za-z0-9_]*\s*:\s*.+$/,c=C.map($=>$.trim()).filter($=>!!$).filter($=>!$.startsWith('"""')&&!$.endsWith('"""'));return !c.some($=>b.test($))&&c.length===1?` value: ${c[0]}
37
- `:`${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
+ `),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
+ `:`${p.split(`
38
38
  `).map($=>$.trim()?/^\s/.test($)?$:` ${$}`:$).join(`
39
39
  `)}
40
- `},E=s=>{let a=(s||"").replace(/^\n+/,"").trimEnd();if(!a)return null;let C=a.split(`
41
- `),b=/^[A-Za-z_][A-Za-z0-9_]*\s*:\s*.+$/,c=C.map(m=>m.trim()).filter(m=>!!m).filter(m=>!m.startsWith('"""')&&!m.endsWith('"""'));return !c.some(m=>b.test(m))&&c.length===1?c[0]:null},ee=(s,a,C)=>{let b=E(a);return (C==null?void 0:C.inheritSingleTypeExpression)===true&&!!b?`@dataclass
42
- class ${s}(${b}):
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
43
  pass
44
44
  `:`@dataclass
45
- class ${s}:
46
- ${P(a)}`},M=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(", ")}
47
- `:""},W=(s,a=72)=>{let C=(s||"").replace(/\s+/g," ").trim().split(" ");if(!C[0])return [];let b=[],c="";return C.forEach(g=>{let m=c?`${c} ${g}`:g;m.length>a&&c?(b.push(c),c=g):c=m;}),c&&b.push(c),b},ye=s=>{var c,g;if(!s||(g=(c=e==null?void 0:e.types)==null?void 0:c.doc)!=null&&g.disable)return "";let a=(s.description||"").trim(),C=Object.entries(s.properties||{}).map(([m,$])=>({name:m,desc:(($==null?void 0:$.description)||"").trim()})).filter(m=>m.desc.length>0);if(!a&&C.length===0)return "";let b=[' """'];return a&&W(a).forEach(m=>b.push(` ${m}`)),C.length>0&&(a&&b.push(""),b.push(" Attributes:"),C.forEach(m=>{let $=W(m.desc);$.length&&(b.push(` ${m.name}: ${$[0]}`),$.slice(1).forEach(h=>b.push(` ${h}`)));})),b.push(' """'),`${b.join(`
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(`
48
48
  `)}
49
- `},oe=(s,a)=>{let c="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let g=(a.$ref||"").split("/");g.shift();let $=Fe__default.default(s,g,null);$&&($!=null&&$.name&&($.name),g[g.length-1],c+=oe(s,$));}else c+="";else if(a.anyOf)c+=oe(s,a.anyOf[0]);else if(a.oneOf)c+=oe(s,a.oneOf[0]);else if(a.allOf)c+=`{${a.allOf.map(g=>`...(${oe(s,g)})`).join(",")}}`;else if(a.items)c+=`[${oe(s,a.items)}]`;else if(a.properties){let $=Object.keys(a.properties).map(h=>{var j;return ` "${h}": ${oe(s,(j=a.properties)==null?void 0:j[h])}`}).join(`,
50
- `);$.length>0?c+=`{
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(`,
50
+ `);$.length>0?m+=`{
51
51
  ${$}
52
- }`:c+="{}";}else if(a.enum&&a.enum.length>0)a.enum.length>1&&(c+=a.enum[0]);else if(a.type)if(a.example)c+=JSON.stringify(a.example);else {let g=m=>{let $="";if(typeof m=="string")["string","integer","number","array","boolean","null"].includes(m)?["integer","number"].includes(m)?$+="123":m==="array"?$+="[]":m==="boolean"?$+="true":m==="null"?$+="null":$+=`"${m}"`:m==="object"&&($+="{}");else if(Array.isArray(m)){let h=m.map(j=>g(j));h.filter(j=>j!==""),h.length>1&&($+=h.join("|"));}else $+="any";return $};c=g(a.type);}else c+="any";else c="string";return c},ae=Et(p);if(er__default.default(ae,t))return;Tt(p,t);let ue="",ge="",le={},ke=[],on=(s,a)=>{let C={},b={};Object.keys(s).forEach(g=>{var h;let m=(h=s[g])!=null&&h.schema?s[g].schema:s[g],$=d?`${B(t,m,"",true,{noSharedImport:true,useComponentName:false})}`:`${R(t,m,"",true,{noSharedImport:true,useComponentName:false})}`;if($){let j=g.split("."),Q=C,l=b;for(let z=0;z<j.length;z++){let x=j[z];z<j.length-1?(x in Q||(Q[x]={},l[x]={}),Q=Q[x],l=l[x]):(Q[x]=$,l[x]=m);}}}),Object.keys(C).forEach(g=>{var z,x,v,S,N;let m=L(g),$=C[g],h=s[g],j=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(`
53
- `).filter(J=>J.trim()!=="").join(`
54
- *${" ".repeat(1)}`)),l=ye(j),d?le[g]=((S=le[g])!=null?S:"")+`@dataclass
55
- class ${m}:
56
- `+(l||"")+P(typeof $=="string"?$:"")+`
57
- `:le[g]=((N=le[g])!=null?N:"")+(Q?`/**
58
- ${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}
59
59
  */
60
- `:"")+"export type "+m+" = "+(typeof $=="string"?$:exports.JSONStringify($))+`;
61
- `;});};t.definitions&&on(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];on(a);}});let an=s=>{let a="";if(s.content){let C=Object.keys(s.content);C[0]&&s.content[C[0]].schema&&(a+=d?`${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 c=b.join("."),g=Fe__default.default(t,c);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=[],m=false;if(b.forEach($=>{$.enum&&$.enum.forEach(h=>{h===null?m=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 m&&(h+=".nullable()"),h}else if(a==="yup"){let h=`yup.mixed().oneOf([${$}])`;return m&&(h+=".nullable()"),h}else return m?`Joi.valid(${$}, null)`:`Joi.valid(${$})`}else if(m)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(m=>me(m,a,C+1)).join(", ")})`}if(s.allOf)if(a==="zod"){let b=s.allOf.map(g=>me(g,a,C+1)),c=b[0];for(let g=1;g<b.length;g++)c=`${c}.merge(${b[g]})`;return c}else return me(s.allOf[0],a,C+1);if(s.items){let b=me(s.items,a,C+1);if(a==="zod"){let c=`z.array(${b})`;return s.minItems!==void 0&&(c+=`.min(${s.minItems})`),s.maxItems!==void 0&&(c+=`.max(${s.maxItems})`),c}else if(a==="yup"){let c=`yup.array().of(${b})`;return s.minItems!==void 0&&(c+=`.min(${s.minItems})`),s.maxItems!==void 0&&(c+=`.max(${s.maxItems})`),c}else {let c=`Joi.array().items(${b})`;return s.minItems!==void 0&&(c+=`.min(${s.minItems})`),s.maxItems!==void 0&&(c+=`.max(${s.maxItems})`),c}}if(s.properties){let b=s.required||[],c=" ".repeat(C+1),g=Object.entries(s.properties).map(([m,$])=>{let h=b.includes(m),j=me($,a,C+1);return h||(j+=".optional()"),`${c}${m}: ${j}`}).join(`,
62
- `);return a==="zod"?`z.object({
63
- ${g}
64
- ${" ".repeat(C)}})`:a==="yup"?`yup.object({
65
- ${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}
66
66
  ${" ".repeat(C)}})`:`Joi.object({
67
- ${g}
68
- ${" ".repeat(C)}})`}if(s.enum&&s.enum.length>0){let b=[],c=false;s.enum.forEach(m=>{m===null?c=true:b.includes(m)||b.push(m);});let g=b.map(m=>JSON.stringify(m)).join(", ");if(a==="zod"){let m=`z.enum([${g}])`;return c&&(m+=".nullable()"),m}else if(a==="yup"){let m=`yup.mixed().oneOf([${g}])`;return c&&(m+=".nullable()"),m}else {let m=`Joi.valid(${g})`;return c&&(m+=".allow(null)"),m}}if(s.type){let c=(g=>{switch(g){case "string":if(a==="zod"){let m="z.string()";return s.format==="email"?m+=".email()":s.format==="uuid"?m+=".uuid()":s.format==="url"||s.format==="uri"?m+=".url()":s.format==="date-time"?m+=".datetime()":s.format==="date"&&(m+=".date()"),s.minLength&&(m+=`.min(${s.minLength})`),s.maxLength&&(m+=`.max(${s.maxLength})`),s.pattern&&(m+=`.regex(/${s.pattern}/)`),m}else if(a==="yup"){let m="yup.string()";return s.format==="email"?m+=".email()":(s.format==="url"||s.format==="uri")&&(m+=".url()"),s.minLength&&(m+=`.min(${s.minLength})`),s.maxLength&&(m+=`.max(${s.maxLength})`),s.pattern&&(m+=`.matches(/${s.pattern}/)`),m}else {let m="Joi.string()";return s.format==="email"?m+=".email()":s.format==="url"||s.format==="uri"?m+=".uri()":s.format==="uuid"?m+=".guid({ version: 'uuidv4' })":s.format==="date-time"&&(m+=".isoDate()"),s.minLength&&(m+=`.min(${s.minLength})`),s.maxLength&&(m+=`.max(${s.maxLength})`),s.pattern&&(m+=`.pattern(/${s.pattern}/)`),m}case "integer":case "number":if(a==="zod"){let m="z.number()";return g==="integer"&&(m+=".int()"),s.minimum!==void 0&&(s.exclusiveMinimum?m+=`.gt(${s.minimum})`:m+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?m+=`.lt(${s.maximum})`:m+=`.max(${s.maximum})`),m}else if(a==="yup"){let m="yup.number()";return g==="integer"&&(m+=".integer()"),s.minimum!==void 0&&(m+=`.min(${s.minimum})`),s.maximum!==void 0&&(m+=`.max(${s.maximum})`),m}else {let m="Joi.number()";return g==="integer"&&(m+=".integer()"),s.minimum!==void 0&&(s.exclusiveMinimum?m+=`.greater(${s.minimum})`:m+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?m+=`.less(${s.maximum})`:m+=`.max(${s.maximum})`),m}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"?c+=".nullable()":s.nullable&&a==="joi"&&(c+=".allow(null)"),c}return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"},Bt=s=>{var a,C,b,c,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 m=s;return (g=(c=(b=e==null?void 0:e.endpoints)==null?void 0:b.value)==null?void 0:c.replaceWords)==null||g.forEach(($,h)=>{let j=new RegExp($.replace,"g");m=m.replace(j,$.with||"");}),m}else return s},zt=(s,a,C=[])=>{var g,m;let b=(g=e==null?void 0:e.endpoints)==null?void 0:g.exclude,c=(m=e==null?void 0:e.endpoints)==null?void 0:m.include;if(c){let $=c.tags&&c.tags.length>0?C.some(j=>c.tags.includes(j)):true,h=c.endpoints&&c.endpoints.length>0?c.endpoints.some(j=>{let Q=!j.method||j.method.toLowerCase()===a.toLowerCase();return j.path?s===j.path&&Q:j.regex?new RegExp(j.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 j=!h.method||h.method.toLowerCase()===a.toLowerCase();return h.path?s===h.path&&j:h.regex?new RegExp(h.regex).test(s)&&j:false})))};if(Object.keys(t.paths||{}).forEach(s=>{let a=t.paths[s];Object.keys(a).forEach(b=>{var bn,Cn,In,xn,Tn,En,wn,An,On,vn,Pn,Sn,jn,qn,Rn,kn,Un,Nn,Ln,Fn,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,ft;let c=b,g=exports.getEndpointDetails(s,c),m=((bn=a[c])==null?void 0:bn.tags)||[];if(zt(s,c,m))return;let $=a[c],h=F({method:c,path:s,summary:$==null?void 0:$.summary,operationId:$==null?void 0:$.operationId,tags:m,parameters:$==null?void 0:$.parameters,requestBody:$==null?void 0:$.requestBody,responses:$==null?void 0:$.responses});A[h]||(A[h]={endpoints:"",types:"",validation:""});let j=((In=(Cn=e==null?void 0:e.endpoints)==null?void 0:Cn.value)!=null&&In.includeServer?q:"")+g.pathParts.map(T=>(T[0]==="{"&&T[T.length-1]==="}"?T=`\${${T.replace(/{/,"").replace(/}/,"")}}`:T[0]==="<"&&T[T.length-1]===">"?T=`\${${T.replace(/</,"").replace(/>/,"")}}`:T[0]===":"&&(T=`\${${T.replace(/:/,"")}}`),T)).join("/"),Q=`"${j}"`;g.variables.length>0&&(Q=`(${g.variables.map(I=>`${I}:string`).join(",")})=> \`${j}\``),Q=Bt(Q);let l=a[c],z="",x;if(l!=null&&l.parameters&&((l==null?void 0:l.parameters).forEach((I,w)=>{(I.$ref||I.in==="query"&&I.name)&&(z+=d?`${B(t,I.$ref?I:I.schema,I.name||"",I.required)}`:`${R(t,I.$ref?I:I.schema,I.name||"",I.required)}`);}),z)){z=d?z:`{
69
- ${z}}`;let w=`${g.name}Query`;if((Tn=(xn=e==null?void 0:e.types)==null?void 0:xn.name)!=null&&Tn.useOperationId&&(l!=null&&l.operationId)&&(w=`${l.operationId}Query`),w=exports.capitalize(`${O}${w}`),(wn=(En=e==null?void 0:e.types)==null?void 0:En.name)!=null&&wn.format){let _=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},w);_&&(w=`${O}${_}`);}x=w;let G=d?`${ee(w,z)}
70
- `:`export type ${w} = ${z};
71
- `;e!=null&&e.folderSplit?A[h].types+=G:ge+=G;}if(((An=e==null?void 0:e.validations)==null?void 0:An.disable)!==true&&((vn=(On=e==null?void 0:e.validations)==null?void 0:On.generate)==null?void 0:vn.query)!==false&&(l!=null&&l.parameters)){let T=((Pn=e.validations)==null?void 0:Pn.library)||"zod",w=l.parameters.filter(G=>!G.$ref&&G.in==="query"&&G.name);if(w.length>0){let G=((Sn=e==null?void 0:e.validations)==null?void 0:Sn.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((Rn=(qn=e==null?void 0:e.validations)==null?void 0:qn.name)==null?void 0:Rn.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}`),(Un=(kn=e==null?void 0:e.validations)==null?void 0:kn.name)!=null&&Un.format){let K=e.validations.name.format({code:"",type:"query",method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Z);K&&(Z=`${_}${K}${Y}`);}else if((Ln=(Nn=e==null?void 0:e.types)==null?void 0:Nn.name)!=null&&Ln.format){let K=e.types.name.format("endpoint",{code:"",type:"query",method:c,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,T):T==="joi"?"Joi.string()":T==="yup"?"yup.string()":"z.string()",Jt=K.required?"":".optional()";return ` ${K.name}: ${Ue}${Jt}`}).join(`,
72
- `),H=`export const ${Z} = ${T==="joi"?"Joi.object":T==="yup"?"yup.object":"z.object"}({
73
- ${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}
74
74
  });
75
75
 
76
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=H;}}let v=l==null?void 0:l.requestBody,S="",N;if(v&&(S=an(v),S)){let T=`${g.name}DTO`;if((Gn=(Fn=e==null?void 0:e.types)==null?void 0:Fn.name)!=null&&Gn.useOperationId&&(l!=null&&l.operationId)&&(T=`${l.operationId}DTO`),T=exports.capitalize(`${O}${T}`),(Qn=(Mn=e==null?void 0:e.types)==null?void 0:Mn.name)!=null&&Qn.format){let w=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},T);w&&(T=`${O}${w}`);}N=T;let I=d?`${ee(T,S,{inheritSingleTypeExpression:true})}
77
- `:`export type ${T} = ${S};
78
- `;e!=null&&e.folderSplit?A[h].types+=I:ge+=I;}if(((Bn=e==null?void 0:e.validations)==null?void 0:Bn.disable)!==true&&((Dn=(zn=e==null?void 0:e.validations)==null?void 0:zn.generate)==null?void 0:Dn.dto)!==false&&v){let T=((Wn=e.validations)==null?void 0:Wn.library)||"zod";if(v.content){let I=Object.keys(v.content);if(I[0]&&v.content[I[0]].schema){let w=((Jn=e==null?void 0:e.validations)==null?void 0:Jn.name)||((_n=e==null?void 0:e.types)==null?void 0:_n.name),G=typeof(w==null?void 0:w.prefix)=="string"?w.prefix:"I",_=typeof((Kn=(Hn=e==null?void 0:e.validations)==null?void 0:Hn.name)==null?void 0:Kn.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}${_}`),(Yn=(Vn=e==null?void 0:e.validations)==null?void 0:Vn.name)!=null&&Yn.format){let re=e.validations.name.format({code:"",type:"dto",method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);re&&(Y=`${G}${re}${_}`);}else if((Xn=(Zn=e==null?void 0:e.types)==null?void 0:Zn.name)!=null&&Xn.format){let re=e.types.name.format("endpoint",{code:"",type:"dto",method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);re&&(Y=`${G}${re}${_}`);}let Z=me(v.content[I[0]].schema,T),D=`export const ${Y} = ${Z};
79
-
80
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=D;}}}let k={},J="",Ae="";if(l!=null&&l.responses){let T=l==null?void 0:l.responses;Object.keys(T).forEach(w=>{var G,_,Y,Z;if(J=an(T[w]),k[w]=J,J){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:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},D);K&&(D=`${O}${K}`);}let re=d?`${ee(D,J,{inheritSingleTypeExpression:true})}
81
- `:`export type ${D} = ${J};
82
- `;e!=null&&e.folderSplit?A[h].types+=re:ge+=re,k[w]=D;let H=parseInt(w);H>=200&&H<300&&(Ae=D);}});}let Ie=T=>!T||!T.length?"":T.map(I=>Object.entries(I).map(([G,_])=>{let Y=G,Z="";return Array.isArray(_)&&_.length&&(Z=`
83
- - Scopes: [\`${_.join("`, `")}\`]`,Y=`**${Y}**`),`
84
- - ${Y}${Z}`}).join("")).join(`
85
- `),he=l!=null&&l.security?Ie(l.security):"",$e="";if(!((nt=(et=e==null?void 0:e.endpoints)==null?void 0:et.doc)!=null&&nt.disable)){let T="";if((rt=(tt=e==null?void 0:e.endpoints)==null?void 0:tt.doc)!=null&&rt.showCurl||d){let I={},w="",G="";(st=l.requestBody)!=null&&st.content&&Object.keys(l.requestBody.content).forEach(re=>{let H=l.requestBody.content[re].schema;if(H){Array.isArray(I["Content-type"])?I["Content-type"].push(re):I["Content-type"]=[re];let K=oe(t,H);K&&(w=K);}}),l!=null&&l.security&&l.security.forEach(D=>{Object.keys(D).forEach(re=>{var K,Ue;let H=(Ue=(K=t.components)==null?void 0:K.securitySchemes)==null?void 0:Ue[re];H&&(H.type==="mutualTLS"?G+=`
86
- --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:c.toUpperCase(),headers:_,body:w})||`curl ${q+s} -X ${c.toUpperCase()}`}${G}`;T=d?`
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?`
87
87
  \`\`\`bash
88
- ${Z}
88
+ ${te}
89
89
  \`\`\``:`
90
90
  \`\`\`bash
91
- ${Z}
92
- \`\`\``;}if(d){let I=[];l!=null&&l.description&&I.push(`* ${l.description}`),I.push(`* **Method**: ${c.toUpperCase()}`),I.push(`* **Summary**: ${(l==null?void 0:l.summary)||""}`),I.push(`* **Tags**: [${((ot=l==null?void 0:l.tags)==null?void 0:ot.join(", "))||""}]`),I.push(`* **OperationId**: ${(l==null?void 0:l.operationId)||""}`),z&&(I.push("* **Query**:"),I.push("```python"),z.split(`
93
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),S&&(I.push("* **DTO**:"),I.push("```python"),S.split(`
94
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),J&&(I.push("* **Response**:"),I.push("```python"),Object.entries(k).forEach(([w,G])=>{I.push(`${w}: ${String(G).replace(/\n/g," ")}`);}),I.push("```")),he&&(I.push("* **Security**:"),he.split(`
95
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w.replace(/\*\*/g,"")))),$e=`"""
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=`"""
96
96
  ${I.join(`
97
- `)}${T}
97
+ `)}${A}
98
98
  """
99
- `;}else $e=`/**${l!=null&&l.description?`
100
- * ${l==null?void 0:l.description} `:""}
101
- * **Method**: \`${c.toUpperCase()}\`
102
- * **Summary**: ${(l==null?void 0:l.summary)||""}
103
- * **Tags**: [${((it=l==null?void 0:l.tags)==null?void 0:it.join(", "))||""}]
104
- * **OperationId**: ${(l==null?void 0:l.operationId)||""} ${z?`
105
- * **Query**: ${exports.renderTypeRefMD(z)} `:""}${S?`
106
- * **DTO**: ${exports.renderTypeRefMD(S)} `:""}${J?`
107
- * **Response**: ${Object.entries(k).map(([I,w])=>`
108
- - **${I}**: ${exports.renderTypeRefMD(w,2)} `).join("")}`:""}${he?`
109
- * **Security**: ${he}
110
- `:""}${T}
99
+ `;}else Ie=`/**${u!=null&&u.description?`
100
+ * ${u==null?void 0:u.description} `:""}
101
+ * **Method**: \`${m.toUpperCase()}\`
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}
111
111
  */
112
- `;}let be=(lt=(at=e==null?void 0:e.endpoints)==null?void 0:at.name)!=null&&lt.useOperationId&&((pt=l==null?void 0:l.operationId)==null?void 0:pt.length)>0?l.operationId:`${g.name}`;if((ct=(ut=e==null?void 0:e.endpoints)==null?void 0:ut.name)!=null&&ct.format){let T=e==null?void 0:e.endpoints.name.format({method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},be);T&&(be=T);}let Qe={method:`"${c}"`,operationId:`"${l==null?void 0:l.operationId}"`,url:Q,tags:(l==null?void 0:l.tags)||[]},Dt=`Endpoint(
113
- method="${c}",
114
- operationId="${(l==null?void 0:l.operationId)||""}",
115
- url=${Q},
116
- tags=[${((l==null?void 0:l.tags)||[]).map(T=>`"${T}"`).join(", ")}]
117
- )`,$n=d?`${U}${be} = ${Dt}
118
- ${$e?`${$e}`:""}
119
-
120
- `:`${$e}export const ${U}${be} = ${((dt=(mt=e==null?void 0:e.endpoints)==null?void 0:mt.value)==null?void 0:dt.type)==="object"?exports.JSONStringify(Qe):Q};
121
- `;e!=null&&e.folderSplit?A[h].endpoints+=$n:ue+=$n;let Wt={name:`${U}${be}`,method:c,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId,tags:m,parameters:(ft=l==null?void 0:l.parameters)==null?void 0:ft.filter(T=>!T.$ref&&T.in&&T.name).map(T=>{var I;return {name:T.name,in:T.in,required:T.required,type:((I=T.schema)==null?void 0:I.type)||"string"}}),requestBody:v?{type:S,required:v.required}:void 0,responses:k?Object.entries(k).reduce((T,[I,w])=>(T[I]={type:w},T),{}):void 0,queryType:x,dtoType:N,responseType:Ae||void 0};ke.push(Wt);});}),e!=null&&e.folderSplit){let s=`from dataclasses import dataclass
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(
113
+ method="${m}",
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
122
122
  from typing import List
123
123
 
124
124
  @dataclass
@@ -130,15 +130,15 @@ class Endpoint:
130
130
 
131
131
 
132
132
 
133
- `;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 c=V__default.default.join(Ce,b,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(c),{recursive:true}),yield xe(c,d?`${s}${C.endpoints}`:C.endpoints,e);}if(C.types){let c=V__default.default.join(Ce,b,`types.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(c),{recursive:true});let g=Object.values(le).length>0?d?`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
134
134
  from dataclasses import dataclass
135
135
  from . import shared as Shared
136
- ${M(C.types)}
136
+ ${G(C.types)}
137
137
  ${C.types}`:`import * as Shared from "../shared";
138
138
 
139
- ${C.types}`:C.types;yield xe(c,g,e);}if(((fn=e==null?void 0:e.validations)==null?void 0:fn.disable)!==true&&C.validation&&!d){let c=((yn=e.validations)==null?void 0:yn.library)||"zod",g=c==="joi"?'import Joi from "joi";':c==="yup"?'import * as yup from "yup";':'import { z } from "zod";',m=V__default.default.join(Ce,b,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(m),{recursive:true}),yield xe(m,`${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}
140
140
 
141
- ${C.validation}`,e);}}}if(ue.length>0){let s=`from dataclasses import dataclass
141
+ ${C.validation}`,e);}}}if(de.length>0){let i=`from dataclasses import dataclass
142
142
  from typing import List
143
143
 
144
144
  @dataclass
@@ -150,33 +150,39 @@ class Endpoint:
150
150
 
151
151
 
152
152
 
153
- `,a=V__default.default.join(Ce,f,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield xe(a,d?`${s}${ue}`:ue,e);}if(Object.values(le).length>0){let s=Object.values(le).join(`
154
- `),a=V__default.default.join(Ce,f,e!=null&&e.folderSplit?"":"types",`shared.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield xe(a,(d?`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
155
155
  from dataclasses import dataclass
156
- ${M(s)}
157
- `:"")+s,e);}if(ge.length>0){let s=V__default.default.join(Ce,f,"types",`index.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(s),{recursive:true}),yield xe(s,(Object.values(le).length>0?d?`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
158
158
  from dataclasses import dataclass
159
159
  from . import shared as Shared
160
- ${M(ge)}
160
+ ${G(be)}
161
161
  `:`import * as Shared from "./shared";
162
162
 
163
- `:"")+ge,e);}if(((gn=e==null?void 0:e.validations)==null?void 0:gn.disable)!==true&&!(e!=null&&e.folderSplit)&&!d){let s=((hn=e.validations)==null?void 0:hn.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(Ce,f,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(b),{recursive:true}),yield xe(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}
164
164
 
165
- ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{success:true}}),en=Pt;});var jt,nn,Te,tn,rn,sn,qt=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
166
166
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
167
167
 
168
168
  `,n+=`import type {
169
- `;let u=new Set;return r.forEach(d=>{d.queryType&&u.add(d.queryType),d.dtoType&&u.add(d.dtoType),d.responseType&&u.add(d.responseType);}),u.forEach(d=>{n+=` ${d},
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},
170
170
  `;}),n+=`} from '../types';
171
171
 
172
172
  `,n+=`import {
173
- `,r.forEach(d=>{n+=` ${d.name} as ${d.name}_endpoint,
173
+ `,r.forEach(l=>{n+=` ${l.name} as ${l.name}_endpoint,
174
174
  `;}),n+=`} from '../endpoints';
175
175
 
176
176
  `,n+=`export interface ApiConfig {
177
177
  `,n+=` baseURL?: string;
178
178
  `,n+=` headers?: Record<string, string>;
179
- `,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+=`}
180
186
 
181
187
  `,n+=`let globalConfig: ApiConfig = {
182
188
  `,n+=` baseURL: "${e}",
@@ -186,7 +192,7 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
186
192
  `,n+=` globalConfig = { ...globalConfig, ...config };
187
193
  `,n+=`};
188
194
 
189
- `,(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 {
190
196
  `,n+=` constructor(
191
197
  `,n+=` message: string,
192
198
  `,n+=` public statusCode: number,
@@ -207,12 +213,22 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
207
213
  `,n+=` ...(options.headers as Record<string, string>),
208
214
  `,n+=` };
209
215
 
210
- `,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,
211
227
  `,n+=` headers,
212
228
  `,n+=` });
213
229
 
214
230
  `,n+=` if (!response.ok) {
215
- `,(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(() => ({}));
216
232
  `,n+=` throw new ApiError(
217
233
  `,n+=` errorData.message || response.statusText,
218
234
  `,n+=` response.status,
@@ -223,52 +239,52 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
223
239
  `,n+=` return response.json();
224
240
  `,n+=`}
225
241
 
226
- `,r.forEach(d=>{var B,P;let y=d.name,A=((B=d.parameters)==null?void 0:B.filter(E=>E.in==="path"))||[],F=((P=d.parameters)==null?void 0:P.filter(E=>E.in==="query"))||[],q=A.length>0,O=F.length>0,U=!!d.requestBody,L=d.responseType||"any";if(n+=`/**
227
- `,d.summary&&(n+=` * ${d.summary}
228
- `),n+=` * @method ${d.method.toUpperCase()}
229
- `,n+=` * @path ${d.path}
230
- `,d.tags&&d.tags.length>0&&(n+=` * @tags ${d.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(", ")}
231
247
  `),n+=` */
232
- `,n+=`export async function ${y}(`,(q||O||U)&&(n+=`params: {
248
+ `,n+=`export async function ${g}(`,(q||v||N)&&(n+=`params: {
233
249
  `,q&&(n+=` url: {
234
- `,A.forEach(E=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",W=E.required?"":"?";n+=` ${E.name}${W}: ${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};
235
251
  `;}),n+=` };
236
- `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
237
- `),U&&(n+=` data: ${d.dtoType||"any"};
252
+ `),v&&(n+=` query: ${l.queryType||"Record<string, any>"};
253
+ `),N&&(n+=` data: ${l.dtoType||"any"};
238
254
  `),n+=`}
239
- `),n+=`): Promise<${L}> {
240
- `,q||O||U){let E=[];q&&E.push("url"),O&&E.push("query"),U&&E.push("data"),n+=` const { ${E.join(", ")} } = params;
241
- `;}let R;if(q){let E=A.map(ee=>`url.${ee.name}`).join(", ");R=`${d.name}_endpoint(${E})`;}else R=`${d.name}_endpoint`;O?(n+=` const queryParams = new URLSearchParams();
242
- `,F.forEach(E=>{E.required?n+=` queryParams.append('${E.name}', String(query.${E.name}));
243
- `:(n+=` if (query.${E.name} !== undefined) {
244
- `,n+=` queryParams.append('${E.name}', String(query.${E.name}));
255
+ `),n+=`): Promise<${F}> {
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}));
245
261
  `,n+=` }
246
- `);}),n+=` const _url = \`\${${R}}?\${queryParams.toString()}\`;
247
- `):n+=` const _url = ${R};
248
- `,n+=` return fetchAPI<${L}>(_url, {
249
- `,n+=` method: '${d.method.toUpperCase()}',
250
- `,U&&(n+=` body: JSON.stringify(data),
262
+ `);}),n+=` const _url = \`\${${T}}?\${queryParams.toString()}\`;
263
+ `):n+=` const _url = ${T};
264
+ `,n+=` return fetchAPI<${F}>(_url, {
265
+ `,n+=` method: '${l.method.toUpperCase()}',
266
+ `,N&&(n+=` body: JSON.stringify(data),
251
267
  `),n+=` });
252
268
  `,n+=`}
253
269
 
254
- `;}),p&&(n+=`// Export all functions as a default object
270
+ `;}),o&&(n+=`// Export all functions as a default object
255
271
  `,n+=`const apiClient = {
256
272
  `,n+=` setApiConfig,
257
- `,r.forEach(d=>{n+=` ${d.name},
273
+ `,r.forEach(l=>{n+=` ${l.name},
258
274
  `;}),n+=`};
259
275
 
260
276
  `,n+=`export default apiClient;
261
- `),n},Te=(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
262
278
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
263
279
 
264
280
  `,n+=`import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
265
281
 
266
282
  `,n+=`import type {
267
- `;let u=new Set;return r.forEach(d=>{d.queryType&&u.add(d.queryType),d.dtoType&&u.add(d.dtoType),d.responseType&&u.add(d.responseType);}),u.forEach(d=>{n+=` ${d},
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},
268
284
  `;}),n+=`} from '../types';
269
285
 
270
286
  `,n+=`import {
271
- `,r.forEach(d=>{n+=` ${d.name},
287
+ `,r.forEach(l=>{n+=` ${l.name},
272
288
  `;}),n+=`} from '../endpoints';
273
289
 
274
290
  `,n+=`export interface ApiConfig {
@@ -277,7 +293,7 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
277
293
  `,n+=` timeout?: number;
278
294
  `,n+=`}
279
295
 
280
- `,(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 {
281
297
  `,n+=` constructor(
282
298
  `,n+=` message: string,
283
299
  `,n+=` public statusCode: number,
@@ -305,7 +321,7 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
305
321
  `,n+=` this.client.interceptors.response.use(
306
322
  `,n+=` (response) => response,
307
323
  `,n+=` (error) => {
308
- `,(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;
309
325
  `,n+=` const statusCode = error.response?.status || 500;
310
326
  `,n+=` throw new ApiError(message, statusCode, error.response?.data);
311
327
  `):n+=` return Promise.reject(error);
@@ -317,27 +333,27 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
317
333
  `,n+=` Object.assign(this.client.defaults, config);
318
334
  `,n+=` }
319
335
 
320
- `,r.forEach(d=>{var R,B;let y=d.name,A=((R=d.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],F=((B=d.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=F.length>0,U=!!d.requestBody,L=d.responseType||"any";if(n+=` /**
321
- `,d.summary&&(n+=` * ${d.summary}
322
- `),n+=` * @method ${d.method.toUpperCase()}
323
- `,n+=` * @path ${d.path}
324
- `,d.tags&&d.tags.length>0&&(n+=` * @tags ${d.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(", ")}
325
341
  `),n+=` */
326
- `,n+=` async ${y}(`,(q||O||U)&&(n+=`params: {
342
+ `,n+=` async ${g}(`,(q||v||N)&&(n+=`params: {
327
343
  `,q&&(n+=` url: {
328
- `,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};
329
345
  `;}),n+=` };
330
- `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
331
- `),U&&(n+=` data: ${d.dtoType||"any"};
332
- `),n+=" }"),n+=`): Promise<${L}> {
333
- `,q||O||U){let P=[];q&&P.push("url"),O&&P.push("query"),U&&P.push("data"),n+=` const { ${P.join(", ")} } = params;
334
- `;}if(q){let P=A.map(E=>`url.${E.name}`).join(", ");n+=` const _url = ${d.name}(${P});
335
- `;}else n+=` const _url = ${d.name};
346
+ `),v&&(n+=` query: ${l.queryType||"Record<string, any>"};
347
+ `),N&&(n+=` data: ${l.dtoType||"any"};
348
+ `),n+=" }"),n+=`): Promise<${F}> {
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};
336
352
  `;n+=` const config: AxiosRequestConfig = {};
337
- `,O&&(n+=` config.params = { ...query };
338
- `),n+=` const response = await this.client.${d.method.toLowerCase()}<${L}>(
353
+ `,v&&(n+=` config.params = { ...query };
354
+ `),n+=` const response = await this.client.${l.method.toLowerCase()}<${F}>(
339
355
  `,n+=` _url,
340
- `,U?n+=` data,
356
+ `,N?n+=` data,
341
357
  config
342
358
  `:n+=` config
343
359
  `,n+=` );
@@ -346,110 +362,110 @@ ${C}`,e);}}return At(p,ke),console.info(`\u2705 Successfully synced ${p}`),{succ
346
362
 
347
363
  `;}),n+=`}
348
364
 
349
- `,p?n+=`export default ApiClient;
365
+ `,o?n+=`export default ApiClient;
350
366
  `:(n+=`export const apiClient = new ApiClient();
351
367
  `,n+=`export default apiClient;
352
- `),n},tn=(r,o)=>{var f,d;let p=((f=o.reactQuery)==null?void 0:f.version)||5,e=((d=o.reactQuery)==null?void 0:d.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
353
369
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
354
370
 
355
- `;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';
356
372
  `:`import { useQuery, UseQueryOptions } from '@tanstack/react-query';
357
- `;i&&(y=y.replace("@tanstack/react-query';\\n",`@tanstack/react-query';
373
+ `;s&&(g=g.replace("@tanstack/react-query';\\n",`@tanstack/react-query';
358
374
  import { useInfiniteQuery, UseInfiniteQueryOptions } from '@tanstack/react-query';
359
- `)),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';
360
376
  `:`import { useQuery, UseQueryOptions } from 'react-query';
361
- `;i&&(y=y.replace("react-query';\\n",`react-query';
377
+ `;s&&(g=g.replace("react-query';\\n",`react-query';
362
378
  import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
363
- `)),n+=y;}n+=`
379
+ `)),n+=g;}n+=`
364
380
  `,n+=`import apiClient from './client';
365
381
  `,n+=`import type {
366
- `;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},
367
383
  `;}),n+=`} from '../types';
368
384
 
369
- `,r.forEach(y=>{var E,ee;let A=y.method.toUpperCase(),F=A==="GET",q=["POST","PUT","PATCH","DELETE"].includes(A),O=((E=y.parameters)==null?void 0:E.filter(M=>M.in==="path"))||[],U=((ee=y.parameters)==null?void 0:ee.filter(M=>M.in==="query"))||[],L=O.length>0,R=U.length>0,B=!!y.requestBody,P=y.responseType||"any";if(F){let M=U.map(ae=>ae.name.toLowerCase()),ye=(M.includes("page")||M.includes("cursor")||M.includes("cursorid")||M.includes("after")||M.includes("before"))&&i,oe=`use${y.name.charAt(0).toUpperCase()+y.name.slice(1)}`;if(n+=`/**
370
- `,y.summary&&(n+=` * ${y.summary}
371
- `),n+=` * @method ${A}
372
- `,n+=` * @path ${y.path}
373
- `,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(", ")}
374
390
  `),n+=` */
375
- `,L||R?(n+=`export function ${oe}(
391
+ `,F||T?(n+=`export function ${ie}(
376
392
  `,n+=` params: {
377
- `,L&&(n+=` url: {
378
- `,O.forEach(ae=>{let ge={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ae.type||"string"]||"any",le=ae.required?"":"?";n+=` ${ae.name}${le}: ${ge};
393
+ `,F&&(n+=` url: {
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};
379
395
  `;}),n+=` };
380
- `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
396
+ `),T&&(n+=` query: ${g.queryType||"Record<string, any>"};
381
397
  `),n+=` },
382
- `,n+=` options?: Omit<UseQueryOptions<${P}>, 'queryKey' | 'queryFn'>
398
+ `,n+=` options?: Omit<UseQueryOptions<${S}>, 'queryKey' | 'queryFn'>
383
399
  `,n+=`) {
384
400
  `,n+=` return useQuery({
385
- `,n+=` queryKey: ['${y.name}', params],
386
- `,n+=` queryFn: () => apiClient.${y.name}(params),
401
+ `,n+=` queryKey: ['${g.name}', params],
402
+ `,n+=` queryFn: () => apiClient.${g.name}(params),
387
403
  `,n+=` ...options,
388
404
  `,n+=` });
389
405
  `,n+=`}
390
406
 
391
- `):(n+=`export function ${oe}(
392
- `,n+=` options?: Omit<UseQueryOptions<${P}>, 'queryKey' | 'queryFn'>
407
+ `):(n+=`export function ${ie}(
408
+ `,n+=` options?: Omit<UseQueryOptions<${S}>, 'queryKey' | 'queryFn'>
393
409
  `,n+=`) {
394
410
  `,n+=` return useQuery({
395
- `,n+=` queryKey: ['${y.name}'],
396
- `,n+=` queryFn: () => apiClient.${y.name}(),
411
+ `,n+=` queryKey: ['${g.name}'],
412
+ `,n+=` queryFn: () => apiClient.${g.name}(),
397
413
  `,n+=` ...options,
398
414
  `,n+=` });
399
415
  `,n+=`}
400
416
 
401
- `),ye){let ae=`${oe}Infinite`;L||R?(n+=`export function ${ae}(
417
+ `),ce){let ae=`${ie}Infinite`;F||T?(n+=`export function ${ae}(
402
418
  `,n+=` params: {
403
- `,L&&(n+=` url: {
404
- `,O.forEach(ue=>{let le={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ue.type||"string"]||"any",ke=ue.required?"":"?";n+=` ${ue.name}${ke}: ${le};
419
+ `,F&&(n+=` url: {
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};
405
421
  `;}),n+=` };
406
- `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
422
+ `),T&&(n+=` query: ${g.queryType||"Record<string, any>"};
407
423
  `),n+=` },
408
- `,n+=` options?: Omit<UseInfiniteQueryOptions<${P}, Error, ${P}>, 'queryKey' | 'queryFn'>
424
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${S}, Error, ${S}>, 'queryKey' | 'queryFn'>
409
425
  `,n+=`) {
410
426
  `,n+=` return useInfiniteQuery({
411
- `,n+=` queryKey: ['${y.name}', params],
412
- `,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 } }),
413
429
  `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
414
430
  `,n+=` ...options,
415
431
  `,n+=` });
416
432
  `,n+=`}
417
433
 
418
434
  `):(n+=`export function ${ae}(
419
- `,n+=` options?: Omit<UseInfiniteQueryOptions<${P}, Error, ${P}>, 'queryKey' | 'queryFn'>
435
+ `,n+=` options?: Omit<UseInfiniteQueryOptions<${S}, Error, ${S}>, 'queryKey' | 'queryFn'>
420
436
  `,n+=`) {
421
437
  `,n+=` return useInfiniteQuery({
422
- `,n+=` queryKey: ['${y.name}'],
423
- `,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 } }),
424
440
  `,n+=` getNextPageParam: (lastPage) => lastPage?.nextPage ?? lastPage?.nextCursor ?? null,
425
441
  `,n+=` ...options,
426
442
  `,n+=` });
427
443
  `,n+=`}
428
444
 
429
- `);}}else if(q&&e){let M=`use${y.name.charAt(0).toUpperCase()+y.name.slice(1)}`;n+=`/**
430
- `,y.summary&&(n+=` * ${y.summary}
431
- `),n+=` * @method ${A}
432
- `,n+=` * @path ${y.path}
433
- `,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(", ")}
434
450
  `),n+=` */
435
- `;let W="void";(L||R||B)&&(W=`{
436
- `,L&&(W+=` url: {
437
- `,O.forEach(ye=>{let ae={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[ye.type||"string"]||"any",ue=ye.required?"":"?";W+=` ${ye.name}${ue}: ${ae};
438
- `;}),W+=` };
439
- `),R&&(W+=` query: ${y.queryType||"Record<string, any>"};
440
- `),B&&(W+=` data: ${y.dtoType||"any"};
441
- `),W+=" }"),n+=`export function ${M}(
442
- `,n+=` options?: Omit<UseMutationOptions<${P}, Error, ${W}>, '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'>
443
459
  `,n+=`) {
444
460
  `,n+=` return useMutation({
445
- `,n+=" mutationFn: (",W!=="void"&&(n+=`variables: ${W}`),n+=`) => {
446
- `,n+=` return apiClient.${y.name}(${W!=="void"?"variables":""});
461
+ `,n+=" mutationFn: (",Q!=="void"&&(n+=`variables: ${Q}`),n+=`) => {
462
+ `,n+=` return apiClient.${g.name}(${Q!=="void"?"variables":""});
447
463
  `,n+=` },
448
464
  `,n+=` ...options,
449
465
  `,n+=` });
450
466
  `,n+=`}
451
467
 
452
- `;}}),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
453
469
  `;e+=`// This file was auto-generated. Add custom code in the marked sections.
454
470
 
455
471
  `,e+=`/**
@@ -644,35 +660,35 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
644
660
  `,e+=` */
645
661
 
646
662
  `,e+=`import useSWR, { SWRConfiguration } from 'swr';
647
- `,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';
648
664
  `),e+=`
649
665
  `,e+=`import apiClient from './client';
650
666
  `,e+=`import type {
651
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},
652
668
  `;}),e+=`} from '../types';
653
669
 
654
- `,r.forEach(t=>{var R,B;let f=t.method.toUpperCase(),d=f==="GET",y=["POST","PUT","PATCH","DELETE"].includes(f),A=((R=t.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],F=((B=t.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=F.length>0,U=!!t.requestBody,L=t.responseType||"any";if(d){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+=`/**
655
671
  `,t.summary&&(e+=` * ${t.summary}
656
- `),e+=` * @method ${f}
672
+ `),e+=` * @method ${d}
657
673
  `,e+=` * @path ${t.path}
658
674
  `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
659
675
  `),e+=` */
660
- `,q||O?(e+=`export function ${P}(
676
+ `,q||v?(e+=`export function ${S}(
661
677
  `,e+=` params: {
662
678
  `,q&&(e+=` url: {
663
- `,A.forEach(E=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",W=E.required?"":"?";e+=` ${E.name}${W}: ${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};
664
680
  `;}),e+=` };
665
- `),O&&(e+=` query: ${t.queryType||"Record<string, any>"};
681
+ `),v&&(e+=` query: ${t.queryType||"Record<string, any>"};
666
682
  `),e+=` },
667
- `,e+=` config?: SWRConfiguration<${L}>
683
+ `,e+=` config?: SWRConfiguration<${F}>
668
684
  `,e+=`) {
669
685
  `,e+=` return useSWR(
670
686
  `,e+=` ['${t.name}', params],
671
687
  `,e+=` () => apiClient.${t.name}(params),
672
688
  `,e+=` config
673
689
  `,e+=` );
674
- `):(e+=`export function ${P}(
675
- `,e+=` config?: SWRConfiguration<${L}>
690
+ `):(e+=`export function ${S}(
691
+ `,e+=` config?: SWRConfiguration<${F}>
676
692
  `,e+=`) {
677
693
  `,e+=` return useSWR(
678
694
  `,e+=` '${t.name}',
@@ -681,189 +697,214 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
681
697
  `,e+=` );
682
698
  `),e+=`}
683
699
 
684
- `;}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+=`/**
685
701
  `,t.summary&&(e+=` * ${t.summary}
686
- `),e+=` * @method ${f}
702
+ `),e+=` * @method ${d}
687
703
  `,e+=` * @path ${t.path}
688
704
  `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
689
705
  `),e+=` */
690
- `;let E="void",ee="void";(q||O||U)&&(E=`{
691
- `,q&&(E+=` url: {
692
- `,A.forEach(M=>{let ye={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[M.type||"string"]||"any",oe=M.required?"":"?";E+=` ${M.name}${oe}: ${ye};
693
- `;}),E+=` };
694
- `),O&&(E+=` query: ${t.queryType||"Record<string, any>"};
695
- `),U&&(E+=` data: ${t.dtoType||"any"};
696
- `),E+=" }",ee=`{ arg: ${E} }`),e+=`export function ${P}(
697
- `,e+=` config?: SWRMutationConfiguration<${L}, Error, string, ${E}>
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}>
698
714
  `,e+=`) {
699
715
  `,e+=` return useSWRMutation(
700
716
  `,e+=` '${t.name}',
701
- `,e+=" async (_, ",E!=="void"&&(e+=`{ arg }: ${ee}`),e+=`) => {
702
- `,e+=` return apiClient.${t.name}(${E!=="void"?"arg":""});
717
+ `,e+=" async (_, ",w!=="void"&&(e+=`{ arg }: ${H}`),e+=`) => {
718
+ `,e+=` return apiClient.${t.name}(${w!=="void"?"arg":""});
703
719
  `,e+=` },
704
720
  `,e+=` config
705
721
  `,e+=` );
706
722
  `,e+=`}
707
723
 
708
- `;}}),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
709
- `;i+=`// This file was auto-generated. Add custom code in the marked sections.
710
-
711
- `,i+=`import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
712
-
713
- `,i+=`import type {
714
- `;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},
715
- `;}),i+=`} from '../types';
716
-
717
- `,i+=`import {
718
- `,r.forEach(t=>{i+=` ${t.name},
719
- `;}),i+=`} from '../endpoints';
720
-
721
- `,i+=`const ${p}Api = createApi({
722
- `,i+=` reducerPath: '${p}Api',
723
- `,i+=` baseQuery: fetchBaseQuery({
724
- `,i+=` baseUrl: '${e}',
725
- `,o.auth&&(i+=` prepareHeaders: (headers, { getState }) => {
726
- `,i+=` // Get token from your auth state
727
- `,i+=` // const token = (getState() as RootState).auth.token;
728
- `,i+=` // if (token) {
729
- `,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);
730
- `),i+=` // }
731
- `,i+=` return headers;
732
- `,i+=` },
733
- `),i+=` }),
734
- `,i+=` tagTypes: [${[...new Set(r.flatMap(t=>t.tags||[]))].map(t=>`'${t}'`).join(", ")}],
735
- `,i+=` endpoints: (builder) => ({
736
- `,r.forEach((t,f)=>{var B,P;let d=t.method.toUpperCase(),y=d==="GET",A=((B=t.parameters)==null?void 0:B.filter(E=>E.in==="path"))||[],F=((P=t.parameters)==null?void 0:P.filter(E=>E.in==="query"))||[],q=A.length>0,O=F.length>0,U=!!t.requestBody,L=t.responseType||"any";i+=` ${t.name}: builder.${y?"query":"mutation"}<
737
- `,i+=` ${L},
738
- `;let R="void";if((q||O||U)&&(R=`{
739
- `,q&&(R+=` url: {
740
- `,A.forEach(E=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[E.type||"string"]||"any",W=E.required?"":"?";R+=` ${E.name}${W}: ${M};
741
- `;}),R+=` };
742
- `),O&&(R+=` query: ${t.queryType||"Record<string, any>"};
743
- `),U&&(R+=` data: ${t.dtoType||"any"};
744
- `),R+=" }"),i+=` ${R}
745
- `,i+=` >({
746
- `,i+=" query: (",R!=="void"&&(i+="arg"),i+=`) => {
747
- `,q){let E=A.map(ee=>`arg.url.${ee.name}`).join(", ");i+=` const url = ${t.name}(${E});
748
- `;}else i+=` const url = ${t.name};
749
- `;i+=` return {
750
- `,i+=` url,
751
- `,i+=` method: '${d}',
752
- `,O&&(i+=` params: arg.query,
753
- `),U&&(i+=` body: arg.data,
754
- `),i+=` };
755
- `,i+=` },
756
- `,t.tags&&t.tags.length>0&&(y?i+=` providesTags: ['${t.tags[0]}'],
757
- `:i+=` invalidatesTags: ['${t.tags[0]}'],
758
- `),i+=` })${f<r.length-1?",":""}
759
- `;}),i+=` }),
760
- `,i+=`});
761
-
762
- `,i+=`export default ${p}Api;
763
-
764
- `,i};});var ir,Rt,te,ar,lr,kt=de(()=>{qt();Ne();ir=(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"},Rt=(r,o,p,e,i)=>se(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=ir(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 ar(O,o,p,U,u,q,true);}let F=V__default.default.join(i,e);yield lr(F,A,u,o);return}let d=V__default.default.join(i,e);switch(yield ce__default.default.promises.mkdir(d,{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(d,"clients.ts"),y,o);break;case "axios":let A=Te(n,p,false);A=A.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(d,"clients.ts"),A,o);break;case "react-query":let F=Te(n,p,false);F=F.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(d,"clients.ts"),F,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(d,"hooks.ts"),q,o);break;case "swr":let O=Te(n,p,false);O=O.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(d,"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(d,"hooks.ts"),U,o);break;case "rtk-query":let L=sn(n,p);L=L.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(d,"api.ts"),L,o);break;default:throw new Error(`Unknown client type: ${u}`)}}),te=(r,o,p)=>se(null,null,function*(){var u,t,f,d;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:(d=p==null?void 0:p.customCode)==null?void 0:d.includeInstructions});yield ce__default.default.promises.writeFile(r,n);}),ar=(r,o,p,e,i,n,u=false)=>se(null,null,function*(){let t="",f="",d=u?"./types":"../types",y=u?"./endpoints":"../endpoints";switch(i){case "fetch":t=nn(r,p,u),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "axios":t=Te(r,p,u),t=t.replace("} from '../types';",`} from '${d}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "react-query":if(t=Te(r,p,u),t=t.replace("} from '../types';",`} from '${d}';`).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 '${d}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let F=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${F}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "swr":if(t=Te(r,p,u),t=t.replace("} from '../types';",`} from '${d}';`).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 '${d}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let F=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${F}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "rtk-query":let A=u?ie(X({},p),{rtkQuery:ie(X({},p.rtkQuery),{apiName:n.replace(/-/g,"_")})}):p;f=sn(r,A),f=f.replace("} from '../types';",`} from '${d}';`).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}`)}}),lr=(r,o,p,e)=>se(null,null,function*(){var n;if(p==="rtk-query"){let u=`// Generated RTK Query APIs
765
- `;u+=`// This file was auto-generated.
766
- `,u+=`// Aggregates all API slices for easy Redux store setup
767
-
768
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=`import ${f}Api from './${t}/api';
769
- `;}),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+=`
770
786
  // Export all API slices
771
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=`export { default as ${f}Api } from './${t}/api';
772
- `;}),u+=`
787
+ `,a.forEach(t=>{let d=t.replace(/-/g,"_");c+=`export { default as ${d}Api } from './${t}/api';
788
+ `;}),c+=`
773
789
  /**
774
- `,u+=` * Configure Redux store with all API slices
775
- `,u+=` *
776
- `,u+=` * @example
777
- `,u+=` * import { configureStore } from '@reduxjs/toolkit';
778
- `,u+=` * import { setupApiStore } from './apis';
779
- `,u+=` *
780
- `,u+=` * export const store = configureStore({
781
- `,u+=` * reducer: setupApiStore.reducer,
782
- `,u+=` * middleware: (getDefaultMiddleware) =>
783
- `,u+=` * getDefaultMiddleware().concat(setupApiStore.middleware),
784
- `,u+=` * });
785
- `,u+=` */
786
- `,u+=`export const setupApiStore = {
787
- `,u+=` reducer: {
788
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=` [${f}Api.reducerPath]: ${f}Api.reducer,
789
- `;}),u+=` },
790
- `,u+=` middleware: [
791
- `,o.forEach(t=>{let f=t.replace(/-/g,"_");u+=` ${f}Api.middleware,
792
- `;}),u+=` ],
793
- `,u+=`};
794
- `,yield te(V__default.default.join(r,"apis.ts"),u,e);return}let i=`// Generated API Clients
795
- `;if(i+=`// This file was auto-generated.
796
- `,i+=`// Centralized client instances and configuration
797
-
798
- `,p==="fetch"?o.forEach(u=>{let t=u.replace(/-/g,"_");i+=`export { default as ${t}Client } from './${u}/client';
799
- `;}):(o.forEach(u=>{let t=u.replace(/-/g,"_"),f=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;i+=`import ${f} from './${u}/client';
800
- `;}),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+=`
801
817
  // Create client instances
802
- `,o.forEach(u=>{let t=u.replace(/-/g,"_"),f=`${t.charAt(0).toUpperCase()+t.slice(1)}ApiClient`;i+=`export const ${t}Client = new ${f}();
803
- `;})),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+=`
804
820
  // Import clients for aggregation
805
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=`import ${t}_client from './${u}/client';
806
- `;})),i+=`
821
+ `,a.forEach(c=>{let t=c.replace(/-/g,"_");s+=`import ${t}_client from './${c}/client';
822
+ `;})),s+=`
807
823
  // Aggregate all client instances
808
- `,i+=`export const clients = {
809
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");p==="fetch"?i+=` ${t}: ${t}_client,
810
- `:i+=` ${t}: ${t}Client,
811
- `;}),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+=`};
812
828
 
813
- `,p==="axios"?(i+=`
829
+ `,o==="axios"?(s+=`
814
830
  /**
815
- `,i+=` * Configure all API clients at once
816
- `,i+=` * @param config - Configuration to apply to all clients
817
- `,i+=` */
818
- `,i+=`export const configureAllClients = (config: {
819
- `,i+=` baseURL?: string;
820
- `,i+=` headers?: Record<string, string>;
821
- `,i+=` timeout?: number;
822
- `,i+=`}) => {
823
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=` ${t}Client.updateConfig(config);
824
- `;}),i+=`};
825
-
826
- `):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+=`
827
843
  /**
828
- `,i+=` * Configure all API clients at once
829
- `,i+=` * @param config - Configuration to apply to all clients
830
- `,i+=` */
831
- `,i+=`export const configureAllClients = (config: {
832
- `,i+=` baseURL?: string;
833
- `,i+=` headers?: Record<string, string>;
834
- `,i+=` auth?: { token?: string };
835
- `,i+=`}) => {
836
- `,o.forEach(u=>{let t=u.replace(/-/g,"_");i+=` ${t}_client.setApiConfig(config);
837
- `;}),i+=`};
838
-
839
- `),i+=`// Example usage:
840
- `,i+=`// import { configureAllClients, clients } from './clients';
841
- `,i+=`//
842
- `,i+=`// // Configure all clients at once
843
- `,i+=`// configureAllClients({
844
- `,i+=`// baseURL: 'https://api.example.com',
845
- `,i+=`// timeout: 10000,
846
- `,i+=`// });
847
- `,i+=`//
848
- `,i+=`// // Use specific client
849
- `,i+=`// const data = await clients.${(n=o[0])==null?void 0:n.replace(/-/g,"_")}.someMethod(...);
850
- `,yield te(V__default.default.join(r,"clients.ts"),i,e),p==="react-query"||p==="swr"){let u=`// Generated Hooks Aggregator
851
- `;u+=`// This file was auto-generated.
852
- `,u+=`// Aggregates all folder-split hooks
853
-
854
- `,o.forEach(t=>{u+=`export * from './${t}/hooks';
855
- `;}),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+=`
856
872
  // Example usage:
857
- `,u+=`// import { useGetSomething } from './hooks';
858
- `,yield te(V__default.default.join(r,"hooks.ts"),u,e);}});});var Ut=de(()=>{});var Lt={};$t(Lt,{interactiveInit:()=>pr});function pr(){return se(this,null,function*(){try{let r=yield Nt__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 d=process.cwd();if(!t.startsWith(d))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";
859
-
860
- 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)};
861
887
 
862
888
  export default config;
863
- `):(e="openapi.sync.js",p=`module.exports = ${JSON.stringify(o,null,2)};
864
- `);let i=V__default.default.join(process.cwd(),e);if(ce__default.default.existsSync(i)&&!(yield Nt__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,`
865
891
  # OpenAPI Sync generated files
866
892
  ${r.outputFolder}
867
- `)),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(()=>(Mt(),Gt));yield t({refetchInterval:r.refetchInterval}),r.generateClient&&r.clientType&&(yield f({type:r.clientType,apiName:r.apiName}));}catch(t){console.error(`
868
- \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(`
869
- \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 Gt={};$t(Gt,{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:()=>Zt,isJson:()=>exports.isJson,isYamlString:()=>exports.isYamlString,mergeCustomCode:()=>exports.mergeCustomCode,renderTypeRefMD:()=>exports.renderTypeRefMD,variableName:()=>exports.variableName,variableNameChar:()=>exports.variableNameChar,yamlStringToJson:()=>exports.yamlStringToJson});var Me,Qt;exports.Init=void 0;exports.GenerateClient=void 0;exports.InteractiveInit=void 0;var Mt=de(()=>{St();Ye();Ze();kt();Ut();Ne();ze();Me=process.cwd(),Qt=()=>{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=>se(null,null,function*(){let o=Qt(),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=>se(null,null,function*(){let o=Qt(),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=Ot(i);if(n.length===0){continue}`${n.length}${i}`;let u=X(X(X(X(ie(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 Rt(n,o,u,i,V__default.default.join(Me,e));}}),exports.InteractiveInit=()=>se(null,null,function*(){let{interactiveInit:r}=yield Promise.resolve().then(()=>(Ft(),Lt));yield r();});});Mt();exports.getNestedValue=Zt;
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;