openapi-sync 5.0.6 → 5.0.7

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,4 +1,4 @@
1
- 'use strict';var Pe=require('js-yaml'),V=require('path'),ce=require('fs'),Xt=require('lodash.isequal'),Le=require('lodash.get'),er=require('axios'),nr=require('axios-retry'),tr=require('@apidevtools/swagger-parser'),curlGenerator=require('curl-generator'),Ut=require('prompts');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Pe__namespace=/*#__PURE__*/_interopNamespace(Pe);var V__default=/*#__PURE__*/_interopDefault(V);var ce__default=/*#__PURE__*/_interopDefault(ce);var Xt__default=/*#__PURE__*/_interopDefault(Xt);var Le__default=/*#__PURE__*/_interopDefault(Le);var er__default=/*#__PURE__*/_interopDefault(er);var nr__default=/*#__PURE__*/_interopDefault(nr);var tr__default=/*#__PURE__*/_interopDefault(tr);var Ut__default=/*#__PURE__*/_interopDefault(Ut);var gt=Object.defineProperty,Jt=Object.defineProperties;var _t=Object.getOwnPropertyDescriptors;var ft=Object.getOwnPropertySymbols;var Ht=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable;var yt=(r,o,p)=>o in r?gt(r,o,{enumerable:true,configurable:true,writable:true,value:p}):r[o]=p,X=(r,o)=>{for(var p in o||(o={}))Ht.call(o,p)&&yt(r,p,o[p]);if(ft)for(var p of ft(o))Kt.call(o,p)&&yt(r,p,o[p]);return r},ae=(r,o)=>Jt(r,_t(o));var ve=(r=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(r,{get:(o,p)=>(typeof require!="undefined"?require:o)[p]}):r)(function(r){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var de=(r,o)=>()=>(r&&(o=r(r=0)),o);var ht=(r,o)=>{for(var p in o)gt(r,p,{get:o[p],enumerable:true});};var ie=(r,o,p)=>new Promise((e,i)=>{var n=f=>{try{t(p.next(f));}catch(c){i(c);}},u=f=>{try{t(p.throw(f));}catch(c){i(c);}},t=f=>f.done?e(f.value):Promise.resolve(f.value).then(n,u);t((p=p.apply(r,o)).next());});exports.variableName=void 0;exports.variableNameChar=void 0;var ze=de(()=>{exports.variableName=/^[A-Za-z_$][A-Za-z0-9_$]*$/,exports.variableNameChar=/[A-Za-z0-9_$]/;});function Yt(r,o){return o.split(".").reduce((e,i)=>e&&e[i]!==void 0?e[i]:void 0,r)}exports.isJson=void 0;exports.isYamlString=void 0;exports.yamlStringToJson=void 0;exports.capitalize=void 0;exports.getEndpointDetails=void 0;exports.JSONStringify=void 0;exports.renderTypeRefMD=void 0;exports.extractCustomCode=void 0;exports.createCustomCodeMarker=void 0;var $t;exports.mergeCustomCode=void 0;var Ne=de(()=>{ze();exports.isJson=r=>["object"].includes(typeof r)&&!(r instanceof Blob),exports.isYamlString=r=>{try{return Pe__namespace.load(r),!0}catch(o){let p=o;if(p instanceof Pe__namespace.YAMLException)return false;throw p}},exports.yamlStringToJson=r=>{if(exports.isYamlString(r)){let o=Pe__namespace.load(r),p=JSON.stringify(o,null,2);return JSON.parse(p)}},exports.capitalize=r=>r.substring(0,1).toUpperCase()+r.substring(1),exports.getEndpointDetails=(r,o)=>{let p=r.split("/"),e=`${exports.capitalize(o)}`,i=[];return p.forEach(n=>{if(n[0]==="{"&&n[n.length-1]==="}"){let t=n.replace(/{/,"").replace(/}/,"");i.push(t),n=`$${t}`;}else if(n[0]==="<"&&n[n.length-1]===">"){let t=n.replace(/</,"").replace(/>/,"");i.push(t),n=`$${t}`;}else if(n[0]===":"){let t=n.replace(/:/,"");i.push(t),n=`$${t}`;}let u="";n.split("").forEach(t=>{let f=t;exports.variableNameChar.test(t)||(f="/"),u+=f;}),u.split("/").forEach(t=>{e+=exports.capitalize(t);});}),{name:e,variables:i,pathParts:p}},exports.JSONStringify=(r,o=1)=>{let p="{",e=Object.keys(r);for(let i=0;i<e.length;i++){let n=e[i],u=r[n];if(p+=`
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
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(`
3
3
  `).filter(t=>t.trim()!=="").join(`
4
4
  ${" ".repeat(o)}`);i<e.length-1&&(p+=", ");}return p+=`
@@ -9,112 +9,116 @@ ${" ".repeat(o-1)}}`,p},exports.renderTypeRefMD=(r,o=1)=>{let p=r.replace(/\/
9
9
  ${" ".repeat(o)} ${p.split(`
10
10
  `).filter(e=>e.trim()!=="").join(`
11
11
  ${" ".repeat(o)} `)}
12
- \`\`\``};exports.extractCustomCode=(r,o="CUSTOM CODE")=>{let e=["//","#"].map(t=>({start:`${t} \u{1F512} ${o} START`,end:`${t} \u{1F512} ${o} END`})),i={beforeGenerated:"",afterGenerated:""},n=0,u=[];for(;n<r.length;){let t=null,f=-1;for(let P of e){let T=r.indexOf(P.start,n);T!==-1&&(f===-1||T<f)&&(f=T,t=P);}if(f===-1||!t)break;let c=r.indexOf(t.end,f);if(c===-1)break;let y=c+t.end.length,A=r.substring(y,y+100),L=A.match(/^\s*\n\s*((?:\/\/|#)\s*=+)/);if(L){let P=A.indexOf(`
13
- `,L.index+1);P!==-1?y+=P+1:y+=L[0].length;}let q=f,O=r.substring(Math.max(0,f-200),f),U=/(^|\n)\s*(?:\/\/|#)\s*=+/g,F,R=-1;for(;(F=U.exec(O))!==null;)R=F.index+F[1].length;R!==-1&&(q=Math.max(0,f-200)+R);let B=r.substring(q,y);u.push({start:q,end:y,content:B}),n=y;}return u.length>0&&(r.substring(0,u[0].start).split(`
14
- `).filter(c=>{let y=c.trim();return y.length>0&&!y.startsWith("//")&&!y.startsWith("#")}).join("").length===0?(i.beforeGenerated=u[0].content,u.length>1&&(i.afterGenerated=u[1].content)):(i.afterGenerated=u[0].content,u.length>1&&!i.beforeGenerated&&(i.beforeGenerated=u[1].content))),i},exports.createCustomCodeMarker=(r,o="CUSTOM CODE",p=true,e="//")=>{let i=p?`${e} ${r==="top"?"Add your custom code below this line":"Add your custom code above this line"}
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"}
15
15
  ${e} This section will be preserved during regeneration
16
16
  `:"";return `${e} ${"=".repeat(60)}
17
17
  ${e} \u{1F512} ${o} START
18
18
  ${i}${e} ${"=".repeat(60)}
19
19
 
20
20
  ${e} \u{1F512} ${o} END
21
- ${e} ${"=".repeat(60)}`},$t=(r,o,p)=>{if(!r)return r;let e=new RegExp(`^\\s*//\\s*(?:={3,}|\u{1F512}\\s+${o}\\s+(?:START|END)|Add your custom code (?:below|above) this line|This section will be preserved during regeneration)\\s*$`);return r.split(`
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
22
  `).map(i=>e.test(i)?i.replace(/^\s*\/\//,p):i).join(`
23
- `)},exports.mergeCustomCode=(r,o,p={})=>{let{position:e="bottom",markerText:i="CUSTOM CODE",includeInstructions:n=true,commentPrefix:u="//"}=p,t={beforeGenerated:"",afterGenerated:""};o&&(t=exports.extractCustomCode(o,i),t.beforeGenerated=$t(t.beforeGenerated,i,u),t.afterGenerated=$t(t.afterGenerated,i,u)),!t.beforeGenerated&&!t.afterGenerated&&((e==="top"||e==="both")&&(t.beforeGenerated=exports.createCustomCodeMarker("top",i,n,u)),(e==="bottom"||e==="both")&&(t.afterGenerated=exports.createCustomCodeMarker("bottom",i,n,u)));let f=[];return t.beforeGenerated&&(f.push(t.beforeGenerated),f.push("")),f.push(r),t.afterGenerated&&(f.push(""),f.push(t.afterGenerated)),f.join(`
24
- `)};});var Fe,Ke,qe,It,xt,Tt,Ve,Ye=de(()=>{Fe=V__default.default.join(__dirname,"../","../db.json");ce__default.default.existsSync(Fe)||ce__default.default.writeFileSync(Fe,"{}");Ke={};try{Ke=ve(Fe);}catch(r){Ke={};}qe=Ke||{},It=r=>{ce__default.default.writeFileSync(Fe,JSON.stringify(r));},xt=(r,o)=>{qe[r]=o,It(qe);},Tt=r=>qe[r],Ve=()=>{qe={},It(qe);};});var Et,wt,At,Ze=de(()=>{Et={},wt=(r,o)=>{Et[r]=o;},At=r=>Et[r]||[];});var be,Xe,Ot,Ie,vt,sr,en,Pt=de(()=>{Ne();Ye();Ze();be=process.cwd(),Xe={},Ot=er__default.default.create({timeout:6e4});nr__default.default(Ot,{retries:20,retryCondition:r=>r.code==="ECONNABORTED"||r.message.includes("Network Error"),retryDelay:r=>r*1e3});Ie=(r,o,p)=>ie(null,null,function*(){var t,f,c,y;if(!(((t=p==null?void 0:p.customCode)==null?void 0:t.enabled)!==false)){yield ce__default.default.promises.writeFile(r,o);return}let i=null;try{i=yield ce__default.default.promises.readFile(r,"utf-8");}catch(A){}let n=r.endsWith(".py")?"#":"//",u=exports.mergeCustomCode(o,i,{position:((f=p==null?void 0:p.customCode)==null?void 0:f.position)||"bottom",markerText:(c=p==null?void 0:p.customCode)==null?void 0:c.markerText,includeInstructions:(y=p==null?void 0:p.customCode)==null?void 0:y.includeInstructions,commentPrefix:n});yield ce__default.default.promises.writeFile(r,u);}),vt=(r,o,p,e)=>ie(null,null,function*(){let i=yield sr(r,o,p,e);return e&&!isNaN(e)&&e>0&&(process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||(Xe[o]&&clearTimeout(Xe[o]),Xe[o]=setTimeout(()=>{console.info(`\u{1F504} Auto syncing ${o}`),vt(r,o,p,e);},e))),i}),sr=(...r)=>ie(null,null,function*(){var an,ln,pn,un,cn,mn,dn,fn,yn,gn;let[o,p,e]=r,i=s=>s.startsWith("http://")||s.startsWith("https://"),n;try{if(i(o))n=(yield Ot.get(o)).data;else {let s=V__default.default.isAbsolute(o)?o:V__default.default.join(be,o);`${s}`,n=yield ce__default.default.promises.readFile(s,"utf-8");}}catch(s){throw process.env.NODE_ENV&&["production","prod","test","staging"].includes(process.env.NODE_ENV)||console.error(`Failed to load OpenAPI spec for ${p}:`,s),s}if(!n)return;let u=exports.isJson(n)?n:exports.yamlStringToJson(n),t;try{t=yield tr__default.default.parse(u);}catch(s){let a=s instanceof Error?s.message:String(s);throw new Error(`Failed to parse OpenAPI spec for ${p}: ${a}`)}let f=V__default.default.join((e==null?void 0:e.folder)||"",p),c=(e==null?void 0:e.language)==="python",y=c?"py":"ts",A={},L=s=>{var a,C;if((a=e==null?void 0:e.folderSplit)!=null&&a.customFolder){let b=e.folderSplit.customFolder(s);if(b)return b}return (C=e==null?void 0:e.folderSplit)!=null&&C.byTags&&s.tags&&s.tags.length>0?s.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},q=typeof(e==null?void 0:e.server)=="string"?e==null?void 0:e.server:((ln=(an=t==null?void 0:t.servers)==null?void 0:an[(e==null?void 0:e.server)||0])==null?void 0:ln.url)||"",O=typeof((un=(pn=e==null?void 0:e.types)==null?void 0:pn.name)==null?void 0:un.prefix)=="string"?e==null?void 0:e.types.name.prefix:"I",U=typeof((mn=(cn=e==null?void 0:e.endpoints)==null?void 0:cn.name)==null?void 0:mn.prefix)=="string"?e==null?void 0:e.endpoints.name.prefix:"",F=(s,a)=>{var b,m;let C=exports.capitalize(s);if((m=(b=e==null?void 0:e.types)==null?void 0:b.name)!=null&&m.format){let g=e==null?void 0:e.types.name.format("shared",{name:s},C);if(g)return `${O}${g}`}return `${O}${C}`},R=(s,a,C,b,m,g=0)=>{let d="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Le__default.default(s,x,null);if(k){k!=null&&k.name&&(d=k.name),$=x[x.length-1];let W=F($);W.includes(".")&&(W=W.split(".").map((Ce,ye)=>ye===0?Ce:`["${Ce}"]`).join("")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${W}`;}}else h+="";else if(a.anyOf)h+=`(${a.anyOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.oneOf)h+=`(${a.oneOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("|")})`;else if(a.allOf)h+=`(${a.allOf.map(x=>R(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join("&")})`;else if(a.items)h+=`${R(s,a.items,"",false,ae(X({},m),{useComponentName:false}))}[]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],j="";x.forEach(N=>{var W,Ae,Ce,ye,he,$e;let k="";!((Ae=(W=e==null?void 0:e.types)==null?void 0:W.doc)!=null&&Ae.disable)&&((ye=(Ce=a.properties)==null?void 0:Ce[N])!=null&&ye.description)&&(k=" * "+((he=a.properties)==null?void 0:he[N].description.split(`
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
25
  `).filter(Qe=>Qe.trim()!=="").join(`
26
- *${" ".repeat(1)}`))),j+=(k?`/**
26
+ *${" ".repeat(1)}`))),S+=(k?`/**
27
27
  ${k}
28
28
  */
29
- `:"")+`${R(s,($e=a.properties)==null?void 0:$e[N],N,v.includes(N),m,g+1)}`;}),j.length>0?h+=`{
30
- ${" ".repeat(g)}${j}${" ".repeat(g)}}`:h+="{[k: string]: any}";}else if(a.enum&&a.enum.length>0){let x=a.enum.includes(null),v=a.enum.filter(N=>N!==null).map(N=>JSON.stringify(N)).filter(N=>N!==void 0),j=v.length>1||v.length>0&&x;j&&(h+="("),v.forEach((N,k)=>{h+=`${k===0?"":"|"}${N}`;}),x&&(h+=`${v.length>0?"|":""}null`),j&&(h+=")");}else if(a.type){let x=v=>{let j="";if(typeof v=="string")["string","integer","number","array","boolean","null"].includes(v)?["integer","number"].includes(v)?j+="number":v==="array"?j+="any[]":j+=v:v==="object"&&(a.additionalProperties?j+=`{[k: string]: ${R(s,a.additionalProperties,"",true,ae(X({},m),{useComponentName:false}))||"any"}}`:j+="{[k: string]: any}");else if(Array.isArray(v)){let N=v.map(k=>x(k));N.filter(k=>k!==""),N.length>1&&(j+="("+N.join("|")+")");}else j+="any";return j};h=x(a.type);}else h+="any";else h="string";let S=d||C;m!=null&&m.useComponentName&&!S&&(S=$);let Q=S?` "${S}"${b?"":"?"}: `:"",l=(a==null?void 0:a.enum)&&a.enum.includes(null),z=a!=null&&a.nullable&&!l?" | null":"";return h.length>0?`${Q}${h}${z}${S?`;
31
- `:""}`:""},B=(s,a,C,b,m,g=0)=>{let d="",$="",h="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let x=(a.$ref||"").split("/");x.shift();x[0]==="definitions";[...x].pop();let k=Le__default.default(s,x,null);if(k){k!=null&&k.name&&(d=k.name),$=x[x.length-1];let W=F($);W.includes(".")&&(W=W.split(".").join("_")),h+=`${m!=null&&m.noSharedImport?"":"Shared."}${W}`;}}else h+="Any";else if(a.anyOf)h+=`Union[${a.anyOf.map(x=>B(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(a.oneOf)h+=`Union[${a.oneOf.map(x=>B(s,x,"",b,ae(X({},m),{useComponentName:false}))).filter(x=>!!x).join(", ")}]`;else if(a.allOf)h+="Dict[str, Any]";else if(a.items)h+=`List[${B(s,a.items,"",false,ae(X({},m),{useComponentName:false}))}]`;else if(a.properties){let x=Object.keys(a.properties),v=a.required||[],j="";x.forEach(N=>{var k;j+=B(s,(k=a.properties)==null?void 0:k[N],N,v.includes(N),m,g+1);}),j.length>0?C?h+="Dict[str, Any]":h+=`
32
- ${j}`:h+="Dict[str, Any]";}else if(a.enum&&a.enum.length>0){let x=a.enum.filter(v=>v!==null).map(v=>JSON.stringify(v));x.length>0?h+=`Literal[${x.join(", ")}]`:h+="Any";}else if(a.type){let x=v=>{let j="";if(typeof v=="string")["integer","number"].includes(v)?j+=v==="number"?"float":"int":v==="string"?j+="str":v==="boolean"?j+="bool":v==="array"?j+="List[Any]":v==="object"?j+="Dict[str, Any]":v==="null"?j+="None":j+="Any";else if(Array.isArray(v)){let N=v.map(k=>x(k)).filter(k=>k!=="");N.length>1?j+=`Union[${N.join(", ")}]`:j+=N[0]||"Any";}else j+="Any";return j};h=x(a.type);}else h+="Any";else h="str";let S=d||C;m!=null&&m.useComponentName&&!S&&(S=$);let Q="";S&&(Q=` ${S.replace(/[^a-zA-Z0-9_]/g,"_")}: `);let l=h,z=!S&&h.includes(`
33
- `);return a!=null&&a.nullable&&!z&&(h.startsWith("Union[")?l=h.replace("Union[","Union[None, "):l=`Optional[${h}]`),h.length>0?`${Q}${l}${S?`
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
34
  `:""}`:""},P=s=>{let a=(s||"").replace(/^\n+/,"").trimEnd();if(!a)return ` pass
35
35
  `;let C=a.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]}
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
37
  `:`${a.split(`
38
38
  `).map($=>$.trim()?/^\s/.test($)?$:` ${$}`:$).join(`
39
39
  `)}
40
- `},T=(s,a)=>`@dataclass
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}):
43
+ pass
44
+ `:`@dataclass
41
45
  class ${s}:
42
- ${P(a)}`,ee=s=>{let C=["Any","List","Dict","Union","Optional","Literal"].filter(b=>new RegExp(`\\b${b}\\b`).test(s));return C.length>0?`from typing import ${C.join(", ")}
43
- `:""},M=(s,a=72)=>{let C=(s||"").replace(/\s+/g," ").trim().split(" ");if(!C[0])return [];let b=[],m="";return C.forEach(g=>{let d=m?`${m} ${g}`:g;d.length>a&&m?(b.push(m),m=g):m=d;}),m&&b.push(m),b},J=s=>{var m,g;if(!s||(g=(m=e==null?void 0:e.types)==null?void 0:m.doc)!=null&&g.disable)return "";let a=(s.description||"").trim(),C=Object.entries(s.properties||{}).map(([d,$])=>({name:d,desc:(($==null?void 0:$.description)||"").trim()})).filter(d=>d.desc.length>0);if(!a&&C.length===0)return "";let b=[' """'];return a&&M(a).forEach(d=>b.push(` ${d}`)),C.length>0&&(a&&b.push(""),b.push(" Attributes:"),C.forEach(d=>{let $=M(d.desc);$.length&&(b.push(` ${d.name}: ${$[0]}`),$.slice(1).forEach(h=>b.push(` ${h}`)));})),b.push(' """'),`${b.join(`
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(`
44
48
  `)}
45
- `},re=(s,a)=>{let m="";if(a)if(a.$ref)if(a.$ref[0]==="#"){let g=(a.$ref||"").split("/");g.shift();let $=Le__default.default(s,g,null);$&&($!=null&&$.name&&($.name),g[g.length-1],m+=re(s,$));}else m+="";else if(a.anyOf)m+=re(s,a.anyOf[0]);else if(a.oneOf)m+=re(s,a.oneOf[0]);else if(a.allOf)m+=`{${a.allOf.map(g=>`...(${re(s,g)})`).join(",")}}`;else if(a.items)m+=`[${re(s,a.items)}]`;else if(a.properties){let $=Object.keys(a.properties).map(h=>{var S;return ` "${h}": ${re(s,(S=a.properties)==null?void 0:S[h])}`}).join(`,
46
- `);$.length>0?m+=`{
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+=`{
47
51
  ${$}
48
- }`:m+="{}";}else if(a.enum&&a.enum.length>0)a.enum.length>1&&(m+=a.enum[0]);else if(a.type)if(a.example)m+=JSON.stringify(a.example);else {let g=d=>{let $="";if(typeof d=="string")["string","integer","number","array","boolean","null"].includes(d)?["integer","number"].includes(d)?$+="123":d==="array"?$+="[]":d==="boolean"?$+="true":d==="null"?$+="null":$+=`"${d}"`:d==="object"&&($+="{}");else if(Array.isArray(d)){let h=d.map(S=>g(S));h.filter(S=>S!==""),h.length>1&&($+=h.join("|"));}else $+="any";return $};m=g(a.type);}else m+="any";else m="string";return m},ge=Tt(p);if(Xt__default.default(ge,t))return;xt(p,t);let se="",le="",ue={},we=[],ke=(s,a)=>{let C={},b={};Object.keys(s).forEach(g=>{var h;let d=(h=s[g])!=null&&h.schema?s[g].schema:s[g],$=c?`${B(t,d,"",true,{noSharedImport:true,useComponentName:false})}`:`${R(t,d,"",true,{noSharedImport:true,useComponentName:false})}`;if($){let S=g.split("."),Q=C,l=b;for(let z=0;z<S.length;z++){let x=S[z];z<S.length-1?(x in Q||(Q[x]={},l[x]={}),Q=Q[x],l=l[x]):(Q[x]=$,l[x]=d);}}}),Object.keys(C).forEach(g=>{var z,x,v,j,N;let d=F(g),$=C[g],h=s[g],S=h!=null&&h.schema?h.schema:h,Q="",l="";!((x=(z=e==null?void 0:e.types)==null?void 0:z.doc)!=null&&x.disable)&&g in s&&((v=s[g])!=null&&v.description)&&(Q=" * "+s[g].description.split(`
49
- `).filter(W=>W.trim()!=="").join(`
50
- *${" ".repeat(1)}`)),l=J(S),c?ue[g]=((j=ue[g])!=null?j:"")+`@dataclass
51
- class ${d}:
52
+ }`: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}:
52
56
  `+(l||"")+P(typeof $=="string"?$:"")+`
53
- `:ue[g]=((N=ue[g])!=null?N:"")+(Q?`/**
57
+ `:le[g]=((N=le[g])!=null?N:"")+(Q?`/**
54
58
  ${Q}
55
59
  */
56
- `:"")+"export type "+d+" = "+(typeof $=="string"?$:exports.JSONStringify($))+`;
57
- `;});};t.definitions&&ke(t.definitions),t.components&&Object.keys(t.components).forEach(s=>{if(["schemas","responses","parameters","examples","requestBodies","headers","links","callbacks"].includes(s)){let a=t.components[s];ke(a);}});let on=s=>{let a="";if(s.content){let C=Object.keys(s.content);C[0]&&s.content[C[0]].schema&&(a+=c?`${B(t,s.content[C[0]].schema,"")}`:`${R(t,s.content[C[0]].schema,"")}`);}return a},me=(s,a,C=0)=>{if(!s)return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()";if(s.$ref){if(s.$ref[0]==="#"){let b=s.$ref.split("/");b.shift();let m=b.join("."),g=Le__default.default(t,m);if(g)return me(g,a,C)}return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"}if(s.anyOf||s.oneOf){let b=s.anyOf||s.oneOf;if(b.every(g=>g.enum!==void 0&&Array.isArray(g.enum))){let g=[],d=false;if(b.forEach($=>{$.enum&&$.enum.forEach(h=>{h===null?d=true:g.includes(h)||g.push(h);});}),g.length>0){let $=g.map(h=>JSON.stringify(h)).join(", ");if(a==="zod"){let h=`z.enum([${$}])`;return d&&(h+=".nullable()"),h}else if(a==="yup"){let h=`yup.mixed().oneOf([${$}])`;return d&&(h+=".nullable()"),h}else return d?`Joi.valid(${$}, null)`:`Joi.valid(${$})`}else if(d)return a==="zod"?"z.null()":a==="yup"?"yup.mixed().nullable()":"Joi.valid(null)"}return a==="zod"?`z.union([${b.map($=>me($,a,C+1)).join(", ")}])`:a==="yup"?`yup.mixed().oneOf([${b.map($=>me($,a,C+1)).join(", ")}])`:`Joi.alternatives().try(${b.map(d=>me(d,a,C+1)).join(", ")})`}if(s.allOf)if(a==="zod"){let b=s.allOf.map(g=>me(g,a,C+1)),m=b[0];for(let g=1;g<b.length;g++)m=`${m}.merge(${b[g]})`;return m}else return me(s.allOf[0],a,C+1);if(s.items){let b=me(s.items,a,C+1);if(a==="zod"){let m=`z.array(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}else if(a==="yup"){let m=`yup.array().of(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}else {let m=`Joi.array().items(${b})`;return s.minItems!==void 0&&(m+=`.min(${s.minItems})`),s.maxItems!==void 0&&(m+=`.max(${s.maxItems})`),m}}if(s.properties){let b=s.required||[],m=" ".repeat(C+1),g=Object.entries(s.properties).map(([d,$])=>{let h=b.includes(d),S=me($,a,C+1);return h||(S+=".optional()"),`${m}${d}: ${S}`}).join(`,
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(`,
58
62
  `);return a==="zod"?`z.object({
59
63
  ${g}
60
64
  ${" ".repeat(C)}})`:a==="yup"?`yup.object({
61
65
  ${g}
62
66
  ${" ".repeat(C)}})`:`Joi.object({
63
67
  ${g}
64
- ${" ".repeat(C)}})`}if(s.enum&&s.enum.length>0){let b=[],m=false;s.enum.forEach(d=>{d===null?m=true:b.includes(d)||b.push(d);});let g=b.map(d=>JSON.stringify(d)).join(", ");if(a==="zod"){let d=`z.enum([${g}])`;return m&&(d+=".nullable()"),d}else if(a==="yup"){let d=`yup.mixed().oneOf([${g}])`;return m&&(d+=".nullable()"),d}else {let d=`Joi.valid(${g})`;return m&&(d+=".allow(null)"),d}}if(s.type){let m=(g=>{switch(g){case "string":if(a==="zod"){let d="z.string()";return s.format==="email"?d+=".email()":s.format==="uuid"?d+=".uuid()":s.format==="url"||s.format==="uri"?d+=".url()":s.format==="date-time"?d+=".datetime()":s.format==="date"&&(d+=".date()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.regex(/${s.pattern}/)`),d}else if(a==="yup"){let d="yup.string()";return s.format==="email"?d+=".email()":(s.format==="url"||s.format==="uri")&&(d+=".url()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.matches(/${s.pattern}/)`),d}else {let d="Joi.string()";return s.format==="email"?d+=".email()":s.format==="url"||s.format==="uri"?d+=".uri()":s.format==="uuid"?d+=".guid({ version: 'uuidv4' })":s.format==="date-time"&&(d+=".isoDate()"),s.minLength&&(d+=`.min(${s.minLength})`),s.maxLength&&(d+=`.max(${s.maxLength})`),s.pattern&&(d+=`.pattern(/${s.pattern}/)`),d}case "integer":case "number":if(a==="zod"){let d="z.number()";return g==="integer"&&(d+=".int()"),s.minimum!==void 0&&(s.exclusiveMinimum?d+=`.gt(${s.minimum})`:d+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?d+=`.lt(${s.maximum})`:d+=`.max(${s.maximum})`),d}else if(a==="yup"){let d="yup.number()";return g==="integer"&&(d+=".integer()"),s.minimum!==void 0&&(d+=`.min(${s.minimum})`),s.maximum!==void 0&&(d+=`.max(${s.maximum})`),d}else {let d="Joi.number()";return g==="integer"&&(d+=".integer()"),s.minimum!==void 0&&(s.exclusiveMinimum?d+=`.greater(${s.minimum})`:d+=`.min(${s.minimum})`),s.maximum!==void 0&&(s.exclusiveMaximum?d+=`.less(${s.maximum})`:d+=`.max(${s.maximum})`),d}case "boolean":return a==="joi"?"Joi.boolean()":a==="yup"?"yup.boolean()":"z.boolean()";case "null":return a==="joi"?"Joi.any().allow(null)":a==="yup"?"yup.mixed().nullable()":"z.null()";default:return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"}})(typeof s.type=="string"?s.type:s.type[0]);return s.nullable&&a!=="joi"?m+=".nullable()":s.nullable&&a==="joi"&&(m+=".allow(null)"),m}return a==="joi"?"Joi.any()":a==="yup"?"yup.mixed()":"z.any()"},Qt=s=>{var a,C,b,m,g;if((C=(a=e==null?void 0:e.endpoints)==null?void 0:a.value)!=null&&C.replaceWords&&Array.isArray(e==null?void 0:e.endpoints.value.replaceWords)){let d=s;return (g=(m=(b=e==null?void 0:e.endpoints)==null?void 0:b.value)==null?void 0:m.replaceWords)==null||g.forEach(($,h)=>{let S=new RegExp($.replace,"g");d=d.replace(S,$.with||"");}),d}else return s},Bt=(s,a,C=[])=>{var g,d;let b=(g=e==null?void 0:e.endpoints)==null?void 0:g.exclude,m=(d=e==null?void 0:e.endpoints)==null?void 0:d.include;if(m){let $=m.tags&&m.tags.length>0?C.some(S=>m.tags.includes(S)):true,h=m.endpoints&&m.endpoints.length>0?m.endpoints.some(S=>{let Q=!S.method||S.method.toLowerCase()===a.toLowerCase();return S.path?s===S.path&&Q:S.regex?new RegExp(S.regex).test(s)&&Q:false}):true;if(!$||!h)return true}return !!(b&&(b.tags&&b.tags.length>0&&C.some(h=>b.tags.includes(h))||b.endpoints&&b.endpoints.length>0&&b.endpoints.some(h=>{let S=!h.method||h.method.toLowerCase()===a.toLowerCase();return h.path?s===h.path&&S:h.regex?new RegExp(h.regex).test(s)&&S:false})))};if(Object.keys(t.paths||{}).forEach(s=>{let a=t.paths[s];Object.keys(a).forEach(b=>{var $n,bn,Cn,In,xn,Tn,En,wn,An,On,vn,Pn,jn,Sn,qn,Rn,kn,Un,Nn,Fn,Ln,Gn,Mn,Qn,Bn,zn,Dn,Wn,Jn,_n,Hn,Kn,Vn,Yn,Zn,Xn,et,nt,tt,rt,st,ot,it,at,lt,pt,ut,ct,mt,dt;let m=b,g=exports.getEndpointDetails(s,m),d=(($n=a[m])==null?void 0:$n.tags)||[];if(Bt(s,m,d))return;let $=a[m],h=L({method:m,path:s,summary:$==null?void 0:$.summary,operationId:$==null?void 0:$.operationId,tags:d,parameters:$==null?void 0:$.parameters,requestBody:$==null?void 0:$.requestBody,responses:$==null?void 0:$.responses});A[h]||(A[h]={endpoints:"",types:"",validation:""});let S=((Cn=(bn=e==null?void 0:e.endpoints)==null?void 0:bn.value)!=null&&Cn.includeServer?q:"")+g.pathParts.map(E=>(E[0]==="{"&&E[E.length-1]==="}"?E=`\${${E.replace(/{/,"").replace(/}/,"")}}`:E[0]==="<"&&E[E.length-1]===">"?E=`\${${E.replace(/</,"").replace(/>/,"")}}`:E[0]===":"&&(E=`\${${E.replace(/:/,"")}}`),E)).join("/"),Q=`"${S}"`;g.variables.length>0&&(Q=`(${g.variables.map(I=>`${I}:string`).join(",")})=> \`${S}\``),Q=Qt(Q);let l=a[m],z="",x;if(l!=null&&l.parameters&&((l==null?void 0:l.parameters).forEach((I,w)=>{(I.$ref||I.in==="query"&&I.name)&&(z+=c?`${B(t,I.$ref?I:I.schema,I.name||"",I.required)}`:`${R(t,I.$ref?I:I.schema,I.name||"",I.required)}`);}),z)){z=c?z:`{
65
- ${z}}`;let w=`${g.name}Query`;if((xn=(In=e==null?void 0:e.types)==null?void 0:In.name)!=null&&xn.useOperationId&&(l!=null&&l.operationId)&&(w=`${l.operationId}Query`),w=exports.capitalize(`${O}${w}`),(En=(Tn=e==null?void 0:e.types)==null?void 0:Tn.name)!=null&&En.format){let _=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},w);_&&(w=`${O}${_}`);}x=w;let G=c?`${T(w,z)}
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)}
66
70
  `:`export type ${w} = ${z};
67
- `;e!=null&&e.folderSplit?A[h].types+=G:le+=G;}if(((wn=e==null?void 0:e.validations)==null?void 0:wn.disable)!==true&&((On=(An=e==null?void 0:e.validations)==null?void 0:An.generate)==null?void 0:On.query)!==false&&(l!=null&&l.parameters)){let E=((vn=e.validations)==null?void 0:vn.library)||"zod",w=l.parameters.filter(G=>!G.$ref&&G.in==="query"&&G.name);if(w.length>0){let G=((Pn=e==null?void 0:e.validations)==null?void 0:Pn.name)||((jn=e==null?void 0:e.types)==null?void 0:jn.name),_=typeof(G==null?void 0:G.prefix)=="string"?G.prefix:"I",Y=typeof((qn=(Sn=e==null?void 0:e.validations)==null?void 0:Sn.name)==null?void 0:qn.suffix)=="string"?e.validations.name.suffix:"Schema",Z=`${g.name}Query`;if(G!=null&&G.useOperationId&&(l!=null&&l.operationId)&&(Z=`${l.operationId}Query`),Z=exports.capitalize(`${_}${Z}${Y}`),(kn=(Rn=e==null?void 0:e.validations)==null?void 0:Rn.name)!=null&&kn.format){let K=e.validations.name.format({code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Z);K&&(Z=`${_}${K}${Y}`);}else if((Nn=(Un=e==null?void 0:e.types)==null?void 0:Un.name)!=null&&Nn.format){let K=e.types.name.format("endpoint",{code:"",type:"query",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Z);K&&(Z=`${_}${K}${Y}`);}let D=w.map(K=>{let Ue=K!=null&&K.schema?me(K.schema,E):E==="joi"?"Joi.string()":E==="yup"?"yup.string()":"z.string()",Wt=K.required?"":".optional()";return ` ${K.name}: ${Ue}${Wt}`}).join(`,
68
- `),H=`export const ${Z} = ${E==="joi"?"Joi.object":E==="yup"?"yup.object":"z.object"}({
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"}({
69
73
  ${D}
70
74
  });
71
75
 
72
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=H;}}let v=l==null?void 0:l.requestBody,j="",N;if(v&&(j=on(v),j)){let E=`${g.name}DTO`;if((Ln=(Fn=e==null?void 0:e.types)==null?void 0:Fn.name)!=null&&Ln.useOperationId&&(l!=null&&l.operationId)&&(E=`${l.operationId}DTO`),E=exports.capitalize(`${O}${E}`),(Mn=(Gn=e==null?void 0:e.types)==null?void 0:Gn.name)!=null&&Mn.format){let w=e==null?void 0:e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},E);w&&(E=`${O}${w}`);}N=E;let I=c?`${T(E,j)}
73
- `:`export type ${E} = ${j};
74
- `;e!=null&&e.folderSplit?A[h].types+=I:le+=I;}if(((Qn=e==null?void 0:e.validations)==null?void 0:Qn.disable)!==true&&((zn=(Bn=e==null?void 0:e.validations)==null?void 0:Bn.generate)==null?void 0:zn.dto)!==false&&v){let E=((Dn=e.validations)==null?void 0:Dn.library)||"zod";if(v.content){let I=Object.keys(v.content);if(I[0]&&v.content[I[0]].schema){let w=((Wn=e==null?void 0:e.validations)==null?void 0:Wn.name)||((Jn=e==null?void 0:e.types)==null?void 0:Jn.name),G=typeof(w==null?void 0:w.prefix)=="string"?w.prefix:"I",_=typeof((Hn=(_n=e==null?void 0:e.validations)==null?void 0:_n.name)==null?void 0:Hn.suffix)=="string"?e.validations.name.suffix:"Schema",Y=`${g.name}DTO`;if(w!=null&&w.useOperationId&&(l!=null&&l.operationId)&&(Y=`${l.operationId}DTO`),Y=exports.capitalize(`${G}${Y}${_}`),(Vn=(Kn=e==null?void 0:e.validations)==null?void 0:Kn.name)!=null&&Vn.format){let oe=e.validations.name.format({code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);oe&&(Y=`${G}${oe}${_}`);}else if((Zn=(Yn=e==null?void 0:e.types)==null?void 0:Yn.name)!=null&&Zn.format){let oe=e.types.name.format("endpoint",{code:"",type:"dto",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},Y);oe&&(Y=`${G}${oe}${_}`);}let Z=me(v.content[I[0]].schema,E),D=`export const ${Y} = ${Z};
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};
75
79
 
76
- `;e!=null&&e.folderSplit||A[h]||(A[h]={endpoints:"",types:"",validation:""}),A[h].validation+=D;}}}let k={},W="",Ae="";if(l!=null&&l.responses){let E=l==null?void 0:l.responses;Object.keys(E).forEach(w=>{var G,_,Y,Z;if(W=on(E[w]),k[w]=W,W){let D=`${g.name}${w}Response`;if((_=(G=e==null?void 0:e.types)==null?void 0:G.name)!=null&&_.useOperationId&&(l!=null&&l.operationId)&&(D=`${l.operationId}${w}Response`),D=exports.capitalize(`${O}${D}`),(Z=(Y=e==null?void 0:e.types)==null?void 0:Y.name)!=null&&Z.format){let K=e==null?void 0:e.types.name.format("endpoint",{code:w,type:"response",method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},D);K&&(D=`${O}${K}`);}let oe=c?`${T(D,W)}
77
- `:`export type ${D} = ${W};
78
- `;e!=null&&e.folderSplit?A[h].types+=oe:le+=oe,k[w]=D;let H=parseInt(w);H>=200&&H<300&&(Ae=D);}});}let Ce=E=>!E||!E.length?"":E.map(I=>Object.entries(I).map(([G,_])=>{let Y=G,Z="";return Array.isArray(_)&&_.length&&(Z=`
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=`
79
83
  - Scopes: [\`${_.join("`, `")}\`]`,Y=`**${Y}**`),`
80
84
  - ${Y}${Z}`}).join("")).join(`
81
- `),ye=l!=null&&l.security?Ce(l.security):"",he="";if(!((et=(Xn=e==null?void 0:e.endpoints)==null?void 0:Xn.doc)!=null&&et.disable)){let E="";if((tt=(nt=e==null?void 0:e.endpoints)==null?void 0:nt.doc)!=null&&tt.showCurl||c){let I={},w="",G="";(rt=l.requestBody)!=null&&rt.content&&Object.keys(l.requestBody.content).forEach(oe=>{let H=l.requestBody.content[oe].schema;if(H){Array.isArray(I["Content-type"])?I["Content-type"].push(oe):I["Content-type"]=[oe];let K=re(t,H);K&&(w=K);}}),l!=null&&l.security&&l.security.forEach(D=>{Object.keys(D).forEach(oe=>{var K,Ue;let H=(Ue=(K=t.components)==null?void 0:K.securitySchemes)==null?void 0:Ue[oe];H&&(H.type==="mutualTLS"?G+=`
82
- --cert client-certificate.crt --key client-private-key.key --cacert ca-certificate.crt`:H.type==="apiKey"?I[(H==null?void 0:H.name)||"X-API-KEY"]="{API_KEY_VALUE}":I.Authorization=`${(H==null?void 0:H.scheme)==="basic"?"Basic":"Bearer"} {${(H==null?void 0:H.scheme)==="basic"?"VALUE":"TOKEN"}}`);});});let _={};Object.keys(I).forEach(D=>{Array.isArray(I[D])?_[D]=I[D].join("; "):_[D]=I[D];});let Z=`${curlGenerator.CurlGenerator({url:q+s,method:m.toUpperCase(),headers:_,body:w})||`curl ${q+s} -X ${m.toUpperCase()}`}${G}`;E=c?`
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?`
83
87
  \`\`\`bash
84
88
  ${Z}
85
89
  \`\`\``:`
86
90
  \`\`\`bash
87
91
  ${Z}
88
- \`\`\``;}if(c){let I=[];l!=null&&l.description&&I.push(`* ${l.description}`),I.push(`* **Method**: ${m.toUpperCase()}`),I.push(`* **Summary**: ${(l==null?void 0:l.summary)||""}`),I.push(`* **Tags**: [${((st=l==null?void 0:l.tags)==null?void 0:st.join(", "))||""}]`),I.push(`* **OperationId**: ${(l==null?void 0:l.operationId)||""}`),z&&(I.push("* **Query**:"),I.push("```python"),z.split(`
89
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),j&&(I.push("* **DTO**:"),I.push("```python"),j.split(`
90
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w)),I.push("```")),W&&(I.push("* **Response**:"),I.push("```python"),Object.entries(k).forEach(([w,G])=>{I.push(`${w}: ${String(G).replace(/\n/g," ")}`);}),I.push("```")),ye&&(I.push("* **Security**:"),ye.split(`
91
- `).filter(w=>w.trim().length>0).forEach(w=>I.push(w.replace(/\*\*/g,"")))),he=`"""
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=`"""
92
96
  ${I.join(`
93
- `)}${E}
97
+ `)}${T}
94
98
  """
95
- `;}else he=`/**${l!=null&&l.description?`
99
+ `;}else $e=`/**${l!=null&&l.description?`
96
100
  * ${l==null?void 0:l.description} `:""}
97
- * **Method**: \`${m.toUpperCase()}\`
101
+ * **Method**: \`${c.toUpperCase()}\`
98
102
  * **Summary**: ${(l==null?void 0:l.summary)||""}
99
- * **Tags**: [${((ot=l==null?void 0:l.tags)==null?void 0:ot.join(", "))||""}]
103
+ * **Tags**: [${((it=l==null?void 0:l.tags)==null?void 0:it.join(", "))||""}]
100
104
  * **OperationId**: ${(l==null?void 0:l.operationId)||""} ${z?`
101
- * **Query**: ${exports.renderTypeRefMD(z)} `:""}${j?`
102
- * **DTO**: ${exports.renderTypeRefMD(j)} `:""}${W?`
105
+ * **Query**: ${exports.renderTypeRefMD(z)} `:""}${S?`
106
+ * **DTO**: ${exports.renderTypeRefMD(S)} `:""}${J?`
103
107
  * **Response**: ${Object.entries(k).map(([I,w])=>`
104
- - **${I}**: ${exports.renderTypeRefMD(w,2)} `).join("")}`:""}${ye?`
105
- * **Security**: ${ye}
106
- `:""}${E}
108
+ - **${I}**: ${exports.renderTypeRefMD(w,2)} `).join("")}`:""}${he?`
109
+ * **Security**: ${he}
110
+ `:""}${T}
107
111
  */
108
- `;}let $e=(at=(it=e==null?void 0:e.endpoints)==null?void 0:it.name)!=null&&at.useOperationId&&((lt=l==null?void 0:l.operationId)==null?void 0:lt.length)>0?l.operationId:`${g.name}`;if((ut=(pt=e==null?void 0:e.endpoints)==null?void 0:pt.name)!=null&&ut.format){let E=e==null?void 0:e.endpoints.name.format({method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId},$e);E&&($e=E);}let Qe={method:`"${m}"`,operationId:`"${l==null?void 0:l.operationId}"`,url:Q,tags:(l==null?void 0:l.tags)||[]},zt=`Endpoint(
109
- method="${m}",
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}",
110
114
  operationId="${(l==null?void 0:l.operationId)||""}",
111
115
  url=${Q},
112
- tags=[${((l==null?void 0:l.tags)||[]).map(E=>`"${E}"`).join(", ")}]
113
- )`,hn=c?`${U}${$e} = ${zt}
114
- ${he?`${he}`:""}
116
+ tags=[${((l==null?void 0:l.tags)||[]).map(T=>`"${T}"`).join(", ")}]
117
+ )`,$n=d?`${U}${be} = ${Dt}
118
+ ${$e?`${$e}`:""}
115
119
 
116
- `:`${he}export const ${U}${$e} = ${((mt=(ct=e==null?void 0:e.endpoints)==null?void 0:ct.value)==null?void 0:mt.type)==="object"?exports.JSONStringify(Qe):Q};
117
- `;e!=null&&e.folderSplit?A[h].endpoints+=hn:se+=hn;let Dt={name:`${U}${$e}`,method:m,path:s,summary:l==null?void 0:l.summary,operationId:l==null?void 0:l.operationId,tags:d,parameters:(dt=l==null?void 0:l.parameters)==null?void 0:dt.filter(E=>!E.$ref&&E.in&&E.name).map(E=>{var I;return {name:E.name,in:E.in,required:E.required,type:((I=E.schema)==null?void 0:I.type)||"string"}}),requestBody:v?{type:j,required:v.required}:void 0,responses:k?Object.entries(k).reduce((E,[I,w])=>(E[I]={type:w},E),{}):void 0,queryType:x,dtoType:N,responseType:Ae||void 0};we.push(Dt);});}),e!=null&&e.folderSplit){let s=`from dataclasses import dataclass
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
118
122
  from typing import List
119
123
 
120
124
  @dataclass
@@ -126,15 +130,15 @@ class Endpoint:
126
130
 
127
131
 
128
132
 
129
- `;for(let[a,C]of Object.entries(A))if(C.endpoints||C.types){let b=V__default.default.join(f,a);if(C.endpoints){let m=V__default.default.join(be,b,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(m),{recursive:true}),yield Ie(m,c?`${s}${C.endpoints}`:C.endpoints,e);}if(C.types){let m=V__default.default.join(be,b,`types.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(m),{recursive:true});let g=Object.values(ue).length>0?c?`from __future__ import annotations
133
+ `;for(let[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
130
134
  from dataclasses import dataclass
131
135
  from . import shared as Shared
132
- ${ee(C.types)}
136
+ ${M(C.types)}
133
137
  ${C.types}`:`import * as Shared from "../shared";
134
138
 
135
- ${C.types}`:C.types;yield Ie(m,g,e);}if(((dn=e==null?void 0:e.validations)==null?void 0:dn.disable)!==true&&C.validation&&!c){let m=((fn=e.validations)==null?void 0:fn.library)||"zod",g=m==="joi"?'import Joi from "joi";':m==="yup"?'import * as yup from "yup";':'import { z } from "zod";',d=V__default.default.join(be,b,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(d),{recursive:true}),yield Ie(d,`${g}
139
+ ${C.types}`:C.types;yield 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}
136
140
 
137
- ${C.validation}`,e);}}}if(se.length>0){let s=`from dataclasses import dataclass
141
+ ${C.validation}`,e);}}}if(ue.length>0){let s=`from dataclasses import dataclass
138
142
  from typing import List
139
143
 
140
144
  @dataclass
@@ -146,27 +150,27 @@ class Endpoint:
146
150
 
147
151
 
148
152
 
149
- `,a=V__default.default.join(be,f,`endpoints.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield Ie(a,c?`${s}${se}`:se,e);}if(Object.values(ue).length>0){let s=Object.values(ue).join(`
150
- `),a=V__default.default.join(be,f,e!=null&&e.folderSplit?"":"types",`shared.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(a),{recursive:true}),yield Ie(a,(c?`from __future__ import annotations
153
+ `,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
151
155
  from dataclasses import dataclass
152
- ${ee(s)}
153
- `:"")+s,e);}if(le.length>0){let s=V__default.default.join(be,f,"types",`index.${y}`);yield ce__default.default.promises.mkdir(V__default.default.dirname(s),{recursive:true}),yield Ie(s,(Object.values(ue).length>0?c?`from __future__ import annotations
156
+ ${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
154
158
  from dataclasses import dataclass
155
159
  from . import shared as Shared
156
- ${ee(le)}
160
+ ${M(ge)}
157
161
  `:`import * as Shared from "./shared";
158
162
 
159
- `:"")+le,e);}if(((yn=e==null?void 0:e.validations)==null?void 0:yn.disable)!==true&&!(e!=null&&e.folderSplit)&&!c){let s=((gn=e.validations)==null?void 0:gn.library)||"zod",a=s==="joi"?'import Joi from "joi";':s==="yup"?'import * as yup from "yup";':'import { z } from "zod";',C=Object.values(A).map(b=>b.validation).filter(b=>b.length>0).join("");if(C){let b=V__default.default.join(be,f,"validations.ts");yield ce__default.default.promises.mkdir(V__default.default.dirname(b),{recursive:true}),yield Ie(b,`${a}
163
+ `:"")+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}
160
164
 
161
- ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{success:true}}),en=vt;});var jt,nn,xe,tn,rn,sn,St=de(()=>{jt=(r,o)=>{let p=r;return o.tags&&o.tags.length>0&&(p=p.filter(e=>!e.tags||e.tags.length===0?false:e.tags.some(i=>o.tags.includes(i)))),o.endpoints&&o.endpoints.length>0&&(p=p.filter(e=>o.endpoints.includes(e.name))),p},nn=(r,o,p=false)=>{var t,f;let e=o.baseURL||"";o.auth;let n=`// Generated Fetch API Client
165
+ ${C}`,e);}}return 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
162
166
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
163
167
 
164
168
  `,n+=`import type {
165
- `;let u=new Set;return r.forEach(c=>{c.queryType&&u.add(c.queryType),c.dtoType&&u.add(c.dtoType),c.responseType&&u.add(c.responseType);}),u.forEach(c=>{n+=` ${c},
169
+ `;let 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},
166
170
  `;}),n+=`} from '../types';
167
171
 
168
172
  `,n+=`import {
169
- `,r.forEach(c=>{n+=` ${c.name} as ${c.name}_endpoint,
173
+ `,r.forEach(d=>{n+=` ${d.name} as ${d.name}_endpoint,
170
174
  `;}),n+=`} from '../endpoints';
171
175
 
172
176
  `,n+=`export interface ApiConfig {
@@ -219,30 +223,30 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
219
223
  `,n+=` return response.json();
220
224
  `,n+=`}
221
225
 
222
- `,r.forEach(c=>{var B,P;let y=c.name,A=((B=c.parameters)==null?void 0:B.filter(T=>T.in==="path"))||[],L=((P=c.parameters)==null?void 0:P.filter(T=>T.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!c.requestBody,F=c.responseType||"any";if(n+=`/**
223
- `,c.summary&&(n+=` * ${c.summary}
224
- `),n+=` * @method ${c.method.toUpperCase()}
225
- `,n+=` * @path ${c.path}
226
- `,c.tags&&c.tags.length>0&&(n+=` * @tags ${c.tags.join(", ")}
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(", ")}
227
231
  `),n+=` */
228
232
  `,n+=`export async function ${y}(`,(q||O||U)&&(n+=`params: {
229
233
  `,q&&(n+=` url: {
230
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";n+=` ${T.name}${J}: ${M};
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};
231
235
  `;}),n+=` };
232
- `),O&&(n+=` query: ${c.queryType||"Record<string, any>"};
233
- `),U&&(n+=` data: ${c.dtoType||"any"};
236
+ `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
237
+ `),U&&(n+=` data: ${d.dtoType||"any"};
234
238
  `),n+=`}
235
- `),n+=`): Promise<${F}> {
236
- `,q||O||U){let T=[];q&&T.push("url"),O&&T.push("query"),U&&T.push("data"),n+=` const { ${T.join(", ")} } = params;
237
- `;}let R;if(q){let T=A.map(ee=>`url.${ee.name}`).join(", ");R=`${c.name}_endpoint(${T})`;}else R=`${c.name}_endpoint`;O?(n+=` const queryParams = new URLSearchParams();
238
- `,L.forEach(T=>{T.required?n+=` queryParams.append('${T.name}', String(query.${T.name}));
239
- `:(n+=` if (query.${T.name} !== undefined) {
240
- `,n+=` queryParams.append('${T.name}', String(query.${T.name}));
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}));
241
245
  `,n+=` }
242
246
  `);}),n+=` const _url = \`\${${R}}?\${queryParams.toString()}\`;
243
247
  `):n+=` const _url = ${R};
244
- `,n+=` return fetchAPI<${F}>(_url, {
245
- `,n+=` method: '${c.method.toUpperCase()}',
248
+ `,n+=` return fetchAPI<${L}>(_url, {
249
+ `,n+=` method: '${d.method.toUpperCase()}',
246
250
  `,U&&(n+=` body: JSON.stringify(data),
247
251
  `),n+=` });
248
252
  `,n+=`}
@@ -250,21 +254,21 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
250
254
  `;}),p&&(n+=`// Export all functions as a default object
251
255
  `,n+=`const apiClient = {
252
256
  `,n+=` setApiConfig,
253
- `,r.forEach(c=>{n+=` ${c.name},
257
+ `,r.forEach(d=>{n+=` ${d.name},
254
258
  `;}),n+=`};
255
259
 
256
260
  `,n+=`export default apiClient;
257
- `),n},xe=(r,o,p=false)=>{var t,f;let e=o.baseURL||"";o.auth;let n=`// Generated Axios API Client
261
+ `),n},Te=(r,o,p=false)=>{var t,f;let e=o.baseURL||"";o.auth;let n=`// Generated Axios API Client
258
262
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
259
263
 
260
264
  `,n+=`import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
261
265
 
262
266
  `,n+=`import type {
263
- `;let u=new Set;return r.forEach(c=>{c.queryType&&u.add(c.queryType),c.dtoType&&u.add(c.dtoType),c.responseType&&u.add(c.responseType);}),u.forEach(c=>{n+=` ${c},
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},
264
268
  `;}),n+=`} from '../types';
265
269
 
266
270
  `,n+=`import {
267
- `,r.forEach(c=>{n+=` ${c.name},
271
+ `,r.forEach(d=>{n+=` ${d.name},
268
272
  `;}),n+=`} from '../endpoints';
269
273
 
270
274
  `,n+=`export interface ApiConfig {
@@ -313,25 +317,25 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
313
317
  `,n+=` Object.assign(this.client.defaults, config);
314
318
  `,n+=` }
315
319
 
316
- `,r.forEach(c=>{var R,B;let y=c.name,A=((R=c.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],L=((B=c.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!c.requestBody,F=c.responseType||"any";if(n+=` /**
317
- `,c.summary&&(n+=` * ${c.summary}
318
- `),n+=` * @method ${c.method.toUpperCase()}
319
- `,n+=` * @path ${c.path}
320
- `,c.tags&&c.tags.length>0&&(n+=` * @tags ${c.tags.join(", ")}
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(", ")}
321
325
  `),n+=` */
322
326
  `,n+=` async ${y}(`,(q||O||U)&&(n+=`params: {
323
327
  `,q&&(n+=` url: {
324
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};
325
329
  `;}),n+=` };
326
- `),O&&(n+=` query: ${c.queryType||"Record<string, any>"};
327
- `),U&&(n+=` data: ${c.dtoType||"any"};
328
- `),n+=" }"),n+=`): Promise<${F}> {
330
+ `),O&&(n+=` query: ${d.queryType||"Record<string, any>"};
331
+ `),U&&(n+=` data: ${d.dtoType||"any"};
332
+ `),n+=" }"),n+=`): Promise<${L}> {
329
333
  `,q||O||U){let P=[];q&&P.push("url"),O&&P.push("query"),U&&P.push("data"),n+=` const { ${P.join(", ")} } = params;
330
- `;}if(q){let P=A.map(T=>`url.${T.name}`).join(", ");n+=` const _url = ${c.name}(${P});
331
- `;}else n+=` const _url = ${c.name};
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};
332
336
  `;n+=` const config: AxiosRequestConfig = {};
333
337
  `,O&&(n+=` config.params = { ...query };
334
- `),n+=` const response = await this.client.${c.method.toLowerCase()}<${F}>(
338
+ `),n+=` const response = await this.client.${d.method.toLowerCase()}<${L}>(
335
339
  `,n+=` _url,
336
340
  `,U?n+=` data,
337
341
  config
@@ -345,7 +349,7 @@ ${C}`,e);}}return wt(p,we),console.info(`\u2705 Successfully synced ${p}`),{succ
345
349
  `,p?n+=`export default ApiClient;
346
350
  `:(n+=`export const apiClient = new ApiClient();
347
351
  `,n+=`export default apiClient;
348
- `),n},tn=(r,o)=>{var f,c;let p=((f=o.reactQuery)==null?void 0:f.version)||5,e=((c=o.reactQuery)==null?void 0:c.mutations)!==false,i=!!(o.reactQuery&&o.reactQuery.infiniteQueries&&!o.reactQuery.infiniteQueries.disable),n=`// Generated React Query Hooks
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
349
353
  `;n+=`// This file was auto-generated. Add custom code in the marked sections.
350
354
 
351
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';
@@ -362,16 +366,16 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
362
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},
363
367
  `;}),n+=`} from '../types';
364
368
 
365
- `,r.forEach(y=>{var T,ee;let A=y.method.toUpperCase(),L=A==="GET",q=["POST","PUT","PATCH","DELETE"].includes(A),O=((T=y.parameters)==null?void 0:T.filter(M=>M.in==="path"))||[],U=((ee=y.parameters)==null?void 0:ee.filter(M=>M.in==="query"))||[],F=O.length>0,R=U.length>0,B=!!y.requestBody,P=y.responseType||"any";if(L){let M=U.map(se=>se.name.toLowerCase()),re=(M.includes("page")||M.includes("cursor")||M.includes("cursorid")||M.includes("after")||M.includes("before"))&&i,ge=`use${y.name.charAt(0).toUpperCase()+y.name.slice(1)}`;if(n+=`/**
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+=`/**
366
370
  `,y.summary&&(n+=` * ${y.summary}
367
371
  `),n+=` * @method ${A}
368
372
  `,n+=` * @path ${y.path}
369
373
  `,y.tags&&y.tags.length>0&&(n+=` * @tags ${y.tags.join(", ")}
370
374
  `),n+=` */
371
- `,F||R?(n+=`export function ${ge}(
375
+ `,L||R?(n+=`export function ${oe}(
372
376
  `,n+=` params: {
373
- `,F&&(n+=` url: {
374
- `,O.forEach(se=>{let ue={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[se.type||"string"]||"any",we=se.required?"":"?";n+=` ${se.name}${we}: ${ue};
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};
375
379
  `;}),n+=` };
376
380
  `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
377
381
  `),n+=` },
@@ -384,7 +388,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
384
388
  `,n+=` });
385
389
  `,n+=`}
386
390
 
387
- `):(n+=`export function ${ge}(
391
+ `):(n+=`export function ${oe}(
388
392
  `,n+=` options?: Omit<UseQueryOptions<${P}>, 'queryKey' | 'queryFn'>
389
393
  `,n+=`) {
390
394
  `,n+=` return useQuery({
@@ -394,10 +398,10 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
394
398
  `,n+=` });
395
399
  `,n+=`}
396
400
 
397
- `),re){let se=`${ge}Infinite`;F||R?(n+=`export function ${se}(
401
+ `),ye){let ae=`${oe}Infinite`;L||R?(n+=`export function ${ae}(
398
402
  `,n+=` params: {
399
- `,F&&(n+=` url: {
400
- `,O.forEach(le=>{let we={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[le.type||"string"]||"any",ke=le.required?"":"?";n+=` ${le.name}${ke}: ${we};
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};
401
405
  `;}),n+=` };
402
406
  `),R&&(n+=` query: ${y.queryType||"Record<string, any>"};
403
407
  `),n+=` },
@@ -411,7 +415,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
411
415
  `,n+=` });
412
416
  `,n+=`}
413
417
 
414
- `):(n+=`export function ${se}(
418
+ `):(n+=`export function ${ae}(
415
419
  `,n+=` options?: Omit<UseInfiniteQueryOptions<${P}, Error, ${P}>, 'queryKey' | 'queryFn'>
416
420
  `,n+=`) {
417
421
  `,n+=` return useInfiniteQuery({
@@ -428,18 +432,18 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
428
432
  `,n+=` * @path ${y.path}
429
433
  `,y.tags&&y.tags.length>0&&(n+=` * @tags ${y.tags.join(", ")}
430
434
  `),n+=` */
431
- `;let J="void";(F||R||B)&&(J=`{
432
- `,F&&(J+=` url: {
433
- `,O.forEach(re=>{let se={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[re.type||"string"]||"any",le=re.required?"":"?";J+=` ${re.name}${le}: ${se};
434
- `;}),J+=` };
435
- `),R&&(J+=` query: ${y.queryType||"Record<string, any>"};
436
- `),B&&(J+=` data: ${y.dtoType||"any"};
437
- `),J+=" }"),n+=`export function ${M}(
438
- `,n+=` options?: Omit<UseMutationOptions<${P}, Error, ${J}>, 'mutationFn'>
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'>
439
443
  `,n+=`) {
440
444
  `,n+=` return useMutation({
441
- `,n+=" mutationFn: (",J!=="void"&&(n+=`variables: ${J}`),n+=`) => {
442
- `,n+=` return apiClient.${y.name}(${J!=="void"?"variables":""});
445
+ `,n+=" mutationFn: (",W!=="void"&&(n+=`variables: ${W}`),n+=`) => {
446
+ `,n+=` return apiClient.${y.name}(${W!=="void"?"variables":""});
443
447
  `,n+=` },
444
448
  `,n+=` ...options,
445
449
  `,n+=` });
@@ -647,7 +651,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
647
651
  `;let n=new Set;return r.forEach(t=>{t.queryType&&n.add(t.queryType),t.dtoType&&n.add(t.dtoType),t.responseType&&n.add(t.responseType);}),n.forEach(t=>{e+=` ${t},
648
652
  `;}),e+=`} from '../types';
649
653
 
650
- `,r.forEach(t=>{var R,B;let f=t.method.toUpperCase(),c=f==="GET",y=["POST","PUT","PATCH","DELETE"].includes(f),A=((R=t.parameters)==null?void 0:R.filter(P=>P.in==="path"))||[],L=((B=t.parameters)==null?void 0:B.filter(P=>P.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!t.requestBody,F=t.responseType||"any";if(c){let P=`use${t.name.charAt(0).toUpperCase()+t.name.slice(1)}`;e+=`/**
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+=`/**
651
655
  `,t.summary&&(e+=` * ${t.summary}
652
656
  `),e+=` * @method ${f}
653
657
  `,e+=` * @path ${t.path}
@@ -656,11 +660,11 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
656
660
  `,q||O?(e+=`export function ${P}(
657
661
  `,e+=` params: {
658
662
  `,q&&(e+=` url: {
659
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";e+=` ${T.name}${J}: ${M};
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};
660
664
  `;}),e+=` };
661
665
  `),O&&(e+=` query: ${t.queryType||"Record<string, any>"};
662
666
  `),e+=` },
663
- `,e+=` config?: SWRConfiguration<${F}>
667
+ `,e+=` config?: SWRConfiguration<${L}>
664
668
  `,e+=`) {
665
669
  `,e+=` return useSWR(
666
670
  `,e+=` ['${t.name}', params],
@@ -668,7 +672,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
668
672
  `,e+=` config
669
673
  `,e+=` );
670
674
  `):(e+=`export function ${P}(
671
- `,e+=` config?: SWRConfiguration<${F}>
675
+ `,e+=` config?: SWRConfiguration<${L}>
672
676
  `,e+=`) {
673
677
  `,e+=` return useSWR(
674
678
  `,e+=` '${t.name}',
@@ -683,19 +687,19 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
683
687
  `,e+=` * @path ${t.path}
684
688
  `,t.tags&&t.tags.length>0&&(e+=` * @tags ${t.tags.join(", ")}
685
689
  `),e+=` */
686
- `;let T="void",ee="void";(q||O||U)&&(T=`{
687
- `,q&&(T+=` url: {
688
- `,A.forEach(M=>{let re={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[M.type||"string"]||"any",ge=M.required?"":"?";T+=` ${M.name}${ge}: ${re};
689
- `;}),T+=` };
690
- `),O&&(T+=` query: ${t.queryType||"Record<string, any>"};
691
- `),U&&(T+=` data: ${t.dtoType||"any"};
692
- `),T+=" }",ee=`{ arg: ${T} }`),e+=`export function ${P}(
693
- `,e+=` config?: SWRMutationConfiguration<${F}, Error, string, ${T}>
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}>
694
698
  `,e+=`) {
695
699
  `,e+=` return useSWRMutation(
696
700
  `,e+=` '${t.name}',
697
- `,e+=" async (_, ",T!=="void"&&(e+=`{ arg }: ${ee}`),e+=`) => {
698
- `,e+=` return apiClient.${t.name}(${T!=="void"?"arg":""});
701
+ `,e+=" async (_, ",E!=="void"&&(e+=`{ arg }: ${ee}`),e+=`) => {
702
+ `,e+=` return apiClient.${t.name}(${E!=="void"?"arg":""});
699
703
  `,e+=` },
700
704
  `,e+=` config
701
705
  `,e+=` );
@@ -729,22 +733,22 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
729
733
  `),i+=` }),
730
734
  `,i+=` tagTypes: [${[...new Set(r.flatMap(t=>t.tags||[]))].map(t=>`'${t}'`).join(", ")}],
731
735
  `,i+=` endpoints: (builder) => ({
732
- `,r.forEach((t,f)=>{var B,P;let c=t.method.toUpperCase(),y=c==="GET",A=((B=t.parameters)==null?void 0:B.filter(T=>T.in==="path"))||[],L=((P=t.parameters)==null?void 0:P.filter(T=>T.in==="query"))||[],q=A.length>0,O=L.length>0,U=!!t.requestBody,F=t.responseType||"any";i+=` ${t.name}: builder.${y?"query":"mutation"}<
733
- `,i+=` ${F},
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},
734
738
  `;let R="void";if((q||O||U)&&(R=`{
735
739
  `,q&&(R+=` url: {
736
- `,A.forEach(T=>{let M={string:"string",number:"number",integer:"number",boolean:"boolean",array:"any[]",object:"any"}[T.type||"string"]||"any",J=T.required?"":"?";R+=` ${T.name}${J}: ${M};
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};
737
741
  `;}),R+=` };
738
742
  `),O&&(R+=` query: ${t.queryType||"Record<string, any>"};
739
743
  `),U&&(R+=` data: ${t.dtoType||"any"};
740
744
  `),R+=" }"),i+=` ${R}
741
745
  `,i+=` >({
742
746
  `,i+=" query: (",R!=="void"&&(i+="arg"),i+=`) => {
743
- `,q){let T=A.map(ee=>`arg.url.${ee.name}`).join(", ");i+=` const url = ${t.name}(${T});
747
+ `,q){let E=A.map(ee=>`arg.url.${ee.name}`).join(", ");i+=` const url = ${t.name}(${E});
744
748
  `;}else i+=` const url = ${t.name};
745
749
  `;i+=` return {
746
750
  `,i+=` url,
747
- `,i+=` method: '${c}',
751
+ `,i+=` method: '${d}',
748
752
  `,O&&(i+=` params: arg.query,
749
753
  `),U&&(i+=` body: arg.data,
750
754
  `),i+=` };
@@ -757,7 +761,7 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
757
761
 
758
762
  `,i+=`export default ${p}Api;
759
763
 
760
- `,i};});var or,qt,te,ir,ar,Rt=de(()=>{St();Ne();or=(r,o)=>{var p,e;if((p=o==null?void 0:o.folderSplit)!=null&&p.customFolder){let i=o.folderSplit.customFolder({method:r.method,path:r.path,tags:r.tags,operationId:r.operationId,summary:r.summary});if(i)return i}return (e=o==null?void 0:o.folderSplit)!=null&&e.byTags&&r.tags&&r.tags.length>0?r.tags[0].toLowerCase().replace(/\s+/g,"-"):"default"},qt=(r,o,p,e,i)=>ie(null,null,function*(){let n=jt(r,p);if(n.length===0)return;let u=p.type||"fetch";p.outputDir||V__default.default.join(i,e,"client");let f=!!(o!=null&&o.folderSplit&&(o.folderSplit.byTags||o.folderSplit.customFolder));if(`${u}${n.length}`,f){let y={};n.forEach(q=>{let O=or(q,o);y[O]||(y[O]=[]),y[O].push(q);});let A=Object.keys(y);for(let[q,O]of Object.entries(y)){let U=V__default.default.join(i,e,q);yield ce__default.default.promises.mkdir(U,{recursive:true}),`${u}${q}${O.length}`,yield ir(O,o,p,U,u,q,true);}let L=V__default.default.join(i,e);yield ar(L,A,u,o);return}let c=V__default.default.join(i,e);switch(yield ce__default.default.promises.mkdir(c,{recursive:true}),u){case "fetch":let y=nn(n,p);y=y.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),y,o);break;case "axios":let A=xe(n,p,false);A=A.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),A,o);break;case "react-query":let L=xe(n,p,false);L=L.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),L,o);let q=tn(n,p);q=q.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V__default.default.join(c,"hooks.ts"),q,o);break;case "swr":let O=xe(n,p,false);O=O.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"clients.ts"),O,o);let U=rn(n,p);U=U.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';").replace("import apiClient from './client';","import apiClient from './clients';"),yield te(V__default.default.join(c,"hooks.ts"),U,o);break;case "rtk-query":let F=sn(n,p);F=F.replace("} from '../types';","} from './types';").replace("} from '../endpoints';","} from './endpoints';"),yield te(V__default.default.join(c,"api.ts"),F,o);break;default:throw new Error(`Unknown client type: ${u}`)}}),te=(r,o,p)=>ie(null,null,function*(){var u,t,f,c;if(!(((u=p==null?void 0:p.customCode)==null?void 0:u.enabled)!==false)){yield ce__default.default.promises.writeFile(r,o);return}let i=null;try{i=yield ce__default.default.promises.readFile(r,"utf-8");}catch(y){}let n=exports.mergeCustomCode(o,i,{position:((t=p==null?void 0:p.customCode)==null?void 0:t.position)||"bottom",markerText:(f=p==null?void 0:p.customCode)==null?void 0:f.markerText,includeInstructions:(c=p==null?void 0:p.customCode)==null?void 0:c.includeInstructions});yield ce__default.default.promises.writeFile(r,n);}),ir=(r,o,p,e,i,n,u=false)=>ie(null,null,function*(){let t="",f="",c=u?"./types":"../types",y=u?"./endpoints":"../endpoints";switch(i){case "fetch":t=nn(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "axios":t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o);break;case "react-query":if(t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o),f=tn(r,p),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let L=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${L}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "swr":if(t=xe(r,p,u),t=t.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"client.ts"),t,o),f=rn(r,p),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),u){let L=n.replace(/-/g,"_");f=f.replace("import apiClient from './client';",`import { ${L}Client as apiClient } from '../clients';`);}yield te(V__default.default.join(e,"hooks.ts"),f,o);break;case "rtk-query":let A=u?ae(X({},p),{rtkQuery:ae(X({},p.rtkQuery),{apiName:n.replace(/-/g,"_")})}):p;f=sn(r,A),f=f.replace("} from '../types';",`} from '${c}';`).replace("} from '../endpoints';",`} from '${y}';`),yield te(V__default.default.join(e,"api.ts"),f,o);break;default:throw new Error(`Unknown client type: ${i}`)}}),ar=(r,o,p,e)=>ie(null,null,function*(){var n;if(p==="rtk-query"){let u=`// Generated RTK Query APIs
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
761
765
  `;u+=`// This file was auto-generated.
762
766
  `,u+=`// Aggregates all API slices for easy Redux store setup
763
767
 
@@ -851,15 +855,15 @@ import { useInfiniteQuery, UseInfiniteQueryOptions } from 'react-query';
851
855
  `;}),u+=`
852
856
  // Example usage:
853
857
  `,u+=`// import { useGetSomething } from './hooks';
854
- `,yield te(V__default.default.join(r,"hooks.ts"),u,e);}});});var kt=de(()=>{});var Nt={};ht(Nt,{interactiveInit:()=>lr});function lr(){return ie(this,null,function*(){try{let r=yield Ut__default.default([{type:"select",name:"configFormat",message:"What configuration format would you like to use?",choices:[{title:"TypeScript (openapi.sync.ts)",value:"typescript"},{title:"JSON (openapi.sync.json)",value:"json"},{title:"JavaScript (openapi.sync.js)",value:"javascript"}],initial:0},{type:"select",name:"apiSource",message:"Where is your OpenAPI specification?",choices:[{title:"URL (e.g., https://api.example.com/openapi.json)",value:"url"},{title:"Local file",value:"file"}],initial:0},{type:t=>t==="url"?"text":null,name:"apiUrl",message:"Enter the OpenAPI specification URL:",validate:t=>t.startsWith("http://")||t.startsWith("https://")?!0:"Please enter a valid URL starting with http:// or https://"},{type:(t,f)=>f.apiSource==="file"?"text":null,name:"apiFile",message:"Enter the path to your OpenAPI file:",validate:t=>t.trim()!==""?!0:"Please enter a valid file path"},{type:"text",name:"apiName",message:"What would you like to name this API?",initial:"myapi",validate:t=>/^[a-zA-Z0-9_-]+$/.test(t)?!0:"API name must contain only letters, numbers, hyphens, and underscores"},{type:"text",name:"outputFolder",message:"Where should generated files be saved?",initial:"./src/api",validate:t=>{if(!t||t.trim()==="")return "Output folder cannot be empty";let f=V__default.default.normalize(t);if(f==="/"||f==="C:\\"||f==="\\")return "Cannot use filesystem root directory. Please use a project subfolder like './src/api'";if(V__default.default.isAbsolute(t)){let c=process.cwd();if(!t.startsWith(c))return "\u26A0\uFE0F Warning: Using absolute path outside project directory. Recommended: use relative path like './src/api'"}return !0}},{type:"confirm",name:"enableFolderSplit",message:"Organize generated code into folders by OpenAPI tags?",initial:!1},{type:"confirm",name:"generateClient",message:"Generate API client code?",initial:!0},{type:t=>t?"select":null,name:"clientType",message:"Which client type would you like?",choices:[{title:"React Query (Recommended for React)",value:"react-query"},{title:"RTK Query (Redux Toolkit)",value:"rtk-query"},{title:"SWR",value:"swr"},{title:"Fetch API",value:"fetch"},{title:"Axios",value:"axios"}],initial:0},{type:"confirm",name:"enableValidation",message:"Enable runtime validation schemas?",initial:!0},{type:t=>t?"select":null,name:"validationLibrary",message:"Which validation library?",choices:[{title:"Zod (Recommended)",value:"zod"},{title:"Yup",value:"yup"},{title:"Joi",value:"joi"}],initial:0},{type:"confirm",name:"enableCustomCode",message:"Enable custom code preservation?",initial:!0},{type:"confirm",name:"typesUseOperationId",message:"Use operationId from OpenAPI spec for type names?",initial:!0},{type:"text",name:"typesPrefix",message:"Prefix for TypeScript interface names (leave empty for none):",initial:"I"},{type:"confirm",name:"excludeEndpointsByTags",message:"Exclude endpoints by tags (e.g., deprecated, internal)?",initial:!1},{type:t=>t?"text":null,name:"excludeTags",message:"Enter tags to exclude (comma-separated):",initial:"deprecated,internal"},{type:"confirm",name:"showCurlInDocs",message:"Include cURL examples in generated documentation?",initial:!0},{type:"number",name:"refetchInterval",message:"Refetch interval in milliseconds (0 to disable auto-refresh):",initial:5e3,min:0},{type:"confirm",name:"runSync",message:"Run initial sync after setup?",initial:!0}],{onCancel:()=>{throw pe||process.exit(0),new Error("Setup cancelled")}}),o={refetchInterval:r.refetchInterval||void 0,folder:r.outputFolder,api:{[r.apiName]:r.apiUrl||r.apiFile}};r.enableFolderSplit&&(o.folderSplit={byTags:!0}),o.types={name:{prefix:r.typesPrefix||"",useOperationId:r.typesUseOperationId}},o.endpoints={name:{useOperationId:r.typesUseOperationId},doc:{showCurl:r.showCurlInDocs}},r.excludeEndpointsByTags&&r.excludeTags&&(o.endpoints.exclude={tags:r.excludeTags.split(",").map(t=>t.trim())}),r.generateClient&&r.clientType&&(o.clientGeneration={enabled:!0,type:r.clientType,outputDir:V__default.default.join(r.outputFolder,r.apiName,"client")},r.clientType==="react-query"?o.clientGeneration.reactQuery={version:5,mutations:!0}:r.clientType==="swr"&&(o.clientGeneration.swr={mutations:!0})),r.enableValidation&&r.validationLibrary&&(o.validations={library:r.validationLibrary}),r.enableCustomCode&&(o.customCode={enabled:!0,position:"bottom"});let p,e;r.configFormat==="json"?(e="openapi.sync.json",p=JSON.stringify(o,null,2)):r.configFormat==="typescript"?(e="openapi.sync.ts",p=`import { IConfig } from "openapi-sync";
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";
855
859
 
856
860
  const config: IConfig = ${JSON.stringify(o,null,2)};
857
861
 
858
862
  export default config;
859
863
  `):(e="openapi.sync.js",p=`module.exports = ${JSON.stringify(o,null,2)};
860
- `);let i=V__default.default.join(process.cwd(),e);if(ce__default.default.existsSync(i)&&!(yield Ut__default.default({type:"confirm",name:"value",message:`${e} already exists. Overwrite?`,initial:!1})).value)throw pe||process.exit(0),new Error("Configuration file not created");ce__default.default.writeFileSync(i,p,"utf-8"),pe||`${e}`;let n=V__default.default.isAbsolute(r.outputFolder)?r.outputFolder:V__default.default.join(process.cwd(),r.outputFolder);if(!ce__default.default.existsSync(n))try{ce__default.default.mkdirSync(n,{recursive:!0}),pe||`${r.outputFolder}`;}catch(t){pe||`${t.message}`;}let u=V__default.default.join(process.cwd(),".gitignore");if(ce__default.default.existsSync(u)&&(ce__default.default.readFileSync(u,"utf-8").includes(r.outputFolder)||ce__default.default.appendFileSync(u,`
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,`
861
865
  # OpenAPI Sync generated files
862
866
  ${r.outputFolder}
863
- `)),pe||(`${e}`,r.generateClient&&r.clientType&&(r.clientType==="axios"||r.clientType==="react-query"||r.clientType==="swr"||r.clientType),r.enableValidation&&r.validationLibrary&&(r.generateClient,`${r.validationLibrary}`)),r.runSync&&!pe)try{let{Init:t,GenerateClient:f}=yield Promise.resolve().then(()=>(Gt(),Lt));yield t({refetchInterval:r.refetchInterval}),r.generateClient&&r.clientType&&(yield f({type:r.clientType,apiName:r.apiName}));}catch(t){console.error(`
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(`
864
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(`
865
- \u274C Error during setup:`,r.message),process.exit(1)),r}})}var pe,Ft=de(()=>{pe=process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0;});var Lt={};ht(Lt,{GenerateClient:()=>exports.GenerateClient,Init:()=>exports.Init,InteractiveInit:()=>exports.InteractiveInit,JSONStringify:()=>exports.JSONStringify,capitalize:()=>exports.capitalize,createCustomCodeMarker:()=>exports.createCustomCodeMarker,extractCustomCode:()=>exports.extractCustomCode,getEndpointDetails:()=>exports.getEndpointDetails,getNestedValue:()=>Yt,isJson:()=>exports.isJson,isYamlString:()=>exports.isYamlString,mergeCustomCode:()=>exports.mergeCustomCode,renderTypeRefMD:()=>exports.renderTypeRefMD,variableName:()=>exports.variableName,variableNameChar:()=>exports.variableNameChar,yamlStringToJson:()=>exports.yamlStringToJson});var Me,Mt;exports.Init=void 0;exports.GenerateClient=void 0;exports.InteractiveInit=void 0;var Gt=de(()=>{Pt();Ye();Ze();Rt();kt();Ne();ze();Me=process.cwd(),Mt=()=>{let r;try{ve("esbuild-register");}catch(u){throw u}let o=V__default.default.join(Me,"openapi.sync.js"),p=V__default.default.join(Me,"openapi.sync.ts"),e=V__default.default.join(Me,"openapi.sync.json"),i=[o,p,e];try{for(let u of i)ce__default.default.existsSync(u)&&(r=ve(u),Object.keys(r).length===1&&r.default&&(r=r.default));}catch(u){}typeof r=="function"&&(r=r());let n=r;if(!n)throw new Error("No config found");return n},exports.Init=r=>ie(null,null,function*(){let o=Mt(),p=Object.keys(o.api),e=r&&"refetchInterval"in r&&!isNaN(r==null?void 0:r.refetchInterval)?r.refetchInterval:o.refetchInterval;Ve();for(let i=0;i<p.length;i+=1){let n=p[i],u=o.api[n];yield en(u,n,o,e);}}),exports.GenerateClient=r=>ie(null,null,function*(){let o=Mt(),p=r.apiName?[r.apiName]:Object.keys(o.api);for(let i of p)if(!o.api[i])throw new Error(`API "${i}" not found in configuration. Available APIs: ${Object.keys(o.api).join(", ")}`);Ve();for(let i of p){let n=o.api[i];yield en(n,i,o);}let e=(o==null?void 0:o.folder)||"api";for(let i of p){let n=At(i);if(n.length===0){continue}`${n.length}${i}`;let u=X(X(X(X(ae(X({enabled:true},o.clientGeneration||{}),{type:r.type}),r.outputDir&&{outputDir:r.outputDir}),r.baseURL&&{baseURL:r.baseURL}),r.tags&&{tags:r.tags}),r.endpoints&&{endpoints:r.endpoints});yield qt(n,o,u,i,V__default.default.join(Me,e));}}),exports.InteractiveInit=()=>ie(null,null,function*(){let{interactiveInit:r}=yield Promise.resolve().then(()=>(Ft(),Nt));yield r();});});Gt();exports.getNestedValue=Yt;
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;