orval 6.0.0-alpha.2 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import SwaggerParser from '@apidevtools/swagger-parser';
2
- import { SchemaObject, OperationObject, OpenAPIObject } from 'openapi3-ts';
2
+ import { SchemaObject, InfoObject, OperationObject, OpenAPIObject } from 'openapi3-ts';
3
3
  import swagger2openapi from 'swagger2openapi';
4
4
 
5
5
  declare type ResolverValue = {
@@ -207,6 +207,7 @@ declare type NormalizedOverrideOutput = {
207
207
  required?: boolean;
208
208
  baseUrl?: string;
209
209
  };
210
+ header: false | ((info: InfoObject) => string[]);
210
211
  formData: boolean | NormalizedMutator;
211
212
  components: {
212
213
  schemas: {
@@ -255,12 +256,15 @@ declare type OutputOptions = {
255
256
  client?: OutputClient | OutputClientFunc;
256
257
  clean?: boolean | string[];
257
258
  };
259
+ declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
260
+ validate?: boolean;
261
+ };
258
262
  declare type InputOptions = {
259
263
  target: string | OpenAPIObject;
260
264
  validation?: boolean;
261
265
  override?: OverrideInput;
262
266
  converterOptions?: swagger2openapi.Options;
263
- parserOptions?: SwaggerParser.Options;
267
+ parserOptions?: SwaggerParserOptions;
264
268
  };
265
269
  declare type OutputClient = 'axios' | 'axios-functions' | 'angular' | 'react-query' | 'svelte-query' | 'vue-query' | 'swr';
266
270
  declare const OutputClient: {
@@ -308,6 +312,7 @@ declare type OverrideOutput = {
308
312
  required?: boolean;
309
313
  baseUrl?: string;
310
314
  };
315
+ header?: boolean | ((info: InfoObject) => string[]);
311
316
  formData?: boolean | Mutator;
312
317
  components?: {
313
318
  schemas?: {
package/dist/index.js CHANGED
@@ -1,287 +1 @@
1
- var Xs=Object.create;var Ae=Object.defineProperty,Zs=Object.defineProperties,ea=Object.getOwnPropertyDescriptor,ta=Object.getOwnPropertyDescriptors,ra=Object.getOwnPropertyNames,et=Object.getOwnPropertySymbols,na=Object.getPrototypeOf,Mt=Object.prototype.hasOwnProperty,vr=Object.prototype.propertyIsEnumerable;var Gr=(e,t,r)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))Mt.call(t,r)&&Gr(e,r,t[r]);if(et)for(var r of et(t))vr.call(t,r)&&Gr(e,r,t[r]);return e},b=(e,t)=>Zs(e,ta(t)),Pr=e=>Ae(e,"__esModule",{value:!0});var Ct=(e,t)=>{var r={};for(var n in e)Mt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&et)for(var n of et(e))t.indexOf(n)<0&&vr.call(e,n)&&(r[n]=e[n]);return r};var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),oa=(e,t)=>{Pr(e);for(var r in t)Ae(e,r,{get:t[r],enumerable:!0})},sa=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ra(t))!Mt.call(e,n)&&n!=="default"&&Ae(e,n,{get:()=>t[n],enumerable:!(r=ea(t,n))||r.enumerable});return e},O=e=>sa(Pr(Ae(e!=null?Xs(na(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Zt=S((xg,Hn)=>{var mi=Object.prototype;function ci(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||mi;return e===r}Hn.exports=ci});var Jn=S((Sg,Yn)=>{function ui(e,t){return function(r){return e(t(r))}}Yn.exports=ui});var Zn=S(($g,Xn)=>{var li=Jn(),fi=li(Object.keys,Object);Xn.exports=fi});var to=S((wg,eo)=>{var gi=Zt(),di=Zn(),yi=Object.prototype,bi=yi.hasOwnProperty;function Oi(e){if(!gi(e))return di(e);var t=[];for(var r in Object(e))bi.call(e,r)&&r!="constructor"&&t.push(r);return t}eo.exports=Oi});var er=S((jg,ro)=>{var hi=typeof global=="object"&&global&&global.Object===Object&&global;ro.exports=hi});var ne=S((Rg,no)=>{var xi=er(),Si=typeof self=="object"&&self&&self.Object===Object&&self,$i=xi||Si||Function("return this")();no.exports=$i});var tr=S((vg,oo)=>{var wi=ne(),ji=wi.Symbol;oo.exports=ji});var po=S((Gg,io)=>{var so=tr(),ao=Object.prototype,Ri=ao.hasOwnProperty,vi=ao.toString,Le=so?so.toStringTag:void 0;function Gi(e){var t=Ri.call(e,Le),r=e[Le];try{e[Le]=void 0;var n=!0}catch(s){}var o=vi.call(e);return n&&(t?e[Le]=r:delete e[Le]),o}io.exports=Gi});var co=S((Pg,mo)=>{var Pi=Object.prototype,Ti=Pi.toString;function Mi(e){return Ti.call(e)}mo.exports=Mi});var Qe=S((Tg,fo)=>{var uo=tr(),Ci=po(),Ii=co(),qi="[object Null]",Di="[object Undefined]",lo=uo?uo.toStringTag:void 0;function Ai(e){return e==null?e===void 0?Di:qi:lo&&lo in Object(e)?Ci(e):Ii(e)}fo.exports=Ai});var rr=S((Mg,go)=>{function ki(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}go.exports=ki});var nr=S((Cg,yo)=>{var Fi=Qe(),Ei=rr(),Ni="[object AsyncFunction]",Vi="[object Function]",Wi="[object GeneratorFunction]",Bi="[object Proxy]";function _i(e){if(!Ei(e))return!1;var t=Fi(e);return t==Vi||t==Wi||t==Ni||t==Bi}yo.exports=_i});var Oo=S((Ig,bo)=>{var zi=ne(),Li=zi["__core-js_shared__"];bo.exports=Li});var So=S((qg,xo)=>{var or=Oo(),ho=function(){var e=/[^.]+$/.exec(or&&or.keys&&or.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qi(e){return!!ho&&ho in e}xo.exports=Qi});var sr=S((Dg,$o)=>{var Ki=Function.prototype,Ui=Ki.toString;function Hi(e){if(e!=null){try{return Ui.call(e)}catch(t){}try{return e+""}catch(t){}}return""}$o.exports=Hi});var jo=S((Ag,wo)=>{var Yi=nr(),Ji=So(),Xi=rr(),Zi=sr(),ep=/[\\^$.*+?()[\]{}|]/g,tp=/^\[object .+?Constructor\]$/,rp=Function.prototype,np=Object.prototype,op=rp.toString,sp=np.hasOwnProperty,ap=RegExp("^"+op.call(sp).replace(ep,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ip(e){if(!Xi(e)||Ji(e))return!1;var t=Yi(e)?ap:tp;return t.test(Zi(e))}wo.exports=ip});var vo=S((kg,Ro)=>{function pp(e,t){return e==null?void 0:e[t]}Ro.exports=pp});var Ge=S((Fg,Go)=>{var mp=jo(),cp=vo();function up(e,t){var r=cp(e,t);return mp(r)?r:void 0}Go.exports=up});var To=S((Eg,Po)=>{var lp=Ge(),fp=ne(),gp=lp(fp,"DataView");Po.exports=gp});var Co=S((Ng,Mo)=>{var dp=Ge(),yp=ne(),bp=dp(yp,"Map");Mo.exports=bp});var qo=S((Vg,Io)=>{var Op=Ge(),hp=ne(),xp=Op(hp,"Promise");Io.exports=xp});var Ao=S((Wg,Do)=>{var Sp=Ge(),$p=ne(),wp=Sp($p,"Set");Do.exports=wp});var Fo=S((Bg,ko)=>{var jp=Ge(),Rp=ne(),vp=jp(Rp,"WeakMap");ko.exports=vp});var Lo=S((_g,zo)=>{var ar=To(),ir=Co(),pr=qo(),mr=Ao(),cr=Fo(),Eo=Qe(),Pe=sr(),No="[object Map]",Gp="[object Object]",Vo="[object Promise]",Wo="[object Set]",Bo="[object WeakMap]",_o="[object DataView]",Pp=Pe(ar),Tp=Pe(ir),Mp=Pe(pr),Cp=Pe(mr),Ip=Pe(cr),xe=Eo;(ar&&xe(new ar(new ArrayBuffer(1)))!=_o||ir&&xe(new ir)!=No||pr&&xe(pr.resolve())!=Vo||mr&&xe(new mr)!=Wo||cr&&xe(new cr)!=Bo)&&(xe=function(e){var t=Eo(e),r=t==Gp?e.constructor:void 0,n=r?Pe(r):"";if(n)switch(n){case Pp:return _o;case Tp:return No;case Mp:return Vo;case Cp:return Wo;case Ip:return Bo}return t});zo.exports=xe});var ht=S((zg,Qo)=>{function qp(e){return e!=null&&typeof e=="object"}Qo.exports=qp});var Uo=S((Lg,Ko)=>{var Dp=Qe(),Ap=ht(),kp="[object Arguments]";function Fp(e){return Ap(e)&&Dp(e)==kp}Ko.exports=Fp});var Xo=S((Qg,Jo)=>{var Ho=Uo(),Ep=ht(),Yo=Object.prototype,Np=Yo.hasOwnProperty,Vp=Yo.propertyIsEnumerable,Wp=Ho(function(){return arguments}())?Ho:function(e){return Ep(e)&&Np.call(e,"callee")&&!Vp.call(e,"callee")};Jo.exports=Wp});var es=S((Kg,Zo)=>{var Bp=Array.isArray;Zo.exports=Bp});var ur=S((Ug,ts)=>{var _p=9007199254740991;function zp(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_p}ts.exports=zp});var ns=S((Hg,rs)=>{var Lp=nr(),Qp=ur();function Kp(e){return e!=null&&Qp(e.length)&&!Lp(e)}rs.exports=Kp});var ss=S((Yg,os)=>{function Up(){return!1}os.exports=Up});var ms=S((Ke,Te)=>{var Hp=ne(),Yp=ss(),as=typeof Ke=="object"&&Ke&&!Ke.nodeType&&Ke,is=as&&typeof Te=="object"&&Te&&!Te.nodeType&&Te,Jp=is&&is.exports===as,ps=Jp?Hp.Buffer:void 0,Xp=ps?ps.isBuffer:void 0,Zp=Xp||Yp;Te.exports=Zp});var us=S((Jg,cs)=>{var em=Qe(),tm=ur(),rm=ht(),nm="[object Arguments]",om="[object Array]",sm="[object Boolean]",am="[object Date]",im="[object Error]",pm="[object Function]",mm="[object Map]",cm="[object Number]",um="[object Object]",lm="[object RegExp]",fm="[object Set]",gm="[object String]",dm="[object WeakMap]",ym="[object ArrayBuffer]",bm="[object DataView]",Om="[object Float32Array]",hm="[object Float64Array]",xm="[object Int8Array]",Sm="[object Int16Array]",$m="[object Int32Array]",wm="[object Uint8Array]",jm="[object Uint8ClampedArray]",Rm="[object Uint16Array]",vm="[object Uint32Array]",P={};P[Om]=P[hm]=P[xm]=P[Sm]=P[$m]=P[wm]=P[jm]=P[Rm]=P[vm]=!0;P[nm]=P[om]=P[ym]=P[sm]=P[bm]=P[am]=P[im]=P[pm]=P[mm]=P[cm]=P[um]=P[lm]=P[fm]=P[gm]=P[dm]=!1;function Gm(e){return rm(e)&&tm(e.length)&&!!P[em(e)]}cs.exports=Gm});var fs=S((Xg,ls)=>{function Pm(e){return function(t){return e(t)}}ls.exports=Pm});var ds=S((He,Me)=>{var Tm=er(),gs=typeof He=="object"&&He&&!He.nodeType&&He,Ue=gs&&typeof Me=="object"&&Me&&!Me.nodeType&&Me,Mm=Ue&&Ue.exports===gs,lr=Mm&&Tm.process,Cm=function(){try{var e=Ue&&Ue.require&&Ue.require("util").types;return e||lr&&lr.binding&&lr.binding("util")}catch(t){}}();Me.exports=Cm});var hs=S((Zg,Os)=>{var Im=us(),qm=fs(),ys=ds(),bs=ys&&ys.isTypedArray,Dm=bs?qm(bs):Im;Os.exports=Dm});var fr=S((ed,xs)=>{var Am=to(),km=Lo(),Fm=Xo(),Em=es(),Nm=ns(),Vm=ms(),Wm=Zt(),Bm=hs(),_m="[object Map]",zm="[object Set]",Lm=Object.prototype,Qm=Lm.hasOwnProperty;function Km(e){if(e==null)return!0;if(Nm(e)&&(Em(e)||typeof e=="string"||typeof e.splice=="function"||Vm(e)||Bm(e)||Fm(e)))return!e.length;var t=km(e);if(t==_m||t==zm)return!e.size;if(Wm(e))return!Am(e).length;for(var r in e)if(Qm.call(e,r))return!1;return!0}xs.exports=Km});oa(exports,{default:()=>Oc,defineConfig:()=>Qs,generate:()=>Js});var Us=O(require("upath"));var Ps=O(require("@apidevtools/swagger-parser")),Ts=O(require("upath")),Ms=O(require("validator/lib/isURL"));var Tr=O(require("upath"));var L={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},ke={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},Y={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"};var M=e=>Boolean(e.$ref),Mr=e=>!(0,Tr.extname)(e);function q(e){return Object.prototype.toString.call(e)==="[object Object]"}function A(e){return typeof e=="string"}function Cr(e){return typeof e=="number"}function te(e){return typeof e=="boolean"}function W(e){return typeof e=="function"}function Ir(e){return typeof e=="undefined"}function qr(e){return typeof e===null}var Dr=e=>Object.values(Y).includes(e);var j=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));var Vr=O(require("chalk")),Wr=O(require("swagger2openapi"));var Q=O(require("chalk")),It=O(require("readline")),B=console.log;var Ar=e=>B(Q.default.red(e));var qt=e=>B(`\u{1F389} ${e?`${Q.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),kr=e=>{B(Q.default.yellow("(!) Warnings")),e.forEach(t=>B(Q.default.yellow(`Message : ${t.message}
2
- Path : ${t.path}`)))},Fr=e=>{B(Q.default.red("(!) Errors")),e.forEach(t=>B(Q.default.red(`Message : ${t.message}
3
- Path : ${t.path}`)))},Dt={silent:0,error:1,warn:2,info:3},Er,Nr,At=0;function aa(){let e=process.stdout.rows-2,t=e>0?`
4
- `.repeat(e):"";console.log(t),It.default.cursorTo(process.stdout,0,0),It.default.clearScreenDown(process.stdout)}function _(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=Dt[e],s=n&&process.stdout.isTTY&&!process.env.CI?aa:()=>{};function a(m,c,l={}){if(o>=Dt[m]){let u=m==="info"?"log":m,f=()=>{if(l.timestamp){let d=m==="info"?Q.default.cyan.bold(r):m==="warn"?Q.default.yellow.bold(r):Q.default.red.bold(r);return`${Q.default.dim(new Date().toLocaleTimeString())} ${d} ${c}`}else return c};m===Er&&c===Nr?(At++,s(),console[u](f(),Q.default.yellow(`(x${At+1})`))):(At=0,Nr=c,Er=m,l.clear&&s(),console[u](f()))}}let i=new Set,p={hasWarned:!1,info(m,c){a("info",m,c)},warn(m,c){p.hasWarned=!0,a("warn",m,c)},warnOnce(m,c){i.has(m)||(p.hasWarned=!0,a("warn",m,c),i.add(m))},error(m,c){p.hasWarned=!0,a("error",m,c)},clearScreen(m){o>=Dt[m]&&s()}};return p}var Br=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi||!e.openapi.startsWith("3.0")?Wr.default.convertObj(e,t,(o,s)=>{o?(B(Vr.default.yellow(`${r}
5
- => ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
6
- Path: ${r}
7
- Parsing Error: ${n}`}};var _r=O(require("upath"));var tt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=(0,_r.resolve)(t,e),o=await Promise.resolve().then(()=>O(require(n)));return r&&q(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var zr=O(require("lodash.get"));var H=e=>{if(!(Ir(e)||qr(e)))return A(e)?`'${e}'`:Cr(e)||te(e)||W(e)?`${e}`:Array.isArray(e)?`[${e.map(H).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let a=H(n);return s.length===1?`{ ${r}: ${a}, }`:o?s.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},k=(e,t)=>{let{whitespace:r="",underscore:n=""}=t||{},o=e.replace(/[^\w\s]/g,"");return r!==!0&&(o=o.replace(/[\s]/g,r)),n!==!0&&(o=o.replace(/['_']/g,n)),o},F=(e,t)=>e.length?(t?e.map(n=>(0,zr.default)(n,t)):e).join(`,
8
- `)+",":"",ia={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},rt=e=>e.toString().split("").reduce((r,n)=>r+ia[n],"");var pa=e=>e.split("").reduce((t,r)=>r==="{"?t+"${":r==="}"?t+"}":t+k(r),""),Lr=e=>e.split("/").reduce((r,n)=>n?n.includes("{")?`${r}/${pa(n)}`:`${r}/${n}`:r,"");var kt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},nt=kt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ot="a-z"+kt("DF-F6,F8-FF","00"),Fe="A-Z"+kt("C0-D6,D8-DE","00"),ma="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",ae={capitalize:new RegExp("(^|["+nt+"])(["+ot+"])","g"),pascal:new RegExp("(^|["+nt+"])+(["+ot+Fe+"])","g"),fill:new RegExp("["+nt+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ot+"])","g"),improper:new RegExp("\\b("+ma+")\\b","g"),relax:new RegExp("([^"+Fe+"])(["+Fe+"]*)(["+Fe+"])(?=[^"+Fe+"]|$)","g"),upper:new RegExp("^[^"+ot+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+nt+"]")},ca=e=>e.replace(ae.apostrophe,""),ua=String.prototype.toUpperCase,Ft=String.prototype.toLowerCase,Et=(e,t,r=!1)=>(t!=null&&(e=e.replace(ae.fill,function(n,o){return o?t+o:""})),r&&(e=ca(e)),e),la=e=>Ft.call(e.charAt(0))+e.slice(1),fa=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Qr=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&ae.upper.test(e)&&(e=Ft.call(e)),!t&&!ae.hole.test(e)){var o=Et(e," ");ae.hole.test(o)&&(e=o)}return!r&&!ae.room.test(e)&&(e=e.replace(ae.relax,fa)),e},ga=(e,t,r)=>Et(Ft.call(Qr(e,!!t)),t,r),h=e=>Et(Qr(e,!1,!0).replace(ae.pascal,(t,r,n)=>ua.call(n)),"",!0),$=e=>la(h(e)),Oe=e=>ga(e,"-",!0);var Kr=O(require("lodash.uniq")),Nt=O(require("lodash.uniqwith")),Vt=O(require("upath"));var Ur=({imports:e=[],rootSpecKey:t,isRootKey:r,specsName:n})=>e.length?(0,Nt.default)(e,(o,s)=>o.name===s.name&&o.default===s.default&&o.specKey===s.specKey).sort().map(({specKey:o,name:s,values:a,alias:i})=>{if(o){let p=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from '../${(0,Vt.join)(p,$(s))}';`:`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${(0,Vt.join)(p,$(s))}';`}return`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${$(s)}';`}).join(`
9
- `):"",K=(e,t)=>{let r=(0,Nt.default)(e,(n,o)=>n.name===o.name&&n.default===o.default).map(n=>`import ${n.default?n.name:`{ ${n.name} }`} from '${t?"../":""}${n.path}'`).join(`
10
- `);return r?r+`
11
- `:""},da=({implementation:e,exports:t,dependency:r,specsName:n})=>{let o=t.filter(a=>e.includes(a.name));if(!o.length)return;let s=o.reduce((a,i)=>{var m,c;let p=i.specKey||"default";return b(g({},a),{[p]:{values:((m=a[p])==null?void 0:m.values)||i.values||!1,deps:[...((c=a[p])==null?void 0:c.deps)||[],i]}})},{});return Object.entries(s).map(([a,{values:i,deps:p}])=>{let m=p.find(l=>l.default),c=(0,Kr.default)(p.filter(l=>!l.default).map(({name:l})=>l)).join(`,
12
- `);return`import ${i?"":"type "}${m?`${m.name}${c?",":""}`:""}${c?`{
13
- ${c}
14
- }`:""} from '${r}${a!=="default"&&n[a]?`/${n[a]}`:""}'`}).join(`
15
- `)},st=(e,t,r)=>{let n=t.map(o=>da(b(g({},o),{implementation:e,specsName:r}))).filter(Boolean).join(`
16
- `);return n?n+`
17
- `:""},ie=({response:e,body:t,queryParams:r,params:n})=>[...e.imports,...t.imports,...n.reduce((o,s)=>[...o,...s.imports],[]),...r?[{name:r.schema.name}]:[]];var ya=["number","string","null","unknown","undefined","object","blob"],Se=ya.reduce((e,t)=>[...e,t,`Array<${t}>`,`${t}[]`],[]),Wt=[Y.POST,Y.PUT,Y.PATCH];var ba=(e,t,r)=>Wt.includes(t)?r&&e.formData?`
18
- formData,`:`
19
- ${e.implementation||"undefined"},`:"",Oa=(e,t,r)=>{var s;let n=r!==!1;if(!t&&!e.isBlob)return n?"options":"";let o=`
20
- {`;return t&&(o+=`
21
- params,`),e.isBlob&&(!q(r)||!r.hasOwnProperty("responseType"))&&(o+=`
22
- responseType: 'blob',`),q(r)&&(o+=`
23
- ${(s=H(r))==null?void 0:s.slice(1,-1)}`),n&&(o+=`
24
- ...options`),o+=" },",o},pe=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:s,isFormData:a})=>`
25
- \`${e}\`,${ba(t,o,a)}${Oa(n,r==null?void 0:r.schema,s)}
26
- `,ha=(e,t,r)=>Wt.includes(t)?r&&e.formData?`,
27
- data: formData`:`,
28
- data: ${e.implementation||"undefined"}`:"",xa=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
29
- params,`),e.isBlob&&(r+=`
30
- responseType: 'blob',`),r},me=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:s})=>`{url: \`${e}\`, method: '${o}'${ha(t,o,s)}${xa(n,r==null?void 0:r.schema)}
31
- }`,ce=(e,t)=>{var r,n;return t?q(e)?`{${(n=H(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":q(e)?(r=H(e))==null?void 0:r.slice(1,-1):""};var Sa=[{exports:[{name:"HttpClient",values:!0},{name:"HttpHeaders"},{name:"HttpParams"},{name:"HttpContext"}],dependency:"@angular/common/http"},{exports:[{name:"Injectable",values:!0}],dependency:"@angular/core"},{exports:[{name:"Observable",values:!0}],dependency:"rxjs"}],Hr=()=>Sa,Yr=e=>{let t=k(e);return`${h(t)}Service`},Jr=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideInRoot:o})=>`
32
- ${t&&!n?`type HttpClientOptions = {
33
- headers?: HttpHeaders | {
34
- [header: string]: string | string[];
35
- };
36
- context?: HttpContext;
37
- observe?: any;
38
- params?: HttpParams | {
39
- [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
40
- };
41
- reportProgress?: boolean;
42
- responseType?: any;
43
- withCredentials?: boolean;
44
- };`:""}
45
-
46
- ${t&&r?`type ThirdParameter<T extends (...args: any) => any> = T extends (
47
- config: any,
48
- httpClient: any,
49
- args: infer P,
50
- ) => any
51
- ? P
52
- : never;`:""}
53
-
54
- @Injectable(${o?"{ providedIn: 'root' }":""})
55
- export class ${e} {
56
- constructor(
57
- private http: HttpClient,
58
- ) {}`,Xr=()=>`};
59
- `,$a=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",wa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,override:i,formData:p},{route:m})=>{let c=(i==null?void 0:i.requestOptions)!==!1,l=(i==null?void 0:i.formData)!==!1,u=$a({isFormData:l,formData:p,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>2,x=c?ce(i==null?void 0:i.requestOptions,y):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
60
- ${F(s,"implementation")}
61
- ${c&&y?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${u}
62
- return ${n.name}<TData>(
63
- ${d},
64
- this.http,
65
- ${x});
66
- }
67
- `}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:i==null?void 0:i.requestOptions,isFormData:l});return` ${t}<TData = ${r.definition.success||"unknown"}>(
68
- ${F(s,"implementation")} ${c?`options?: HttpClientOptions
69
- `:""} ): Observable<TData> {${u}
70
- return this.http.${a}<TData>(${f});
71
- }
72
- `},Zr=(e,t)=>{let r=ie(e);return{implementation:wa(e,t),imports:r}};var ja=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Bt=()=>ja,Ra=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",va=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,override:i,formData:p},{route:m})=>{let c=(i==null?void 0:i.requestOptions)!==!1,l=(i==null?void 0:i.formData)!==!1,u=Ra({isFormData:l,formData:p,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(i==null?void 0:i.requestOptions,y):"";return`const ${t} = <TData = ${r.definition.success||"unknown"}>(
73
- ${F(s,"implementation")}
74
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
75
- return ${n.name}<TData>(
76
- ${d},
77
- ${x});
78
- }
79
- `}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:i==null?void 0:i.requestOptions,isFormData:l});return`const ${t} = <TData = AxiosResponse<${r.definition.success||"unknown"}>>(
80
- ${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
81
- `:""} ): Promise<TData> => {${u}
82
- return axios.${a}(${f});
83
- }
84
- `},_t=e=>{let t=k(e);return`get${h(t)}`},zt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`${t&&r?`type SecondParameter<T extends (...args: any) => any> = T extends (
85
- config: any,
86
- args: infer P,
87
- ) => any
88
- ? P
89
- : never;
90
-
91
- `:""}
92
- ${n?"":`export const ${e} = () => {
93
- `}`,en=(e=[])=>`return {${e.join(",")}}};
94
- `,Lt=(e,t)=>{let r=ie(e);return{implementation:va(e,t),imports:r}};var tn={email:"faker.internet.email()",zipCode:"faker.address.zipCode()",city:"faker.address.city()",streetName:"faker.address.streetName()",country:"faker.address.country()",date:"faker.date.recent()",iban:"faker.finance.iban()",userName:"faker.internet.userName()",firstName:"faker.name.firstName()",lastName:"faker.name.lastName()",jobTitle:"faker.name.jobTitle()",gender:"faker.name.gender()",phoneNumber:"faker.phone.phoneNumber()",url:"faker.internet.url()"};var at=e=>e&&typeof e=="object";function he(e,t){return!at(t)||!at(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?b(g({},r),{[n]:[...s,...o]}):at(s)&&at(o)?b(g({},r),{[n]:he(s,o)}):b(g({},r),{[n]:o})},e)}var mn=O(require("upath")),cn=O(require("url")),un=O(require("validator/lib/isURL"));var sn=O(require("@swc/core")),Ee=O(require("chalk")),Ne=O(require("fs")),an=O(require("globby")),$e=O(require("path")),ue=O(require("upath"));var rn=O(require("debug")),nn=process.env.ORVAL_DEBUG_FILTER,Qt=process.env.DEBUG;function on(e,t={}){let r=(0,rn.default)(e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{nn&&!s.includes(nn)||n&&!(Qt==null?void 0:Qt.includes(o))||r(s,...a)}}var v=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Mr(e),o=n?(0,ue.join)(e,t+r):e,s=o.replace(/\.[^/.]+$/,""),a=(0,ue.dirname)(o),i=(0,ue.basename)(o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:a,filename:i}},pn=on("orval:file-load");async function it(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s}=t||{},a=Date.now(),i,p=!1,m=!1,c=[];if(e)i=$e.default.resolve(e),p=e.endsWith(".ts");else if(o){let l=$e.default.resolve(r,`${o}.js`);if(Ne.default.existsSync(l)&&(i=l),!i){let u=$e.default.resolve(r,`${o}.mjs`);Ne.default.existsSync(u)&&(i=u,m=!0)}if(!i){let u=$e.default.resolve(r,`${o}.ts`);Ne.default.existsSync(u)&&(i=u,p=!0)}}i||(e?_(s).error(Ee.default.red(`File not found => ${e}`)):o?_(s).error(Ee.default.red(`File not found => ${o}.{js,mjs,ts}`)):_(s).error(Ee.default.red("File not found")),process.exit(1));try{let l;if(!l&&!p&&!m)try{delete require.cache[require.resolve(i)],l=require(i),pn(`cjs loaded in ${Date.now()-a}ms`)}catch(u){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(u.message))throw u}if(!l){let u=await Ga(i);l=await Pa(i,u,n),pn(`bundled file loaded in ${Date.now()-a}ms`)}return{path:(0,ue.normalizeSafe)(i),file:l,dependencies:c}}catch(l){throw _(s).error(Ee.default.red(`failed to load from ${i}`)),l}}async function Ga(e,t=!1){let{code:r}=await sn.transformFile(e,{module:{type:"commonjs"}});return r}async function Pa(e,t,r){let n=$e.default.extname(e),o=require.extensions[n];require.extensions[n]=(i,p)=>{p===e?i._compile(t,p):o(i,p)},delete require.cache[require.resolve(e)];let s=require(e),a=r&&s.__esModule?s.default:s;return require.extensions[n]=o,a}async function Kt(e,t){let r=await(0,an.default)(e,{cwd:t,absolute:!0});await Promise.all(r.map(n=>Ne.default.promises.unlink(n)))}var Ta={schemas:"schemas",responses:"responses",parameters:"parameters",requestBodies:"requestBodies"},Ma=Object.values(Ta),Ve={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},we=async(e,t)=>{let r=Ma.find(i=>e.includes(`#/components/${i}`));if(!r)throw new Error("Unresolved $ref");let n=t.override.components[r].suffix,o=e.split(`#/components/${r}/`);if(!o[0])return{name:h(o[1])+n,originalName:o[1],type:r};let s=o[0],a=(0,un.default)(t.specKey)?cn.default.resolve(t.specKey,s):(0,mn.resolve)(v(t.specKey).dirname,s);return{name:h(o[1])+n,originalName:o[1],specKey:a,type:r}};var ln=(e,t,r)=>{var a,i;let n=Object.entries(((a=t.specs[r||t.specKey].components)==null?void 0:a.schemas)||[]).reduce((p,[m,c])=>b(g({},p),{[m]:c}),{}),o=Object.entries(((i=t.specs[r||t.specKey].components)==null?void 0:i.responses)||[]).reduce((p,[m,c])=>{var l,u;return b(g({},p),{[m]:M(c)?c:(u=(l=c.content)==null?void 0:l["application/json"])==null?void 0:u.schema})},{}),s=g(g({},n),o);return b(g({},s[e]),{specKey:r})};var Ca=e=>e[0]==="/"&&e[e.length-1]==="/",pt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Ca(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:We(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},We=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,le=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(M(e)){let{name:a,specKey:i}=await we(e.$ref,b(g({},s),{specKey:e.specKey||s.specKey})),p=b(g({},ln(a,s,i||e.specKey)),{name:a,path:e.path,isRef:!0,specKey:i||e.specKey});return Be({item:p,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}return Be({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})};var yn=O(require("cuid"));var fn=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;var gn=async({item:e,items:t,isOneOf:r,mockOptions:n,operationId:o,tags:s,combine:a,context:i})=>{let p=[],m=[...(a==null?void 0:a.properties)||[]];return{value:await j(t,async(l,u,f,d)=>{let y=await le({schema:b(g({},u),{name:e.name,path:e.path?e.path:"#",specKey:e.specKey}),combine:r?void 0:{properties:m},mockOptions:n,operationId:o,tags:s,context:i});return p=[...p,...y.imports],m=[...m,...y.properties||[]],!f&&!a?y.enums||r?d.length===1?`faker.helpers.randomize([${y.value}])`:`faker.helpers.randomize([${y.value},`:d.length===1?`{${y.value}}`:`{${y.value},`:d.length-1===f?y.enums||r?l+y.value+(a?"":"])"):l+y.value+(a?"":"}"):y.value?l+y.value+",":l},""),imports:p,name:e.name,properties:m}};var dn=O(require("esutils")),je=e=>dn.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var bn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(M(e))return await le({schema:b(g({},e),{name:e.name,path:e.path?`${e.path}.${e.name}`:e.name,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});if(e.allOf||e.oneOf||e.anyOf)return gn({item:e,items:e.allOf||e.oneOf||e.anyOf,isOneOf:!!(e.oneOf||e.anyOf),mockOptions:t,operationId:r,tags:n,combine:o,context:s});if(e.properties){let a=o?"":"{",i=[],p=[];return a+=(await Promise.all(Object.entries(e.properties).map(async([m,c])=>{if(o==null?void 0:o.properties.includes(m))return;let l=(t==null?void 0:t.required)||(e.required||[]).includes(m);if(fn(e.path,`.${m}.`)>=1)return;let u=await le({schema:b(g({},c),{name:m,path:e.path?`${e.path}.${m}`:`#.${m}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});i=[...i,...u.imports],p=[...p,m];let f=je(m);return!l&&!u.overrided?`${f}: faker.helpers.randomize([${u.value}, undefined])`:`${f}: ${u.value}`}))).filter(Boolean).join(", "),a+=o?"":"}",{value:a,imports:i,name:e.name,properties:p}}if(e.additionalProperties){if(te(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let a=await le({schema:b(g({},e.additionalProperties),{name:e.name,path:e.path?`${e.path}.#`:"#",specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});return b(g({},a),{value:`{
95
- '${(0,yn.default)()}': ${a.value}
96
- }`})}return{value:"{}",imports:[],name:e.name}};var Be=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{var l,u;let a=pt((u=(l=t==null?void 0:t.operations)==null?void 0:l[r])==null?void 0:u.properties,e);if(a)return a;let i=Object.entries((t==null?void 0:t.tags)||{}).reduce((f,[d,y])=>n.includes(d)?he(f,y):f,{}),p=pt(i==null?void 0:i.properties,e);if(p)return p;let m=pt(t==null?void 0:t.properties,e);if(m)return m;let c=g(g({},tn),(t==null?void 0:t.format)||{});if(e.format&&c[e.format])return{value:We(c[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:We("faker.datatype.number()",e.nullable),imports:[],name:e.name};case"boolean":return{value:"faker.datatype.boolean()",imports:[],name:e.name};case"array":{if(!e.items)return{value:[],imports:[],name:e.name};let{value:f,enums:d,imports:y,name:x}=await le({schema:b(g({},e.items),{name:e.name,path:e.path?`${e.path}.[]`:"#.[]",specKey:e.specKey}),combine:o,mockOptions:t,operationId:r,tags:n,context:s});return d?{value:`[...Array(faker.datatype.number({min:1, max: ${d.length}}))].reduce(({values, enums}) => {
97
- const newValue = enums[faker.datatype.number({min:1, max: enums.length})];
98
- return {
99
- values: [...values, newValue],
100
- enums: enums.filter((v: ${x}) => newValue !== v)
101
- }
102
- },{ values: [], enums: Object.values(${x})})`,imports:y,name:e.name}:{value:`[...Array(faker.datatype.number({min: 1, max: 10}))].map(() => (${f}))`,imports:y,name:e.name}}case"string":{let f="faker.random.word()",d=[];if(e.enum){let y="['"+e.enum.join("','")+"']";e.isRef&&(y=`Object.values(${e.name})`,d=[{name:e.name,values:!0}]),f=`faker.helpers.randomize(${y})`}return{value:We(f,e.nullable),enums:e.enum,name:e.name,imports:d}}case"object":default:return bn({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}};var E=async(e,t,r=[])=>{var p,m,c;if(!M(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,type:a}=await we(e.$ref,t),i=(c=(m=(p=t.specs[s||t.specKey])==null?void 0:p.components)==null?void 0:m[a])==null?void 0:c[o];if(!i)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return E(i,b(g({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};var mt=(e,t)=>Object.entries(W(e)?e(t):e).reduce((r,[n,o])=>b(g({},r),{[n]:W(o)?`(${o})()`:H(o)}),{}),Ia=(e,t)=>{var r,n,o;return g(g(g(g({required:(r=t==null?void 0:t.mock)==null?void 0:r.required},((n=t==null?void 0:t.mock)==null?void 0:n.properties)?{properties:mt(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:mt(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((s,[a,i])=>{var p;return b(g({},s),{[a]:((p=i.mock)==null?void 0:p.properties)?{properties:mt(i.mock.properties,e)}:{}})},{})}:{}),(t==null?void 0:t.tags)?{tags:Object.entries(t.tags).reduce((s,[a,i])=>{var p;return b(g({},s),{[a]:((p=i.mock)==null?void 0:p.properties)?{properties:mt(i.mock.properties,e)}:{}})},{})}:{})},qa=e=>{let t=e.endsWith("[]");switch(t?e.slice(0,-2):e){case"number":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.datatype.number())":"faker.datatype.number().toString()";case"string":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.random.word())":"faker.random.word()";default:return"undefined"}},Da=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>j(r.types.success,async(a,{value:i,schema:p})=>{if(!i||Se.includes(i)){let l=qa(i);return a.definitions=[...a.definitions,o?o(l,r.definition.success):l],a}if(!p)return a;let m=await E(p,s),c=await Be({item:g({name:i},m.schema),mockOptions:n,operationId:e,tags:t,context:s});return a.imports=[...a.imports,...c.imports],a.definitions=[...a.definitions,o?o(c.value,r.definition.success):c.value.toString()],a},{definitions:[],imports:[]}),On=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let a=Ia(s.specs[s.specKey],n),{definitions:i,imports:p}=await Da({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:a,transformer:o,context:s});return{definition:"["+i.join(", ")+"]",definitions:i,imports:p}},hn=(e,t)=>{var n,o,s;let r=(s=(o=(n=t==null?void 0:t.operations)==null?void 0:n[e])==null?void 0:o.mock)==null?void 0:s.data;return W(r)?`(${r})()`:H(r)};var Aa=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+k(r),""),ka=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${Aa(o)}`:`${n}/${o}`:n,t),Fa=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0}],dependency:"faker"}],fe=(e,t,r)=>st(e,[...Fa,...t],r),xn=async({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:s,context:a})=>{var d;let{definitions:i,definition:p,imports:m}=await On({operationId:e,tags:n,response:t,override:s,context:a}),c=ka(o,(d=s==null?void 0:s.mock)==null?void 0:d.baseUrl),l=hn(e,s),u="";l?u=l:i.length>1?u=`faker.helpers.randomize(${p})`:i[0]&&(u=i[0]);let f=u[0]==="{"||u[0]==="["||u.startsWith("(function() {")||u.startsWith("(()=>({")||u.startsWith("faker.helpers")||u.startsWith("Array.from")?"json":"text";return{implementation:{function:u&&u!=="undefined"?`export const get${h(e)}Mock = () => (${u})
103
-
104
- `:"",handler:`rest.${r}('${c}', (req, res, ctx) => {
105
- return res(
106
- ctx.delay(1000),
107
- ctx.status(200, 'Mocked status'),${u&&u!=="undefined"?`
108
- ctx.${f}(get${h(e)}Mock()),`:""}
109
- )
110
- }),`},imports:m}};var Sn=O(require("lodash.omitby"));var J={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam"};var Ut=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Ea=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"@sveltestack/svelte-query"}],$n=()=>Ea,Na=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"react-query"}],wn=()=>Na,Va=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0}],dependency:"vue-query"},{exports:[{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"vue-query/types"}],jn=()=>Va,Wa=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Ba=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,formData:i,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=Wa({isFormData:l,formData:i,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
111
- ${F(s,"implementation")}
112
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
113
- return ${n.name}<${r.definition.success||"unknown"}>(
114
- ${d},
115
- ${x});
116
- }
117
- `}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
118
- ${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
119
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
120
- return axios.${a}(${f});
121
- }
122
- `},Ht={INFINITE:"infiniteQuery",QUERY:"query"},_a=["getNextPageParam","getPreviousPageParam"],za=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=q(t)?` ${(o=H((0,Sn.default)(t,(s,a)=>!!(r!==Ht.INFINITE&&_a.includes(a)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!q(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},Rn=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,isMutatorHasSecondArg:o,type:s})=>{let a=s?`Use${h(s)}Options<AsyncReturnType<typeof ${e}>, TError, TData>`:`UseMutationOptions<AsyncReturnType<typeof ${e}>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;return n?`options?: { ${s?"query":"mutation"}?:${a}, ${r?o?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
123
- `:`${s?"queryOptions":"mutationOptions"}?: ${a}`},La=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:a,properties:i,params:p,props:m,mutator:c,isRequestOptions:l,response:u})=>{let f=t?m.map(({name:y})=>y==="params"?`{ ${t}: pageParam, ...params }`:y).join(","):i,d=!!c&&c.mutatorFn.length>1;return`
124
- export const ${$(`use-${e}`)} = <TData = AsyncReturnType<typeof ${o}>, TError = ${u.definition.errors||"unknown"}>(
125
- ${s} ${Rn({operationName:o,definitions:"",mutator:c,isRequestOptions:l,isMutatorHasSecondArg:d,type:n})}
126
- ) => {
127
-
128
- ${l?`const {query: queryOptions${c?d?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
129
-
130
- const queryKey = queryOptions?.queryKey ?? ${a}(${i});
131
- const queryFn = (${t&&m.some(({type:y})=>y==="queryParam")?"{ pageParam }":""}) => ${o}(${f}${f?", ":""}${l?c?d?"requestOptions":"":"axiosOptions":""});
132
-
133
- const query = ${$(`use-${n}`)}<AsyncReturnType<typeof queryFn>, TError, TData>(queryKey, queryFn, ${za({params:p,options:r,type:n})})
134
-
135
- return {
136
- queryKey,
137
- ...query
138
- }
139
- }
140
- `},Qa=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p,operationId:m},{route:c,override:{operations:l={}}})=>{var T;let u=a==null?void 0:a.query,f=(a==null?void 0:a.requestOptions)!==!1,d=(T=l[m])==null?void 0:T.query;if(o===Y.GET||(d==null?void 0:d.useInfinite)||(d==null?void 0:d.useQuery)){let G=n.map(({name:I,type:V})=>V===J.BODY?r.implementation:I).join(","),w=[...(u==null?void 0:u.useInfinite)?[{name:$(`${t}-infinite`),options:u==null?void 0:u.options,type:Ht.INFINITE,queryParam:u==null?void 0:u.useInfiniteQueryParam}]:[],...!(u==null?void 0:u.useQuery)&&!(u==null?void 0:u.useInfinite)||(u==null?void 0:u.useQuery)?[{name:t,options:u==null?void 0:u.options,type:Ht.QUERY}]:[]],C=$(`get-${t}-queryKey`),D=F(n,"implementation");return`export const ${C} = (${D}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
141
-
142
- ${w.reduce((I,V)=>I+La({queryOption:V,operationName:t,queryProps:D,queryKeyFnName:C,properties:G,params:s,props:n,mutator:i,isRequestOptions:f,response:p}),"")}
143
- `}let y=n.map(({definition:G,type:w})=>w===J.BODY?`data: ${r.definition}`:G).join(";"),x=!!i&&i.mutatorFn.length>1,R=n.map(({name:G,type:w})=>w===J.BODY?"data":G).join(",");return`
144
- export const ${$(`use-${t}`)} = <TError = ${p.definition.errors||"unknown"},
145
- ${y?"":"TVariables = void,"}
146
- TContext = unknown>(${Rn({operationName:t,isMutatorHasSecondArg:x,definitions:y,mutator:i,isRequestOptions:f})}) => {
147
- ${f?`const {mutation: mutationOptions${i?x?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
148
-
149
- return useMutation<AsyncReturnType<typeof ${t}>, TError, ${y?`{${y}}`:"TVariables"}, TContext>((${R?"props":""}) => {
150
- ${R?`const {${R}} = props || {}`:""};
151
-
152
- return ${t}(${R}${R?",":""}${f?i?x?"requestOptions":"":"axiosOptions":""})
153
- }, mutationOptions)
154
- }
155
- `},ct=()=>"",ut=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
156
- T extends (...args: any) => Promise<any>
157
- > = T extends (...args: any) => Promise<infer R> ? R : any;
158
-
159
-
160
- ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
161
- config: any,
162
- args: infer P,
163
- ) => any
164
- ? P
165
- : never;
166
-
167
- `:""}`,lt=()=>"",ft=(e,t)=>{let r=ie(e),n=Ba(e,t),o=Qa(e,t);return{implementation:`${n}
168
-
169
- ${o}`,imports:r}};var Ka=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Ua=[...Ka,{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],vn=()=>Ua,Ha=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Ya=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,formData:i,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=Ha({isFormData:l,formData:i,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
170
- ${F(s,"implementation")}
171
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
172
- return ${n.name}<${r.definition.success||"unknown"}>(
173
- ${d},
174
- ${x});
175
- }
176
- `}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
177
- ${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
178
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
179
- return axios.${a}(${f});
180
- }
181
- `},Ja=({operationName:e,mutator:t,isRequestOptions:r,isMutatorHasSecondArg:n})=>{let o=`SWRConfiguration<AsyncReturnType<typeof ${e}>, TError> & {swrKey: Key}`;return r?`options?: { swr?:${o}, ${t?n?`request?: SecondParameter<typeof ${t.name}>`:"":"axios?: AxiosRequestConfig"}}
182
- `:`swrOptions?: ${o}`},Xa=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:s,isRequestOptions:a,response:i})=>{let p=n,m=!!s&&s.mutatorFn.length>1;return`
183
- export const ${$(`use-${e}`)} = <TError = ${i.definition.errors||"unknown"}>(
184
- ${t} ${Ja({operationName:e,mutator:s,isRequestOptions:a,isMutatorHasSecondArg:m})}
185
- ) => {
186
-
187
- ${a?`const {swr: swrOptions${s?m?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
188
-
189
- const isEnable = !!(${o.map(({name:c})=>c).join(" && ")})
190
- const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);
191
- const swrFn = () => ${e}(${p}${p?", ":""}${a?s?m?"requestOptions":"":"axiosOptions":""});
192
-
193
- const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
194
-
195
- return {
196
- swrKey,
197
- ...query
198
- }
199
- }
200
- `},Za=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1;if(o!==Y.GET)return"";let l=n.map(({name:d,type:y})=>y===J.BODY?r.implementation:d).join(","),u=$(`get-${t}-key`),f=F(n,"implementation");return`export const ${u} = (${f}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
201
-
202
- ${Xa({operationName:t,swrProps:f,swrKeyFnName:u,properties:l,params:s,props:n,mutator:i,isRequestOptions:c,response:p})}
203
- `},Gn=()=>"",Pn=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
204
- T extends (...args: any) => Promise<any>
205
- > = T extends (...args: any) => Promise<infer R> ? R : any;
206
-
207
-
208
- ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
209
- config: any,
210
- args: infer P,
211
- ) => any
212
- ? P
213
- : never;
214
-
215
- `:""}`,Tn=()=>"",Mn=(e,t)=>{let r=ie(e),n=Ya(e,t),o=Za(e,t);return{implementation:`${n}
216
-
217
- ${o}`,imports:r}};var _e=L.AXIOS,Cn={axios:{client:Lt,header:zt,dependencies:Bt,footer:en,title:_t},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=Lt(e,t);return{implementation:"export "+r,imports:n}},header:e=>zt(b(g({},e),{noFunction:!0})),dependencies:Bt,footer:()=>"",title:_t},angular:{client:Zr,header:Jr,dependencies:Hr,footer:Xr,title:Yr},"react-query":{client:ft,header:ut,dependencies:wn,footer:lt,title:ct},"svelte-query":{client:ft,header:ut,dependencies:$n,footer:lt,title:ct},"vue-query":{client:ft,header:ut,dependencies:jn,footer:lt,title:ct},swr:{client:Mn,header:Pn,dependencies:vn,footer:Tn,title:Gn}},ze=e=>{let t=W(e)?e(Cn):Cn[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},ge=(e=_e,t,r,n)=>{let{dependencies:o}=ze(e);return st(t,[...o(),...r],n)},gt=({outputClient:e=_e,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:a})=>{let i=ei(e,r,n),{header:p}=ze(e);return{implementation:p({title:i.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:a}),implementationMSW:`export const ${i.implementationMSW} = () => [
218
- `}},dt=(e=_e,t)=>{let{footer:r}=ze(e);return{implementation:r(t),implementationMSW:`]
219
- `}},ei=(e=_e,t,r)=>{let{title:n}=ze(e);if(r){let o=r(t);return{implementation:n(o),implementationMSW:`get${h(o)}MSW`}}return{implementation:n(t),implementationMSW:`get${h(t)}MSW`}},ti=async(e,t)=>t.mock?W(t.mock)?t.mock(e,t):xn(e,t):{implementation:{function:"",handler:""},imports:[]},In=(e=_e,t,r)=>j(t,async(n,o)=>{let{client:s}=ze(e),a=s(o,r),i=await ti(o,r);return b(g({},n),{[o.operationId]:{implementation:a.implementation,imports:a.imports,implementationMSW:i.implementation,importsMSW:i.imports,tags:o.tags,mutator:o.mutator,formData:o.formData,operationName:o.operationName}})},{});var An=O(require("lodash.uniqby"));var Yt=async(e,t,r)=>{let{schema:n,imports:o}=await E(t,r),s=M(t)?o[0].name:e,a=`const formData = new FormData();
220
- `;if(n.type==="object"&&n.properties){let i=await j(Object.entries(n.properties),async(p,[m,c])=>{var f;let{schema:l}=await E(c,r),u="";return l.type==="object"||l.type==="array"?u=`formData.append('${m}', JSON.stringify(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}))
221
- `:l.type==="number"||l.type==="integer"||l.type==="boolean"?u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}.toString())
222
- `:u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`})
223
- `,((f=n.required)==null?void 0:f.includes(m))?p+u:p+`if(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`} !== undefined) {
224
- ${u} }
225
- `},"");return`${a}${i}`}return n.type==="array"?`${a}formData.append('data', JSON.stringify(${$(s)}))
226
- `:n.type==="number"||n.type==="boolean"?`${a}formData.append('data', ${$(s)}.toString())
227
- `:`${a}formData.append('data', ${$(s)})
228
- `};function U({description:e,deprecated:t},r=!1){if(!e&&!t)return"";let n=(e&&!t||t&&!e)&&r,o="/**";return e&&(n||(o+=`
229
- ${r?" ":""} *`),o+=` ${e}`),t&&(n||(o+=`
230
- ${r?" ":""} *`),o+=" @deprecated"),o+=n?" ":`
231
- ${r?" ":""}`,o+=`*/
232
- `,o}var Re=(e,t,r)=>{let n=`export type ${r} = ${e};
233
- `,o=e.split(" | ").reduce((s,a)=>{let i=t==="number",m=!Number.isNaN(Number(a.slice(1,-1)))||i?ri(i?a.toString():a.slice(1,-1)):k(a,{underscore:"_",whitespace:"_"}),c=!Number.isNaN(+m[0]);return s+` ${c?`'${m}'`:m}: ${a} as ${r},
234
- `},"");return n+=`
235
-
236
- export const ${r} = {
237
- ${o}};
238
- `,n},ri=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:`NUMBER_${e}`;var qn=async({schema:e,name:t,context:r})=>{if(e.items){let n=await X({schema:e.items,propName:t+"Item",context:r});return{value:`${n.value}[]`,imports:n.imports,schemas:n.schemas,isEnum:!1,type:"array"}}else throw new Error("All arrays must have an `items` key define")};var ni={allOf:"&",oneOf:"|",anyOf:"|"},yt=async({name:e,items:t,separator:r,context:n})=>{let o=await j(t,async(s,a)=>{let i=e?e+h(r):void 0;i&&s.schemas.length&&(i=i+h(rt(s.schemas.length+1)));let p=await X({schema:a,propName:i,combined:!0,context:n});return b(g({},s),{value:s.value?`${s.value} ${ni[r]} ${p.value}`:p.value,imports:[...s.imports,...p.imports],schemas:[...s.schemas,...p.schemas],isEnum:s.isEnum?p.isEnum:s.isEnum})},{value:"",imports:[],schemas:[],isEnum:!0,type:"object",isRef:!1});if(o.isEnum&&e){let s=o.value.split(" | ").map(i=>`...${i}`).join(","),a=`
239
-
240
- export const ${h(e)} = {${s}}`;return b(g({},o),{imports:o.imports.map(i=>b(g({},i),{values:!0})),value:o.value+a,isEnum:!1})}return o};var Dn=async({item:e,name:t,context:r})=>{if(M(e)){let{name:n,specKey:o}=await we(e.$ref,r);return{value:n,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return yt({items:e.allOf,name:t,separator:"allOf",context:r});if(e.oneOf)return yt({items:e.oneOf,name:t,separator:"oneOf",context:r});if(e.anyOf)return yt({items:e.anyOf,name:t,separator:"anyOf",context:r});if(e.properties&&Object.entries(e.properties).length>0)return j(Object.entries(e.properties),async(n,[o,s],a,i)=>{let p=(e.required||[]).includes(o),m=t?h(t)+h(o):void 0,c=await X({schema:s,propName:m,context:r}),l=e.readOnly||s.readOnly;a||(n.value+="{");let u=U(s,!0);return n.imports=[...n.imports,...c.imports],n.value+=`
241
- ${u?`${u} `:""}${l?"readonly ":""}${je(o)}${p?"":"?"}: ${c.value};`,n.schemas=[...n.schemas,...c.schemas],i.length-1===a&&(n.value+=`
242
- }`),n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(te(e.additionalProperties))return{value:"{ [key: string]: any }",imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let n=await Z({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${n.value}}`,imports:n.imports||[],schemas:n.schemas||[],isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{}":"unknown",imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var bt=async({item:e,name:t,context:r})=>{let n=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let a="number",i=!1;return e.enum&&(a=e.enum.join(" | "),i=!0),{value:a+n,isEnum:i,type:"number",schemas:[],imports:[],isRef:!1}}case"boolean":return{value:"boolean"+n,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1};case"array":{let o=await qn({schema:e,name:t,context:r}),{value:a}=o,i=Ct(o,["value"]);return g({value:a+n},i)}case"string":{let a="string",i=!1;return e.enum&&(a=`'${e.enum.join("' | '")}'`,i=!0),e.format==="binary"&&(a="Blob"),{value:i?a:a+n,isEnum:i,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let s=await Dn({item:e,name:t,context:r}),{value:a}=s,i=Ct(s,["value"]);return g({value:a+n},i)}}};var Z=async({schema:e,name:t,context:r})=>{if(M(e)){let{schema:o,imports:s}=await E(e,r),{name:a,specKey:i,schemaName:p}=s[0];return{value:a,imports:[{name:a,specKey:i,schemaName:p}],type:(o==null?void 0:o.type)||"object",schemas:[],isEnum:!!(o==null?void 0:o.enum),originalSchema:o,isRef:!0}}let n=await bt({item:e,name:t,context:r});return b(g({},n),{originalSchema:e,isRef:!1})};var X=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await Z({schema:e,name:t,context:n}),s=U(o.originalSchema||{});if(t&&!o.isEnum&&(o==null?void 0:o.type)==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${s}export type ${t} = ${o.value};
243
- `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let a=Re(o.value,o.type,t);return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:s+a,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var kn=["multipart/form-data"],oi=async({mediaType:e,propName:t,context:r})=>e.schema?await X({schema:e.schema,propName:t,context:r}):void 0,ve=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,a])=>Boolean(a)).map(async([s,a])=>{if(M(a)){let{schema:i,imports:[{name:p,specKey:m,schemaName:c}]}=await E(a,r),[l,u]=Object.entries(i.content||{})[0]||[];if(!kn.includes(l)||!(u==null?void 0:u.schema))return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}];let f=await Yt(p,u==null?void 0:u.schema,b(g({},r),{specKey:m||r.specKey}));return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,formData:f,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}]}return a.content?(await Promise.all(Object.entries(a.content).map(async([p,m],c,l)=>{let u=s?h(t)+h(s):void 0;u&&l.length>1&&(u=u+h(rt(c+1)));let f=await oi({mediaType:m,propName:u,context:r});if(!f||!kn.includes(p)||!u)return f;let d=await Yt(u,m.schema,r);return b(g({},f),{formData:d})}))).filter(p=>p).map(p=>b(g({},p),{key:s})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:s,isRef:!1}]}));return(0,An.default)(o.reduce((s,a)=>[...s,...a],[]),"value")};var Fn=async(e,t,r)=>{let n=await ve([[r.override.components.requestBodies.suffix,e]],t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),a=n.map(({value:m})=>m).join(" | "),i=Se.includes(a.toLowerCase())||n.length>1?$(t)+r.override.components.requestBodies.suffix:$(a),p=n.length===1?n[0].formData:void 0;return{definition:a,implementation:i,imports:o,schemas:s,formData:p||""}};var En=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(n=>k(n))].join("-"));var Nn=async({parameters:e=[],context:t})=>j(e,async(r,n)=>{if(M(n)){let{schema:o,imports:s}=await E(n,t);return o.in==="path"||o.in==="query"?b(g({},r),{[o.in]:[...r[o.in],{parameter:o,imports:s}]}):r}else return n.in!=="query"&&n.in!=="path"?r:b(g({},r),{[n.in]:[...r[n.in],{parameter:n,imports:[]}]})},{path:[],query:[]});var si=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Vn=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=si(e);return Promise.all(o.map(async s=>{let a=t.find(({parameter:d})=>k(d.name)===s);if(!a)throw new Error(`The path params ${s} can't be found in parameters (${r})`);let{name:i,required:p=!1,schema:m}=a.parameter,c=k(i);if(!m)return{name:c,definition:`${c}${p?"":"?"}: unknown`,implementation:`${c}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let l=await Z({schema:m,context:n}),u=`${c}${!p||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!p&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${l.originalSchema.default}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:p,imports:l.imports}}))};var Wn=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var Bn=({body:e,queryParams:t,params:r})=>{let n={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:J.BODY},o={name:"params",definition:`params?: ${t==null?void 0:t.name}`,implementation:`params?: ${t==null?void 0:t.name}`,default:!1,required:!1,type:J.QUERY_PARAM},s=[...r.map(i=>b(g({},i),{type:J.PARAM})),...e.definition?[n]:[],...t?[o]:[]];return Wn(s)};var ai=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:s,required:a,schema:i}=n,{value:p,imports:m,isEnum:c,type:l,schemas:u,isRef:f}=await Z({schema:i,context:r,name:h(t)+h(s)}),d=je(s);if(o.length)return{definition:`${d}${!a||i.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(c&&!f){let x=h(t)+h(s),R=Re(p,l,x);return{definition:`${d}${!a||i.default?"?":""}: ${x}`,imports:[{name:x}],schemas:[...u,{name:x,model:R,imports:m}]}}return{definition:`${d}${!a||i.default?"?":""}: ${p}`,imports:m,schemas:u}})),_n=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await ai(e,t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),a=`${h(t)}Params`,i=n.map(({definition:m})=>m).join("; ");return{schema:{name:a,model:`export type ${a} = { ${i} };
244
- `,imports:o},deps:s}};var zn=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[]};let n=await ve(Object.entries(e),t,r,"void"),o=n.reduce((m,c)=>c.key.startsWith("2")?b(g({},m),{success:[...m.success,c]}):b(g({},m),{errors:[...m.errors,c]}),{success:[],errors:[]}),s=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),a=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=o.success.map(({value:m,formData:c})=>c?"Blob":m).join(" | "),p=o.errors.map(({value:m})=>m).join(" | ");return{imports:s,definition:{success:i||"unknown",errors:p||"unknown"},isBlob:i==="Blob",types:o,schemas:a}};var Qn=O(require("chalk"));var re=O(require("upath")),Ln=O(require("validator/lib/isURL"));var Jt=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var z=(e,t)=>{let r=(0,re.relative)(e,t);return(0,re.normalizeSafe)(`.${re.sep}${r}`)},Ot=(e,t)=>{if((0,Ln.default)(e)){let r=new URL(t);return e.replace(r.origin,"").replace(v(r.pathname).dirname,"").replace(`.${Jt(e)}`,"")}return"/"+(0,re.normalize)((0,re.relative)(v(t).dirname,e)).split("../").join("").replace(`.${Jt(e)}`,"")};var ii=(e,t)=>{let r=v(e),n=v(t.path),{pathWithoutExtension:o}=v(z(r.dirname,n.path));return o},Xt=async({output:e,mutator:t,name:r})=>{if(!t||!e)return;let n=t.default,o=t.name?t.name:`${r}Mutator`,s=t.path,{file:a}=await it(s,{isDefault:!1}),i=a[n?"default":t.name];i||(_().error(Qn.default.red(`Your mutator file doesn't have the ${n?"default":t.name} exported function`)),process.exit(1));let p=ii(e,t);return{name:o,path:p,default:n,mutatorFn:i}};var pi=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var be;let{responses:a,requestBody:i,parameters:p,tags:m=[]}=r,c=En(r,n,e),l=t.override.operations[r.operationId],u=Object.entries(t.override.tags).reduce((De,[Xe,Ze])=>m.includes(Xe)?he(De,Ze):De,{}),f=g(g(g({},t.override),u),l),d=(l==null?void 0:l.operationName)||((be=t.override)==null?void 0:be.operationName),y=d?d(r,n,e):$(c),x=await zn(a,c,s),R=await Fn(i,c,s),T=await Nn({parameters:[...o,...p||[]],context:s}),G=await _n({queryParams:T.query,operationName:y,context:s}),w=await Vn({route:n,pathParams:T.path,operationId:c,context:s}),C=Bn({body:R,queryParams:G==null?void 0:G.schema,params:w}),D=await Xt({output:t.target,name:y,mutator:f==null?void 0:f.mutator}),I=A(f==null?void 0:f.formData)||q(f==null?void 0:f.formData)?await Xt({output:t.target,name:y,mutator:f.formData}):void 0,V={verb:e,tags:m,summary:r.summary,operationId:c,operationName:y,response:x,body:R,queryParams:G,params:w,props:C,mutator:D,formData:I,override:f},se=await tt(f==null?void 0:f.transformer,s.workspace);return se?se(V):V},Kn=({verbs:e,output:t,route:r,context:n})=>j(Object.entries(e),async(o,[s,a])=>{if(!Dr(s))return o;let i=await pi({verb:s,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});return[...o,i]},[]);var Un=async({output:e,context:t})=>j(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Lr(n),a=await Kn({verbs:o,output:e,route:s,context:t}),i=a.reduce((m,{queryParams:c,body:l,response:u})=>[...m,...c?[c.schema,...c.deps]:[],...l.schemas,...u.schemas],[]),p=await In(e.client,a,{route:s,pathRoute:n,override:e.override,context:t,mock:!!e.mock});return{schemas:[...r.schemas,...i],operations:g(g({},r.operations),p)}},{operations:{},schemas:[]});var Ss=O(fr());var gr=(e={},t,r)=>(0,Ss.default)(e)?Promise.resolve([]):j(Object.entries(e),async(n,[o,s])=>{let a=await ve([[r,s]],o,t,"void"),i=a.reduce((f,{imports:d=[]})=>[...f,...d],[]),p=a.reduce((f,{schemas:d=[]})=>[...f,...d],[]),m=a.map(({value:f})=>f).join(" | "),c=`${h(o)}${r}`,u=`${U(s)}export type ${c} = ${m||"unknown"};
245
- `;return[...n,...p,...c!==m?[{name:c,model:u,imports:i}]:[]]},[]);var $s=(e={},t,r)=>j(Object.entries(e),async(n,[o,s])=>{let a=`${o}${r}`,{schema:i,imports:p}=await E(s,t);if(i.in!=="query")return n;if(!i.schema||p.length)return[...n,{name:a,imports:p.length?[{name:p[0].name,specKey:p[0].specKey,schemaName:p[0].schemaName}]:[],model:`export type ${a} = ${p.length?p[0].name:"unknown"};
246
- `}];let m=await X({schema:i.schema,propName:a,context:t}),l=`${U(s)}export type ${a} = ${m.value||"unknown"};
247
- `;return[...n,...m.schemas,...a!==m.value?[{name:a,model:l,imports:m.imports}]:[]]},[]);var js=O(fr());var ws=async({name:e,schema:t,context:r,suffix:n})=>{let o=await bt({item:t,name:e,context:r}),s=o.value==="{}",a=h(e)+n,i="";i+=U(t),s&&(i+=`// tslint:disable-next-line:no-empty-interface
248
- `),Se.includes(o.value)?i+=`export type ${a} = ${o.value};
249
- `:i+=`export interface ${a} ${o.value}
250
- `;let p=o.imports.filter(m=>m.name!==a);return[...o.schemas,{name:a,model:i,imports:p}]};var Rs=async(e={},t,r)=>(0,js.default)(e)?[]:j(Object.entries(e),async(o,[s,a])=>{if((!a.type||a.type==="object")&&!a.allOf&&!a.oneOf&&!M(a)&&!a.nullable)return[...o,...await ws({name:s,schema:a,context:t,suffix:r})];{let i=await Z({schema:a,name:s,context:t}),p="",m=h(s)+r,c=i.imports;if(p+=U(a),i.isEnum&&!i.isRef)p+=Re(i.value,i.type,m);else if(m===i.value&&i.isRef){let l=i.imports.find(u=>u.name===m);if(!l)p+=`export type ${m} = ${i.value};
251
- `;else{let u=(l==null?void 0:l.specKey)?`${h(Ot(l.specKey,t.specKey))}${i.value}`:`${i.value}Bis`;p+=`export type ${m} = ${u};
252
- `,c=c.map(f=>f.name===m?b(g({},f),{alias:u}):f)}}else p+=`export type ${m} = ${i.value};
253
- `;return[...o,...i.schemas,{name:m,model:p,imports:c}]}},[]);var vs=O(require("ibm-openapi-validator"));var Gs=async e=>{let{errors:t,warnings:r}=await(0,vs.default)(e);r.length&&kr(r),t.length&&Fr(t)};var Um=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await tt(t.override.transformer,r):void 0;return j(Object.entries(e),async(s,[a,i])=>{let p=await Br(i,t.converterOptions,a),m=n?n(p):p;return t.validation&&await Gs(m),b(g({},s),{[a]:m})},{})},dr=async({data:e,input:t,output:r,path:n,workspace:o})=>{let s=await Um({specs:e,input:t,workspace:o}),a=await j(Object.entries(s),async(p,[m,c])=>{var x,R,T,G;let l={specKey:m,workspace:o,specs:s,override:r.override},u=await Rs((x=c.components)==null?void 0:x.schemas,l,r.override.components.schemas.suffix),f=await gr((R=c.components)==null?void 0:R.responses,l,r.override.components.responses.suffix),d=await gr((T=c.components)==null?void 0:T.requestBodies,l,r.override.components.requestBodies.suffix),y=await $s((G=c.components)==null?void 0:G.parameters,l,r.override.components.parameters.suffix);return b(g({},p),{[m]:[...u,...f,...d,...y]})},{}),i=await Un({output:r,context:{specKey:n,workspace:o,specs:s,override:r.override}});return b(g({},i),{schemas:b(g({},a),{[n]:[...a[n],...i.schemas]}),rootSpecKey:n,info:s[n].info})};var Hm=async(e,t,r)=>{let n=(await Ps.default.resolve(e,t)).values();return r?n:Object.fromEntries(Object.entries(n).map(([o,s])=>[(0,Ts.resolve)(o),s]))},Cs=async(e,t)=>{let{input:r,output:n}=t;if(q(r.target))return dr({data:{[e]:r.target},input:r,output:n,path:e,workspace:e});let o=(0,Ms.default)(r.target),s=await Hm(r.target,r.parserOptions,o);return dr({data:s,input:r,output:n,path:r.target,workspace:e})};var Ns=O(require("fs-extra")),xr=O(require("upath"));var de=O(require("fs-extra")),br=O(require("upath"));var Ym="orval",Jm="A swagger client generator for typescript",Xm="6.0.0-alpha.2",Zm="MIT",ec=["dist"],tc={orval:"dist/bin/orval.js"},rc="dist/index.js",nc=["rest","client","swagger","open-api","fetch","data fetching","code-generation","angular","react","react-query","svelte","svelte-query","vue","vue-query","msw","mock","axios","vue-query","vue","swr"],oc={name:"Victor Bury",email:"bury.victor@gmail.com"},sc={type:"git",url:"https://github.com/anymaniax/orval"},ac={build:"tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts --no-splitting",dev:"tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api' --no-splitting",lint:"eslint src/**/*.ts",format:"prettier --write 'src/**/*.{js,ts}'",release:"dotenv release-it","generate-api":"node ./dist/bin/orval.js --config ./samples/react-app-with-react-query/orval.config.ts --watch",prepare:"husky install",commitlint:"commitlint"},ic={"@commitlint/cli":"^13.1.0","@commitlint/config-conventional":"^13.1.0","@release-it/conventional-changelog":"^3.3.0","@types/chalk":"^2.2.0","@types/commander":"^2.12.2","@types/faker":"^5.5.8","@types/fs-extra":"^9.0.12","@types/inquirer":"^7.3.3","@types/lodash.get":"^4.4.6","@types/lodash.omitby":"^4.6.6","@types/lodash.uniq":"^4.5.6","@types/lodash.uniqby":"^4.7.6","@types/lodash.uniqwith":"^4.5.6","@types/node":"^16.7.8","@types/request":"^2.48.7","@types/validator":"^13.6.3","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","dotenv-cli":"^4.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0",faker:"^5.5.3",husky:"^7.0.2","lint-staged":"^11.1.2","npm-run-all":"^4.1.5",prettier:"^2.3.2","release-it":"^14.11.5",rimraf:"^3.0.2",tsup:"^4.14.0",typescript:"^4.4.2"},pc={"@apidevtools/swagger-parser":"^10.0.3","@swc/core":"^1.2.78",chalk:"^4.1.2",chokidar:"^3.5.2",commander:"^8.1.0",cuid:"^2.1.8",debug:"^4.3.2",esutils:"2.0.3","fs-extra":"^10.0.0",globby:"11.0.4","ibm-openapi-validator":"^0.46.4",inquirer:"^8.1.2","lodash.get":"^4.4.2","lodash.omitby":"^4.6.0","lodash.uniq":"^4.5.0","lodash.uniqby":"^4.7.0","lodash.uniqwith":"^4.5.0","openapi3-ts":"^2.0.1",swagger2openapi:"^7.0.8",upath:"^2.0.1",url:"^0.11.0",validator:"^13.6.0"},yr={name:Ym,description:Jm,version:Xm,license:Zm,files:ec,bin:tc,main:rc,keywords:nc,author:oc,repository:sc,scripts:ac,devDependencies:ic,dependencies:pc};var ee=({title:e,description:t,version:r})=>`/*
254
- * Generated by ${yr.name} v${yr.version} \u{1F37A}
255
- * Do not edit manually.
256
- ${e?` * ${e}
257
- `:""}${t?` * ${t}
258
- `:""}${r?` * OpenAPI spec version: ${r}`:""}
259
- */
260
- `;var mc=({info:e,schema:{imports:t,model:r},rootSpecKey:n,isRootKey:o,specsName:s})=>{let a=ee(e);return a+=Ur({imports:t,rootSpecKey:n,isRootKey:o,specsName:s}),a+=t.length?`
261
-
262
- `:`
263
- `,a+=r,a},Or=(e,t)=>(0,br.join)(e,`/${t}.ts`);var cc=async({path:e,info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s})=>{let a=$(r.name);try{await(0,de.outputFile)(Or(e,a),mc({info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s}));let i=Or(e,"index"),m=(await(0,de.readFile)(i)).toString();!m.includes(`export * from './${a}'`)&&!m.includes(`export * from "./${a}"`)&&await(0,de.appendFile)(Or(e,"index"),`export * from './${a}';
264
- `)}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${i}`}},Is=async({schemaPath:e,schemas:t,info:r,rootSpecKey:n,isRootKey:o,specsName:s})=>(await(0,de.ensureFile)((0,br.join)(e,"/index.ts")),Promise.all(t.map(a=>cc({path:e,info:r,schema:a,rootSpecKey:n,isRootKey:o,specsName:s}))));var qs=O(require("fs-extra")),Ds=O(require("upath"));var uc=(e,t)=>e+`${t}
265
- `,ye=e=>Object.values(e).reduce((r,n)=>[...r,...n],[]).reduce((r,{model:n})=>uc(r,n),"");var xt=(e,t,r)=>{let n=Object.values(e).map(({operationName:a})=>a),o=(r==null?void 0:r.client)===L.ANGULAR,s=Object.values(e).reduce((a,i,p,m)=>{var c;if(a.imports=[...a.imports,...i.imports],a.importsMSW=[...a.importsMSW,...i.importsMSW],a.implementation+=i.implementation,a.implementationMSW.function+=i.implementationMSW.function,a.implementationMSW.handler+=i.implementationMSW.handler,i.mutator&&(a.mutators=[...a.mutators,i.mutator]),i.formData&&(a.formData=[...a.formData,i.formData]),p===m.length-1){let l=!!((c=a.mutators)==null?void 0:c.some(d=>d.mutatorFn.length>(o?2:1))),u=gt({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:l,isGlobalMutator:!!r.override.mutator,title:h(t.title),customTitleFunc:r.override.title,provideInRoot:r.override.angular.provideInRoot});a.implementation=u.implementation+a.implementation,a.implementationMSW.handler=u.implementationMSW+a.implementationMSW.handler;let f=dt(r==null?void 0:r.client,n);a.implementation+=f.implementation,a.implementationMSW.handler+=f.implementationMSW,a.imports=a.imports}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[]});return b(g({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})};var As=async({workspace:e,operations:t,schemas:r,info:n,output:o,specsName:s})=>{try{let{path:a,dirname:i}=v(o.target,{backupFilename:$(n.title)}),{imports:p,importsMSW:m,implementation:c,implementationMSW:l,mutators:u,formData:f}=xt(t,n,o),d=ee(n),y=o.schemas?z(i,v((0,Ds.join)(e,o.schemas)).dirname):void 0;return d+=ge(o.client,c,y?[{exports:p,dependency:y}]:[],s),o.mock&&(d+=fe(l,y?[{exports:m,dependency:y}]:[],s)),o.schemas||(d+=ye(r)),u&&(d+=K(u)),f&&(d+=K(f)),d+=`
266
-
267
- ${c}`,o.mock&&(d+=`
268
-
269
- `,d+=l),await(0,qs.outputFile)(a,d),[a]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${a}`}};var St=O(require("fs-extra")),Ce=O(require("upath"));var ks=async({operations:e,schemas:t,info:r,output:n,specsName:o})=>{try{let{filename:s,dirname:a,extension:i}=v(n.target,{backupFilename:$(r.title)}),{imports:p,implementation:m,implementationMSW:c,importsMSW:l,mutators:u,formData:f}=xt(e,r,n),d=ee(r),y=d,x=d,R=n.schemas?z(a,v(n.schemas).dirname):"./"+s+".schemas";y+=ge(n.client,m,[{exports:p,dependency:R}],o),x+=fe(c,[{exports:[...p,...l],dependency:R}],o);let T=n.schemas?void 0:(0,Ce.join)(a,s+".schemas"+i);if(T){let C=d+ye(t);await(0,St.outputFile)((0,Ce.join)(a,s+".schemas"+i),C)}u&&(y+=K(u)),f&&(y+=K(f)),y+=`
270
- ${m}`,x+=`
271
- ${c}`;let G=s+(L.ANGULAR===n.client?".service":"")+i,w=(0,Ce.join)(a,G);return await(0,St.outputFile)((0,Ce.join)(a,G),y),n.mock&&await(0,St.outputFile)((0,Ce.join)(a,s+".msw"+i),x),[w,...T?[T]:[]]}catch(s){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${s}`}};var wt=O(require("fs-extra")),Ye=O(require("upath"));var lc=e=>b(g({},e),{tags:e.tags.length?e.tags:["default"]}),fc=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return o?b(g({},r),{[n]:{implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[...o.mutators||[],t.mutator]:o.mutators,formData:t.formData?[...o.formData||[],t.formData]:o.formData}}):b(g({},r),{[n]:{imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],formData:t.formData?[t.formData]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}}})},e),$t=(e,t)=>{let r=Object.values(e).map(({operationName:s})=>s),n=t.client===L.ANGULAR,o=Object.values(e).map(lc).reduce((s,a,i,p)=>{let m=fc(s,a);if(i===p.length-1){let c=dt(t==null?void 0:t.client,r);return Object.entries(m).reduce((l,[u,f])=>{var x;let d=!!((x=f.mutators)==null?void 0:x.some(R=>R.mutatorFn.length>(n?2:1))),y=gt({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:d,isGlobalMutator:!!t.override.mutator,title:h(u),customTitleFunc:t.override.title,provideInRoot:t.override.angular.provideInRoot});return b(g({},l),{[u]:{implementation:y.implementation+f.implementation+c.implementation,implementationMSW:{function:f.implementationMSW.function,handler:y.implementationMSW+f.implementationMSW.handler+c.implementationMSW},imports:f.imports,importsMSW:f.importsMSW,mutators:f.mutators,formData:f.formData}})},{})}return m},{});return Object.entries(o).reduce((s,[a,i])=>b(g({},s),{[a]:b(g({},i),{implementationMSW:i.implementationMSW.function+i.implementationMSW.handler})}),{})};var Fs=async({operations:e,schemas:t,info:r,output:n,workspace:o,specsName:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:$(r.title)}),m=$t(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:x,mutators:R,formData:T}=u,G=ee(r),w=G,C=G,D=n.schemas?"../"+z(i,v((0,Ye.join)(o,n.schemas)).dirname):"../"+a+".schemas";w+=ge(n.client,d,[{exports:f,dependency:D}],s),C+=fe(y,[{exports:[...f,...x],dependency:D}],s);let I=n.schemas?void 0:(0,Ye.join)(i,a+".schemas"+p);if(I){let be=G+ye(t);await(0,wt.outputFile)(I,be)}R&&(w+=K(R,!0)),T&&(w+=K(T)),w+=`
272
- ${d}`,C+=`
273
- ${y}`;let V=Oe(l)+(L.ANGULAR===n.client?".service":"")+p,se=(0,Ye.join)(i,Oe(l),V);return await(0,wt.outputFile)(se,w),n.mock&&await(0,wt.outputFile)((0,Ye.join)(i,Oe(l),Oe(l)+".msw"+p),C),[se,...I?[I]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var hr=O(require("fs-extra")),jt=O(require("upath"));var Es=async({operations:e,schemas:t,info:r,output:n,workspace:o,specsName:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:$(r.title)}),m=$t(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:x,mutators:R,formData:T}=u,G=ee(r),w=G,C=n.schemas?z(i,v((0,jt.join)(o,n.schemas)).dirname):"./"+a+".schemas";w+=ge(n.client,d,[{exports:f,dependency:C}],s),n.mock&&(w+=fe(y,[{exports:x,dependency:C}],s));let D=n.schemas?void 0:(0,jt.join)(i,a+".schemas"+p);if(D){let V=G+ye(t);await(0,hr.outputFile)(D,V)}R&&(w+=K(R)),T&&(w+=K(T)),w+=`
274
-
275
- `,w+=d,n.mock&&(w+=`
276
-
277
- `,w+=y);let I=(0,jt.join)(i,`${Oe(l)}${p}`);return await(0,hr.outputFile)(I,w),[I,...D?[D]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var Vs=async({operations:e,schemas:t,rootSpecKey:r,info:n},o,s,a)=>{let{output:i}=s,p=Object.keys(t).reduce((c,l)=>{let f=Ot(l,r).slice(1).split("/").join("-");return b(g({},c),{[l]:f})},{});if(i.schemas){let c=i.schemas;await Promise.all(Object.entries(t).map(([l,u])=>{let f=r===l,d=f?c:(0,xr.join)(c,p[l]);return Is({schemaPath:d,schemas:u,info:n,rootSpecKey:r,specsName:p,isRootKey:f})}))}if(!i.target){qt(a||n.title);return}let m=[];if(i.mode===ke.SINGLE?m=await As({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.SPLIT?m=await ks({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.TAGS?m=await Es({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.TAGS_SPLIT&&(m=await Fs({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p})),i.workspace){let c=i.workspace,l=m.map(u=>`export * from '${z(c,v(u).pathWithoutExtension)}';`).join(`
278
- `);i.schemas&&(l+=`
279
- export * from '${z(c,v(i.schemas).dirname)}';`),await(0,Ns.outputFile)((0,xr.join)(c,"/index.ts"),l)}qt(a||n.title)};var Sr=e=>{Ar(e),process.exit(1)};var Ie=O(require("chalk")),vt=O(require("upath")),Ls=O(require("validator/lib/isURL"));var oe=O(require("fs-extra")),Rt=O(require("inquirer")),_s=O(require("upath"));var Ws=O(require("https")),Bs=(e,t)=>new Promise((r,n)=>{let o=Ws.default.request(e,s=>{let a="";s.on("data",i=>a+=i.toString()),s.on("error",n),s.on("end",()=>{let i={status:s.statusCode,headers:s.headers,body:JSON.parse(a)};s.statusCode&&s.statusCode>=200&&s.statusCode<=299?r(i):n(i)})});o.on("error",n),t&&o.write(t,"binary"),o.end()});var gc=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let s=JSON.stringify({query:`query {
280
- repository(name: "${t}", owner: "${r}") {
281
- object(expression: "${n}:${o}") {
282
- ... on Blob {
283
- text
284
- }
285
- }
286
- }
287
- }`});return[{method:"POST",hostname:"api.github.com",path:"/graphql",headers:{"content-type":"application/json","user-agent":"orval-importer",authorization:`bearer ${e}`,"Content-Length":s.length}},s]},dc=async e=>{if(await(0,oe.pathExists)(e))return(0,oe.readFile)(e,"utf-8");{let t=await Rt.default.prompt([{type:"input",name:"githubToken",message:"Please provide a GitHub token with `repo` rules checked (https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)"},{type:"confirm",name:"saveToken",message:"Would you like to store your token for the next time? (stored in your node_modules)"}]);return t.saveToken&&await(0,oe.outputFile)(e,t.githubToken),t.githubToken}},yc=async e=>{var m,c,l,u;let t=(0,_s.join)(__dirname,".githubToken"),r=await dc(t),[n]=e.split("github.com/").slice(-1),[o,s,,a,...i]=n.split("/"),p=i.join("/");try{let{body:f}=await Bs(...gc({accessToken:r,repo:s,owner:o,branch:a,path:p}));return((m=f.errors)==null?void 0:m.length)&&((c=f.errors)==null?void 0:c.some(y=>(y==null?void 0:y.type)==="NOT_FOUND"))&&(await Rt.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await(0,oe.unlink)(t),(u=(l=f.data)==null?void 0:l.repository)==null?void 0:u.object.text}catch(f){throw f.body?(f.body.message==="Bad credentials"&&(await Rt.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await(0,oe.unlink)(t),f.body.message||`Oups... \u{1F37B}. ${f}`):`Oups... \u{1F37B}. ${f}`}},zs={order:199,canRead(e){return e.url.includes("github.com")},read(e){return yc(e.url)}};function Qs(e){return e}var Gt=async(e,t=process.cwd(),r)=>{var p,m,c,l,u,f,d,y,x,R,T,G,w,C,D,I,V,se,be,De,Xe,Ze,$r,wr,jr,Rr;let n=await(W(e)?e():e);n.input||(_().error(Ie.default.red("Config require an input")),process.exit(1)),n.output||(_().error(Ie.default.red("Config require an output")),process.exit(1));let o=A(n.input)?{target:n.input}:n.input,s=A(n.output)?{target:n.output}:n.output,a=qe(s.workspace||"",t),i={input:{target:qe(o.target,t),validation:o.validation||!1,override:{transformer:qe((p=o.override)==null?void 0:p.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:he(bc,o.parserOptions||{})},output:{target:qe(s.target,a),schemas:qe(s.schemas,a),workspace:s.workspace?a:void 0,client:(m=s.client)!=null?m:L.AXIOS,mode:(c=s.mode)!=null?c:"single",mock:(l=s.mock)!=null?l:!1,clean:(u=s.clean||r)!=null?u:!1,override:b(g({},s.override),{operations:Ks(((f=s.override)==null?void 0:f.operations)||{},a),tags:Ks(((d=s.override)==null?void 0:d.tags)||{},a),mutator:Pt(a,(y=s.override)==null?void 0:y.mutator),formData:(G=te((x=s.override)==null?void 0:x.formData)?(T=s.override)==null?void 0:T.formData:Pt(a,(R=s.override)==null?void 0:R.formData))!=null?G:!0,requestOptions:(C=(w=s.override)==null?void 0:w.requestOptions)!=null?C:!0,components:{schemas:g({suffix:Ve.schemas},((I=(D=s.override)==null?void 0:D.components)==null?void 0:I.schemas)||{}),responses:g({suffix:Ve.responses},((se=(V=s.override)==null?void 0:V.components)==null?void 0:se.responses)||{}),parameters:g({suffix:Ve.parameters},((De=(be=s.override)==null?void 0:be.components)==null?void 0:De.parameters)||{}),requestBodies:g({suffix:Ve.requestBodies},((Ze=(Xe=s.override)==null?void 0:Xe.components)==null?void 0:Ze.requestBodies)||{})},query:g({useQuery:!0},(($r=s.override)==null?void 0:$r.query)||{}),angular:{provideInRoot:(Rr=(jr=(wr=s.override)==null?void 0:wr.angular)==null?void 0:jr.provideInRoot)!=null?Rr:!0}})}};return i.input.target||(_().error(Ie.default.red("Config require an input target")),process.exit(1)),!i.output.target&&!i.output.schemas&&(_().error(Ie.default.red("Config require an output target or schemas")),process.exit(1)),i},bc={resolve:{github:zs}},Pt=(e,t)=>{var r;return q(t)?(t.path||(_().error(Ie.default.red("Mutator need a path")),process.exit(1)),b(g({},t),{path:(0,vt.resolve)(e,t.path),default:(r=t.default)!=null?r:!1})):A(t)?{path:(0,vt.resolve)(e,t),default:!0}:t},qe=(e,t)=>A(e)&&!(0,Ls.default)(e)?(0,vt.resolve)(t,e):e,Ks=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,n])=>{var o,s;return[r,b(g(g({},n.transformer?{transformer:qe(n.transformer,t)}:{}),n.mutator?{mutator:Pt(t,n.mutator)}:{}),{formData:(o=te(n.formData)?n.formData:Pt(t,n.formData))!=null?o:!0,requestOptions:(s=n.requestOptions)!=null?s:!0,query:g({useQuery:!0},n.query||{})})]}));var Tt=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>O(require("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(i=>typeof i=="string"):e;B(`Watching for changes in ${Array.isArray(s)?s.map(i=>'"'+i+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(i,p)=>{B(`Change detected: ${i} ${p}`),t()})};var Je=async(e,t,r)=>{try{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Kt(["**/*","!**/*.d.ts",...o],v(t.output.target).dirname),t.output.schemas&&await Kt(["**/*","!**/*.d.ts",...o],v(t.output.schemas).dirname),B(`${r?`${r}: `:""}Cleaning output folder`)}let n=await Cs(e,t);await Vs(n,e,t,r)}catch(n){Sr(n)}},Hs=async(e,t,r)=>{if(r){let n=e[r];n?Je(t,n,r):Sr("Project not found");return}return Promise.all(Object.entries(e).map(async([n,o])=>Je(t,o,n)))},Ys=async(e,t)=>{let{path:r,file:n}=await it(e,{defaultFileName:"orval.config"}),o=(0,Us.dirname)(r),s=await(W(n)?n():n),a=await j(Object.entries(s),async(i,[p,m])=>b(g({},i),{[p]:await Gt(m,o,t==null?void 0:t.clean)}),{});(t==null?void 0:t.watch)?Tt(t==null?void 0:t.watch,()=>Hs(a,o,t==null?void 0:t.projectName),Object.values(a).map(({input:i})=>i.target).filter(i=>A(i))):Hs(a,o,t==null?void 0:t.projectName)};var Js=async(e,t=process.cwd(),r)=>{if(!e||A(e))return Ys(e,r);let n=await Gt(e,t,r==null?void 0:r.clean);if(r==null?void 0:r.watch)Tt(r==null?void 0:r.watch,()=>Je(process.cwd(),n),n.input.target);else return Je(t,n,r==null?void 0:r.projectName)};var Oc=Js;0&&(module.exports={defineConfig,generate});
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDRUW7BRPjs = require('./chunk-DRUW7BRP.js');var l=async(t,r=process.cwd(),e)=>{if(!t||_chunkDRUW7BRPjs.b.call(void 0, t))return _chunkDRUW7BRPjs.h.call(void 0, t,e);let n=await _chunkDRUW7BRPjs.e.call(void 0, t,r,e==null?void 0:e.clean);if(e==null?void 0:e.watch)_chunkDRUW7BRPjs.f.call(void 0, e==null?void 0:e.watch,()=>_chunkDRUW7BRPjs.g.call(void 0, r,n),n.input.target);else return _chunkDRUW7BRPjs.g.call(void 0, r,n)};var b=l;exports.default = b; exports.defineConfig = _chunkDRUW7BRPjs.d; exports.generate = l;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "orval",
3
3
  "description": "A swagger client generator for typescript",
4
- "version": "6.0.0-alpha.2",
4
+ "version": "6.0.2",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
@@ -41,8 +41,8 @@
41
41
  "url": "https://github.com/anymaniax/orval"
42
42
  },
43
43
  "scripts": {
44
- "build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts --no-splitting",
45
- "dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api' --no-splitting",
44
+ "build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts",
45
+ "dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'",
46
46
  "lint": "eslint src/**/*.ts",
47
47
  "format": "prettier --write 'src/**/*.{js,ts}'",
48
48
  "release": "dotenv release-it",
@@ -86,9 +86,9 @@
86
86
  "dependencies": {
87
87
  "@apidevtools/swagger-parser": "^10.0.3",
88
88
  "@swc/core": "^1.2.78",
89
+ "cac": "^6.7.3",
89
90
  "chalk": "^4.1.2",
90
91
  "chokidar": "^3.5.2",
91
- "commander": "^8.1.0",
92
92
  "cuid": "^2.1.8",
93
93
  "debug": "^4.3.2",
94
94
  "esutils": "2.0.3",