openapi-sync 5.0.0 → 5.0.1

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