openapi-sync 5.0.0 → 5.0.2

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