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