orval 6.2.3 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
  You can find below some samples
17
17
 
18
18
  - [react app](https://github.com/anymaniax/orval/tree/master/samples/react-app)
19
- - [react app with React query](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-react-query)
19
+ - [react query](https://github.com/anymaniax/orval/tree/master/samples/react-query)
20
20
  - [svelte query](https://github.com/anymaniax/orval/tree/master/samples/svelte-query)
21
21
  - [vue query](https://github.com/anymaniax/orval/tree/master/samples/vue-query)
22
22
  - [react app with swr](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-swr)
File without changes
package/dist/bin/orval.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkUEBJ6WLVjs = require('../chunk-UEBJ6WLV.js');var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var o=_cac.cac.call(void 0, "orval");_chunkUEBJ6WLVjs.d.call(void 0, {name:_chunkUEBJ6WLVjs.a.name,version:_chunkUEBJ6WLVjs.a.version,description:_chunkUEBJ6WLVjs.a.description});o.version(_chunkUEBJ6WLVjs.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("-m, --mode <name>","default mode that will be used").option("-c, --client <name>","default client that will be used").option("--mock","activate the mock").option("-w, --watch [path]","Watch mode, if path is not specified, it watches the input target").option("--clean [path]","Clean output directory").option("--prettier [path]","Prettier generated files").action(async(g,t)=>{if(_chunkUEBJ6WLVjs.b.call(void 0, t.input)&&_chunkUEBJ6WLVjs.b.call(void 0, t.output)){let i=await _chunkUEBJ6WLVjs.f.call(void 0, {input:t.input,output:{target:t.output,clean:t.clean,prettier:t.prettier,mock:t.mock,client:t.client,mode:t.mode}});if(t.watch)_chunkUEBJ6WLVjs.g.call(void 0, t.watch,async()=>{try{await _chunkUEBJ6WLVjs.h.call(void 0, process.cwd(),i)}catch(a){_chunkUEBJ6WLVjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${a}`))}},i.input.target);else try{await _chunkUEBJ6WLVjs.h.call(void 0, process.cwd(),i)}catch(a){_chunkUEBJ6WLVjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${a}`))}}else await _chunkUEBJ6WLVjs.i.call(void 0, t.config,{projectName:t.project,watch:t.watch,clean:t.clean,prettier:t.prettier,mock:t.mock,client:t.client,mode:t.mode})});o.help();o.parse(process.argv);
2
+ "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkAIVXDHTJjs = require('../chunk-AIVXDHTJ.js');_chunkAIVXDHTJjs.b.call(void 0, );var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var i=_cac.cac.call(void 0, "orval");_chunkAIVXDHTJjs.e.call(void 0, {name:_chunkAIVXDHTJjs.a.name,version:_chunkAIVXDHTJjs.a.version,description:_chunkAIVXDHTJjs.a.description});i.version(_chunkAIVXDHTJjs.a.version);i.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("-m, --mode <name>","default mode that will be used").option("-c, --client <name>","default client that will be used").option("--mock","activate the mock").option("-w, --watch [path]","Watch mode, if path is not specified, it watches the input target").option("--clean [path]","Clean output directory").option("--prettier [path]","Prettier generated files").option("--tslint [path]","tslint generated files").action(async(m,t)=>{if(_chunkAIVXDHTJjs.c.call(void 0, t.input)&&_chunkAIVXDHTJjs.c.call(void 0, t.output)){let o=await _chunkAIVXDHTJjs.g.call(void 0, {input:t.input,output:{target:t.output,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode}});if(t.watch)_chunkAIVXDHTJjs.h.call(void 0, t.watch,async()=>{try{await _chunkAIVXDHTJjs.i.call(void 0, process.cwd(),o)}catch(a){_chunkAIVXDHTJjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${a}`))}},o.input.target);else try{await _chunkAIVXDHTJjs.i.call(void 0, process.cwd(),o)}catch(a){_chunkAIVXDHTJjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${a}`))}}else await _chunkAIVXDHTJjs.j.call(void 0, t.config,{projectName:t.project,watch:t.watch,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode})});i.help();i.parse(process.argv);
@@ -0,0 +1,308 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var ri=Object.create;var ot=Object.defineProperty,ni=Object.defineProperties,oi=Object.getOwnPropertyDescriptor,si=Object.getOwnPropertyDescriptors,ii=Object.getOwnPropertyNames,st=Object.getOwnPropertySymbols,ai=Object.getPrototypeOf,Gt=Object.prototype.hasOwnProperty,Vr=Object.prototype.propertyIsEnumerable;var Ur=(e,t,r)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,h=(e,t)=>{for(var r in t||(t={}))Gt.call(t,r)&&Ur(e,r,t[r]);if(st)for(var r of st(t))Vr.call(t,r)&&Ur(e,r,t[r]);return e},x=(e,t)=>ni(e,si(t)),pi=e=>ot(e,"__esModule",{value:!0});var _=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var be=(e,t)=>{var r={};for(var n in e)Gt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&st)for(var n of st(e))t.indexOf(n)<0&&Vr.call(e,n)&&(r[n]=e[n]);return r};var mi=(e,t)=>()=>(e&&(t=e(e=0)),t);var j=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ci=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ii(t))!Gt.call(e,n)&&n!=="default"&&ot(e,n,{get:()=>t[n],enumerable:!(r=oi(t,n))||r.enumerable});return e},Fe=e=>ci(pi(ot(e!=null?ri(ai(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var d,p= exports.b =mi(()=>{d=typeof document=="undefined"?new(_("url")).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href});var Zt=j((Vy,po)=>{p();var ip=Object.prototype;function ap(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ip;return e===r}po.exports=ap});var co=j((Uy,mo)=>{p();function pp(e,t){return function(r){return e(t(r))}}mo.exports=pp});var lo=j((Wy,uo)=>{p();var mp=co(),cp=mp(Object.keys,Object);uo.exports=cp});var go=j((_y,fo)=>{p();var up=Zt(),lp=lo(),fp=Object.prototype,gp=fp.hasOwnProperty;function dp(e){if(!up(e))return lp(e);var t=[];for(var r in Object(e))gp.call(e,r)&&r!="constructor"&&t.push(r);return t}fo.exports=dp});var er=j((By,yo)=>{p();var yp=typeof global=="object"&&global&&global.Object===Object&&global;yo.exports=yp});var ie=j((zy,ho)=>{p();var hp=er(),bp=typeof self=="object"&&self&&self.Object===Object&&self,Op=hp||bp||Function("return this")();ho.exports=Op});var tr=j((Ly,bo)=>{p();var xp=ie(),$p=xp.Symbol;bo.exports=$p});var So=j((Ky,$o)=>{p();var Oo=tr(),xo=Object.prototype,Sp=xo.hasOwnProperty,wp=xo.toString,He=Oo?Oo.toStringTag:void 0;function jp(e){var t=Sp.call(e,He),r=e[He];try{e[He]=void 0;var n=!0}catch (e2){}var o=wp.call(e);return n&&(t?e[He]=r:delete e[He]),o}$o.exports=jp});var jo=j((Qy,wo)=>{p();var Rp=Object.prototype,Tp=Rp.toString;function vp(e){return Tp.call(e)}wo.exports=vp});var Ye=j((Hy,vo)=>{p();var Ro=tr(),Pp=So(),Gp=jo(),Mp="[object Null]",Ep="[object Undefined]",To=Ro?Ro.toStringTag:void 0;function Cp(e){return e==null?e===void 0?Ep:Mp:To&&To in Object(e)?Pp(e):Gp(e)}vo.exports=Cp});var rr=j((Yy,Po)=>{p();function qp(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Po.exports=qp});var nr=j((Jy,Go)=>{p();var Ip=Ye(),kp=rr(),Ap="[object AsyncFunction]",Dp="[object Function]",Fp="[object GeneratorFunction]",Np="[object Proxy]";function Vp(e){if(!kp(e))return!1;var t=Ip(e);return t==Dp||t==Fp||t==Ap||t==Np}Go.exports=Vp});var Eo=j((Xy,Mo)=>{p();var Up=ie(),Wp=Up["__core-js_shared__"];Mo.exports=Wp});var Io=j((Zy,qo)=>{p();var or=Eo(),Co=function(){var e=/[^.]+$/.exec(or&&or.keys&&or.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function _p(e){return!!Co&&Co in e}qo.exports=_p});var sr=j((eh,ko)=>{p();var Bp=Function.prototype,zp=Bp.toString;function Lp(e){if(e!=null){try{return zp.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}ko.exports=Lp});var Do=j((th,Ao)=>{p();var Kp=nr(),Qp=Io(),Hp=rr(),Yp=sr(),Jp=/[\\^$.*+?()[\]{}|]/g,Xp=/^\[object .+?Constructor\]$/,Zp=Function.prototype,em=Object.prototype,tm=Zp.toString,rm=em.hasOwnProperty,nm=RegExp("^"+tm.call(rm).replace(Jp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function om(e){if(!Hp(e)||Qp(e))return!1;var t=Kp(e)?nm:Xp;return t.test(Yp(e))}Ao.exports=om});var No=j((rh,Fo)=>{p();function sm(e,t){return e==null?void 0:e[t]}Fo.exports=sm});var Me=j((nh,Vo)=>{p();var im=Do(),am=No();function pm(e,t){var r=am(e,t);return im(r)?r:void 0}Vo.exports=pm});var Wo=j((oh,Uo)=>{p();var mm=Me(),cm=ie(),um=mm(cm,"DataView");Uo.exports=um});var Bo=j((sh,_o)=>{p();var lm=Me(),fm=ie(),gm=lm(fm,"Map");_o.exports=gm});var Lo=j((ih,zo)=>{p();var dm=Me(),ym=ie(),hm=dm(ym,"Promise");zo.exports=hm});var Qo=j((ah,Ko)=>{p();var bm=Me(),Om=ie(),xm=bm(Om,"Set");Ko.exports=xm});var Yo=j((ph,Ho)=>{p();var $m=Me(),Sm=ie(),wm=$m(Sm,"WeakMap");Ho.exports=wm});var os=j((mh,ns)=>{p();var ir=Wo(),ar=Bo(),pr=Lo(),mr=Qo(),cr=Yo(),Jo=Ye(),Ee=sr(),Xo="[object Map]",jm="[object Object]",Zo="[object Promise]",es="[object Set]",ts="[object WeakMap]",rs="[object DataView]",Rm=Ee(ir),Tm=Ee(ar),vm=Ee(pr),Pm=Ee(mr),Gm=Ee(cr),Se=Jo;(ir&&Se(new ir(new ArrayBuffer(1)))!=rs||ar&&Se(new ar)!=Xo||pr&&Se(pr.resolve())!=Zo||mr&&Se(new mr)!=es||cr&&Se(new cr)!=ts)&&(Se=function(e){var t=Jo(e),r=t==jm?e.constructor:void 0,n=r?Ee(r):"";if(n)switch(n){case Rm:return rs;case Tm:return Xo;case vm:return Zo;case Pm:return es;case Gm:return ts}return t});ns.exports=Se});var Tt=j((ch,ss)=>{p();function Mm(e){return e!=null&&typeof e=="object"}ss.exports=Mm});var as=j((uh,is)=>{p();var Em=Ye(),Cm=Tt(),qm="[object Arguments]";function Im(e){return Cm(e)&&Em(e)==qm}is.exports=Im});var us=j((lh,cs)=>{p();var ps=as(),km=Tt(),ms=Object.prototype,Am=ms.hasOwnProperty,Dm=ms.propertyIsEnumerable,Fm=ps(function(){return arguments}())?ps:function(e){return km(e)&&Am.call(e,"callee")&&!Dm.call(e,"callee")};cs.exports=Fm});var fs=j((fh,ls)=>{p();var Nm=Array.isArray;ls.exports=Nm});var ur=j((gh,gs)=>{p();var Vm=9007199254740991;function Um(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vm}gs.exports=Um});var ys=j((dh,ds)=>{p();var Wm=nr(),_m=ur();function Bm(e){return e!=null&&_m(e.length)&&!Wm(e)}ds.exports=Bm});var bs=j((yh,hs)=>{p();function zm(){return!1}hs.exports=zm});var Ss=j((Je,Ce)=>{p();var Lm=ie(),Km=bs(),Os=typeof Je=="object"&&Je&&!Je.nodeType&&Je,xs=Os&&typeof Ce=="object"&&Ce&&!Ce.nodeType&&Ce,Qm=xs&&xs.exports===Os,$s=Qm?Lm.Buffer:void 0,Hm=$s?$s.isBuffer:void 0,Ym=Hm||Km;Ce.exports=Ym});var js=j((hh,ws)=>{p();var Jm=Ye(),Xm=ur(),Zm=Tt(),ec="[object Arguments]",tc="[object Array]",rc="[object Boolean]",nc="[object Date]",oc="[object Error]",sc="[object Function]",ic="[object Map]",ac="[object Number]",pc="[object Object]",mc="[object RegExp]",cc="[object Set]",uc="[object String]",lc="[object WeakMap]",fc="[object ArrayBuffer]",gc="[object DataView]",dc="[object Float32Array]",yc="[object Float64Array]",hc="[object Int8Array]",bc="[object Int16Array]",Oc="[object Int32Array]",xc="[object Uint8Array]",$c="[object Uint8ClampedArray]",Sc="[object Uint16Array]",wc="[object Uint32Array]",E={};E[dc]=E[yc]=E[hc]=E[bc]=E[Oc]=E[xc]=E[$c]=E[Sc]=E[wc]=!0;E[ec]=E[tc]=E[fc]=E[rc]=E[gc]=E[nc]=E[oc]=E[sc]=E[ic]=E[ac]=E[pc]=E[mc]=E[cc]=E[uc]=E[lc]=!1;function jc(e){return Zm(e)&&Xm(e.length)&&!!E[Jm(e)]}ws.exports=jc});var Ts=j((bh,Rs)=>{p();function Rc(e){return function(t){return e(t)}}Rs.exports=Rc});var Ps=j((Ze,qe)=>{p();var Tc=er(),vs=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,Xe=vs&&typeof qe=="object"&&qe&&!qe.nodeType&&qe,vc=Xe&&Xe.exports===vs,lr=vc&&Tc.process,Pc=function(){try{var e=Xe&&Xe.require&&Xe.require("util").types;return e||lr&&lr.binding&&lr.binding("util")}catch (e5){}}();qe.exports=Pc});var Cs=j((Oh,Es)=>{p();var Gc=js(),Mc=Ts(),Gs=Ps(),Ms=Gs&&Gs.isTypedArray,Ec=Ms?Mc(Ms):Gc;Es.exports=Ec});var fr=j((xh,qs)=>{p();var Cc=go(),qc=os(),Ic=us(),kc=fs(),Ac=ys(),Dc=Ss(),Fc=Zt(),Nc=Cs(),Vc="[object Map]",Uc="[object Set]",Wc=Object.prototype,_c=Wc.hasOwnProperty;function Bc(e){if(e==null)return!0;if(Ac(e)&&(kc(e)||typeof e=="string"||typeof e.splice=="function"||Dc(e)||Nc(e)||Ic(e)))return!e.length;var t=qc(e);if(t==Vc||t==Uc)return!e.size;if(Fc(e))return!Cc(e).length;for(var r in e)if(_c.call(e,r))return!1;return!0}qs.exports=Bc});var ui="orval",li="A swagger client generator for typescript",fi="6.4.1",gi="MIT",di=["dist"],yi={orval:"dist/bin/orval.js"},hi="dist/index.js",bi=["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"],Oi={name:"Victor Bury",email:"bury.victor@gmail.com"},xi={type:"git",url:"https://github.com/anymaniax/orval"},$i={build:"tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts --splitting",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}'",prerelease:"yarn build && cd ./tests && yarn generate && yarn build",release:"dotenv release-it",postrelease:"yarn build && yarn update-samples","generate-api":"node ./dist/bin/orval.js --config ./samples/react-query/basic/orval.config.ts --watch",prepare:"husky install",commitlint:"commitlint","update-samples":"zx ./scripts/update-samples.mjs"},Si={"@commitlint/cli":"^15.0.0","@commitlint/config-conventional":"^15.0.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":"^8.1.3","@types/lodash.get":"^4.4.6","@types/lodash.omit":"^4.5.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/micromatch":"^4.0.2","@types/node":"^16.7.8","@types/prettier":"^2.3.2","@types/request":"^2.48.7","@types/validator":"^13.6.3","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","dotenv-cli":"^4.0.0",eslint:"^8.3.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0",faker:"^5.5.3",husky:"^7.0.2","lint-staged":"^12.1.2","npm-run-all":"^4.1.5",prettier:"^2.4.1","release-it":"^14.11.5",rimraf:"^3.0.2",tsup:"^5.10.0",typescript:"^4.4.2",zx:"^4.2.0"},wi={"@apidevtools/swagger-parser":"^10.0.3",cac:"^6.7.12",chalk:"^4.1.2",chokidar:"^3.5.2",cuid:"^2.1.8",debug:"^4.3.2",esbuild:"^0.13.15",esutils:"2.0.3",execa:"^5.1.1","fs-extra":"^10.0.0",globby:"11.0.4","ibm-openapi-validator":"^0.51.3",inquirer:"^8.2.0","lodash.get":"^4.4.2","lodash.omit":"^4.5.0","lodash.omitby":"^4.6.0","lodash.uniq":"^4.5.0","lodash.uniqby":"^4.7.0","lodash.uniqwith":"^4.5.0",micromatch:"^4.0.4","openapi3-ts":"^2.0.1",swagger2openapi:"^7.0.8",upath:"^2.0.1",url:"^0.11.0",validator:"^13.7.0"},Mt= exports.a ={name:ui,description:li,version:fi,license:gi,files:di,bin:yi,main:hi,keywords:bi,author:Oi,repository:xi,scripts:$i,devDependencies:Si,dependencies:wi};p();var z={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},Ne={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},Q={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"};p();var _upath = require('upath');var C=e=>Boolean(e.$ref),Wr=e=>!_upath.extname.call(void 0, e);function k(e){return Object.prototype.toString.call(e)==="[object Object]"}function D(e){return typeof e=="string"}function _r(e){return typeof e=="number"}function Z(e){return typeof e=="boolean"}function L(e){return typeof e=="function"}function Br(e){return typeof e=="undefined"}function zr(e){return typeof e===null}var Lr=e=>Object.values(Q).includes(e);p();var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var A=console.log,wu= exports.e =({name:e,version:t,description:r})=>A(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Qr=e=>A(_chalk2.default.red(e));var Hr=e=>A(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),Yr=e=>{A(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>A(_chalk2.default.yellow(`Message : ${t.message}
2
+ Path : ${t.path}`)))},Jr=e=>{A(_chalk2.default.red("(!) Errors")),e.forEach(t=>A(_chalk2.default.red(`Message : ${t.message}
3
+ Path : ${t.path}`)))},Et={silent:0,error:1,warn:2,info:3},Xr,Zr,Ct=0;function Ri(){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 Y(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=Et[e],i=n&&process.stdout.isTTY&&!process.env.CI?Ri:()=>{};function a(c,l,u={}){if(o>=Et[c]){let g=c==="info"?"log":c,f=()=>{if(u.timestamp){let y=c==="info"?_chalk2.default.cyan.bold(r):c==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${y} ${l}`}else return l};c===Xr&&l===Zr?(Ct++,i(),console[g](f(),_chalk2.default.yellow(`(x${Ct+1})`))):(Ct=0,Zr=l,Xr=c,u.clear&&i(),console[g](f()))}}let s=new Set,m={hasWarned:!1,info(c,l){a("info",c,l)},warn(c,l){m.hasWarned=!0,a("warn",c,l)},warnOnce(c,l){s.has(c)||(m.hasWarned=!0,a("warn",c,l),s.add(c))},error(c,l){m.hasWarned=!0,a("error",c,l)},clearScreen(c){o>=Et[c]&&i()}};return m}p();p();var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var _url = require('url'); var _url2 = _interopRequireDefault(_url);p();var qt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},it=qt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),at="a-z"+qt("DF-F6,F8-FF","00"),Ve="A-Z"+qt("C0-D6,D8-DE","00"),Ti="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",ae={capitalize:new RegExp("(^|["+it+"])(["+at+"])","g"),pascal:new RegExp("(^|["+it+"])+(["+at+Ve+"])","g"),fill:new RegExp("["+it+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+at+"])","g"),improper:new RegExp("\\b("+Ti+")\\b","g"),relax:new RegExp("([^"+Ve+"])(["+Ve+"]*)(["+Ve+"])(?=[^"+Ve+"]|$)","g"),upper:new RegExp("^[^"+at+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+it+"]")},vi=e=>e.replace(ae.apostrophe,""),Pi=String.prototype.toUpperCase,It=String.prototype.toLowerCase,kt=(e,t,r=!1)=>(t!=null&&(e=e.replace(ae.fill,function(n,o){return o?t+o:""})),r&&(e=vi(e)),e),Gi=e=>It.call(e.charAt(0))+e.slice(1),Mi=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,en=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&ae.upper.test(e)&&(e=It.call(e)),!t&&!ae.hole.test(e)){var o=kt(e," ");ae.hole.test(o)&&(e=o)}return!r&&!ae.room.test(e)&&(e=e.replace(ae.relax,Mi)),e},Ei=(e,t,r)=>kt(It.call(en(e,!!t)),t,r),$=e=>kt(en(e,!1,!0).replace(ae.pascal,(t,r,n)=>Pi.call(n)),"",!0),R=e=>Gi($(e)),Oe=e=>Ei(e,"-",!0);p();var _esbuild = require('esbuild');var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby);var _micromatch = require('micromatch'); var _micromatch2 = _interopRequireDefault(_micromatch);var _path = require('path'); var _path2 = _interopRequireDefault(_path);p();var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var tn=process.env.ORVAL_DEBUG_FILTER,At=process.env.DEBUG;function rn(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(i,...a)=>{tn&&!i.includes(tn)||n&&!(At==null?void 0:At.includes(o))||r(i,...a)}}var G=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Wr(e),o=n?_upath.join.call(void 0, e,t+r):e,i=o.replace(/\.[^/.]+$/,""),a=_upath.dirname.call(void 0, o),s=_upath.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:i,extension:r,isDirectory:n,dirname:a,filename:s}},on=rn("orval:file-load"),Nt=new Map;async function pt(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:i,alias:a}=t||{},s=Date.now(),m,c=!1,l=!1;if(e)m=_path2.default.resolve(e),c=e.endsWith(".ts");else if(o){let f=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(f)&&(m=f),!m){let y=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(y)&&(m=y,l=!0)}if(!m){let y=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(y)&&(m=y,c=!0)}}m||(e?Y(i).error(_chalk2.default.red(`File not found => ${e}`)):o?Y(i).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):Y(i).error(_chalk2.default.red("File not found")),process.exit(1));let u=_upath.normalizeSafe.call(void 0, m),g=Nt.get(m);if(g)return x(h({path:u},g),{cached:!0});try{let f;if(!f&&!c&&!l)try{delete _.cache[_.resolve(m)],f=_(m),on(`cjs loaded in ${Date.now()-s}ms`)}catch(y){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(y.message))throw y}if(!f){let{code:y}=await Ni(m,l,r||_upath.dirname.call(void 0, u),a);f=await Vi(m,y,n),on(`bundled file loaded in ${Date.now()-s}ms`)}return Nt.set(m,{file:f}),{path:u,file:f}}catch(f){return Nt.set(m,{error:f}),{path:u,error:f}}}async function Ni(e,t=!1,r,n){let o=await _esbuild.build.call(void 0, {absWorkingDir:process.cwd(),entryPoints:[e],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:t?"esm":"cjs",sourcemap:"inline",metafile:!0,target:"es6",minifyWhitespace:!0,plugins:[...n?[{name:"aliasing",setup(a){a.onResolve({filter:/^[\w@][^:]/},async({path:s,importer:m,kind:c})=>{let l=Object.keys(n),u=l.find(g=>s.startsWith(g)||_micromatch2.default.isMatch(s,l));if(u){let g=_micromatch2.default.scan(u),f=_micromatch2.default.scan(n[u]);return{path:`${s.replace(g.base,_upath.resolve.call(void 0, r,f.base))}.ts`}}})}}]:[],{name:"externalize-deps",setup(a){a.onResolve({filter:/.*/},s=>{let m=s.path;if(m[0]!=="."&&!_path2.default.isAbsolute(m))return{external:!0}})}},{name:"replace-import-meta",setup(a){a.onLoad({filter:/\.[jt]s$/},async s=>{let m=await _fs2.default.promises.readFile(s.path,"utf8");return{loader:s.path.endsWith(".ts")?"ts":"js",contents:m.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${s.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(s.path))).replace(/\b__filename\b/g,JSON.stringify(s.path))}})}}]}),{text:i}=o.outputFiles[0];return{code:i,dependencies:o.metafile?Object.keys(o.metafile.inputs):[]}}async function Vi(e,t,r){let n=_path2.default.extname(e),o=_.extensions[n];_.extensions[n]=(s,m)=>{m===e?s._compile(t,m):o(s,m)},delete _.cache[_.resolve(e)];let i=_(e),a=r&&i.__esModule?i.default:i;return _.extensions[n]=o,a}async function Vt(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)))}p();var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var Wi=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,pe=e=>_isURL2.default.call(void 0, e)||Wi.test(e);var We={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Li=new RegExp("~1","g"),we=async(e,t)=>{let[r,n]=e.split("#"),o=n.slice(1).split("/").map(m=>m.replace(Li,"/")),i=_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""),a=o[o.length-1];if(!r)return{name:$(a)+i,originalName:a,refPaths:o};let s=pe(t.specKey)?_url2.default.resolve(t.specKey,r):_upath.resolve.call(void 0, G(t.specKey).dirname,r);return{name:$(a)+i,originalName:a,specKey:s,refPaths:o}};p();var _fsextra = require('fs-extra');var _inquirer = require('inquirer'); var _inquirer2 = _interopRequireDefault(_inquirer);p();var _https = require('https'); var _https2 = _interopRequireDefault(_https);var sn=(e,t)=>new Promise((r,n)=>{let o=_https2.default.request(e,i=>{let a="";i.on("data",s=>a+=s.toString()),i.on("error",n),i.on("end",()=>{let s={status:i.statusCode,headers:i.headers,body:JSON.parse(a)};i.statusCode&&i.statusCode>=200&&i.statusCode<=299?r(s):n(s)})});o.on("error",n),t&&o.write(t,"binary"),o.end()});var Xi=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let i=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":i.length}},i]},Zi=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}},ea=async e=>{var c,l,u,g;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await Zi(t),[n]=e.split("github.com/").slice(-1),[o,i,,a,...s]=n.split("/"),m=s.join("/");try{let{body:f}=await sn(...Xi({accessToken:r,repo:i,owner:o,branch:a,path:m}));return((c=f.errors)==null?void 0:c.length)&&((l=f.errors)==null?void 0:l.some(b=>(b==null?void 0:b.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),(g=(u=f.data)==null?void 0:u.repository)==null?void 0:g.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}`}},pn={order:199,canRead(e){return e.url.includes("github.com")},read(e){return ea(e.url)}};p();var mt=e=>e&&typeof e=="object";function $e(e,t){return!mt(t)||!mt(e)?e:Object.entries(t).reduce((r,[n,o])=>{let i=r[n];return Array.isArray(i)&&Array.isArray(o)?x(h({},r),{[n]:[...i,...o]}):mt(i)&&mt(o)?x(h({},r),{[n]:$e(i,o)}):x(h({},r),{[n]:o})},e)}p();var mn=({title:e,description:t,version:r})=>[`Generated by ${Mt.name} v${Mt.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];function Rl(e){return e}var cn=async(e,t=process.cwd(),r={})=>{var y,b,O,S,w,v,T,I,M,q,X,te,K,re,tt,Ie,ke,Ae,De,rt,nt,xr,$r,Sr,wr,jr,Rr,Tr,vr,Pr,Gr,Mr,Er,Cr,qr,Ir,kr,Ar,Dr,Fr,Nr;let n=await(L(e)?e():e);n.input||(Y().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(Y().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=D(n.input)?{target:n.input}:n.input,i=D(n.output)?{target:n.output}:n.output,a=Re(i.workspace||"",t),{clean:s,prettier:m,client:c,mode:l,mock:u,tslint:g}=r,f={input:{target:Re(o.target,t),validation:o.validation||!1,override:{transformer:Re((y=o.override)==null?void 0:y.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:$e(ta,o.parserOptions||{})},output:{target:Re(i.target,a),schemas:Re(i.schemas,a),workspace:i.workspace?a:void 0,client:(O=(b=i.client)!=null?b:c)!=null?O:z.AXIOS_FUNCTIONS,mode:(w=(S=i.mode)!=null?S:l)!=null?w:"single",mock:(T=(v=i.mock)!=null?v:u)!=null?T:!1,clean:(M=(I=i.clean)!=null?I:s)!=null?M:!1,prettier:(X=(q=i.prettier)!=null?q:m)!=null?X:!1,tslint:(K=(te=i.tslint)!=null?te:g)!=null?K:!1,override:x(h({},i.override),{operations:un(((re=i.override)==null?void 0:re.operations)||{},a),tags:un(((tt=i.override)==null?void 0:tt.tags)||{},a),mutator:je(a,(Ie=i.override)==null?void 0:Ie.mutator),formData:(rt=Z((ke=i.override)==null?void 0:ke.formData)?(De=i.override)==null?void 0:De.formData:je(a,(Ae=i.override)==null?void 0:Ae.formData))!=null?rt:!0,formUrlEncoded:(Sr=Z((nt=i.override)==null?void 0:nt.formUrlEncoded)?($r=i.override)==null?void 0:$r.formUrlEncoded:je(a,(xr=i.override)==null?void 0:xr.formUrlEncoded))!=null?Sr:!0,header:((wr=i.override)==null?void 0:wr.header)===!1?!1:L((jr=i.override)==null?void 0:jr.header)?(Rr=i.override)==null?void 0:Rr.header:mn,requestOptions:(vr=(Tr=i.override)==null?void 0:Tr.requestOptions)!=null?vr:!0,components:{schemas:h({suffix:We.schemas},((Gr=(Pr=i.override)==null?void 0:Pr.components)==null?void 0:Gr.schemas)||{}),responses:h({suffix:We.responses},((Er=(Mr=i.override)==null?void 0:Mr.components)==null?void 0:Er.responses)||{}),parameters:h({suffix:We.parameters},((qr=(Cr=i.override)==null?void 0:Cr.components)==null?void 0:qr.parameters)||{}),requestBodies:h({suffix:We.requestBodies},((kr=(Ir=i.override)==null?void 0:Ir.components)==null?void 0:kr.requestBodies)||{})},query:h({useQuery:!0},((Ar=i.override)==null?void 0:Ar.query)||{}),angular:{provideInRoot:(Nr=(Fr=(Dr=i.override)==null?void 0:Dr.angular)==null?void 0:Fr.provideInRoot)!=null?Nr:!0}})}};return f.input.target||(Y().error(_chalk2.default.red("Config require an input target")),process.exit(1)),!f.output.target&&!f.output.schemas&&(Y().error(_chalk2.default.red("Config require an output target or schemas")),process.exit(1)),f},ta={validate:!0,resolve:{github:pn}},je=(e,t)=>{var r;return k(t)?(t.path||(Y().error(_chalk2.default.red("Mutator need a path")),process.exit(1)),x(h({},t),{path:_upath.resolve.call(void 0, e,t.path),default:(r=t.default||!t.name)!=null?r:!1})):D(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},Re=(e,t)=>D(e)&&!pe(e)?_upath.resolve.call(void 0, t,e):e,un=(e,t)=>Object.fromEntries(Object.entries(e).map(c=>{var[r,l]=c,u=l,{transformer:n,mutator:o,formData:i,formUrlEncoded:a,requestOptions:s}=u,m=be(u,["transformer","mutator","formData","formUrlEncoded","requestOptions"]);var g,f;return[r,x(h(h(h({},m),n?{transformer:Re(n,t)}:{}),o?{mutator:je(t,o)}:{}),{formData:(g=Z(i)?i:je(t,i))!=null?g:!0,formUrlEncoded:(f=Z(a)?a:je(t,a))!=null?f:!0,requestOptions:s!=null?s:!0})]}));p();var ln=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>Fe(_("chokidar"))),o=["**/{.git,node_modules}/**"],i=typeof e=="boolean"?r:Array.isArray(e)?e.filter(s=>typeof s=="string"):e;A(`Watching for changes in ${Array.isArray(i)?i.map(s=>'"'+s+'"').join(" | "):'"'+i+'"'}`),n(i,{ignorePermissionErrors:!0,ignored:o}).on("all",async(s,m)=>{A(`Change detected: ${s} ${m}`);try{await t()}catch(c){A(_chalk2.default.red(c))}})};p();p();var _swaggerparser = require('@apidevtools/swagger-parser'); var _swaggerparser2 = _interopRequireDefault(_swaggerparser);var _console = require('console');p();var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);p();var P=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));p();var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var fn=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,i)=>{o?(A(_chalk2.default.yellow(`${r}
13
+ => ${o}`)),n(e)):n(i.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
14
+ Path: ${r}
15
+ Parsing Error: ${n}`}};p();var ct=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(D(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>Fe(_(n)));return r&&k(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};p();p();p();var ee=e=>{if(!(Br(e)||zr(e)))return D(e)?`'${e}'`:_r(e)||Z(e)||L(e)?`${e}`:Array.isArray(e)?`[${e.map(ee).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,i)=>{let a=ee(n);return i.length===1?`{ ${r}: ${a}, }`:o?i.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},U=(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},W=(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
16
+ `)+",":"",aa={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},ut=e=>e.toString().split("").reduce((r,n)=>r+aa[n],""),lt=(e,t="'")=>e.replace(t,`\\${t}`);var pa=e=>e.split("").reduce((t,r)=>r==="{"?t+"${":r==="}"?t+"}":t+U(r),""),gn=e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${pa(n)}`:`${r}/${n}`,"");p();var F=async(e,t,r=[])=>{if(!C(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:i,refPaths:a}=await we(e.$ref,t),s=_lodashget2.default.call(void 0, t.specs[i||t.specKey],a);if(!s)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return F(s,x(h({},t),{specKey:i||t.specKey}),[...r,{name:n,specKey:i,schemaName:o}])};p();p();p();var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var hn=({imports:e=[],target:t,isRootKey:r,specsName:n})=>e.length?_lodashuniqwith2.default.call(void 0, e,(o,i)=>o.name===i.name&&o.default===i.default&&o.specKey===i.specKey).sort().map(({specKey:o,name:i,values:a,alias:s})=>{if(o){let m=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${i}${s?` as ${s}`:""} } from '../${_upath.join.call(void 0, m,R(i))}';`:`import ${a?"":"type "}{ ${i}${s?` as ${s}`:""} } from './${_upath.join.call(void 0, m,R(i))}';`}return`import ${a?"":"type "}{ ${i}${s?` as ${s}`:""} } from './${R(i)}';`}).join(`
17
+ `):"",N=(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.hasErrorType?", { ErrorType }":""}`:`{ ${n.name}${n.hasErrorType?", ErrorType":""} }`} from '${t?"../":""}${n.path}'`).join(`
18
+ `);return r?r+`
19
+ `:""},ua=({implementation:e,exports:t,dependency:r,specsName:n,hasSchemaDir:o})=>{let i=t.filter(s=>e.includes(s.alias||s.name));if(!i.length)return;let a=i.reduce((s,m)=>{var l,u;let c=o&&m.specKey?m.specKey:"default";return x(h({},s),{[c]:{values:((l=s[c])==null?void 0:l.values)||m.values||!1,deps:[...((u=s[c])==null?void 0:u.deps)||[],m]}})},{});return Object.entries(a).map(([s,{values:m,deps:c}])=>{let l=c.find(g=>g.default),u=_lodashuniq2.default.call(void 0, c.filter(g=>!g.default).map(({name:g,alias:f})=>f?`${g} as ${f}`:g)).join(`,
20
+ `);return`import ${m?"":"type "}${l?`${l.name}${u?",":""}`:""}${u?`{
21
+ ${u}
22
+ }`:""} from '${r}${s!=="default"&&n[s]?`/${n[s]}`:""}'`}).join(`
23
+ `)},ft=(e,t,r,n)=>{let o=t.map(i=>ua(x(h({},i),{implementation:e,specsName:r,hasSchemaDir:n}))).filter(Boolean).join(`
24
+ `);return o?o+`
25
+ `:""},me=({response:e,body:t,queryParams:r,params:n})=>[...e.imports,...t.imports,...n.reduce((o,i)=>[...o,...i.imports],[]),...r?[{name:r.schema.name}]:[]];p();p();var la=["number","string","null","unknown","undefined","object","blob"],Te=la.reduce((e,t)=>[...e,t,`Array<${t}>`,`${t}[]`],[]),_t=[Q.POST,Q.PUT,Q.PATCH,Q.DELETE];var fa=(e,t,r,n)=>_t.includes(t)?r&&e.formData?`
26
+ formData,`:n&&e.formUrlEncoded?`
27
+ formUrlEncoded,`:`
28
+ ${e.implementation||"undefined"},`:"",ga=(e,t,r)=>{var i;let n=r!==!1;if(!t&&!e.isBlob)return n?"options":"";let o="";return t&&(o+=`
29
+ params,`),e.isBlob&&(!k(r)||!r.hasOwnProperty("responseType"))&&(o+=`
30
+ responseType: 'blob',`),k(r)&&(o+=`
31
+ ${(i=ee(r))==null?void 0:i.slice(1,-1)}`),n&&(o+=`
32
+ ...options`),o},ce=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:i,isFormData:a,isFormUrlEncoded:s})=>{let m=fa(t,o,a,s),c=ga(n,r==null?void 0:r.schema,i);return o===Q.DELETE?`
33
+ \`${e}\`,{data:${m} ${c==="options"?`...${c}`:c}}
34
+ `:`
35
+ \`${e}\`,${m}${c==="options"?c:`{${c}}`}
36
+ `},da=(e,t,r,n)=>_t.includes(t)?r&&e.formData?`,
37
+ data: formData`:n&&e.formUrlEncoded?`,
38
+ data: formUrlEncoded`:`,
39
+ data: ${e.implementation||"undefined"}`:"",ya=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
40
+ params,`),e.isBlob&&(r+=`
41
+ responseType: 'blob',`),r},ue=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:i,isFormUrlEncoded:a})=>`{url: \`${e}\`, method: '${o}'${da(t,o,i,a)}${ya(n,r==null?void 0:r.schema)}
42
+ }`,le=(e,t)=>{var r,n;return t?k(e)?`{${(n=ee(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":k(e)?(r=ee(e))==null?void 0:r.slice(1,-1):""},fe=({body:e,formData:t,formUrlEncoded:r,isFormData:n,isFormUrlEncoded:o})=>n&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:o&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var ha=[{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"}],bn=()=>ha,On=e=>{let t=U(e);return`${$(t)}Service`},xn=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideInRoot:o})=>`
43
+ ${t&&!n?`type HttpClientOptions = {
44
+ headers?: HttpHeaders | {
45
+ [header: string]: string | string[];
46
+ };
47
+ context?: HttpContext;
48
+ observe?: any;
49
+ params?: HttpParams | {
50
+ [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
51
+ };
52
+ reportProgress?: boolean;
53
+ responseType?: any;
54
+ withCredentials?: boolean;
55
+ };`:""}
56
+
57
+ ${t&&r?`type ThirdParameter<T extends (...args: any) => any> = T extends (
58
+ config: any,
59
+ httpClient: any,
60
+ args: infer P,
61
+ ) => any
62
+ ? P
63
+ : never;`:""}
64
+
65
+ @Injectable(${o?"{ providedIn: 'root' }":""})
66
+ export class ${e} {
67
+ constructor(
68
+ private http: HttpClient,
69
+ ) {}`,$n=()=>`};
70
+ `;var ba=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:i,verb:a,override:s,formData:m,formUrlEncoded:c},{route:l})=>{let u=(s==null?void 0:s.requestOptions)!==!1,g=(s==null?void 0:s.formData)!==!1,f=(s==null?void 0:s.formUrlEncoded)!==!1,y=fe({formData:m,formUrlEncoded:c,body:o,isFormData:g,isFormUrlEncoded:f});if(n){let O=ue({route:l,body:o,queryParams:e,response:r,verb:a,isFormData:g,isFormUrlEncoded:f}),S=n.mutatorFn.length>2,w=u?le(s==null?void 0:s.requestOptions,S):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
71
+ ${W(i,"implementation")}
72
+ ${u&&S?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${y}
73
+ return ${n.name}<TData>(
74
+ ${O},
75
+ this.http,
76
+ ${w});
77
+ }
78
+ `}let b=ce({route:l,body:o,queryParams:e,response:r,verb:a,requestOptions:s==null?void 0:s.requestOptions,isFormData:g,isFormUrlEncoded:f});return` ${t}<TData = ${r.definition.success||"unknown"}>(
79
+ ${W(i,"implementation")} ${u?`options?: HttpClientOptions
80
+ `:""} ): Observable<TData> {${y}
81
+ return this.http.${a}<TData>(${b});
82
+ }
83
+ `},Sn=(e,t)=>{let r=me(e);return{implementation:ba(e,t),imports:r}};p();var Oa=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Bt=()=>Oa,xa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:i,verb:a,override:s,formData:m,formUrlEncoded:c},{route:l})=>{let u=(s==null?void 0:s.requestOptions)!==!1,g=(s==null?void 0:s.formData)!==!1,f=(s==null?void 0:s.formUrlEncoded)!==!1,y=fe({formData:m,formUrlEncoded:c,body:o,isFormData:g,isFormUrlEncoded:f});if(n){let O=ue({route:l,body:o,queryParams:e,response:r,verb:a,isFormData:g,isFormUrlEncoded:f}),S=n.mutatorFn.length>1,w=u?le(s==null?void 0:s.requestOptions,S):"";return`const ${t} = <TData = ${r.definition.success||"unknown"}>(
84
+ ${W(i,"implementation")}
85
+ ${u&&S?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${y}
86
+ return ${n.name}<TData>(
87
+ ${O},
88
+ ${w});
89
+ }
90
+ `}let b=ce({route:l,body:o,queryParams:e,response:r,verb:a,requestOptions:s==null?void 0:s.requestOptions,isFormData:g,isFormUrlEncoded:f});return`const ${t} = <TData = AxiosResponse<${r.definition.success||"unknown"}>>(
91
+ ${W(i,"implementation")} ${u?`options?: AxiosRequestConfig
92
+ `:""} ): Promise<TData> => {${y}
93
+ return axios.${a}(${b});
94
+ }
95
+ `},zt=e=>{let t=U(e);return`get${$(t)}`},Lt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`${t&&r?`type SecondParameter<T extends (...args: any) => any> = T extends (
96
+ config: any,
97
+ args: infer P,
98
+ ) => any
99
+ ? P
100
+ : never;
101
+
102
+ `:""}
103
+ ${n?"":`export const ${e} = () => {
104
+ `}`,wn=(e=[])=>`return {${e.join(",")}}};
105
+ `,Kt=(e,t)=>{let r=me(e);return{implementation:xa(e,t),imports:r}};p();p();p();p();var jn={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()"};p();p();var Rn=(e,t,r)=>{var a,s;let n=Object.entries(((a=t.specs[r].components)==null?void 0:a.schemas)||[]).reduce((m,[c,l])=>x(h({},m),{[c]:l}),{}),o=Object.entries(((s=t.specs[r].components)==null?void 0:s.responses)||[]).reduce((m,[c,l])=>{var u,g;return x(h({},m),{[c]:C(l)?l:(g=(u=l.content)==null?void 0:u["application/json"])==null?void 0:g.schema})},{}),i=h(h({},n),o);return x(h({},i[e]),{specKey:r})};var $a=e=>e[0]==="/"&&e[e.length-1]==="/",gt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!($a(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:Be(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},Be=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,ge=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:i})=>{if(C(e)){let{name:a,specKey:s}=await we(e.$ref,x(h({},i),{specKey:e.specKey||i.specKey})),m=x(h({},Rn(a,i,s||e.specKey||i.specKey)),{name:a,path:e.path,isRef:!0,specKey:s||e.specKey});return ze({item:m,mockOptions:t,operationId:r,tags:n,combine:o,context:i})}return ze({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:i})};p();var _cuid = require('cuid'); var _cuid2 = _interopRequireDefault(_cuid);p();var Tn=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;p();var vn=async({item:e,items:t,isOneOf:r,mockOptions:n,operationId:o,tags:i,combine:a,context:s})=>{let m=[],c=[...(a==null?void 0:a.properties)||[]];return{value:await P(t,async(u,g,f,y)=>{let b=await ge({schema:x(h({},g),{name:e.name,path:e.path?e.path:"#",specKey:e.specKey}),combine:r?void 0:{properties:c},mockOptions:n,operationId:o,tags:i,context:s});return m=[...m,...b.imports],c=[...c,...b.properties||[]],!f&&!a?b.enums||r?y.length===1?`faker.helpers.randomize([${b.value}])`:`faker.helpers.randomize([${b.value},`:y.length===1?`{${b.value}}`:`{${b.value},`:y.length-1===f?b.enums||r?u+b.value+(a?"":"])"):u+b.value+(a?"":"}"):b.value?u+b.value+",":u},""),imports:m,name:e.name,properties:c}};p();var _esutils = require('esutils');var ve=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Pn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:i})=>{if(C(e))return ge({schema:x(h({},e),{name:e.name,path:e.path?`${e.path}.${e.name}`:e.name,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:i});if(e.allOf||e.oneOf||e.anyOf)return vn({item:e,items:e.allOf||e.oneOf||e.anyOf,isOneOf:!!(e.oneOf||e.anyOf),mockOptions:t,operationId:r,tags:n,combine:o,context:i});if(e.properties){let a=o?"":"{",s=[],m=[];return a+=(await Promise.all(Object.entries(e.properties).map(async([c,l])=>{if(o==null?void 0:o.properties.includes(c))return;let u=(t==null?void 0:t.required)||(Array.isArray(e.required)?e.required:[]).includes(c);if(Tn(e.path,`\\.${c}\\.`)>=1)return;let g=await ge({schema:x(h({},l),{name:c,path:e.path?`${e.path}.${c}`:`#.${c}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:i});s=[...s,...g.imports],m=[...m,c];let f=ve(c);return!u&&!g.overrided?`${f}: faker.helpers.randomize([${g.value}, undefined])`:`${f}: ${g.value}`}))).filter(Boolean).join(", "),a+=o?"":"}",{value:a,imports:s,name:e.name,properties:m}}if(e.additionalProperties){if(Z(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let a=await ge({schema:x(h({},e.additionalProperties),{name:e.name,path:e.path?`${e.path}.#`:"#",specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:i});return x(h({},a),{value:`{
106
+ '${_cuid2.default.call(void 0, )}': ${a.value}
107
+ }`})}return{value:"{}",imports:[],name:e.name}};var ze=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:i})=>{var u,g;let a=gt((g=(u=t==null?void 0:t.operations)==null?void 0:u[r])==null?void 0:g.properties,e);if(a)return a;let s=Object.entries((t==null?void 0:t.tags)||{}).reduce((f,[y,b])=>n.includes(y)?$e(f,b):f,{}),m=gt(s==null?void 0:s.properties,e);if(m)return m;let c=gt(t==null?void 0:t.properties,e);if(c)return c;let l=h(h({},jn),(t==null?void 0:t.format)||{});if(e.format&&l[e.format])return{value:Be(l[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:Be("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:y,imports:b,name:O}=await ge({schema:x(h({},e.items),{name:e.name,path:e.path?`${e.path}.[]`:"#.[]",specKey:e.specKey}),combine:o,mockOptions:t,operationId:r,tags:n,context:i});return y?{value:`[...Array(faker.datatype.number({min:1, max: ${y.length}}))].reduce(({values, enums}) => {
108
+ const newValue = enums[faker.datatype.number({min:1, max: enums.length})];
109
+ return {
110
+ values: [...values, newValue],
111
+ enums: enums.filter((v: ${O}) => newValue !== v)
112
+ }
113
+ },{ values: [], enums: Object.values(${O})})`,imports:b,name:e.name}:{value:`[...Array(faker.datatype.number({min: 1, max: 10}))].map(() => (${f}))`,imports:b,name:e.name}}case"string":{let f="faker.random.word()",y=[];if(e.enum){let b="['"+e.enum.map(O=>lt(O)).join("','")+"']";e.isRef&&(b=`Object.values(${e.name})`,y=[{name:e.name,values:!0}]),f=`faker.helpers.randomize(${b})`}return{value:Be(f,e.nullable),enums:e.enum,name:e.name,imports:y}}case"object":default:return Pn({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:i})}};var dt=(e,t)=>Object.entries(L(e)?e(t):e).reduce((r,[n,o])=>x(h({},r),{[n]:L(o)?`(${o})()`:ee(o)}),{}),ja=(e,t)=>{var r,n,o;return h(h(h(h({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:dt(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:dt(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((i,[a,s])=>{var m;return x(h({},i),{[a]:((m=s.mock)==null?void 0:m.properties)?{properties:dt(s.mock.properties,e)}:{}})},{})}:{}),(t==null?void 0:t.tags)?{tags:Object.entries(t.tags).reduce((i,[a,s])=>{var m;return x(h({},i),{[a]:((m=s.mock)==null?void 0:m.properties)?{properties:dt(s.mock.properties,e)}:{}})},{})}:{})},Ra=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"}},Ta=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:i})=>P(r.types.success,async(a,{value:s,originalSchema:m})=>{if(!s||Te.includes(s)){let u=Ra(s);return a.definitions=[...a.definitions,o?o(u,r.definition.success):u],a}if(!m)return a;let c=await F(m,i),l=await ze({item:h(h({name:s},c.schema),r.imports.length?{specKey:r.imports[0].specKey}:{}),mockOptions:n,operationId:e,tags:t,context:i});return a.imports=[...a.imports,...l.imports],a.definitions=[...a.definitions,o?o(l.value,r.definition.success):l.value.toString()],a},{definitions:[],imports:[]}),Gn=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:i})=>{let a=ja(i.specs[i.specKey],n),{definitions:s,imports:m}=await Ta({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:a,transformer:o,context:i});return{definition:"["+s.join(", ")+"]",definitions:s,imports:m}},Mn=(e,t)=>{var n,o,i;let r=(i=(o=(n=t==null?void 0:t.operations)==null?void 0:n[e])==null?void 0:o.mock)==null?void 0:i.data;return L(r)?`(${r})()`:ee(r)};var va=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+U(r),""),Pa=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${va(o)}`:`${n}/${o}`:n,t),Ga=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0}],dependency:"faker"}],de=(e,t,r,n)=>ft(e,[...Ga,...t],r,n),En=async({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:i,context:a})=>{var y;let{definitions:s,definition:m,imports:c}=await Gn({operationId:e,tags:n,response:t,override:i,context:a}),l=Pa(o,(y=i==null?void 0:i.mock)==null?void 0:y.baseUrl),u=Mn(e,i),g="";u?g=u:s.length>1?g=`faker.helpers.randomize(${m})`:s[0]&&(g=s[0]);let f=t.contentTypes.includes("text/plain")?"text":"json";return{implementation:{function:g&&g!=="undefined"?`export const get${$(e)}Mock = () => (${g})
114
+
115
+ `:"",handler:`rest.${r}('${l}', (req, res, ctx) => {
116
+ return res(
117
+ ctx.delay(1000),
118
+ ctx.status(200, 'Mocked status'),${g&&g!=="undefined"?`
119
+ ctx.${f}(get${$(e)}Mock()),`:""}
120
+ )
121
+ }),`},imports:c}};p();var _lodashomitby = require('lodash.omitby'); var _lodashomitby2 = _interopRequireDefault(_lodashomitby);p();var ne={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam"};var Qt=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],Ea=[...Qt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryStoreResult"},{name:"UseInfiniteQueryStoreResult"},{name:"QueryKey"}],dependency:"@sveltestack/svelte-query"}],Cn=()=>Ea,Ca=[...Qt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"react-query"}],qn=()=>Ca,qa=[...Qt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0}],dependency:"vue-query"},{exports:[{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"vue-query/types"}],In=()=>qa,Ia=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:i,verb:a,formData:s,formUrlEncoded:m,override:c},{route:l})=>{let u=(c==null?void 0:c.requestOptions)!==!1,g=(c==null?void 0:c.formData)!==!1,f=(c==null?void 0:c.formUrlEncoded)!==!1,y=fe({formData:s,formUrlEncoded:m,body:o,isFormData:g,isFormUrlEncoded:f});if(n){let O=ue({route:l,body:o,queryParams:e,response:r,verb:a,isFormData:g,isFormUrlEncoded:f}),S=n.mutatorFn.length>1,w=u?le(c==null?void 0:c.requestOptions,S):"";return(n==null?void 0:n.name.startsWith("use"))&&!n.mutatorFn.length?`export const use${$(t)}Hook = () => {
122
+ const ${t} = ${n.name}<${r.definition.success||"unknown"}>();
123
+
124
+ return (
125
+ ${W(i,"implementation")}
126
+ ${u&&S?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${y}
127
+ return ${t}(
128
+ ${O},
129
+ ${w});
130
+ }
131
+ }
132
+ `:`export const ${t} = (
133
+ ${W(i,"implementation")}
134
+ ${u&&S?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${y}
135
+ return ${n.name}<${r.definition.success||"unknown"}>(
136
+ ${O},
137
+ ${w});
138
+ }
139
+ `}let b=ce({route:l,body:o,queryParams:e,response:r,verb:a,requestOptions:c==null?void 0:c.requestOptions,isFormData:g,isFormUrlEncoded:f});return`export const ${t} = (
140
+ ${W(i,"implementation")} ${u?`options?: AxiosRequestConfig
141
+ `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${y}
142
+ return axios.${a}(${b});
143
+ }
144
+ `},Ht={INFINITE:"infiniteQuery",QUERY:"query"},ka=["getNextPageParam","getPreviousPageParam"],Aa=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=k(t)?` ${(o=ee(_lodashomitby2.default.call(void 0, t,(i,a)=>!!(r!==Ht.INFINITE&&ka.includes(a)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!k(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:i})=>i).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},kn=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,isMutatorHasSecondArg:o,type:i})=>{let a=(r==null?void 0:r.name.startsWith("use"))&&!r.mutatorFn.length,s=i?`Use${$(i)}Options<AsyncReturnType<${a?`ReturnType<typeof use${$(e)}Hook>`:`typeof ${e}`}>, TError, TData>`:`UseMutationOptions<AsyncReturnType<${a?`ReturnType<typeof use${$(e)}Hook>`:`typeof ${e}`}>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;return n?`options?: { ${i?"query":"mutation"}?:${s}, ${r?o?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
145
+ `:`${i?"queryOptions":"mutationOptions"}?: ${s}`},Da=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:i,queryKeyFnName:a,properties:s,params:m,props:c,mutator:l,isRequestOptions:u,response:g,outputClient:f})=>{let y=(l==null?void 0:l.name.startsWith("use"))&&!l.mutatorFn.length,b=t?c.map(({name:v})=>v==="params"?`{ ${t}: pageParam, ...params }`:v).join(","):s,O=!!l&&l.mutatorFn.length>1,S=f!==z.SVELTE_QUERY?` Use${$(n)}Result<TData, TError>`:`Use${$(n)}StoreResult<AsyncReturnType<${y?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>, TError, TData, QueryKey>`,w=`AxiosError<${g.definition.errors||"unknown"}>`;return l&&(w=l.hasErrorType?`ErrorType<${g.definition.errors||"unknown"}>`:g.definition.errors||"unknown"),`
146
+ export const ${R(`use-${e}`)} = <TData = AsyncReturnType<${y?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>, TError = ${w}>(
147
+ ${i} ${kn({operationName:o,definitions:"",mutator:l,isRequestOptions:u,isMutatorHasSecondArg:O,type:n})}
148
+ ): ${S} & { queryKey: QueryKey } => {
149
+
150
+ ${u?`const {query: queryOptions${l?O?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
151
+
152
+ const queryKey = queryOptions?.queryKey ?? ${a}(${s});
153
+
154
+ ${y?`const ${o} = use${$(o)}Hook()`:""}
155
+
156
+ const queryFn: QueryFunction<AsyncReturnType<${y?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>> = (${t&&c.some(({type:v})=>v==="queryParam")?"{ pageParam }":""}) => ${o}(${b}${b?", ":""}${u?l?O?"requestOptions":"":"axiosOptions":""});
157
+
158
+ const query = ${R(`use-${n}`)}<AsyncReturnType<${y?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>, TError, TData>(queryKey, queryFn, ${Aa({params:m,options:r,type:n})})
159
+
160
+ return {
161
+ queryKey,
162
+ ...query
163
+ }
164
+ }
165
+ `},Fa=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:i,override:a,mutator:s,response:m,operationId:c},{route:l,override:{operations:u={}}},g)=>{var I;let f=a==null?void 0:a.query,y=(a==null?void 0:a.requestOptions)!==!1,b=(I=u[c])==null?void 0:I.query;if(o===Q.GET||(b==null?void 0:b.useInfinite)||(b==null?void 0:b.useQuery)){let M=n.map(({name:K,type:re})=>re===ne.BODY?r.implementation:K).join(","),q=[...(f==null?void 0:f.useInfinite)?[{name:R(`${t}-infinite`),options:f==null?void 0:f.options,type:Ht.INFINITE,queryParam:f==null?void 0:f.useInfiniteQueryParam}]:[],...!(f==null?void 0:f.useQuery)&&!(f==null?void 0:f.useInfinite)||(f==null?void 0:f.useQuery)?[{name:t,options:f==null?void 0:f.options,type:Ht.QUERY}]:[]],X=R(`get-${t}-queryKey`),te=W(n,"implementation");return`export const ${X} = (${te}) => [\`${l}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
166
+
167
+ ${q.reduce((K,re)=>K+Da({queryOption:re,operationName:t,queryProps:te,queryKeyFnName:X,properties:M,params:i,props:n,mutator:s,isRequestOptions:y,response:m,outputClient:g}),"")}
168
+ `}let O=n.map(({definition:M,type:q})=>q===ne.BODY?`data: ${r.definition}`:M).join(";"),S=(s==null?void 0:s.name.startsWith("use"))&&!s.mutatorFn.length,w=!!s&&s.mutatorFn.length>1,v=n.map(({name:M,type:q})=>q===ne.BODY?"data":M).join(","),T=`AxiosError<${m.definition.errors||"unknown"}>`;return s&&(T=s.hasErrorType?`ErrorType<${m.definition.errors||"unknown"}>`:m.definition.errors||"unknown"),`
169
+ export const ${R(`use-${t}`)} = <TError = ${T},
170
+ ${O?"":"TVariables = void,"}
171
+ TContext = unknown>(${kn({operationName:t,isMutatorHasSecondArg:w,definitions:O,mutator:s,isRequestOptions:y})}) => {
172
+ ${y?`const {mutation: mutationOptions${s?w?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
173
+
174
+ ${S?`const ${t} = use${$(t)}Hook()`:""}
175
+
176
+
177
+ const mutationFn: MutationFunction<AsyncReturnType<${S?`ReturnType<typeof use${$(t)}Hook>`:`typeof ${t}`}>, ${O?`{${O}}`:"TVariables"}> = (${v?"props":""}) => {
178
+ ${v?`const {${v}} = props || {}`:""};
179
+
180
+ return ${t}(${v}${v?",":""}${y?s?w?"requestOptions":"":"axiosOptions":""})
181
+ }
182
+
183
+ return useMutation<AsyncReturnType<typeof ${t}>, TError, ${O?`{${O}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
184
+ }
185
+ `},yt=()=>"",ht=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
186
+ T extends (...args: any) => Promise<any>
187
+ > = T extends (...args: any) => Promise<infer R> ? R : any;
188
+
189
+
190
+ ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
191
+ config: any,
192
+ args: infer P,
193
+ ) => any
194
+ ? P
195
+ : never;
196
+
197
+ `:""}`,bt=()=>"",Ot=(e,t,r)=>{let n=me(e),o=Ia(e,t),i=Fa(e,t,r);return{implementation:`${o}
198
+
199
+ ${i}`,imports:n}};p();var Na=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],Va=[...Na,{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],An=()=>Va,Ua=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:i,verb:a,formData:s,formUrlEncoded:m,override:c},{route:l})=>{let u=(c==null?void 0:c.requestOptions)!==!1,g=(c==null?void 0:c.formData)!==!1,f=(c==null?void 0:c.formUrlEncoded)!==!1,y=fe({formData:s,formUrlEncoded:m,body:o,isFormData:g,isFormUrlEncoded:f});if(n){let O=ue({route:l,body:o,queryParams:e,response:r,verb:a,isFormData:g,isFormUrlEncoded:f}),S=n.mutatorFn.length>1,w=u?le(c==null?void 0:c.requestOptions,S):"";return`export const ${t} = (
200
+ ${W(i,"implementation")}
201
+ ${u&&S?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${y}
202
+ return ${n.name}<${r.definition.success||"unknown"}>(
203
+ ${O},
204
+ ${w});
205
+ }
206
+ `}let b=ce({route:l,body:o,queryParams:e,response:r,verb:a,requestOptions:c==null?void 0:c.requestOptions,isFormData:g,isFormUrlEncoded:f});return`export const ${t} = (
207
+ ${W(i,"implementation")} ${u?`options?: AxiosRequestConfig
208
+ `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${y}
209
+ return axios.${a}(${b});
210
+ }
211
+ `},Wa=({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"}}
212
+ `:`swrOptions?: ${o}`},_a=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:i,isRequestOptions:a,response:s})=>{let m=n,c=!!i&&i.mutatorFn.length>1,l=o.length?`const isEnable = !!(${o.map(({name:g})=>g).join(" && ")})
213
+ const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);`:`const swrKey = swrOptions?.swrKey ?? (() => ${r}(${n}))`,u=`AxiosError<${s.definition.errors||"unknown"}>`;return i&&(u=i.hasErrorType?`ErrorType<${s.definition.errors||"unknown"}>`:s.definition.errors||"unknown"),`
214
+ export const ${R(`use-${e}`)} = <TError = ${u}>(
215
+ ${t} ${Wa({operationName:e,mutator:i,isRequestOptions:a,isMutatorHasSecondArg:c})}
216
+ ) => {
217
+
218
+ ${a?`const {swr: swrOptions${i?c?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
219
+
220
+ ${l}
221
+ const swrFn = () => ${e}(${m}${m?", ":""}${a?i?c?"requestOptions":"":"axiosOptions":""});
222
+
223
+ const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
224
+
225
+ return {
226
+ swrKey,
227
+ ...query
228
+ }
229
+ }
230
+ `},Ba=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:i,override:a,mutator:s,response:m},{route:c})=>{let l=(a==null?void 0:a.requestOptions)!==!1;if(o!==Q.GET)return"";let u=n.map(({name:y,type:b})=>b===ne.BODY?r.implementation:y).join(","),g=R(`get-${t}-key`),f=W(n,"implementation");return`export const ${g} = (${f}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
231
+
232
+ ${_a({operationName:t,swrProps:f,swrKeyFnName:g,properties:u,params:i,props:n,mutator:s,isRequestOptions:l,response:m})}
233
+ `},Dn=()=>"",Fn=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
234
+ T extends (...args: any) => Promise<any>
235
+ > = T extends (...args: any) => Promise<infer R> ? R : any;
236
+
237
+
238
+ ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
239
+ config: any,
240
+ args: infer P,
241
+ ) => any
242
+ ? P
243
+ : never;
244
+
245
+ `:""}`,Nn=()=>"",Vn=(e,t)=>{let r=me(e),n=Ua(e,t),o=Ba(e,t);return{implementation:`${n}
246
+
247
+ ${o}`,imports:r}};var Le=z.AXIOS,Un={axios:{client:Kt,header:Lt,dependencies:Bt,footer:wn,title:zt},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=Kt(e,t);return{implementation:"export "+r,imports:n}},header:e=>Lt(x(h({},e),{noFunction:!0})),dependencies:Bt,footer:()=>"",title:zt},angular:{client:Sn,header:xn,dependencies:bn,footer:$n,title:On},"react-query":{client:Ot,header:ht,dependencies:qn,footer:bt,title:yt},"svelte-query":{client:Ot,header:ht,dependencies:Cn,footer:bt,title:yt},"vue-query":{client:Ot,header:ht,dependencies:In,footer:bt,title:yt},swr:{client:Vn,header:Fn,dependencies:An,footer:Nn,title:Dn}},Ke=e=>{let t=L(e)?e(Un):Un[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},ye=(e=Le,t,r,n,o)=>{let{dependencies:i}=Ke(e);return ft(t,[...i(),...r],n,o)},xt=({outputClient:e=Le,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:i,provideInRoot:a})=>{let s=za(e,r,n),{header:m}=Ke(e);return{implementation:m({title:s.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:i,provideInRoot:a}),implementationMSW:`export const ${s.implementationMSW} = () => [
248
+ `}},$t=(e=Le,t)=>{let{footer:r}=Ke(e);return{implementation:r(t),implementationMSW:`]
249
+ `}},za=(e=Le,t,r)=>{let{title:n}=Ke(e);if(r){let o=r(t);return{implementation:n(o),implementationMSW:`get${$(o)}MSW`}}return{implementation:n(t),implementationMSW:`get${$(t)}MSW`}},La=async(e,t)=>t.mock?L(t.mock)?t.mock(e,t):En(e,t):{implementation:{function:"",handler:""},imports:[]},Wn=(e=Le,t,r)=>P(t,async(n,o)=>{let{client:i}=Ke(e),a=i(o,r,e),s=await La(o,r);return x(h({},n),{[o.operationId]:{implementation:o.doc+a.implementation,imports:a.imports,implementationMSW:s.implementation,importsMSW:s.imports,tags:o.tags,mutator:o.mutator,formData:o.formData,formUrlEncoded:o.formUrlEncoded,operationName:o.operationName}})},{});p();p();var Ka="\\*/",_n="*\\/",Bn=new RegExp(Ka,"g");function V({description:e,deprecated:t,summary:r},n=!1){let o=(Array.isArray(e)?e:[e||""]).map(m=>m.replace(Bn,_n)),i=[e,t,r].reduce((m,c)=>c?m+1:m,0);if(!i)return"";let a=i===1&&n,s="/**";return e&&(a||(s+=`
250
+ ${n?" ":""} *`),s+=` ${o.join(`
251
+ * `)}`),t&&(a||(s+=`
252
+ ${n?" ":""} *`),s+=" @deprecated"),r&&(a||(s+=`
253
+ ${n?" ":""} *`),s+=` @summary ${r.replace(Bn,_n)}`),s+=a?" ":`
254
+ ${n?" ":""}`,s+=`*/
255
+ `,s}p();p();var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);p();var Qe=async(e,t,r,n)=>{let{schema:o,imports:i}=await F(t,r),a=C(t)?i[0].name:e,s=n?"formUrlEncoded":"formData",m=n?`const ${s} = new URLSearchParams();
256
+ `:`const ${s} = new FormData();
257
+ `;if(o.type==="object"&&o.properties){let c=await P(Object.entries(o.properties),async(l,[u,g])=>{var b;let{schema:f}=await F(g,r),y="";return f.type==="object"||f.type==="array"?y=`${s}.append('${u}', JSON.stringify(${R(a)}${u.includes("-")?`['${u}']`:`.${u}`}))
258
+ `:f.type==="number"||f.type==="integer"||f.type==="boolean"?y=`${s}.append('${u}', ${R(a)}${u.includes("-")?`['${u}']`:`.${u}`}.toString())
259
+ `:y=`${s}.append('${u}', ${R(a)}${u.includes("-")?`['${u}']`:`.${u}`})
260
+ `,((b=o.required)==null?void 0:b.includes(u))?l+y:l+`if(${R(a)}${u.includes("-")?`['${u}']`:`.${u}`} !== undefined) {
261
+ ${y} }
262
+ `},"");return`${m}${c}`}return o.type==="array"?`${m}${s}.append('data', JSON.stringify(${R(a)}))
263
+ `:o.type==="number"||o.type==="boolean"?`${m}${s}.append('data', ${R(a)}.toString())
264
+ `:`${m}${s}.append('data', ${R(a)})
265
+ `};p();p();var Pe=(e,t,r)=>{let n=`export type ${r} = ${e};
266
+ `,o=Yt(e,t,r);return n+=`
267
+
268
+ `,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
269
+ `,n+=`export const ${r} = {
270
+ ${o}};
271
+ `,n},Yt=(e,t,r)=>[...new Set(e.split(" | "))].reduce((n,o)=>{let i=t==="number",s=!Number.isNaN(Number(o.slice(1,-1)))||i?Ha(i?o.toString():o.slice(1,-1)):U(o,{underscore:"_",whitespace:"_"});return n+` ${_esutils.keyword.isIdentifierNameES5(s)?s:`'${s}'`}: ${o} as ${r},
272
+ `},""),Ha=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;p();p();p();var zn=async({schema:e,name:t,context:r})=>{if(e.items){let n=await oe({schema:e.items,propName:t+"Item",context:r});return{value:`${n.value}[]`,imports:n.imports,schemas:n.schemas,isEnum:!1,type:"array",isRef:!1}}else throw new Error("All arrays must have an `items` key define")};p();p();var Ya={allOf:"&",oneOf:"|",anyOf:"|"},St=async({name:e,items:t,separator:r,context:n})=>{let o=await P(t,async(s,m)=>{let c=e?e+$(r):void 0;c&&s.schemas.length&&(c=c+$(ut(s.schemas.length+1)));let l=await oe({schema:m,propName:c,combined:!0,context:n});if(s.isEnum.length&&!s.isEnum.includes(l.isEnum))throw new Error("Enums can only combine with enum");return x(h({},s),{values:[...s.values,l.value],imports:[...s.imports,...l.imports],schemas:[...s.schemas,...l.schemas],isEnum:[...s.isEnum,l.isEnum],types:[...s.types,l.type],isRef:[...s.isRef,l.isRef]})},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[]}),i=o.isEnum.every(s=>s),a=o.values.join(` ${i?"|":Ya[r]} `);if(i&&e){let s=o.values.map((c,l)=>o.isRef[l]?`...${c}`:Yt(c,o.types[l],$(e))).join(","),m=`
273
+
274
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
275
+ export const ${$(e)} = {${s}}`;return{value:a+m,imports:o.imports.map(c=>x(h({},c),{values:!0})),schemas:o.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:a,imports:o.imports,schemas:o.schemas,isEnum:i,type:"object",isRef:!1}};var Ln=async({item:e,name:t,context:r})=>{if(C(e)){let{name:n,specKey:o}=await we(e.$ref,r);return{value:n,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return St({items:e.properties?[...e.allOf,_lodashomit2.default.call(void 0, e,"allOf")]:e.allOf,name:t,separator:"allOf",context:r});if(e.oneOf)return St({items:e.properties?[...e.oneOf,_lodashomit2.default.call(void 0, e,"oneOf")]:e.oneOf,name:t,separator:"oneOf",context:r});if(e.anyOf)return St({items:e.properties?[...e.anyOf,_lodashomit2.default.call(void 0, e,"anyOf")]:e.anyOf,name:t,separator:"anyOf",context:r});if(e.properties&&Object.entries(e.properties).length>0)return P(Object.entries(e.properties),async(n,[o,i],a,s)=>{var y,b,O;let m=(Array.isArray(e.required)?e.required:[]).includes(o),c=t?$(t)+$(o):void 0;!!((O=(b=(y=r.specs[r.target])==null?void 0:y.components)==null?void 0:b.schemas)==null?void 0:O[c||""])&&(c=c+"Property");let u=await oe({schema:i,propName:c,context:r}),g=e.readOnly||i.readOnly;a||(n.value+="{");let f=V(i,!0);return n.imports=[...n.imports,...u.imports],n.value+=`
276
+ ${f?`${f} `:""}${g?"readonly ":""}${ve(o)}${m?"":"?"}: ${u.value};`,n.schemas=[...n.schemas,...u.schemas],s.length-1===a&&(n.value+=`
277
+ }`),n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(Z(e.additionalProperties))return{value:"{ [key: string]: any }",imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let n=await se({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 wt=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",s=!1;return e.enum&&(a=e.enum.join(" | "),s=!0),{value:a+n,isEnum:s,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 zn({schema:e,name:t,context:r}),{value:a}=o,s=be(o,["value"]);return h({value:a+n},s)}case"string":{let a="string",s=!1;return e.enum&&(a=`'${e.enum.map(m=>D(m)?lt(m):m).join("' | '")}'`,s=!0),e.format==="binary"&&(a="Blob"),{value:s?a:a+n,isEnum:s,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let i=await Ln({item:e,name:t,context:r}),{value:a}=i,s=be(i,["value"]);return h({value:a+n},s)}}};var se=async({schema:e,name:t,context:r})=>{if(C(e)){let{schema:o,imports:i}=await F(e,r),{name:a,specKey:s,schemaName:m}=i[0],c=s||(r.specKey!==r.target?r.specKey:void 0);return{value:a,imports:[{name:a,specKey:c,schemaName:m}],type:(o==null?void 0:o.type)||"object",schemas:[],isEnum:!!(o==null?void 0:o.enum),originalSchema:o,isRef:!0}}let n=await wt({item:e,name:t,context:r});return x(h({},n),{originalSchema:e,isRef:!1})};var oe=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await se({schema:e,name:t,context:n}),i=V(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:`${i}export type ${t} = ${o.value};
278
+ `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let a=Pe(o.value,o.type,t);return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:i+a,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var Kn=["multipart/form-data"],Qn=["application/x-www-form-urlencoded"],Xa=async({mediaType:e,propName:t,context:r})=>e.schema?await oe({schema:e.schema,propName:t,context:r}):void 0,Ge=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([i,a])=>Boolean(a)).map(async([i,a])=>{if(C(a)){let{schema:s,imports:[{name:m,specKey:c,schemaName:l}]}=await F(a,r),[u,g]=Object.entries(s.content||{})[0]||[],f=Kn.includes(u),y=Qn.includes(u);if(!f&&!y||!(g==null?void 0:g.schema))return[{value:m,imports:[{name:m,specKey:c,schemaName:l}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:g==null?void 0:g.schema,key:i,contentType:u}];let b=f?await Qe(m,g==null?void 0:g.schema,x(h({},r),{specKey:c||r.specKey})):void 0,O=y?await Qe(m,g==null?void 0:g.schema,x(h({},r),{specKey:c||r.specKey}),!0):void 0;return[{value:m,imports:[{name:m,specKey:c,schemaName:l}],schemas:[],type:"unknown",isEnum:!1,formData:b,formUrlEncoded:O,isRef:!0,originalSchema:g==null?void 0:g.schema,key:i,contentType:u}]}return a.content?(await Promise.all(Object.entries(a.content).map(async([m,c],l,u)=>{let g=i?$(t)+$(i):void 0;g&&u.length>1&&(g=g+$(ut(l+1)));let f=await Xa({mediaType:c,propName:g,context:r});if(!f)return;let y=Kn.includes(m),b=Qn.includes(m);if(!y&&!b||!g)return x(h({},f),{contentType:m});let O=y?await Qe(g,c.schema,r):void 0,S=b?await Qe(g,c.schema,r,!0):void 0;return x(h({},f),{formData:O,formUrlEncoded:S,contentType:m})}))).filter(m=>m).map(m=>x(h({},m),{key:i})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:i,isRef:!1,contentType:"application/json"}]}));return _lodashuniqby2.default.call(void 0, o.reduce((i,a)=>[...i,...a],[]),"value")};var Hn=async(e,t,r)=>{let n=await Ge([[r.override.components.requestBodies.suffix,e]],t,r),o=n.reduce((l,{imports:u=[]})=>[...l,...u],[]),i=n.reduce((l,{schemas:u=[]})=>[...l,...u],[]),a=n.map(({value:l})=>l).join(" | "),s=Te.includes(a.toLowerCase())||n.length>1?R(t)+r.override.components.requestBodies.suffix:R(a),m=n.length===1?n[0].formData:void 0,c=n.length===1?n[0].formUrlEncoded:void 0;return{definition:a,implementation:s,imports:o,schemas:i,formData:m||"",formUrlEncoded:c||""}};p();var Yn=(e,t,r)=>e.operationId?e.operationId:$([r,...t.split("/").map(n=>U(n))].join("-"));p();var Jn=async({parameters:e=[],context:t})=>P(e,async(r,n)=>{if(C(n)){let{schema:o,imports:i}=await F(n,t);return o.in==="path"||o.in==="query"?x(h({},r),{[o.in]:[...r[o.in],{parameter:o,imports:i}]}):r}else return n.in!=="query"&&n.in!=="path"?r:x(h({},r),{[n.in]:[...r[n.in],{parameter:n,imports:[]}]})},{path:[],query:[]});p();var Za=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Xn=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=Za(e);return Promise.all(o.map(async i=>{let a=t.find(({parameter:y})=>U(y.name)===i);if(!a)throw new Error(`The path params ${i} can't be found in parameters (${r})`);let{name:s,required:m=!1,schema:c}=a.parameter,l=U(s);if(!c)return{name:l,definition:`${l}${m?"":"?"}: unknown`,implementation:`${l}${m?"":"?"}: unknown`,default:!1,required:m,imports:[]};let u=await se({schema:c,context:h(h({},n),a.imports.length?{specKey:a.imports[0].specKey}:{})}),g=`${l}${!m||u.originalSchema.default?"?":""}: ${u.value}`,f=`${l}${!m&&!u.originalSchema.default?"?":""}${u.originalSchema.default?`= ${u.originalSchema.default}`:`: ${u.value}`}`;return{name:l,definition:g,implementation:f,default:u.originalSchema.default,required:m,imports:u.imports}}))};p();p();var Zn=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var eo=({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:ne.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:ne.QUERY_PARAM},i=[...r.map(s=>x(h({},s),{type:ne.PARAM})),...e.definition?[n]:[],...t?[o]:[]];return Zn(i)};p();var ep=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:i,required:a,schema:s,content:m}=n,{value:c,imports:l,isEnum:u,type:g,schemas:f,isRef:y}=await se({schema:s||m["application/json"].schema,context:r,name:$(t)+$(i)}),b=ve(i);if(o.length)return{definition:`${b}${!a||s.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(u&&!y){let S=$(t)+$(i),w=Pe(c,g,S);return{definition:`${b}${!a||s.default?"?":""}: ${S}`,imports:[{name:S}],schemas:[...f,{name:S,model:w,imports:l}]}}return{definition:`${b}${!a||s.default?"?":""}: ${c}`,imports:l,schemas:f}})),to=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await ep(e,t,r),o=n.reduce((c,{imports:l=[]})=>[...c,...l],[]),i=n.reduce((c,{schemas:l=[]})=>[...c,...l],[]),a=`${$(t)}Params`,s=n.map(({definition:c})=>c).join("; ");return{schema:{name:a,model:`export type ${a} = { ${s} };
279
+ `,imports:o},deps:i}};p();var ro=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=await Ge(Object.entries(e),t,r,"void"),o=n.reduce((l,u)=>u.key.startsWith("2")?x(h({},l),{success:[...l.success,u]}):x(h({},l),{errors:[...l.errors,u]}),{success:[],errors:[]}),i=n.reduce((l,{imports:u=[]})=>[...l,...u],[]),a=n.reduce((l,{schemas:u=[]})=>[...l,...u],[]),s=[...new Set(n.map(({contentType:l})=>l))],m=o.success.map(({value:l,formData:u})=>u?"Blob":l).join(" | "),c=o.errors.map(({value:l})=>l).join(" | ");return{imports:i,definition:{success:m||"unknown",errors:c||"unknown"},isBlob:m==="Blob",types:o,contentTypes:s,schemas:a}};p();p();p();var Xt=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var J=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},jt=(e,t)=>{if(pe(e)){let r=new URL(t);return e.replace(r.origin,"").replace(G(r.pathname).dirname,"").replace(`.${Xt(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, G(t).dirname,e)).split("../").join("").replace(`.${Xt(e)}`,"")};var so=(e,t)=>{let r=G(e),n=G(t.path),{pathWithoutExtension:o}=G(J(r.dirname,n.path));return o},Rt=async({output:e,mutator:t,name:r,workspace:n})=>{if(!t||!e)return;let o=t.default,i=t.name?t.name:`${r}Mutator`,a=t.path,s=await _fsextra.readFile.call(void 0, a,"utf8"),m=s.includes("export type ErrorType")||s.includes("export interface ErrorType"),{file:c,cached:l}=await pt(a,{isDefault:!1,root:n,alias:t.alias});if(c){let u=c[t.default||!t.name?"default":t.name];u||(Y().error(_chalk2.default.red(`Your mutator file doesn't have the ${t.default?"default":t.name} exported function`)),process.exit(1));let g=so(e,t);return{name:i,path:g,default:o,mutatorFn:u,hasErrorType:m}}else{let u=so(e,t);return l||Y().warn(_chalk2.default.yellow(`Your mutator cannot be loaded so default setup has been applied => ${a}`)),{name:i,path:u,default:o,mutatorFn:()=>{},hasErrorType:m}}};var sp=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:i})=>{var Ae;let{responses:a,requestBody:s,parameters:m,tags:c=[],deprecated:l,description:u,summary:g}=r,f=Yn(r,n,e),y=t.override.operations[r.operationId],b=Object.entries(t.override.tags).reduce((De,[rt,nt])=>c.includes(rt)?$e(De,nt):De,{}),O=h(h(h({},t.override),b),y),S=(y==null?void 0:y.operationName)||((Ae=t.override)==null?void 0:Ae.operationName),w=S?S(r,n,e):R(f),v=await ro(a,f,i),T=await Hn(s,f,i),I=await Jn({parameters:[...o,...m||[]],context:i}),M=await to({queryParams:I.query,operationName:w,context:i}),q=await Xn({route:n,pathParams:I.path,operationId:f,context:i}),X=eo({body:T,queryParams:M==null?void 0:M.schema,params:q}),te=await Rt({output:t.target,name:w,mutator:O==null?void 0:O.mutator,workspace:i.workspace}),K=D(O==null?void 0:O.formData)||k(O==null?void 0:O.formData)?await Rt({output:t.target,name:w,mutator:O.formData,workspace:i.workspace}):void 0,re=D(O==null?void 0:O.formUrlEncoded)||k(O==null?void 0:O.formUrlEncoded)?await Rt({output:t.target,name:w,mutator:O.formUrlEncoded,workspace:i.workspace}):void 0,tt=V({description:u,deprecated:l,summary:g}),Ie={verb:e,tags:c,summary:r.summary,operationId:f,operationName:w,response:v,body:T,queryParams:M,params:q,props:X,mutator:te,formData:K,formUrlEncoded:re,override:O,doc:tt},ke=await ct(O==null?void 0:O.transformer,i.workspace);return ke?ke(Ie):Ie},io=({verbs:e,output:t,route:r,context:n})=>P(Object.entries(e),async(o,[i,a])=>{if(!Lr(i))return o;let s=await sp({verb:i,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});return[...o,s]},[]);var ao=async({output:e,context:t})=>P(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let i=gn(n),a=o,s=t;if(C(o)){let{schema:u,imports:g}=await F(o,t);a=u,s=h(h({},t),g.length?{specKey:g[0].specKey}:{})}let m=await io({verbs:a,output:e,route:i,context:s}),c=m.reduce((u,{queryParams:g,body:f,response:y})=>[...u,...g?[g.schema,...g.deps]:[],...f.schemas,...y.schemas],[]),l=await Wn(e.client,m,{route:i,pathRoute:n,override:e.override,context:s,mock:!!e.mock});return{schemas:[...r.schemas,...c],operations:h(h({},r.operations),l)}},{operations:{},schemas:[]});p();var Is=Fe(fr());var gr=(e={},t,r)=>(0,Is.default)(e)?Promise.resolve([]):P(Object.entries(e),async(n,[o,i])=>{let a=await Ge([[r,i]],o,t,"void"),s=a.reduce((f,{imports:y=[]})=>[...f,...y],[]),m=a.reduce((f,{schemas:y=[]})=>[...f,...y],[]),c=a.map(({value:f})=>f).join(" | "),l=`${$(o)}${r}`,g=`${V(i)}export type ${l} = ${c||"unknown"};
280
+ `;return[...n,...m,...l!==c?[{name:l,model:g,imports:s}]:[]]},[]);p();var ks=(e={},t,r)=>P(Object.entries(e),async(n,[o,i])=>{let a=`${$(o)}${r}`,{schema:s,imports:m}=await F(i,t);if(s.in!=="query")return n;if(!s.schema||m.length)return[...n,{name:a,imports:m.length?[{name:m[0].name,specKey:m[0].specKey,schemaName:m[0].schemaName}]:[],model:`export type ${a} = ${m.length?m[0].name:"unknown"};
281
+ `}];let c=await oe({schema:s.schema,propName:a,context:t}),u=`${V(i)}export type ${a} = ${c.value||"unknown"};
282
+ `;return[...n,...c.schemas,...a!==c.value?[{name:a,model:u,imports:c.imports}]:[]]},[]);p();var Ds=Fe(fr());p();var As=async({name:e,schema:t,context:r,suffix:n})=>{let o=await wt({item:t,name:e,context:r}),i=o.value==="{}",a="";a+=V(t),i&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
283
+ `:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
284
+ `),Te.includes(o.value)?a+=`export type ${e} = ${o.value};
285
+ `:a+=`export interface ${e} ${o.value}
286
+ `;let s=o.imports.filter(m=>m.name!==e);return[...o.schemas,{name:e,model:a,imports:s}]};var Fs=async(e={},t,r)=>(0,Ds.default)(e)?[]:P(Object.entries(e),async(o,[i,a])=>{let s=$(i)+r;if((!a.type||a.type==="object")&&!a.allOf&&!a.oneOf&&!C(a)&&!a.nullable)return[...o,...await As({name:s,schema:a,context:t,suffix:r})];{let m=await se({schema:a,name:s,context:t}),c="",l=m.imports;if(c+=V(a),m.isEnum&&!m.isRef)c+=Pe(m.value,m.type,s);else if(s===m.value&&m.isRef){let u=m.imports.find(g=>g.name===s);if(!u)c+=`export type ${s} = ${m.value};
287
+ `;else{let g=(u==null?void 0:u.specKey)?`${$(jt(u.specKey,t.specKey))}${m.value}`:`${m.value}Bis`;c+=`export type ${s} = ${g};
288
+ `,l=l.map(f=>f.name===s?x(h({},f),{alias:g}):f)}}else c+=`export type ${s} = ${m.value};
289
+ `;return[...o,...m.schemas,{name:s,model:c,imports:l}]}},[]);p();var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var Ns=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&Yr(r),t.length&&Jr(t)};var Kc=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await ct(t.override.transformer,r):void 0;return P(Object.entries(e),async(i,[a,s])=>{let m=await fn(s,t.converterOptions,a),c=n?n(m):m;return t.validation&&await Ns(c),x(h({},i),{[a]:c})},{})},dr=async({data:e,input:t,output:r,target:n,workspace:o})=>{let i=await Kc({specs:e,input:t,workspace:o}),a=await P(Object.entries(i),async(m,[c,l])=>{var S,w,v,T,I;let u={specKey:c,target:n,workspace:o,specs:i,override:r.override,tslint:r.tslint},g=await Fs(l.openapi?(w=l.components)==null?void 0:w.schemas:h(h({},_lodashomit2.default.call(void 0, l,["openapi","info","servers","paths","components","security","tags","externalDocs"])),((S=l.components)==null?void 0:S.schemas)||{}),u,r.override.components.schemas.suffix),f=await gr((v=l.components)==null?void 0:v.responses,u,r.override.components.responses.suffix),y=await gr((T=l.components)==null?void 0:T.requestBodies,u,r.override.components.requestBodies.suffix),b=await ks((I=l.components)==null?void 0:I.parameters,u,r.override.components.parameters.suffix),O=[...g,...f,...y,...b];return O.length?x(h({},m),{[c]:O}):m},{}),s=await ao({output:r,context:{specKey:n,target:n,workspace:o,specs:i,override:r.override,tslint:r.tslint}});return x(h({},s),{schemas:x(h({},a),{[n]:[...a[n]||[],...s.schemas]}),target:n,info:i[n].info})};var Jc=async(e,o,n)=>{var i=o,{validate:t}=i,r=be(i,["validate"]);if(t)try{await _swaggerparser2.default.validate(e)}catch(s){if((s==null?void 0:s.name)==="ParserError")throw s;_console.log.call(void 0, `\u26A0\uFE0F ${_chalk2.default.yellow(s)}`)}let a=(await _swaggerparser2.default.resolve(e,r)).values();return n?a:Object.fromEntries(Object.entries(a).map(([s,m])=>[_upath.resolve.call(void 0, s),m]))},Us=async(e,t)=>{let{input:r,output:n}=t;if(k(r.target))return dr({data:{[e]:r.target},input:r,output:n,target:e,workspace:e});let o=pe(r.target),i=await Jc(r.target,r.parserOptions,o);return dr({data:i,input:r,output:n,target:r.target,workspace:e})};p();var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa);p();var ru=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:i})=>{let a=i;return a+=hn({imports:e,target:r,isRootKey:n,specsName:o}),a+=e.length?`
290
+
291
+ `:`
292
+ `,a+=t,a},yr=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var nu=async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:i})=>{let a=R(t.name);try{await _fsextra.outputFile.call(void 0, yr(e,a),ru({schema:t,target:r,isRootKey:n,specsName:o,header:i}));let s=yr(e,"index"),c=(await _fsextra.readFile.call(void 0, s)).toString();!c.includes(`export * from './${a}'`)&&!c.includes(`export * from "./${a}"`)&&await _fsextra.appendFile.call(void 0, yr(e,"index"),`export * from './${a}';
293
+ `)}catch(s){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${s}`}},_s=async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:i})=>(await _fsextra.ensureFile.call(void 0, _upath.join.call(void 0, e,"/index.ts")),Promise.all(t.map(a=>nu({path:e,schema:a,target:r,isRootKey:n,specsName:o,header:i}))));p();p();var ou=(e,t)=>e+`${t}
294
+ `,he=e=>Object.values(e).reduce((r,n)=>[...r,...n],[]).sort((r,n)=>r.imports.some(o=>o.name===n.name)?1:-1).reduce((r,{model:n})=>ou(r,n),"");p();var vt=(e,t,r)=>{let n=Object.values(e).map(({operationName:a})=>a),o=(r==null?void 0:r.client)===z.ANGULAR,i=Object.values(e).reduce((a,s,m,c)=>{var l;if(a.imports=[...a.imports,...s.imports],a.importsMSW=[...a.importsMSW,...s.importsMSW],a.implementation+=s.implementation+`
295
+ `,a.implementationMSW.function+=s.implementationMSW.function,a.implementationMSW.handler+=s.implementationMSW.handler,s.mutator&&(a.mutators=[...a.mutators,s.mutator]),s.formData&&(a.formData=[...a.formData,s.formData]),s.formUrlEncoded&&(a.formUrlEncoded=[...a.formUrlEncoded,s.formUrlEncoded]),m===c.length-1){let u=!!((l=a.mutators)==null?void 0:l.some(y=>y.mutatorFn.length>(o?2:1))),g=xt({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!r.override.mutator,title:$(t.title),customTitleFunc:r.override.title,provideInRoot:r.override.angular.provideInRoot});a.implementation=g.implementation+a.implementation,a.implementationMSW.handler=g.implementationMSW+a.implementationMSW.handler;let f=$t(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:[],formUrlEncoded:[]});return x(h({},i),{implementationMSW:i.implementationMSW.function+i.implementationMSW.handler})};var Bs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:i})=>{try{let{path:a,dirname:s}=G(n.target,{backupFilename:R(r.title)}),{imports:m,importsMSW:c,implementation:l,implementationMSW:u,mutators:g,formData:f,formUrlEncoded:y}=vt(e,r,n),b=i,O=n.schemas?J(s,G(n.schemas).dirname):void 0;return b+=ye(n.client,l,O?[{exports:m,dependency:O}]:[],o,!!n.schemas),n.mock&&(b+=de(u,O?[{exports:c,dependency:O}]:[],o,!!n.schemas)),g&&(b+=N(g)),f&&(b+=N(f)),y&&(b+=N(y)),n.schemas||(b+=he(t)),b+=`
296
+
297
+ ${l}`,n.mock&&(b+=`
298
+
299
+ `,b+=u),await _fsextra.outputFile.call(void 0, a,b),[a]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${a}`}};p();var zs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:i})=>{try{let{filename:a,dirname:s,extension:m}=G(n.target,{backupFilename:R(r.title)}),{imports:c,implementation:l,implementationMSW:u,importsMSW:g,mutators:f,formData:y,formUrlEncoded:b}=vt(e,r,n),O=i,S=i,w=n.schemas?J(s,G(n.schemas).dirname):"./"+a+".schemas";O+=ye(n.client,l,[{exports:c,dependency:w}],o,!!n.schemas),S+=de(u,[{exports:[...c,...g],dependency:w}],o,!!n.schemas);let v=n.schemas?void 0:_upath.join.call(void 0, s,a+".schemas"+m);if(v){let q=i+he(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, s,a+".schemas"+m),q)}f&&(O+=N(f)),y&&(O+=N(y)),b&&(O+=N(b)),O+=`
300
+ ${l}`,S+=`
301
+ ${u}`;let T=a+(z.ANGULAR===n.client?".service":"")+m,I=_upath.join.call(void 0, s,T);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, s,T),O);let M=n.mock?_upath.join.call(void 0, s,a+".msw"+m):void 0;return M&&await _fsextra.outputFile.call(void 0, M,S),[I,...v?[v]:[],...M?[M]:[]]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${a}`}};p();p();var iu=e=>x(h({},e),{tags:e.tags.length?e.tags:["default"]}),au=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return o?x(h({},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,formUrlEncoded:t.formUrlEncoded?[...o.formUrlEncoded||[],t.formUrlEncoded]:o.formUrlEncoded}}):x(h({},r),{[n]:{imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}}})},e),Pt=(e,t)=>{let r=Object.values(e).map(({operationName:i})=>i),n=t.client===z.ANGULAR,o=Object.values(e).map(iu).reduce((i,a,s,m)=>{let c=au(i,a);if(s===m.length-1){let l=$t(t==null?void 0:t.client,r);return Object.entries(c).reduce((u,[g,f])=>{var O;let y=!!((O=f.mutators)==null?void 0:O.some(S=>S.mutatorFn.length>(n?2:1))),b=xt({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:y,isGlobalMutator:!!t.override.mutator,title:$(g),customTitleFunc:t.override.title,provideInRoot:t.override.angular.provideInRoot});return x(h({},u),{[g]:{implementation:b.implementation+f.implementation+l.implementation,implementationMSW:{function:f.implementationMSW.function,handler:b.implementationMSW+f.implementationMSW.handler+l.implementationMSW},imports:f.imports,importsMSW:f.importsMSW,mutators:f.mutators,formData:f.formData,formUrlEncoded:f.formUrlEncoded}})},{})}return c},{});return Object.entries(o).reduce((i,[a,s])=>x(h({},i),{[a]:x(h({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})}),{})};var Ls=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:i})=>{let{filename:a,dirname:s,extension:m}=G(n.target,{backupFilename:R(r.title)}),c=Pt(e,n);return(await Promise.all(Object.entries(c).map(async([u,g])=>{try{let{imports:f,implementation:y,implementationMSW:b,importsMSW:O,mutators:S,formData:w,formUrlEncoded:v}=g,T=i,I=i,M=n.schemas?"../"+J(s,G(n.schemas).dirname):"../"+a+".schemas";T+=ye(n.client,y,[{exports:f,dependency:M}],o,!!n.schemas),I+=de(b,[{exports:[...f,...O],dependency:M}],o,!!n.schemas);let q=n.schemas?void 0:_upath.join.call(void 0, s,a+".schemas"+m);if(q){let re=i+he(t);await _fsextra.outputFile.call(void 0, q,re)}S&&(T+=N(S,!0)),w&&(T+=N(w,!0)),v&&(T+=N(v)),T+=`
302
+ ${y}`,I+=`
303
+ ${b}`;let X=Oe(u)+(z.ANGULAR===n.client?".service":"")+m,te=_upath.join.call(void 0, s,Oe(u),X);await _fsextra.outputFile.call(void 0, te,T);let K=n.mock?_upath.join.call(void 0, s,Oe(u),Oe(u)+".msw"+m):void 0;return K&&await _fsextra.outputFile.call(void 0, K,I),[te,...q?[q]:[],...K?[K]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${u} => ${f}`}}))).reduce((u,g)=>[...u,...g],[])};p();var Hs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:i})=>{let{filename:a,dirname:s,extension:m}=G(n.target,{backupFilename:R(r.title)}),c=Pt(e,n);return(await Promise.all(Object.entries(c).map(async([u,g])=>{try{let{imports:f,implementation:y,implementationMSW:b,importsMSW:O,mutators:S,formData:w,formUrlEncoded:v}=g,T=i,I=n.schemas?J(s,G(n.schemas).dirname):"./"+a+".schemas";T+=ye(n.client,y,[{exports:f,dependency:I}],o,!!n.schemas),n.mock&&(T+=de(b,[{exports:O,dependency:I}],o,!!n.schemas));let M=n.schemas?void 0:_upath.join.call(void 0, s,a+".schemas"+m);if(M){let X=i+he(t);await _fsextra.outputFile.call(void 0, M,X)}S&&(T+=N(S)),w&&(T+=N(w)),v&&(T+=N(v)),T+=`
304
+
305
+ `,T+=y,n.mock&&(T+=`
306
+
307
+ `,T+=b);let q=_upath.join.call(void 0, s,`${Oe(u)}${m}`);return await _fsextra.outputFile.call(void 0, q,T),[q,...M?[M]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${u} => ${f}`}}))).reduce((u,g)=>[...u,...g],[])};var Js=async({operations:e,schemas:t,target:r,info:n},o,i,a)=>{let{output:s}=i,m=a||n.title,c=Object.keys(t).reduce((g,f)=>{let b=jt(f,r).slice(1).split("/").join("-");return x(h({},g),{[f]:b})},{}),l=s.override.header?V({description:s.override.header(n)}):"";if(s.schemas){let g=s.schemas;await Promise.all(Object.entries(t).map(([f,y])=>{let b=r===f,O=b?g:_upath.join.call(void 0, g,c[f]);return _s({schemaPath:O,schemas:y,target:r,specsName:c,isRootKey:b,header:l})}))}let u=[];if(s.target&&(s.mode===Ne.SINGLE?u=await Bs({workspace:o,operations:e,output:s,info:n,schemas:t,specsName:c,header:l}):s.mode===Ne.SPLIT?u=await zs({workspace:o,operations:e,output:s,info:n,schemas:t,specsName:c,header:l}):s.mode===Ne.TAGS?u=await Hs({workspace:o,operations:e,output:s,info:n,schemas:t,specsName:c,header:l}):s.mode===Ne.TAGS_SPLIT&&(u=await Ls({workspace:o,operations:e,output:s,info:n,schemas:t,specsName:c,header:l}))),s.workspace){let g=s.workspace,f=u.filter(b=>!b.endsWith(".msw.ts")).map(b=>`export * from '${J(g,G(b).pathWithoutExtension)}';`);s.schemas&&f.push(`export * from '${J(g,G(s.schemas).dirname)}';`);let y=_upath.join.call(void 0, g,"/index.ts");await _fsextra.outputFile.call(void 0, y,_lodashuniq2.default.call(void 0, f).join(`
308
+ `)),u=[y,...u]}if(s.prettier)try{await _execa2.default.call(void 0, "prettier",["--write",...s.schemas?[G(s.schemas).dirname]:[],...u])}catch (e6){_console.log.call(void 0, _chalk2.default.yellow(`\u26A0\uFE0F ${m?`${m} - `:""}Prettier not found`))}Hr(m)};p();var Xs=e=>{Qr(e),process.exit(1)};var ei=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Vt(["**/*","!**/*.d.ts",...o],G(t.output.target).dirname),t.output.schemas&&await Vt(["**/*","!**/*.d.ts",...o],G(t.output.schemas).dirname),A(`${r?`${r}: `:""}Cleaning output folder`)}let n=await Us(e,t);await Js(n,e,t,r)},ti=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await ei(t,n,r)}catch(o){A(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else Xs("Project not found");return}return Promise.all(Object.entries(e).map(async([n,o])=>{try{return await ei(t,o,n)}catch(i){A(_chalk2.default.red(`\u{1F6D1} ${n?`${n} - `:""}${i}`))}}))},YO= exports.j =async(e,t)=>{let{path:r,file:n,error:o}=await pt(e,{defaultFileName:"orval.config"});if(!n)throw`failed to load from ${r} => ${o}`;let i=_upath.dirname.call(void 0, r),a=await(L(n)?n():n),s=await P(Object.entries(a),async(c,[l,u])=>x(h({},c),{[l]:await cn(u,i,t)}),{}),m=Object.entries(s).filter(([c])=>(t==null?void 0:t.projectName)===void 0||c===(t==null?void 0:t.projectName)).map(([,{input:c}])=>c.target).filter(c=>D(c));(t==null?void 0:t.watch)&&m.length?ln(t==null?void 0:t.watch,()=>ti(s,i,t==null?void 0:t.projectName),m):await ti(s,i,t==null?void 0:t.projectName)};exports.a = Mt; exports.b = p; exports.c = D; exports.d = A; exports.e = wu; exports.f = Rl; exports.g = cn; exports.h = ln; exports.i = ei; exports.j = YO;
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ declare type ResolverValue = {
13
13
  };
14
14
  declare type ResReqTypesValue = ResolverValue & {
15
15
  formData?: string;
16
+ formUrlEncoded?: string;
16
17
  isRef?: boolean;
17
18
  key: string;
18
19
  contentType: string;
@@ -38,6 +39,7 @@ declare type GetterBody = {
38
39
  implementation: string;
39
40
  schemas: GeneratorSchema[];
40
41
  formData?: string;
42
+ formUrlEncoded?: string;
41
43
  };
42
44
  declare type GetterParam = {
43
45
  name: string;
@@ -93,6 +95,7 @@ declare type GeneratorTarget = {
93
95
  importsMSW: GeneratorImport[];
94
96
  mutators?: GeneratorMutator[];
95
97
  formData?: GeneratorMutator[];
98
+ formUrlEncoded?: GeneratorMutator[];
96
99
  };
97
100
  declare type GeneratorTargetFull = {
98
101
  imports: GeneratorImport[];
@@ -104,6 +107,7 @@ declare type GeneratorTargetFull = {
104
107
  importsMSW: GeneratorImport[];
105
108
  mutators?: GeneratorMutator[];
106
109
  formData?: GeneratorMutator[];
110
+ formUrlEncoded?: GeneratorMutator[];
107
111
  };
108
112
  declare type GeneratorOperation = {
109
113
  imports: GeneratorImport[];
@@ -116,6 +120,7 @@ declare type GeneratorOperation = {
116
120
  tags: string[];
117
121
  mutator?: GeneratorMutator;
118
122
  formData?: GeneratorMutator;
123
+ formUrlEncoded?: GeneratorMutator;
119
124
  operationName: string;
120
125
  };
121
126
  declare type GeneratorVerbOptions = {
@@ -132,6 +137,7 @@ declare type GeneratorVerbOptions = {
132
137
  props: GetterProps;
133
138
  mutator?: GeneratorMutator;
134
139
  formData?: GeneratorMutator;
140
+ formUrlEncoded?: GeneratorMutator;
135
141
  override: NormalizedOperationOptions;
136
142
  };
137
143
  declare type GeneratorVerbsOptions = GeneratorVerbOptions[];
@@ -155,8 +161,9 @@ declare type GeneratorMutator = {
155
161
  path: string;
156
162
  default: boolean;
157
163
  mutatorFn: Function;
164
+ hasErrorType: boolean;
158
165
  };
159
- declare type ClientBuilder = (verbOptions: GeneratorVerbOptions, options: GeneratorOptions) => GeneratorClient;
166
+ declare type ClientBuilder = (verbOptions: GeneratorVerbOptions, options: GeneratorOptions, outputClient: OutputClient | OutputClientFunc) => GeneratorClient;
160
167
  declare type ClientHeaderBuilder = (params: {
161
168
  title: string;
162
169
  isRequestOptions: boolean;
@@ -212,6 +219,7 @@ declare type NormalizedOverrideOutput = {
212
219
  };
213
220
  header: false | ((info: InfoObject) => string[]);
214
221
  formData: boolean | NormalizedMutator;
222
+ formUrlEncoded: boolean | NormalizedMutator;
215
223
  components: {
216
224
  schemas: {
217
225
  suffix: string;
@@ -235,6 +243,7 @@ declare type NormalizedMutator = {
235
243
  path: string;
236
244
  name?: string;
237
245
  default: boolean;
246
+ alias?: Record<string, string>;
238
247
  };
239
248
  declare type NormalizedOperationOptions = {
240
249
  transformer?: OutputTransformer;
@@ -246,6 +255,7 @@ declare type NormalizedOperationOptions = {
246
255
  query?: QueryOptions;
247
256
  operationName?: (operation: OperationObject, route: string, verb: Verbs) => string;
248
257
  formData: boolean | NormalizedMutator;
258
+ formUrlEncoded: boolean | NormalizedMutator;
249
259
  requestOptions: object | boolean;
250
260
  };
251
261
  declare type OutputClientFunc = (clients: GeneratorClients) => ClientGeneratorsBuilder;
@@ -259,6 +269,7 @@ declare type OutputOptions = {
259
269
  client?: OutputClient | OutputClientFunc;
260
270
  clean?: boolean | string[];
261
271
  prettier?: boolean;
272
+ tslint?: boolean;
262
273
  };
263
274
  declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
264
275
  validate?: boolean;
@@ -294,8 +305,9 @@ declare type OutputTransformerFn = (verb: GeneratorVerbOptions) => GeneratorVerb
294
305
  declare type OutputTransformer = string | OutputTransformerFn;
295
306
  declare type MutatorObject = {
296
307
  path: string;
297
- name: string;
308
+ name?: string;
298
309
  default?: boolean;
310
+ alias?: Record<string, string>;
299
311
  };
300
312
  declare type Mutator = string | MutatorObject;
301
313
  declare type OverrideOutput = {
@@ -318,6 +330,7 @@ declare type OverrideOutput = {
318
330
  };
319
331
  header?: boolean | ((info: InfoObject) => string[]);
320
332
  formData?: boolean | Mutator;
333
+ formUrlEncoded?: boolean | Mutator;
321
334
  components?: {
322
335
  schemas?: {
323
336
  suffix?: string;
@@ -361,6 +374,7 @@ declare type OperationOptions = {
361
374
  query?: QueryOptions;
362
375
  operationName?: (operation: OperationObject, route: string, verb: Verbs) => string;
363
376
  formData?: boolean | Mutator;
377
+ formUrlEncoded?: boolean | Mutator;
364
378
  requestOptions?: object | boolean;
365
379
  };
366
380
  declare type Verbs = 'post' | 'put' | 'get' | 'patch' | 'delete' | 'head';
@@ -374,7 +388,9 @@ declare const Verbs: {
374
388
  };
375
389
  interface ContextSpecs {
376
390
  specKey: string;
391
+ target: string;
377
392
  workspace: string;
393
+ tslint: boolean;
378
394
  specs: Record<string, OpenAPIObject>;
379
395
  override: NormalizedOverrideOutput;
380
396
  }
@@ -390,6 +406,7 @@ declare const generate: (optionsExport?: string | OptionsExport | undefined, wor
390
406
  watch?: string | boolean | (string | boolean)[] | undefined;
391
407
  clean?: boolean | string[] | undefined;
392
408
  prettier?: boolean | undefined;
409
+ tslint?: boolean | undefined;
393
410
  } | undefined) => Promise<void>;
394
411
 
395
412
  export { ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, Options, generate as default, defineConfig, generate };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkUEBJ6WLVjs = require('./chunk-UEBJ6WLV.js');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var G=async(t,r=process.cwd(),e)=>{if(!t||_chunkUEBJ6WLVjs.b.call(void 0, t))return _chunkUEBJ6WLVjs.i.call(void 0, t,e);let n=await _chunkUEBJ6WLVjs.f.call(void 0, t,r,e);if(e==null?void 0:e.watch)_chunkUEBJ6WLVjs.g.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkUEBJ6WLVjs.h.call(void 0, r,n)}catch(o){_chunkUEBJ6WLVjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${o}`))}},n.input.target);else try{return await _chunkUEBJ6WLVjs.h.call(void 0, r,n)}catch(o){_chunkUEBJ6WLVjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${o}`))}};var B=G;exports.default = B; exports.defineConfig = _chunkUEBJ6WLVjs.e; exports.generate = G;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkAIVXDHTJjs = require('./chunk-AIVXDHTJ.js');_chunkAIVXDHTJjs.b.call(void 0, );var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);_chunkAIVXDHTJjs.b.call(void 0, );var c=async(t,n=process.cwd(),e)=>{if(!t||_chunkAIVXDHTJjs.c.call(void 0, t))return _chunkAIVXDHTJjs.j.call(void 0, t,e);let o=await _chunkAIVXDHTJjs.g.call(void 0, t,n,e);if(e==null?void 0:e.watch)_chunkAIVXDHTJjs.h.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkAIVXDHTJjs.i.call(void 0, n,o)}catch(a){_chunkAIVXDHTJjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}},o.input.target);else try{return await _chunkAIVXDHTJjs.i.call(void 0, n,o)}catch(a){_chunkAIVXDHTJjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}};var S=c;exports.default = S; exports.defineConfig = _chunkAIVXDHTJjs.f; exports.generate = c;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "orval",
3
3
  "description": "A swagger client generator for typescript",
4
- "version": "6.2.3",
4
+ "version": "6.4.1",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
@@ -41,76 +41,80 @@
41
41
  "url": "https://github.com/anymaniax/orval"
42
42
  },
43
43
  "scripts": {
44
- "build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts",
44
+ "build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts --splitting",
45
45
  "dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'",
46
46
  "lint": "eslint src/**/*.ts",
47
47
  "format": "prettier --write 'src/**/*.{js,ts}'",
48
48
  "prerelease": "yarn build && cd ./tests && yarn generate && yarn build",
49
49
  "release": "dotenv release-it",
50
50
  "postrelease": "yarn build && yarn update-samples",
51
- "generate-api": "node ./dist/bin/orval.js --config ./samples/react-app-with-react-query/orval.config.ts --watch",
51
+ "generate-api": "node ./dist/bin/orval.js --config ./samples/react-query/basic/orval.config.ts --watch",
52
52
  "prepare": "husky install",
53
53
  "commitlint": "commitlint",
54
54
  "update-samples": "zx ./scripts/update-samples.mjs"
55
55
  },
56
56
  "devDependencies": {
57
- "@commitlint/cli": "^13.1.0",
58
- "@commitlint/config-conventional": "^13.1.0",
57
+ "@commitlint/cli": "^15.0.0",
58
+ "@commitlint/config-conventional": "^15.0.0",
59
59
  "@release-it/conventional-changelog": "^3.3.0",
60
60
  "@types/chalk": "^2.2.0",
61
61
  "@types/commander": "^2.12.2",
62
62
  "@types/faker": "^5.5.8",
63
63
  "@types/fs-extra": "^9.0.12",
64
- "@types/inquirer": "^7.3.3",
64
+ "@types/inquirer": "^8.1.3",
65
65
  "@types/lodash.get": "^4.4.6",
66
+ "@types/lodash.omit": "^4.5.6",
66
67
  "@types/lodash.omitby": "^4.6.6",
67
68
  "@types/lodash.uniq": "^4.5.6",
68
69
  "@types/lodash.uniqby": "^4.7.6",
69
70
  "@types/lodash.uniqwith": "^4.5.6",
71
+ "@types/micromatch": "^4.0.2",
70
72
  "@types/node": "^16.7.8",
71
73
  "@types/prettier": "^2.3.2",
72
74
  "@types/request": "^2.48.7",
73
75
  "@types/validator": "^13.6.3",
74
- "@typescript-eslint/eslint-plugin": "^4.30.0",
75
- "@typescript-eslint/parser": "^4.30.0",
76
+ "@typescript-eslint/eslint-plugin": "^5.4.0",
77
+ "@typescript-eslint/parser": "^5.4.0",
76
78
  "dotenv-cli": "^4.0.0",
77
- "eslint": "^7.32.0",
79
+ "eslint": "^8.3.0",
78
80
  "eslint-config-prettier": "^8.3.0",
79
81
  "eslint-plugin-prettier": "^4.0.0",
80
82
  "faker": "^5.5.3",
81
83
  "husky": "^7.0.2",
82
- "lint-staged": "^11.1.2",
84
+ "lint-staged": "^12.1.2",
83
85
  "npm-run-all": "^4.1.5",
84
86
  "prettier": "^2.4.1",
85
87
  "release-it": "^14.11.5",
86
88
  "rimraf": "^3.0.2",
87
- "tsup": "^4.14.0",
89
+ "tsup": "^5.10.0",
88
90
  "typescript": "^4.4.2",
89
91
  "zx": "^4.2.0"
90
92
  },
91
93
  "dependencies": {
92
94
  "@apidevtools/swagger-parser": "^10.0.3",
93
- "cac": "^6.7.3",
95
+ "cac": "^6.7.12",
94
96
  "chalk": "^4.1.2",
95
97
  "chokidar": "^3.5.2",
96
98
  "cuid": "^2.1.8",
97
99
  "debug": "^4.3.2",
98
- "esbuild": "^0.12.28",
100
+ "esbuild": "^0.13.15",
99
101
  "esutils": "2.0.3",
100
102
  "execa": "^5.1.1",
101
103
  "fs-extra": "^10.0.0",
102
104
  "globby": "11.0.4",
103
- "ibm-openapi-validator": "^0.46.4",
104
- "inquirer": "^8.1.2",
105
+ "ibm-openapi-validator": "^0.51.3",
106
+ "inquirer": "^8.2.0",
105
107
  "lodash.get": "^4.4.2",
108
+ "lodash.omit": "^4.5.0",
106
109
  "lodash.omitby": "^4.6.0",
107
110
  "lodash.uniq": "^4.5.0",
108
111
  "lodash.uniqby": "^4.7.0",
109
112
  "lodash.uniqwith": "^4.5.0",
113
+ "micromatch": "^4.0.4",
110
114
  "openapi3-ts": "^2.0.1",
111
115
  "swagger2openapi": "^7.0.8",
112
116
  "upath": "^2.0.1",
113
117
  "url": "^0.11.0",
114
- "validator": "^13.6.0"
118
+ "validator": "^13.7.0"
115
119
  }
116
120
  }
@@ -1,285 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Es=Object.create;var Xe=Object.defineProperty,Ns=Object.defineProperties,Vs=Object.getOwnPropertyDescriptor,Ws=Object.getOwnPropertyDescriptors,Bs=Object.getOwnPropertyNames,Ze=Object.getOwnPropertySymbols,_s=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty,vr=Object.prototype.propertyIsEnumerable;var Pr=(e,t,r)=>t in e?Xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))wt.call(t,r)&&Pr(e,r,t[r]);if(Ze)for(var r of Ze(t))vr.call(t,r)&&Pr(e,r,t[r]);return e},b=(e,t)=>Ns(e,Ws(t)),zs=e=>Xe(e,"__esModule",{value:!0});var B=typeof require!="undefined"?require:e=>{throw new Error('Dynamic require of "'+e+'" is not supported')};var fe=(e,t)=>{var r={};for(var n in e)wt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ze)for(var n of Ze(e))t.indexOf(n)<0&&vr.call(e,n)&&(r[n]=e[n]);return r};var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ls=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Bs(t))!wt.call(e,n)&&n!=="default"&&Xe(e,n,{get:()=>t[n],enumerable:!(r=Vs(t,n))||r.enumerable});return e},Ce=e=>Ls(zs(Xe(e!=null?Es(_s(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Lt=x((cy,zn)=>{var Bi=Object.prototype;function _i(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Bi;return e===r}zn.exports=_i});var Kn=x((uy,Ln)=>{function zi(e,t){return function(r){return e(t(r))}}Ln.exports=zi});var Un=x((ly,Qn)=>{var Li=Kn(),Ki=Li(Object.keys,Object);Qn.exports=Ki});var Yn=x((fy,Hn)=>{var Qi=Lt(),Ui=Un(),Hi=Object.prototype,Yi=Hi.hasOwnProperty;function Ji(e){if(!Qi(e))return Ui(e);var t=[];for(var r in Object(e))Yi.call(e,r)&&r!="constructor"&&t.push(r);return t}Hn.exports=Ji});var Kt=x((gy,Jn)=>{var Xi=typeof global=="object"&&global&&global.Object===Object&&global;Jn.exports=Xi});var re=x((dy,Xn)=>{var Zi=Kt(),ep=typeof self=="object"&&self&&self.Object===Object&&self,tp=Zi||ep||Function("return this")();Xn.exports=tp});var Qt=x((yy,Zn)=>{var rp=re(),np=rp.Symbol;Zn.exports=np});var no=x((by,ro)=>{var eo=Qt(),to=Object.prototype,op=to.hasOwnProperty,sp=to.toString,_e=eo?eo.toStringTag:void 0;function ap(e){var t=op.call(e,_e),r=e[_e];try{e[_e]=void 0;var n=!0}catch(s){}var o=sp.call(e);return n&&(t?e[_e]=r:delete e[_e]),o}ro.exports=ap});var so=x((Oy,oo)=>{var ip=Object.prototype,pp=ip.toString;function mp(e){return pp.call(e)}oo.exports=mp});var ze=x((hy,po)=>{var ao=Qt(),cp=no(),up=so(),lp="[object Null]",fp="[object Undefined]",io=ao?ao.toStringTag:void 0;function gp(e){return e==null?e===void 0?fp:lp:io&&io in Object(e)?cp(e):up(e)}po.exports=gp});var Ut=x((xy,mo)=>{function dp(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}mo.exports=dp});var Ht=x(($y,co)=>{var yp=ze(),bp=Ut(),Op="[object AsyncFunction]",hp="[object Function]",xp="[object GeneratorFunction]",$p="[object Proxy]";function Sp(e){if(!bp(e))return!1;var t=yp(e);return t==hp||t==xp||t==Op||t==$p}co.exports=Sp});var lo=x((Sy,uo)=>{var wp=re(),jp=wp["__core-js_shared__"];uo.exports=jp});var yo=x((wy,go)=>{var Yt=lo(),fo=function(){var e=/[^.]+$/.exec(Yt&&Yt.keys&&Yt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Rp(e){return!!fo&&fo in e}go.exports=Rp});var Jt=x((jy,bo)=>{var vp=Function.prototype,Pp=vp.toString;function Tp(e){if(e!=null){try{return Pp.call(e)}catch(t){}try{return e+""}catch(t){}}return""}bo.exports=Tp});var ho=x((Ry,Oo)=>{var Gp=Ht(),Mp=yo(),Ip=Ut(),qp=Jt(),Cp=/[\\^$.*+?()[\]{}|]/g,Dp=/^\[object .+?Constructor\]$/,Ap=Function.prototype,kp=Object.prototype,Fp=Ap.toString,Ep=kp.hasOwnProperty,Np=RegExp("^"+Fp.call(Ep).replace(Cp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Vp(e){if(!Ip(e)||Mp(e))return!1;var t=Gp(e)?Np:Dp;return t.test(qp(e))}Oo.exports=Vp});var $o=x((vy,xo)=>{function Wp(e,t){return e==null?void 0:e[t]}xo.exports=Wp});var Re=x((Py,So)=>{var Bp=ho(),_p=$o();function zp(e,t){var r=_p(e,t);return Bp(r)?r:void 0}So.exports=zp});var jo=x((Ty,wo)=>{var Lp=Re(),Kp=re(),Qp=Lp(Kp,"DataView");wo.exports=Qp});var vo=x((Gy,Ro)=>{var Up=Re(),Hp=re(),Yp=Up(Hp,"Map");Ro.exports=Yp});var To=x((My,Po)=>{var Jp=Re(),Xp=re(),Zp=Jp(Xp,"Promise");Po.exports=Zp});var Mo=x((Iy,Go)=>{var em=Re(),tm=re(),rm=em(tm,"Set");Go.exports=rm});var qo=x((qy,Io)=>{var nm=Re(),om=re(),sm=nm(om,"WeakMap");Io.exports=sm});var Vo=x((Cy,No)=>{var Xt=jo(),Zt=vo(),er=To(),tr=Mo(),rr=qo(),Co=ze(),ve=Jt(),Do="[object Map]",am="[object Object]",Ao="[object Promise]",ko="[object Set]",Fo="[object WeakMap]",Eo="[object DataView]",im=ve(Xt),pm=ve(Zt),mm=ve(er),cm=ve(tr),um=ve(rr),be=Co;(Xt&&be(new Xt(new ArrayBuffer(1)))!=Eo||Zt&&be(new Zt)!=Do||er&&be(er.resolve())!=Ao||tr&&be(new tr)!=ko||rr&&be(new rr)!=Fo)&&(be=function(e){var t=Co(e),r=t==am?e.constructor:void 0,n=r?ve(r):"";if(n)switch(n){case im:return Eo;case pm:return Do;case mm:return Ao;case cm:return ko;case um:return Fo}return t});No.exports=be});var xt=x((Dy,Wo)=>{function lm(e){return e!=null&&typeof e=="object"}Wo.exports=lm});var _o=x((Ay,Bo)=>{var fm=ze(),gm=xt(),dm="[object Arguments]";function ym(e){return gm(e)&&fm(e)==dm}Bo.exports=ym});var Qo=x((ky,Ko)=>{var zo=_o(),bm=xt(),Lo=Object.prototype,Om=Lo.hasOwnProperty,hm=Lo.propertyIsEnumerable,xm=zo(function(){return arguments}())?zo:function(e){return bm(e)&&Om.call(e,"callee")&&!hm.call(e,"callee")};Ko.exports=xm});var Ho=x((Fy,Uo)=>{var $m=Array.isArray;Uo.exports=$m});var nr=x((Ey,Yo)=>{var Sm=9007199254740991;function wm(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Sm}Yo.exports=wm});var Xo=x((Ny,Jo)=>{var jm=Ht(),Rm=nr();function vm(e){return e!=null&&Rm(e.length)&&!jm(e)}Jo.exports=vm});var es=x((Vy,Zo)=>{function Pm(){return!1}Zo.exports=Pm});var os=x((Le,Pe)=>{var Tm=re(),Gm=es(),ts=typeof Le=="object"&&Le&&!Le.nodeType&&Le,rs=ts&&typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,Mm=rs&&rs.exports===ts,ns=Mm?Tm.Buffer:void 0,Im=ns?ns.isBuffer:void 0,qm=Im||Gm;Pe.exports=qm});var as=x((Wy,ss)=>{var Cm=ze(),Dm=nr(),Am=xt(),km="[object Arguments]",Fm="[object Array]",Em="[object Boolean]",Nm="[object Date]",Vm="[object Error]",Wm="[object Function]",Bm="[object Map]",_m="[object Number]",zm="[object Object]",Lm="[object RegExp]",Km="[object Set]",Qm="[object String]",Um="[object WeakMap]",Hm="[object ArrayBuffer]",Ym="[object DataView]",Jm="[object Float32Array]",Xm="[object Float64Array]",Zm="[object Int8Array]",ec="[object Int16Array]",tc="[object Int32Array]",rc="[object Uint8Array]",nc="[object Uint8ClampedArray]",oc="[object Uint16Array]",sc="[object Uint32Array]",v={};v[Jm]=v[Xm]=v[Zm]=v[ec]=v[tc]=v[rc]=v[nc]=v[oc]=v[sc]=!0;v[km]=v[Fm]=v[Hm]=v[Em]=v[Ym]=v[Nm]=v[Vm]=v[Wm]=v[Bm]=v[_m]=v[zm]=v[Lm]=v[Km]=v[Qm]=v[Um]=!1;function ac(e){return Am(e)&&Dm(e.length)&&!!v[Cm(e)]}ss.exports=ac});var ps=x((By,is)=>{function ic(e){return function(t){return e(t)}}is.exports=ic});var cs=x((Qe,Te)=>{var pc=Kt(),ms=typeof Qe=="object"&&Qe&&!Qe.nodeType&&Qe,Ke=ms&&typeof Te=="object"&&Te&&!Te.nodeType&&Te,mc=Ke&&Ke.exports===ms,or=mc&&pc.process,cc=function(){try{var e=Ke&&Ke.require&&Ke.require("util").types;return e||or&&or.binding&&or.binding("util")}catch(t){}}();Te.exports=cc});var gs=x((_y,fs)=>{var uc=as(),lc=ps(),us=cs(),ls=us&&us.isTypedArray,fc=ls?lc(ls):uc;fs.exports=fc});var sr=x((zy,ds)=>{var gc=Yn(),dc=Vo(),yc=Qo(),bc=Ho(),Oc=Xo(),hc=os(),xc=Lt(),$c=gs(),Sc="[object Map]",wc="[object Set]",jc=Object.prototype,Rc=jc.hasOwnProperty;function vc(e){if(e==null)return!0;if(Oc(e)&&(bc(e)||typeof e=="string"||typeof e.splice=="function"||hc(e)||$c(e)||yc(e)))return!e.length;var t=dc(e);if(t==Sc||t==wc)return!e.size;if(xc(e))return!gc(e).length;for(var r in e)if(Rc.call(e,r))return!1;return!0}ds.exports=vc});var Ks="orval",Qs="A swagger client generator for typescript",Us="6.2.3",Hs="MIT",Ys=["dist"],Js={orval:"dist/bin/orval.js"},Xs="dist/index.js",Zs=["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"],ea={name:"Victor Bury",email:"bury.victor@gmail.com"},ta={type:"git",url:"https://github.com/anymaniax/orval"},ra={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}'",prerelease:"yarn build && cd ./tests && yarn generate && yarn build",release:"dotenv release-it",postrelease:"yarn build && yarn update-samples","generate-api":"node ./dist/bin/orval.js --config ./samples/react-app-with-react-query/orval.config.ts --watch",prepare:"husky install",commitlint:"commitlint","update-samples":"zx ./scripts/update-samples.mjs"},na={"@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/prettier":"^2.3.2","@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.4.1","release-it":"^14.11.5",rimraf:"^3.0.2",tsup:"^4.14.0",typescript:"^4.4.2",zx:"^4.2.0"},oa={"@apidevtools/swagger-parser":"^10.0.3",cac:"^6.7.3",chalk:"^4.1.2",chokidar:"^3.5.2",cuid:"^2.1.8",debug:"^4.3.2",esbuild:"^0.12.28",esutils:"2.0.3",execa:"^5.1.1","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"},jt= exports.a ={name:Ks,description:Qs,version:Us,license:Hs,files:Ys,bin:Js,main:Xs,keywords:Zs,author:ea,repository:ta,scripts:ra,devDependencies:na,dependencies:oa};var K={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},De={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 I=e=>Boolean(e.$ref),Tr=e=>!_upath.extname.call(void 0, e);function C(e){return Object.prototype.toString.call(e)==="[object Object]"}function A(e){return typeof e=="string"}function Gr(e){return typeof e=="number"}function te(e){return typeof e=="boolean"}function E(e){return typeof e=="function"}function Mr(e){return typeof e=="undefined"}function Ir(e){return typeof e===null}var qr=e=>Object.values(Y).includes(e);var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var q=console.log,ru= exports.d =({name:e,version:t,description:r})=>q(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Dr=e=>q(_chalk2.default.red(e));var Ar=e=>q(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),kr=e=>{q(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>q(_chalk2.default.yellow(`Message : ${t.message}
2
- Path : ${t.path}`)))},Fr=e=>{q(_chalk2.default.red("(!) Errors")),e.forEach(t=>q(_chalk2.default.red(`Message : ${t.message}
3
- Path : ${t.path}`)))},Rt={silent:0,error:1,warn:2,info:3},Er,Nr,vt=0;function aa(){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 z(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=Rt[e],s=n&&process.stdout.isTTY&&!process.env.CI?aa:()=>{};function i(m,c,l={}){if(o>=Rt[m]){let u=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} ${c}`}else return c};m===Er&&c===Nr?(vt++,s(),console[u](f(),_chalk2.default.yellow(`(x${vt+1})`))):(vt=0,Nr=c,Er=m,l.clear&&s(),console[u](f()))}}let a=new Set,p={hasWarned:!1,info(m,c){i("info",m,c)},warn(m,c){p.hasWarned=!0,i("warn",m,c)},warnOnce(m,c){a.has(m)||(p.hasWarned=!0,i("warn",m,c),a.add(m))},error(m,c){p.hasWarned=!0,i("error",m,c)},clearScreen(m){o>=Rt[m]&&s()}};return p}var _url = require('url'); var _url2 = _interopRequireDefault(_url);var Pt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},et=Pt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),tt="a-z"+Pt("DF-F6,F8-FF","00"),Ae="A-Z"+Pt("C0-D6,D8-DE","00"),ia="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",ne={capitalize:new RegExp("(^|["+et+"])(["+tt+"])","g"),pascal:new RegExp("(^|["+et+"])+(["+tt+Ae+"])","g"),fill:new RegExp("["+et+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+tt+"])","g"),improper:new RegExp("\\b("+ia+")\\b","g"),relax:new RegExp("([^"+Ae+"])(["+Ae+"]*)(["+Ae+"])(?=[^"+Ae+"]|$)","g"),upper:new RegExp("^[^"+tt+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+et+"]")},pa=e=>e.replace(ne.apostrophe,""),ma=String.prototype.toUpperCase,Tt=String.prototype.toLowerCase,Gt=(e,t,r=!1)=>(t!=null&&(e=e.replace(ne.fill,function(n,o){return o?t+o:""})),r&&(e=pa(e)),e),ca=e=>Tt.call(e.charAt(0))+e.slice(1),ua=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Vr=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&ne.upper.test(e)&&(e=Tt.call(e)),!t&&!ne.hole.test(e)){var o=Gt(e," ");ne.hole.test(o)&&(e=o)}return!r&&!ne.room.test(e)&&(e=e.replace(ne.relax,ua)),e},la=(e,t,r)=>Gt(Tt.call(Vr(e,!!t)),t,r),h=e=>Gt(Vr(e,!1,!0).replace(ne.pascal,(t,r,n)=>ma.call(n)),"",!0),$=e=>ca(h(e)),ge=e=>la(e,"-",!0);var _esbuild = require('esbuild');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 Wr=process.env.ORVAL_DEBUG_FILTER,Mt=process.env.DEBUG;function Br(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...i)=>{Wr&&!s.includes(Wr)||n&&!(Mt==null?void 0:Mt.includes(o))||r(s,...i)}}var j=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Tr(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}},_r=Br("orval:file-load");async function rt(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s}=t||{},i=Date.now(),a,p=!1,m=!1,c=[];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 u=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(u)&&(a=u,m=!0)}if(!a){let u=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(u)&&(a=u,p=!0)}}a||(e?z(s).error(_chalk2.default.red(`File not found => ${e}`)):o?z(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):z(s).error(_chalk2.default.red("File not found")),process.exit(1));try{let l;if(!l&&!p&&!m)try{delete B.cache[B.resolve(a)],l=B(a),_r(`cjs loaded in ${Date.now()-i}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{code:u}=await xa(a,m);l=await $a(a,u,n),_r(`bundled file loaded in ${Date.now()-i}ms`)}return{path:_upath.normalizeSafe.call(void 0, a),file:l,dependencies:c}}catch(l){throw`failed to load from ${a} => ${l}`}}async function xa(e,t=!1){let r=await _esbuild.build.call(void 0, {absWorkingDir:process.cwd(),entryPoints:[e],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:t?"esm":"cjs",sourcemap:"inline",metafile:!0,target:"es6",minifyWhitespace:!0,plugins:[{name:"externalize-deps",setup(o){o.onResolve({filter:/.*/},s=>{let i=s.path;if(i[0]!=="."&&!_path2.default.isAbsolute(i))return{external:!0}})}},{name:"replace-import-meta",setup(o){o.onLoad({filter:/\.[jt]s$/},async s=>{let i=await _fs2.default.promises.readFile(s.path,"utf8");return{loader:s.path.endsWith(".ts")?"ts":"js",contents:i.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${s.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(s.path))).replace(/\b__filename\b/g,JSON.stringify(s.path))}})}}]}),{text:n}=r.outputFiles[0];return{code:n,dependencies:r.metafile?Object.keys(r.metafile.inputs):[]}}async function $a(e,t,r){let n=_path2.default.extname(e),o=B.extensions[n];B.extensions[n]=(a,p)=>{p===e?a._compile(t,p):o(a,p)},delete B.cache[B.resolve(e)];let s=B(e),i=r&&s.__esModule?s.default:s;return B.extensions[n]=o,i}async function qt(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 _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var wa=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,oe=e=>_isURL2.default.call(void 0, e)||wa.test(e);var va={schemas:"schemas",responses:"responses",parameters:"parameters",requestBodies:"requestBodies"},Pa=Object.values(va),Fe={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},he=async(e,t)=>{let r=Pa.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:h(o[1])+n,originalName:o[1],type:r};let s=o[0],i=oe(t.specKey)?_url2.default.resolve(t.specKey,s):_upath.resolve.call(void 0, j(t.specKey).dirname,s);return{name:h(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 zr=(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 Ca=({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]},Da=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}},Aa=async e=>{var m,c,l,u;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await Da(t),[n]=e.split("github.com/").slice(-1),[o,s,,i,...a]=n.split("/"),p=a.join("/");try{let{body:f}=await zr(...Ca({accessToken:r,repo:s,owner:o,branch:i,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 _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),(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 _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}`}},Kr={order:199,canRead(e){return e.url.includes("github.com")},read(e){return Aa(e.url)}};var nt=e=>e&&typeof e=="object";function ye(e,t){return!nt(t)||!nt(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]}):nt(s)&&nt(o)?b(g({},r),{[n]:ye(s,o)}):b(g({},r),{[n]:o})},e)}var Qr=({title:e,description:t,version:r})=>[`Generated by ${jt.name} v${jt.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];function tl(e){return e}var Ur=async(e,t=process.cwd(),r={})=>{var f,d,y,O,R,P,S,G,T,M,W,U,ee,Oe,He,Ge,Me,Ie,qe,Ye,Je,lr,fr,gr,dr,yr,br,Or,hr,xr,$r,Sr,wr,jr,Rr;let n=await(E(e)?e():e);n.input||(z().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(z().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=A(n.input)?{target:n.input}:n.input,s=A(n.output)?{target:n.output}:n.output,i=xe(s.workspace||"",t),{clean:a,prettier:p,client:m,mode:c,mock:l}=r,u={input:{target:xe(o.target,t),validation:o.validation||!1,override:{transformer:xe((f=o.override)==null?void 0:f.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:ye(ka,o.parserOptions||{})},output:{target:xe(s.target,i),schemas:xe(s.schemas,i),workspace:s.workspace?i:void 0,client:(y=(d=s.client)!=null?d:m)!=null?y:K.AXIOS_FUNCTIONS,mode:(R=(O=s.mode)!=null?O:c)!=null?R:"single",mock:(S=(P=s.mock)!=null?P:l)!=null?S:!1,clean:(T=(G=s.clean)!=null?G:a)!=null?T:!1,prettier:(W=(M=s.prettier)!=null?M:p)!=null?W:!1,override:b(g({},s.override),{operations:Hr(((U=s.override)==null?void 0:U.operations)||{},i),tags:Hr(((ee=s.override)==null?void 0:ee.tags)||{},i),mutator:ot(i,(Oe=s.override)==null?void 0:Oe.mutator),formData:(Ie=te((He=s.override)==null?void 0:He.formData)?(Me=s.override)==null?void 0:Me.formData:ot(i,(Ge=s.override)==null?void 0:Ge.formData))!=null?Ie:!0,header:((qe=s.override)==null?void 0:qe.header)===!1?!1:E((Ye=s.override)==null?void 0:Ye.header)?(Je=s.override)==null?void 0:Je.header:Qr,requestOptions:(fr=(lr=s.override)==null?void 0:lr.requestOptions)!=null?fr:!0,components:{schemas:g({suffix:Fe.schemas},((dr=(gr=s.override)==null?void 0:gr.components)==null?void 0:dr.schemas)||{}),responses:g({suffix:Fe.responses},((br=(yr=s.override)==null?void 0:yr.components)==null?void 0:br.responses)||{}),parameters:g({suffix:Fe.parameters},((hr=(Or=s.override)==null?void 0:Or.components)==null?void 0:hr.parameters)||{}),requestBodies:g({suffix:Fe.requestBodies},(($r=(xr=s.override)==null?void 0:xr.components)==null?void 0:$r.requestBodies)||{})},query:g({useQuery:!0},((Sr=s.override)==null?void 0:Sr.query)||{}),angular:{provideInRoot:(Rr=(jr=(wr=s.override)==null?void 0:wr.angular)==null?void 0:jr.provideInRoot)!=null?Rr:!0}})}};return u.input.target||(z().error(_chalk2.default.red("Config require an input target")),process.exit(1)),!u.output.target&&!u.output.schemas&&(z().error(_chalk2.default.red("Config require an output target or schemas")),process.exit(1)),u},ka={validate:!0,resolve:{github:Kr}},ot=(e,t)=>{var r;return C(t)?(t.path||(z().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})):A(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},xe=(e,t)=>A(e)&&!oe(e)?_upath.resolve.call(void 0, t,e):e,Hr=(e,t)=>Object.fromEntries(Object.entries(e).map(p=>{var[r,m]=p,c=m,{transformer:n,mutator:o,formData:s,requestOptions:i}=c,a=fe(c,["transformer","mutator","formData","requestOptions"]);var l;return[r,b(g(g(g({},a),n?{transformer:xe(n,t)}:{}),o?{mutator:ot(t,o)}:{}),{formData:(l=te(s)?s:ot(t,s))!=null?l:!0,requestOptions:i!=null?i:!0})]}));var Yr=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>Ce(B("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(a=>typeof a=="string"):e;q(`Watching for changes in ${Array.isArray(s)?s.map(a=>'"'+a+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(a,p)=>{q(`Change detected: ${a} ${p}`);try{await t()}catch(m){q(_chalk2.default.red(m))}})};var _swaggerparser = require('@apidevtools/swagger-parser'); var _swaggerparser2 = _interopRequireDefault(_swaggerparser);var _console = require('console');var w=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Jr=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi||!e.openapi.startsWith("3.0")?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(q(_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 st=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>Ce(B(n)));return r&&C(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(!(Mr(e)||Ir(e)))return A(e)?`'${e}'`:Gr(e)||te(e)||E(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}, `},"")},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},N=(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
16
- `)+",":"",Ba={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},at=e=>e.toString().split("").reduce((r,n)=>r+Ba[n],""),it=(e,t="'")=>e.replace(t,`\\${t}`);var _a=e=>e.split("").reduce((t,r)=>r==="{"?t+"${":r==="}"?t+"}":t+k(r),""),Xr=e=>e.split("/").reduce((r,n)=>n?n.includes("{")?`${r}/${_a(n)}`:`${r}/${n}`:r,"");var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var tn=({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
- `):"",Q=(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
- `:""},La=({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 c,l;let m=o&&p.specKey?p.specKey:"default";return b(g({},a),{[m]:{values:((c=a[m])==null?void 0:c.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 c=m.find(u=>u.default),l=_lodashuniq2.default.call(void 0, m.filter(u=>!u.default).map(({name:u})=>u)).join(`,
20
- `);return`import ${p?"":"type "}${c?`${c.name}${l?",":""}`:""}${l?`{
21
- ${l}
22
- }`:""} from '${r}${a!=="default"&&n[a]?`/${n[a]}`:""}'`}).join(`
23
- `)},pt=(e,t,r,n)=>{let o=t.map(s=>La(b(g({},s),{implementation:e,specsName:r,hasSchemaDir:n}))).filter(Boolean).join(`
24
- `);return o?o+`
25
- `:""},se=({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 Ka=["number","string","null","unknown","undefined","object","blob"],$e=Ka.reduce((e,t)=>[...e,t,`Array<${t}>`,`${t}[]`],[]),At=[Y.POST,Y.PUT,Y.PATCH];var Qa=(e,t,r)=>At.includes(t)?r&&e.formData?`
26
- formData,`:`
27
- ${e.implementation||"undefined"},`:"",Ua=(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&&(!C(r)||!r.hasOwnProperty("responseType"))&&(o+=`
30
- responseType: 'blob',`),C(r)&&(o+=`
31
- ${(s=H(r))==null?void 0:s.slice(1,-1)}`),n&&(o+=`
32
- ...options`),o+=" },",o},ae=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:s,isFormData:i})=>`
33
- \`${e}\`,${Qa(t,o,i)}${Ua(n,r==null?void 0:r.schema,s)}
34
- `,Ha=(e,t,r)=>At.includes(t)?r&&e.formData?`,
35
- data: formData`:`,
36
- data: ${e.implementation||"undefined"}`:"",Ya=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
37
- params,`),e.isBlob&&(r+=`
38
- responseType: 'blob',`),r},ie=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:s})=>`{url: \`${e}\`, method: '${o}'${Ha(t,o,s)}${Ya(n,r==null?void 0:r.schema)}
39
- }`,pe=(e,t)=>{var r,n;return t?C(e)?`{${(n=H(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":C(e)?(r=H(e))==null?void 0:r.slice(1,-1):""};var Ja=[{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"}],rn=()=>Ja,nn=e=>{let t=k(e);return`${h(t)}Service`},on=({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
- ) {}`,sn=()=>`};
67
- `,Xa=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Za=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1,l=(a==null?void 0:a.formData)!==!1,u=Xa({isFormData:l,formData:p,body:o});if(n){let d=ie({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:l}),y=n.mutatorFn.length>2,O=c?pe(a==null?void 0:a.requestOptions,y):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
68
- ${N(s,"implementation")}
69
- ${c&&y?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${u}
70
- return ${n.name}<TData>(
71
- ${d},
72
- this.http,
73
- ${O});
74
- }
75
- `}let f=ae({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
- ${N(s,"implementation")} ${c?`options?: HttpClientOptions
77
- `:""} ): Observable<TData> {${u}
78
- return this.http.${i}<TData>(${f});
79
- }
80
- `},an=(e,t)=>{let r=se(e);return{implementation:Za(e,t),imports:r}};var ei=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],kt=()=>ei,ti=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",ri=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1,l=(a==null?void 0:a.formData)!==!1,u=ti({isFormData:l,formData:p,body:o});if(n){let d=ie({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:l}),y=n.mutatorFn.length>1,O=c?pe(a==null?void 0:a.requestOptions,y):"";return`const ${t} = <TData = ${r.definition.success||"unknown"}>(
81
- ${N(s,"implementation")}
82
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
83
- return ${n.name}<TData>(
84
- ${d},
85
- ${O});
86
- }
87
- `}let f=ae({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
- ${N(s,"implementation")} ${c?`options?: AxiosRequestConfig
89
- `:""} ): Promise<TData> => {${u}
90
- return axios.${i}(${f});
91
- }
92
- `},Ft=e=>{let t=k(e);return`get${h(t)}`},Et=({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
- `}`,pn=(e=[])=>`return {${e.join(",")}}};
102
- `,Nt=(e,t)=>{let r=se(e);return{implementation:ri(e,t),imports:r}};var mn={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 cn=(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,c])=>b(g({},p),{[m]:c}),{}),o=Object.entries(((a=t.specs[r||t.specKey].components)==null?void 0:a.responses)||[]).reduce((p,[m,c])=>{var l,u;return b(g({},p),{[m]:I(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 ni=e=>e[0]==="/"&&e[e.length-1]==="/",mt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(ni(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:Ne(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},Ne=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,me=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(I(e)){let{name:i,specKey:a}=await he(e.$ref,b(g({},s),{specKey:e.specKey||s.specKey})),p=b(g({},cn(i,s,a||e.specKey)),{name:i,path:e.path,isRef:!0,specKey:a||e.specKey});return Ve({item:p,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}return Ve({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})};var _cuid = require('cuid'); var _cuid2 = _interopRequireDefault(_cuid);var un=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;var ln=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 w(t,async(l,u,f,d)=>{let y=await me({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: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 Se=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var fn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(I(e))return me({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 ln({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,c])=>{if(o==null?void 0:o.properties.includes(m))return;let l=(t==null?void 0:t.required)||(Array.isArray(e.required)?e.required:[]).includes(m);if(un(e.path,`\\.${m}\\.`)>=1)return;let u=await me({schema:b(g({},c),{name:m,path:e.path?`${e.path}.${m}`:`#.${m}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});a=[...a,...u.imports],p=[...p,m];let f=Se(m);return!l&&!u.overrided?`${f}: faker.helpers.randomize([${u.value}, undefined])`:`${f}: ${u.value}`}))).filter(Boolean).join(", "),i+=o?"":"}",{value:i,imports:a,name:e.name,properties:p}}if(e.additionalProperties){if(te(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let i=await me({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 Ve=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{var l,u;let i=mt((u=(l=t==null?void 0:t.operations)==null?void 0:l[r])==null?void 0:u.properties,e);if(i)return i;let a=Object.entries((t==null?void 0:t.tags)||{}).reduce((f,[d,y])=>n.includes(d)?ye(f,y):f,{}),p=mt(a==null?void 0:a.properties,e);if(p)return p;let m=mt(t==null?void 0:t.properties,e);if(m)return m;let c=g(g({},mn),(t==null?void 0:t.format)||{});if(e.format&&c[e.format])return{value:Ne(c[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:Ne("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:O}=await me({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: ${O}) => newValue !== v)
109
- }
110
- },{ values: [], enums: Object.values(${O})})`,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.map(O=>it(O)).join("','")+"']";e.isRef&&(y=`Object.values(${e.name})`,d=[{name:e.name,values:!0}]),f=`faker.helpers.randomize(${y})`}return{value:Ne(f,e.nullable),enums:e.enum,name:e.name,imports:d}}case"object":default:return fn({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}};var V=async(e,t,r=[])=>{var p,m,c;if(!I(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,type:i}=await he(e.$ref,t),a=(c=(m=(p=t.specs[s||t.specKey])==null?void 0:p.components)==null?void 0:m[i])==null?void 0:c[o];if(!a)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return V(a,b(g({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};var ct=(e,t)=>Object.entries(E(e)?e(t):e).reduce((r,[n,o])=>b(g({},r),{[n]:E(o)?`(${o})()`:H(o)}),{}),ai=(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,[i,a])=>{var p;return b(g({},s),{[i]:((p=a.mock)==null?void 0:p.properties)?{properties:ct(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:ct(a.mock.properties,e)}:{}})},{})}:{})},ii=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"}},pi=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>w(r.types.success,async(i,{value:a,originalSchema:p})=>{if(!a||$e.includes(a)){let l=ii(a);return i.definitions=[...i.definitions,o?o(l,r.definition.success):l],i}if(!p)return i;let m=await V(p,s),c=await Ve({item:g({name:a},m.schema),mockOptions:n,operationId:e,tags:t,context:s});return i.imports=[...i.imports,...c.imports],i.definitions=[...i.definitions,o?o(c.value,r.definition.success):c.value.toString()],i},{definitions:[],imports:[]}),gn=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let i=ai(s.specs[s.specKey],n),{definitions:a,imports:p}=await pi({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:i,transformer:o,context:s});return{definition:"["+a.join(", ")+"]",definitions:a,imports:p}},dn=(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 E(r)?`(${r})()`:H(r)};var mi=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+k(r),""),ci=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${mi(o)}`:`${n}/${o}`:n,t),ui=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0}],dependency:"faker"}],ce=(e,t,r,n)=>pt(e,[...ui,...t],r,n),yn=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 gn({operationId:e,tags:n,response:t,override:s,context:i}),c=ci(o,(d=s==null?void 0:s.mock)==null?void 0:d.baseUrl),l=dn(e,s),u="";l?u=l:a.length>1?u=`faker.helpers.randomize(${p})`:a[0]&&(u=a[0]);let f=t.contentTypes.includes("application/json")?"json":"text";return{implementation:{function:u&&u!=="undefined"?`export const get${h(e)}Mock = () => (${u})
111
-
112
- `:"",handler:`rest.${r}('${c}', (req, res, ctx) => {
113
- return res(
114
- ctx.delay(1000),
115
- ctx.status(200, 'Mocked status'),${u&&u!=="undefined"?`
116
- ctx.${f}(get${h(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 Vt=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],fi=[...Vt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"}],dependency:"@sveltestack/svelte-query"}],bn=()=>fi,gi=[...Vt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"}],dependency:"react-query"}],On=()=>gi,di=[...Vt,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0}],dependency:"vue-query"},{exports:[{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"}],dependency:"vue-query/types"}],hn=()=>di,yi=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",bi=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=yi({isFormData:l,formData:a,body:o});if(n){let d=ie({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:l}),y=n.mutatorFn.length>1,O=c?pe(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
119
- ${N(s,"implementation")}
120
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
121
- return ${n.name}<${r.definition.success||"unknown"}>(
122
- ${d},
123
- ${O});
124
- }
125
- `}let f=ae({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
126
- ${N(s,"implementation")} ${c?`options?: AxiosRequestConfig
127
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
128
- return axios.${i}(${f});
129
- }
130
- `},Wt={INFINITE:"infiniteQuery",QUERY:"query"},Oi=["getNextPageParam","getPreviousPageParam"],hi=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=C(t)?` ${(o=H(_lodashomitby2.default.call(void 0, t,(s,i)=>!!(r!==Wt.INFINITE&&Oi.includes(i)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!C(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},xn=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,isMutatorHasSecondArg:o,type:s})=>{let i=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"}?:${i}, ${r?o?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
131
- `:`${s?"queryOptions":"mutationOptions"}?: ${i}`},xi=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:i,properties:a,params:p,props:m,mutator:c,isRequestOptions:l,response:u})=>{let f=t?m.map(({name:y})=>y==="params"?`{ ${t}: pageParam, ...params }`:y).join(","):a,d=!!c&&c.mutatorFn.length>1;return`
132
- export const ${$(`use-${e}`)} = <TData = AsyncReturnType<typeof ${o}>, TError = ${u.definition.errors||"unknown"}>(
133
- ${s} ${xn({operationName:o,definitions:"",mutator:c,isRequestOptions:l,isMutatorHasSecondArg:d,type:n})}
134
- ) => {
135
-
136
- ${l?`const {query: queryOptions${c?d?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
137
-
138
- const queryKey = queryOptions?.queryKey ?? ${i}(${a});
139
- const queryFn: QueryFunction<AsyncReturnType<typeof ${o}>> = (${t&&m.some(({type:y})=>y==="queryParam")?"{ pageParam }":""}) => ${o}(${f}${f?", ":""}${l?c?d?"requestOptions":"":"axiosOptions":""});
140
-
141
- const query = ${$(`use-${n}`)}<AsyncReturnType<typeof ${o}>, TError, TData>(queryKey, queryFn, ${hi({params:p,options:r,type:n})})
142
-
143
- return {
144
- queryKey,
145
- ...query
146
- }
147
- }
148
- `},$i=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p,operationId:m},{route:c,override:{operations:l={}}})=>{var P;let u=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:W,type:U})=>U===J.BODY?r.implementation:W).join(","),G=[...(u==null?void 0:u.useInfinite)?[{name:$(`${t}-infinite`),options:u==null?void 0:u.options,type:Wt.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:Wt.QUERY}]:[]],T=$(`get-${t}-queryKey`),M=N(n,"implementation");return`export const ${T} = (${M}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
149
-
150
- ${G.reduce((W,U)=>W+xi({queryOption:U,operationName:t,queryProps:M,queryKeyFnName:T,properties:S,params:s,props:n,mutator:a,isRequestOptions:f,response:p}),"")}
151
- `}let y=n.map(({definition:S,type:G})=>G===J.BODY?`data: ${r.definition}`:S).join(";"),O=!!a&&a.mutatorFn.length>1,R=n.map(({name:S,type:G})=>G===J.BODY?"data":S).join(",");return`
152
- export const ${$(`use-${t}`)} = <TError = ${p.definition.errors||"unknown"},
153
- ${y?"":"TVariables = void,"}
154
- TContext = unknown>(${xn({operationName:t,isMutatorHasSecondArg:O,definitions:y,mutator:a,isRequestOptions:f})}) => {
155
- ${f?`const {mutation: mutationOptions${a?O?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
156
-
157
- const mutationFn: MutationFunction<AsyncReturnType<typeof ${t}>, ${y?`{${y}}`:"TVariables"}> = (${R?"props":""}) => {
158
- ${R?`const {${R}} = props || {}`:""};
159
-
160
- return ${t}(${R}${R?",":""}${f?a?O?"requestOptions":"":"axiosOptions":""})
161
- }
162
-
163
- return useMutation<AsyncReturnType<typeof ${t}>, TError, ${y?`{${y}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
164
- }
165
- `},ut=()=>"",lt=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
166
- T extends (...args: any) => Promise<any>
167
- > = T extends (...args: any) => Promise<infer R> ? R : any;
168
-
169
-
170
- ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
171
- config: any,
172
- args: infer P,
173
- ) => any
174
- ? P
175
- : never;
176
-
177
- `:""}`,ft=()=>"",gt=(e,t)=>{let r=se(e),n=bi(e,t),o=$i(e,t);return{implementation:`${n}
178
-
179
- ${o}`,imports:r}};var Si=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],wi=[...Si,{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],$n=()=>wi,ji=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Ri=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=ji({isFormData:l,formData:a,body:o});if(n){let d=ie({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:l}),y=n.mutatorFn.length>1,O=c?pe(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
180
- ${N(s,"implementation")}
181
- ${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
182
- return ${n.name}<${r.definition.success||"unknown"}>(
183
- ${d},
184
- ${O});
185
- }
186
- `}let f=ae({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
187
- ${N(s,"implementation")} ${c?`options?: AxiosRequestConfig
188
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
189
- return axios.${i}(${f});
190
- }
191
- `},vi=({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"}}
192
- `:`swrOptions?: ${o}`},Pi=({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,c=o.length?`const isEnable = !!(${o.map(({name:l})=>l).join(" && ")})
193
- const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);`:`const swrKey = swrOptions?.swrKey ?? (() => ${r}(${n}))`;return`
194
- export const ${$(`use-${e}`)} = <TError = ${a.definition.errors||"unknown"}>(
195
- ${t} ${vi({operationName:e,mutator:s,isRequestOptions:i,isMutatorHasSecondArg:m})}
196
- ) => {
197
-
198
- ${i?`const {swr: swrOptions${s?m?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
199
-
200
- ${c}
201
- const swrFn = () => ${e}(${p}${p?", ":""}${i?s?m?"requestOptions":"":"axiosOptions":""});
202
-
203
- const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
204
-
205
- return {
206
- swrKey,
207
- ...query
208
- }
209
- }
210
- `},Ti=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p},{route:m})=>{let c=(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(","),u=$(`get-${t}-key`),f=N(n,"implementation");return`export const ${u} = (${f}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
211
-
212
- ${Pi({operationName:t,swrProps:f,swrKeyFnName:u,properties:l,params:s,props:n,mutator:a,isRequestOptions:c,response:p})}
213
- `},Sn=()=>"",wn=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
214
- T extends (...args: any) => Promise<any>
215
- > = T extends (...args: any) => Promise<infer R> ? R : any;
216
-
217
-
218
- ${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
219
- config: any,
220
- args: infer P,
221
- ) => any
222
- ? P
223
- : never;
224
-
225
- `:""}`,jn=()=>"",Rn=(e,t)=>{let r=se(e),n=Ri(e,t),o=Ti(e,t);return{implementation:`${n}
226
-
227
- ${o}`,imports:r}};var We=K.AXIOS,vn={axios:{client:Nt,header:Et,dependencies:kt,footer:pn,title:Ft},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=Nt(e,t);return{implementation:"export "+r,imports:n}},header:e=>Et(b(g({},e),{noFunction:!0})),dependencies:kt,footer:()=>"",title:Ft},angular:{client:an,header:on,dependencies:rn,footer:sn,title:nn},"react-query":{client:gt,header:lt,dependencies:On,footer:ft,title:ut},"svelte-query":{client:gt,header:lt,dependencies:bn,footer:ft,title:ut},"vue-query":{client:gt,header:lt,dependencies:hn,footer:ft,title:ut},swr:{client:Rn,header:wn,dependencies:$n,footer:jn,title:Sn}},Be=e=>{let t=E(e)?e(vn):vn[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},ue=(e=We,t,r,n,o)=>{let{dependencies:s}=Be(e);return pt(t,[...s(),...r],n,o)},dt=({outputClient:e=We,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:i})=>{let a=Gi(e,r,n),{header:p}=Be(e);return{implementation:p({title:a.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:i}),implementationMSW:`export const ${a.implementationMSW} = () => [
228
- `}},yt=(e=We,t)=>{let{footer:r}=Be(e);return{implementation:r(t),implementationMSW:`]
229
- `}},Gi=(e=We,t,r)=>{let{title:n}=Be(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`}},Mi=async(e,t)=>t.mock?E(t.mock)?t.mock(e,t):yn(e,t):{implementation:{function:"",handler:""},imports:[]},Pn=(e=We,t,r)=>w(t,async(n,o)=>{let{client:s}=Be(e),i=s(o,r),a=await Mi(o,r);return b(g({},n),{[o.operationId]:{implementation:o.doc+i.implementation,imports:i.imports,implementationMSW:a.implementation,importsMSW:a.imports,tags:o.tags,mutator:o.mutator,formData:o.formData,operationName:o.operationName}})},{});function D({description:e,deprecated:t,summary:r},n=!1){let o=(Array.isArray(e)?e:[e||""]).map(p=>p.replace("*/","*\\/")),s=[e,t,r].reduce((p,m)=>m?p+1:p,0);if(!s)return"";let i=s===1&&n,a="/**";return e&&(i||(a+=`
230
- ${n?" ":""} *`),a+=` ${o.join(`
231
- * `)}`),t&&(i||(a+=`
232
- ${n?" ":""} *`),a+=" @deprecated"),r&&(i||(a+=`
233
- ${n?" ":""} *`),a+=` @summary ${r.replace("*/","*\\/")}`),a+=i?" ":`
234
- ${n?" ":""}`,a+=`*/
235
- `,a}var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Bt=async(e,t,r)=>{let{schema:n,imports:o}=await V(t,r),s=I(t)?o[0].name:e,i=`const formData = new FormData();
236
- `;if(n.type==="object"&&n.properties){let a=await w(Object.entries(n.properties),async(p,[m,c])=>{var f;let{schema:l}=await V(c,r),u="";return l.type==="object"||l.type==="array"?u=`formData.append('${m}', JSON.stringify(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}))
237
- `:l.type==="number"||l.type==="integer"||l.type==="boolean"?u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}.toString())
238
- `:u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`})
239
- `,((f=n.required)==null?void 0:f.includes(m))?p+u:p+`if(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`} !== undefined) {
240
- ${u} }
241
- `},"");return`${i}${a}`}return n.type==="array"?`${i}formData.append('data', JSON.stringify(${$(s)}))
242
- `:n.type==="number"||n.type==="boolean"?`${i}formData.append('data', ${$(s)}.toString())
243
- `:`${i}formData.append('data', ${$(s)})
244
- `};var we=(e,t,r)=>{let n=`export type ${r} = ${e};
245
- `,o=[...new Set(e.split(" | "))].reduce((s,i)=>{let a=t==="number",m=!Number.isNaN(Number(i.slice(1,-1)))||a?qi(a?i.toString():i.slice(1,-1)):k(i,{underscore:"_",whitespace:"_"});return s+` ${_esutils.keyword.isIdentifierNameES5(m)?m:`'${m}'`}: ${i} as ${r},
246
- `},"");return n+=`
247
-
248
- export const ${r} = {
249
- ${o}};
250
- `,n},qi=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var Tn=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 Ci={allOf:"&",oneOf:"|",anyOf:"|"},bt=async({name:e,items:t,separator:r,context:n})=>{let o=await w(t,async(s,i)=>{let a=e?e+h(r):void 0;a&&s.schemas.length&&(a=a+h(at(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} ${Ci[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=`
251
-
252
- export const ${h(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 Gn=async({item:e,name:t,context:r})=>{if(I(e)){let{name:n,specKey:o}=await he(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 w(Object.entries(e.properties),async(n,[o,s],i,a)=>{let p=(Array.isArray(e.required)?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;i||(n.value+="{");let u=D(s,!0);return n.imports=[...n.imports,...c.imports],n.value+=`
253
- ${u?`${u} `:""}${l?"readonly ":""}${Se(o)}${p?"":"?"}: ${c.value};`,n.schemas=[...n.schemas,...c.schemas],a.length-1===i&&(n.value+=`
254
- }`),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 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 Tn({schema:e,name:t,context:r}),{value:i}=o,a=fe(o,["value"]);return g({value:i+n},a)}case"string":{let i="string",a=!1;return e.enum&&(i=`'${e.enum.map(p=>A(p)?it(p):p).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 Gn({item:e,name:t,context:r}),{value:i}=s,a=fe(s,["value"]);return g({value:i+n},a)}}};var Z=async({schema:e,name:t,context:r})=>{if(I(e)){let{schema:o,imports:s}=await V(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 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=D(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};
255
- `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let i=we(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 Mn=["multipart/form-data"],Ai=async({mediaType:e,propName:t,context:r})=>e.schema?await X({schema:e.schema,propName:t,context:r}):void 0,je=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,i])=>Boolean(i)).map(async([s,i])=>{if(I(i)){let{schema:a,imports:[{name:p,specKey:m,schemaName:c}]}=await V(i,r),[l,u]=Object.entries(a.content||{})[0]||[];if(!Mn.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,contentType:l}];let f=await Bt(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,contentType:l}]}return i.content?(await Promise.all(Object.entries(i.content).map(async([p,m],c,l)=>{let u=s?h(t)+h(s):void 0;u&&l.length>1&&(u=u+h(at(c+1)));let f=await Ai({mediaType:m,propName:u,context:r});if(!f)return;if(!Mn.includes(p)||!u)return b(g({},f),{contentType:p});let d=await Bt(u,m.schema,r);return b(g({},f),{formData:d,contentType:p})}))).filter(p=>p).map(p=>b(g({},p),{key:s})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:s,isRef:!1,contentType:"application/json"}]}));return _lodashuniqby2.default.call(void 0, o.reduce((s,i)=>[...s,...i],[]),"value")};var In=async(e,t,r)=>{let n=await je([[r.override.components.requestBodies.suffix,e]],t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=n.map(({value:m})=>m).join(" | "),a=$e.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 qn=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(n=>k(n))].join("-"));var Cn=async({parameters:e=[],context:t})=>w(e,async(r,n)=>{if(I(n)){let{schema:o,imports:s}=await V(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 ki=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Dn=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=ki(e);return Promise.all(o.map(async s=>{let i=t.find(({parameter:d})=>k(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,c=k(a);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 An=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var kn=({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 An(s)};var Fi=(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:c,type:l,schemas:u,isRef:f}=await Z({schema:a,context:r,name:h(t)+h(s)}),d=Se(s);if(o.length)return{definition:`${d}${!i||a.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(c&&!f){let O=h(t)+h(s),R=we(p,l,O);return{definition:`${d}${!i||a.default?"?":""}: ${O}`,imports:[{name:O}],schemas:[...u,{name:O,model:R,imports:m}]}}return{definition:`${d}${!i||a.default?"?":""}: ${p}`,imports:m,schemas:u}})),Fn=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await Fi(e,t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=`${h(t)}Params`,a=n.map(({definition:m})=>m).join("; ");return{schema:{name:i,model:`export type ${i} = { ${a} };
256
- `,imports:o},deps:s}};var En=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=await je(Object.entries(e),t,r,"void"),o=n.reduce((c,l)=>l.key.startsWith("2")?b(g({},c),{success:[...c.success,l]}):b(g({},c),{errors:[...c.errors,l]}),{success:[],errors:[]}),s=n.reduce((c,{imports:l=[]})=>[...c,...l],[]),i=n.reduce((c,{schemas:l=[]})=>[...c,...l],[]),a=[...new Set(n.map(({contentType:c})=>c))],p=o.success.map(({value:c,formData:l})=>l?"Blob":c).join(" | "),m=o.errors.map(({value:c})=>c).join(" | ");return{imports:s,definition:{success:p||"unknown",errors:m||"unknown"},isBlob:p==="Blob",types:o,contentTypes:a,schemas:i}};var _t=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var L=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},ht=(e,t)=>{if(oe(e)){let r=new URL(t);return e.replace(r.origin,"").replace(j(r.pathname).dirname,"").replace(`.${_t(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, j(t).dirname,e)).split("../").join("").replace(`.${_t(e)}`,"")};var Wn=(e,t)=>{let r=j(e),n=j(t.path),{pathWithoutExtension:o}=j(L(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;try{let{file:i}=await rt(s,{isDefault:!1}),a=i[n?"default":t.name];a||(z().error(_chalk2.default.red(`Your mutator file doesn't have the ${n?"default":t.name} exported function`)),process.exit(1));let p=Wn(e,t);return{name:o,path:p,default:n,mutatorFn:a}}catch(i){let a=Wn(e,t);return z().warn(_chalk2.default.yellow("Your mutator cannot be loaded so default setup has been applied")),{name:o,path:a,default:n,mutatorFn:()=>{}}}};var Wi=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var Ie;let{responses:i,requestBody:a,parameters:p,tags:m=[],deprecated:c,description:l,summary:u}=r,f=qn(r,n,e),d=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((qe,[Ye,Je])=>m.includes(Ye)?ye(qe,Je):qe,{}),O=g(g(g({},t.override),y),d),R=(d==null?void 0:d.operationName)||((Ie=t.override)==null?void 0:Ie.operationName),P=R?R(r,n,e):$(f),S=await En(i,f,s),G=await In(a,f,s),T=await Cn({parameters:[...o,...p||[]],context:s}),M=await Fn({queryParams:T.query,operationName:P,context:s}),W=await Dn({route:n,pathParams:T.path,operationId:f,context:s}),U=kn({body:G,queryParams:M==null?void 0:M.schema,params:W}),ee=await zt({output:t.target,name:P,mutator:O==null?void 0:O.mutator}),Oe=A(O==null?void 0:O.formData)||C(O==null?void 0:O.formData)?await zt({output:t.target,name:P,mutator:O.formData}):void 0,He=D({description:l,deprecated:c,summary:u}),Ge={verb:e,tags:m,summary:r.summary,operationId:f,operationName:P,response:S,body:G,queryParams:M,params:W,props:U,mutator:ee,formData:Oe,override:O,doc:He},Me=await st(O==null?void 0:O.transformer,s.workspace);return Me?Me(Ge):Ge},Bn=({verbs:e,output:t,route:r,context:n})=>w(Object.entries(e),async(o,[s,i])=>{if(!qr(s))return o;let a=await Wi({verb:s,output:t,verbParameters:e.parameters,route:r,operation:i,context:n});return[...o,a]},[]);var _n=async({output:e,context:t})=>w(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Xr(n),i=await Bn({verbs:o,output:e,route:s,context:t}),a=i.reduce((m,{queryParams:c,body:l,response:u})=>[...m,...c?[c.schema,...c.deps]:[],...l.schemas,...u.schemas],[]),p=await Pn(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 ys=Ce(sr());var ar=(e={},t,r)=>(0,ys.default)(e)?Promise.resolve([]):w(Object.entries(e),async(n,[o,s])=>{let i=await je([[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(" | "),c=`${h(o)}${r}`,u=`${D(s)}export type ${c} = ${m||"unknown"};
257
- `;return[...n,...p,...c!==m?[{name:c,model:u,imports:a}]:[]]},[]);var bs=(e={},t,r)=>w(Object.entries(e),async(n,[o,s])=>{let i=`${h(o)}${r}`,{schema:a,imports:p}=await V(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"};
258
- `}];let m=await X({schema:a.schema,propName:i,context:t}),l=`${D(s)}export type ${i} = ${m.value||"unknown"};
259
- `;return[...n,...m.schemas,...i!==m.value?[{name:i,model:l,imports:m.imports}]:[]]},[]);var hs=Ce(sr());var Os=async({name:e,schema:t,context:r,suffix:n})=>{let o=await Ot({item:t,name:e,context:r}),s=o.value==="{}",i="";i+=D(t),s&&(i+=`// tslint:disable-next-line:no-empty-interface
260
- `),$e.includes(o.value)?i+=`export type ${e} = ${o.value};
261
- `:i+=`export interface ${e} ${o.value}
262
- `;let a=o.imports.filter(p=>p.name!==e);return[...o.schemas,{name:e,model:i,imports:a}]};var xs=async(e={},t,r)=>(0,hs.default)(e)?[]:w(Object.entries(e),async(o,[s,i])=>{let a=h(s)+r;if((!i.type||i.type==="object")&&!i.allOf&&!i.oneOf&&!I(i)&&!i.nullable)return[...o,...await Os({name:a,schema:i,context:t,suffix:r})];{let p=await Z({schema:i,name:a,context:t}),m="",c=p.imports;if(m+=D(i),p.isEnum&&!p.isRef)m+=we(p.value,p.type,a);else if(a===p.value&&p.isRef){let l=p.imports.find(u=>u.name===a);if(!l)m+=`export type ${a} = ${p.value};
263
- `;else{let u=(l==null?void 0:l.specKey)?`${h(ht(l.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;m+=`export type ${a} = ${u};
264
- `,c=c.map(f=>f.name===a?b(g({},f),{alias:u}):f)}}else m+=`export type ${a} = ${p.value};
265
- `;return[...o,...p.schemas,{name:a,model:m,imports:c}]}},[]);var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var $s=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&kr(r),t.length&&Fr(t)};var Tc=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await st(t.override.transformer,r):void 0;return w(Object.entries(e),async(s,[i,a])=>{let p=await Jr(a,t.converterOptions,i),m=n?n(p):p;return t.validation&&await $s(m),b(g({},s),{[i]:m})},{})},ir=async({data:e,input:t,output:r,path:n,workspace:o})=>{let s=await Tc({specs:e,input:t,workspace:o}),i=await w(Object.entries(s),async(p,[m,c])=>{var O,R,P,S;let l={specKey:m,workspace:o,specs:s,override:r.override},u=await xs((O=c.components)==null?void 0:O.schemas,l,r.override.components.schemas.suffix),f=await ar((R=c.components)==null?void 0:R.responses,l,r.override.components.responses.suffix),d=await ar((P=c.components)==null?void 0:P.requestBodies,l,r.override.components.requestBodies.suffix),y=await bs((S=c.components)==null?void 0:S.parameters,l,r.override.components.parameters.suffix);return b(g({},p),{[m]:[...u,...f,...d,...y]})},{}),a=await _n({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 qc=async(e,o,n)=>{var s=o,{validate:t}=s,r=fe(s,["validate"]);if(t)try{await _swaggerparser2.default.validate(e)}catch(a){if((a==null?void 0:a.name)==="ParserError")throw a;_console.log.call(void 0, `\u26A0\uFE0F ${_chalk2.default.yellow(a)}`)}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]))},ws=async(e,t)=>{let{input:r,output:n}=t;if(C(r.target))return ir({data:{[e]:r.target},input:r,output:n,path:e,workspace:e});let o=oe(r.target),s=await qc(r.target,r.parserOptions,o);return ir({data:s,input:r,output:n,path:r.target,workspace:e})};var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa);var Fc=({info:e,schema:{imports:t,model:r},rootSpecKey:n,isRootKey:o,specsName:s,header:i})=>{let a=i;return a+=tn({imports:t,rootSpecKey:n,isRootKey:o,specsName:s}),a+=t.length?`
266
-
267
- `:`
268
- `,a+=r,a},pr=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var Ec=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, pr(e,a),Fc({info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s,header:i}));let p=pr(e,"index"),c=(await _fsextra.readFile.call(void 0, p)).toString();!c.includes(`export * from './${a}'`)&&!c.includes(`export * from "./${a}"`)&&await _fsextra.appendFile.call(void 0, pr(e,"index"),`export * from './${a}';
269
- `)}catch(p){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${p}`}},Rs=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=>Ec({path:e,info:r,schema:a,rootSpecKey:n,isRootKey:o,specsName:s,header:i}))));var Nc=(e,t)=>e+`${t}
270
- `,le=e=>Object.values(e).reduce((r,n)=>[...r,...n],[]).reduce((r,{model:n})=>Nc(r,n),"");var $t=(e,t,r)=>{let n=Object.values(e).map(({operationName:i})=>i),o=(r==null?void 0:r.client)===K.ANGULAR,s=Object.values(e).reduce((i,a,p,m)=>{var c;if(i.imports=[...i.imports,...a.imports],i.importsMSW=[...i.importsMSW,...a.importsMSW],i.implementation+=a.implementation+`
271
- `,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=!!((c=i.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});i.implementation=u.implementation+i.implementation,i.implementationMSW.handler=u.implementationMSW+i.implementationMSW.handler;let f=yt(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 vs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{path:i,dirname:a}=j(n.target,{backupFilename:$(r.title)}),{imports:p,importsMSW:m,implementation:c,implementationMSW:l,mutators:u,formData:f}=$t(e,r,n),d=s,y=n.schemas?L(a,j(n.schemas).dirname):void 0;return d+=ue(n.client,c,y?[{exports:p,dependency:y}]:[],o,!!n.schemas),n.mock&&(d+=ce(l,y?[{exports:m,dependency:y}]:[],o,!!n.schemas)),n.schemas||(d+=le(t)),u&&(d+=Q(u)),f&&(d+=Q(f)),d+=`
272
-
273
- ${c}`,n.mock&&(d+=`
274
-
275
- `,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 Ps=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{filename:i,dirname:a,extension:p}=j(n.target,{backupFilename:$(r.title)}),{imports:m,implementation:c,implementationMSW:l,importsMSW:u,mutators:f,formData:d}=$t(e,r,n),y=s,O=s,R=n.schemas?L(a,j(n.schemas).dirname):"./"+i+".schemas";y+=ue(n.client,c,[{exports:m,dependency:R}],o,!!n.schemas),O+=ce(l,[{exports:[...m,...u],dependency:R}],o,!!n.schemas);let P=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(P){let M=s+le(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,i+".schemas"+p),M)}f&&(y+=Q(f)),d&&(y+=Q(d)),y+=`
276
- ${c}`,O+=`
277
- ${l}`;let S=i+(K.ANGULAR===n.client?".service":"")+p,G=_upath.join.call(void 0, a,S);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,S),y);let T=n.mock?_upath.join.call(void 0, a,i+".msw"+p):void 0;return T&&await _fsextra.outputFile.call(void 0, T,O),[G,...P?[P]:[],...T?[T]:[]]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${i}`}};var Wc=e=>b(g({},e),{tags:e.tags.length?e.tags:["default"]}),Bc=(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),St=(e,t)=>{let r=Object.values(e).map(({operationName:s})=>s),n=t.client===K.ANGULAR,o=Object.values(e).map(Wc).reduce((s,i,a,p)=>{let m=Bc(s,i);if(a===p.length-1){let c=yt(t==null?void 0:t.client,r);return Object.entries(m).reduce((l,[u,f])=>{var O;let d=!!((O=f.mutators)==null?void 0:O.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,[i,a])=>b(g({},s),{[i]:b(g({},a),{implementationMSW:a.implementationMSW.function+a.implementationMSW.handler})}),{})};var Ts=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=j(n.target,{backupFilename:$(r.title)}),m=St(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:O,mutators:R,formData:P}=u,S=s,G=s,T=n.schemas?"../"+L(a,j(n.schemas).dirname):"../"+i+".schemas";S+=ue(n.client,d,[{exports:f,dependency:T}],o,!!n.schemas),G+=ce(y,[{exports:[...f,...O],dependency:T}],o,!!n.schemas);let M=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(M){let Oe=s+le(t);await _fsextra.outputFile.call(void 0, M,Oe)}R&&(S+=Q(R,!0)),P&&(S+=Q(P)),S+=`
278
- ${d}`,G+=`
279
- ${y}`;let W=ge(l)+(K.ANGULAR===n.client?".service":"")+p,U=_upath.join.call(void 0, a,ge(l),W);await _fsextra.outputFile.call(void 0, U,S);let ee=n.mock?_upath.join.call(void 0, a,ge(l),ge(l)+".msw"+p):void 0;return ee&&await _fsextra.outputFile.call(void 0, ee,G),[U,...M?[M]:[],...ee?[ee]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var Is=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=j(n.target,{backupFilename:$(r.title)}),m=St(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:O,mutators:R,formData:P}=u,S=s,G=n.schemas?L(a,j(n.schemas).dirname):"./"+i+".schemas";S+=ue(n.client,d,[{exports:f,dependency:G}],o,!!n.schemas),n.mock&&(S+=ce(y,[{exports:O,dependency:G}],o,!!n.schemas));let T=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(T){let W=s+le(t);await _fsextra.outputFile.call(void 0, T,W)}R&&(S+=Q(R)),P&&(S+=Q(P)),S+=`
280
-
281
- `,S+=d,n.mock&&(S+=`
282
-
283
- `,S+=y);let M=_upath.join.call(void 0, a,`${ge(l)}${p}`);return await _fsextra.outputFile.call(void 0, M,S),[M,...T?[T]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var Cs=async({operations:e,schemas:t,rootSpecKey:r,info:n},o,s,i)=>{let{output:a}=s,p=i||n.title,m=Object.keys(t).reduce((u,f)=>{let y=ht(f,r).slice(1).split("/").join("-");return b(g({},u),{[f]:y})},{}),c=a.override.header?D({description:a.override.header(n)}):"";if(a.schemas){let u=a.schemas;await Promise.all(Object.entries(t).map(([f,d])=>{let y=r===f,O=y?u:_upath.join.call(void 0, u,m[f]);return Rs({schemaPath:O,schemas:d,info:n,rootSpecKey:r,specsName:m,isRootKey:y,header:c})}))}let l=[];if(a.target&&(a.mode===De.SINGLE?l=await vs({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:m,header:c}):a.mode===De.SPLIT?l=await Ps({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:m,header:c}):a.mode===De.TAGS?l=await Is({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:m,header:c}):a.mode===De.TAGS_SPLIT&&(l=await Ts({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:m,header:c}))),a.workspace){let u=a.workspace,f=l.filter(d=>!d.endsWith(".msw.ts")).map(d=>`export * from '${L(u,j(d).pathWithoutExtension)}';`).join(`
284
- `);a.schemas&&(f+=`
285
- export * from '${L(u,j(a.schemas).dirname)}';`),await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, u,"/index.ts"),f)}if(a.prettier)try{await _execa2.default.call(void 0, "prettier",["--write",...a.schemas?[j(a.schemas).dirname]:[],...l])}catch(u){_console.log.call(void 0, _chalk2.default.yellow(`\u26A0\uFE0F ${p?`${p} - `:""}Prettier not found`))}Ar(p)};var Ds=e=>{Dr(e),process.exit(1)};var ks=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await qt(["**/*","!**/*.d.ts",...o],j(t.output.target).dirname),t.output.schemas&&await qt(["**/*","!**/*.d.ts",...o],j(t.output.schemas).dirname),q(`${r?`${r}: `:""}Cleaning output folder`)}let n=await ws(e,t);await Cs(n,e,t,r)},Fs=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await ks(t,n,r)}catch(o){q(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else Ds("Project not found");return}return Promise.all(Object.entries(e).map(async([n,o])=>{try{return await ks(t,o,n)}catch(s){q(_chalk2.default.red(`\u{1F6D1} ${n?`${n} - `:""}${s}`))}}))},Oh= exports.i =async(e,t)=>{let{path:r,file:n}=await rt(e,{defaultFileName:"orval.config"}),o=_upath.dirname.call(void 0, r),s=await(E(n)?n():n),i=await w(Object.entries(s),async(p,[m,c])=>b(g({},p),{[m]:await Ur(c,o,t)}),{}),a=Object.entries(i).filter(([p])=>(t==null?void 0:t.projectName)===void 0||p===(t==null?void 0:t.projectName)).map(([,{input:p}])=>p.target).filter(p=>A(p));(t==null?void 0:t.watch)&&a.length?Yr(t==null?void 0:t.watch,()=>Fs(i,o,t==null?void 0:t.projectName),a):await Fs(i,o,t==null?void 0:t.projectName)};exports.a = jt; exports.b = A; exports.c = q; exports.d = ru; exports.e = tl; exports.f = Ur; exports.g = Yr; exports.h = ks; exports.i = Oh;