orval 6.6.4 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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 _chunkDKPBKVU7js = require('../chunk-DKPBKVU7.js');_chunkDKPBKVU7js.b.call(void 0, );var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var o=_cac.cac.call(void 0, "orval");_chunkDKPBKVU7js.e.call(void 0, {name:_chunkDKPBKVU7js.a.name,version:_chunkDKPBKVU7js.a.version,description:_chunkDKPBKVU7js.a.description});o.version(_chunkDKPBKVU7js.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").option("--tslint [path]","tslint generated files").option("--tsconfig [path]","path to your tsconfig file").action(async(m,t)=>{if(_chunkDKPBKVU7js.c.call(void 0, t.input)&&_chunkDKPBKVU7js.c.call(void 0, t.output)){let i=await _chunkDKPBKVU7js.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,tsconfig:t.tsconfig}});if(t.watch)_chunkDKPBKVU7js.h.call(void 0, t.watch,async()=>{try{await _chunkDKPBKVU7js.i.call(void 0, process.cwd(),i)}catch(n){_chunkDKPBKVU7js.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}},i.input.target);else try{await _chunkDKPBKVU7js.i.call(void 0, process.cwd(),i)}catch(n){_chunkDKPBKVU7js.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}}else await _chunkDKPBKVU7js.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,tsconfig:t.tsconfig})});o.help();o.parse(process.argv);
2
+ "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkM4RGQJWSjs = require('../chunk-M4RGQJWS.js');_chunkM4RGQJWSjs.b.call(void 0, );var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var o=_cac.cac.call(void 0, "orval");_chunkM4RGQJWSjs.e.call(void 0, {name:_chunkM4RGQJWSjs.a.name,version:_chunkM4RGQJWSjs.a.version,description:_chunkM4RGQJWSjs.a.description});o.version(_chunkM4RGQJWSjs.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").option("--tslint [path]","tslint generated files").option("--tsconfig [path]","path to your tsconfig file").action(async(m,t)=>{if(_chunkM4RGQJWSjs.c.call(void 0, t.input)&&_chunkM4RGQJWSjs.c.call(void 0, t.output)){let i=await _chunkM4RGQJWSjs.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,tsconfig:t.tsconfig}});if(t.watch)_chunkM4RGQJWSjs.h.call(void 0, t.watch,async()=>{try{await _chunkM4RGQJWSjs.i.call(void 0, process.cwd(),i)}catch(n){_chunkM4RGQJWSjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}},i.input.target);else try{await _chunkM4RGQJWSjs.i.call(void 0, process.cwd(),i)}catch(n){_chunkM4RGQJWSjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}}else await _chunkM4RGQJWSjs.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,tsconfig:t.tsconfig})});o.help();o.parse(process.argv);
@@ -0,0 +1,344 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Si=Object.create;var mt=Object.defineProperty,wi=Object.defineProperties,Ri=Object.getOwnPropertyDescriptor,ji=Object.getOwnPropertyDescriptors,Ti=Object.getOwnPropertyNames,pt=Object.getOwnPropertySymbols,Pi=Object.getPrototypeOf,kt=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable;var en=(e,t,r)=>t in e?mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))kt.call(t,r)&&en(e,r,t[r]);if(pt)for(var r of pt(t))tn.call(t,r)&&en(e,r,t[r]);return e},w=(e,t)=>wi(e,ji(t)),vi=e=>mt(e,"__esModule",{value:!0});var X=(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 xe=(e,t)=>{var r={};for(var n in e)kt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&pt)for(var n of pt(e))t.indexOf(n)<0&&tn.call(e,n)&&(r[n]=e[n]);return r};var Ei=(e,t)=>()=>(e&&(t=e(e=0)),t);var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Mi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ti(t))!kt.call(e,o)&&(r||o!=="default")&&mt(e,o,{get:()=>t[o],enumerable:!(n=Ri(t,o))||n.enumerable});return e},Ke=(e,t)=>Mi(vi(mt(e!=null?Si(Pi(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var c=Ei(()=>{});var pr=T((Ih,vo)=>{c();var Ip=Object.prototype;function Gp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Ip;return e===r}vo.exports=Gp});var Mo=T((Gh,Eo)=>{c();function Ap(e,t){return function(r){return e(t(r))}}Eo.exports=Ap});var Go=T((Ah,Io)=>{c();var Cp=Mo(),Dp=Cp(Object.keys,Object);Io.exports=Dp});var Co=T((Ch,Ao)=>{c();var qp=pr(),kp=Go(),Fp=Object.prototype,Vp=Fp.hasOwnProperty;function Np(e){if(!qp(e))return kp(e);var t=[];for(var r in Object(e))Vp.call(e,r)&&r!="constructor"&&t.push(r);return t}Ao.exports=Np});var mr=T((Dh,Do)=>{c();var Up=typeof global=="object"&&global&&global.Object===Object&&global;Do.exports=Up});var pe=T((qh,qo)=>{c();var Wp=mr(),Bp=typeof self=="object"&&self&&self.Object===Object&&self,zp=Wp||Bp||Function("return this")();qo.exports=zp});var cr=T((kh,ko)=>{c();var Kp=pe(),Qp=Kp.Symbol;ko.exports=Qp});var Uo=T((Fh,No)=>{c();var Fo=cr(),Vo=Object.prototype,Lp=Vo.hasOwnProperty,_p=Vo.toString,Ze=Fo?Fo.toStringTag:void 0;function Hp(e){var t=Lp.call(e,Ze),r=e[Ze];try{e[Ze]=void 0;var n=!0}catch (e2){}var o=_p.call(e);return n&&(t?e[Ze]=r:delete e[Ze]),o}No.exports=Hp});var Bo=T((Vh,Wo)=>{c();var Yp=Object.prototype,Jp=Yp.toString;function Xp(e){return Jp.call(e)}Wo.exports=Xp});var et=T((Nh,Qo)=>{c();var zo=cr(),Zp=Uo(),em=Bo(),tm="[object Null]",rm="[object Undefined]",Ko=zo?zo.toStringTag:void 0;function nm(e){return e==null?e===void 0?rm:tm:Ko&&Ko in Object(e)?Zp(e):em(e)}Qo.exports=nm});var lr=T((Uh,Lo)=>{c();function om(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Lo.exports=om});var ur=T((Wh,_o)=>{c();var sm=et(),im=lr(),am="[object AsyncFunction]",pm="[object Function]",mm="[object GeneratorFunction]",cm="[object Proxy]";function lm(e){if(!im(e))return!1;var t=sm(e);return t==pm||t==mm||t==am||t==cm}_o.exports=lm});var Yo=T((Bh,Ho)=>{c();var um=pe(),fm=um["__core-js_shared__"];Ho.exports=fm});var Zo=T((zh,Xo)=>{c();var fr=Yo(),Jo=function(){var e=/[^.]+$/.exec(fr&&fr.keys&&fr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gm(e){return!!Jo&&Jo in e}Xo.exports=gm});var gr=T((Kh,es)=>{c();var dm=Function.prototype,ym=dm.toString;function hm(e){if(e!=null){try{return ym.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}es.exports=hm});var rs=T((Qh,ts)=>{c();var bm=ur(),Om=Zo(),$m=lr(),xm=gr(),Sm=/[\\^$.*+?()[\]{}|]/g,wm=/^\[object .+?Constructor\]$/,Rm=Function.prototype,jm=Object.prototype,Tm=Rm.toString,Pm=jm.hasOwnProperty,vm=RegExp("^"+Tm.call(Pm).replace(Sm,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Em(e){if(!$m(e)||Om(e))return!1;var t=bm(e)?vm:wm;return t.test(xm(e))}ts.exports=Em});var os=T((Lh,ns)=>{c();function Mm(e,t){return e==null?void 0:e[t]}ns.exports=Mm});var ke=T((_h,ss)=>{c();var Im=rs(),Gm=os();function Am(e,t){var r=Gm(e,t);return Im(r)?r:void 0}ss.exports=Am});var as=T((Hh,is)=>{c();var Cm=ke(),Dm=pe(),qm=Cm(Dm,"DataView");is.exports=qm});var ms=T((Yh,ps)=>{c();var km=ke(),Fm=pe(),Vm=km(Fm,"Map");ps.exports=Vm});var ls=T((Jh,cs)=>{c();var Nm=ke(),Um=pe(),Wm=Nm(Um,"Promise");cs.exports=Wm});var fs=T((Xh,us)=>{c();var Bm=ke(),zm=pe(),Km=Bm(zm,"Set");us.exports=Km});var ds=T((Zh,gs)=>{c();var Qm=ke(),Lm=pe(),_m=Qm(Lm,"WeakMap");gs.exports=_m});var ws=T((eb,Ss)=>{c();var dr=as(),yr=ms(),hr=ls(),br=fs(),Or=ds(),xs=et(),Fe=gr(),ys="[object Map]",Hm="[object Object]",hs="[object Promise]",bs="[object Set]",Os="[object WeakMap]",$s="[object DataView]",Ym=Fe(dr),Jm=Fe(yr),Xm=Fe(hr),Zm=Fe(br),ec=Fe(Or),Te=xs;(dr&&Te(new dr(new ArrayBuffer(1)))!=$s||yr&&Te(new yr)!=ys||hr&&Te(hr.resolve())!=hs||br&&Te(new br)!=bs||Or&&Te(new Or)!=Os)&&(Te=function(e){var t=xs(e),r=t==Hm?e.constructor:void 0,n=r?Fe(r):"";if(n)switch(n){case Ym:return $s;case Jm:return ys;case Xm:return hs;case Zm:return bs;case ec:return Os}return t});Ss.exports=Te});var Ct=T((tb,Rs)=>{c();function tc(e){return e!=null&&typeof e=="object"}Rs.exports=tc});var Ts=T((rb,js)=>{c();var rc=et(),nc=Ct(),oc="[object Arguments]";function sc(e){return nc(e)&&rc(e)==oc}js.exports=sc});var Ms=T((nb,Es)=>{c();var Ps=Ts(),ic=Ct(),vs=Object.prototype,ac=vs.hasOwnProperty,pc=vs.propertyIsEnumerable,mc=Ps(function(){return arguments}())?Ps:function(e){return ic(e)&&ac.call(e,"callee")&&!pc.call(e,"callee")};Es.exports=mc});var Gs=T((ob,Is)=>{c();var cc=Array.isArray;Is.exports=cc});var $r=T((sb,As)=>{c();var lc=9007199254740991;function uc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=lc}As.exports=uc});var Ds=T((ib,Cs)=>{c();var fc=ur(),gc=$r();function dc(e){return e!=null&&gc(e.length)&&!fc(e)}Cs.exports=dc});var ks=T((ab,qs)=>{c();function yc(){return!1}qs.exports=yc});var Us=T((tt,Ve)=>{c();var hc=pe(),bc=ks(),Ns=typeof tt=="object"&&tt&&!tt.nodeType&&tt,Fs=Ns&&typeof Ve=="object"&&Ve&&!Ve.nodeType&&Ve,Oc=Fs&&Fs.exports===Ns,Vs=Oc?hc.Buffer:void 0,$c=Vs?Vs.isBuffer:void 0,xc=$c||bc;Ve.exports=xc});var Bs=T((pb,Ws)=>{c();var Sc=et(),wc=$r(),Rc=Ct(),jc="[object Arguments]",Tc="[object Array]",Pc="[object Boolean]",vc="[object Date]",Ec="[object Error]",Mc="[object Function]",Ic="[object Map]",Gc="[object Number]",Ac="[object Object]",Cc="[object RegExp]",Dc="[object Set]",qc="[object String]",kc="[object WeakMap]",Fc="[object ArrayBuffer]",Vc="[object DataView]",Nc="[object Float32Array]",Uc="[object Float64Array]",Wc="[object Int8Array]",Bc="[object Int16Array]",zc="[object Int32Array]",Kc="[object Uint8Array]",Qc="[object Uint8ClampedArray]",Lc="[object Uint16Array]",_c="[object Uint32Array]",I={};I[Nc]=I[Uc]=I[Wc]=I[Bc]=I[zc]=I[Kc]=I[Qc]=I[Lc]=I[_c]=!0;I[jc]=I[Tc]=I[Fc]=I[Pc]=I[Vc]=I[vc]=I[Ec]=I[Mc]=I[Ic]=I[Gc]=I[Ac]=I[Cc]=I[Dc]=I[qc]=I[kc]=!1;function Hc(e){return Rc(e)&&wc(e.length)&&!!I[Sc(e)]}Ws.exports=Hc});var Ks=T((mb,zs)=>{c();function Yc(e){return function(t){return e(t)}}zs.exports=Yc});var Ls=T((rt,Ne)=>{c();var Jc=mr(),Qs=typeof rt=="object"&&rt&&!rt.nodeType&&rt,nt=Qs&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Xc=nt&&nt.exports===Qs,xr=Xc&&Jc.process,Zc=function(){try{var e=nt&&nt.require&&nt.require("util").types;return e||xr&&xr.binding&&xr.binding("util")}catch (e5){}}();Ne.exports=Zc});var Js=T((cb,Ys)=>{c();var el=Bs(),tl=Ks(),_s=Ls(),Hs=_s&&_s.isTypedArray,rl=Hs?tl(Hs):el;Ys.exports=rl});var Sr=T((lb,Xs)=>{c();var nl=Co(),ol=ws(),sl=Ms(),il=Gs(),al=Ds(),pl=Us(),ml=pr(),cl=Js(),ll="[object Map]",ul="[object Set]",fl=Object.prototype,gl=fl.hasOwnProperty;function dl(e){if(e==null)return!0;if(al(e)&&(il(e)||typeof e=="string"||typeof e.splice=="function"||pl(e)||cl(e)||sl(e)))return!e.length;var t=ol(e);if(t==ll||t==ul)return!e.size;if(ml(e))return!nl(e).length;for(var r in e)if(gl.call(e,r))return!1;return!0}Xs.exports=dl});var Ii="orval",Gi="A swagger client generator for typescript",Ai="6.7.0",Ci="MIT",Di=["dist"],qi={orval:"dist/bin/orval.js"},ki="dist/index.js",Fi=["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"],Vi={name:"Victor Bury",email:"bury.victor@gmail.com"},Ni={type:"git",url:"https://github.com/anymaniax/orval"},Ui={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",test:"vitest --global test.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 && cd ./samples/react-query/basic && yarn",commitlint:"commitlint","update-samples":"zx ./scripts/update-samples.mjs"},Wi={"@commitlint/cli":"^16.2.1","@commitlint/config-conventional":"^16.2.1","@faker-js/faker":"^6.1.1","@release-it/conventional-changelog":"^4.2.0","@types/chalk":"^2.2.0","@types/commander":"^2.12.2","@types/fs-extra":"^9.0.12","@types/inquirer":"^8.2.0","@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":"^17.0.21","@types/prettier":"^2.4.4","@types/request":"^2.48.8","@types/validator":"^13.7.1","@typescript-eslint/eslint-plugin":"^5.14.0","@typescript-eslint/parser":"^5.14.0","dotenv-cli":"^4.0.0",eslint:"^8.10.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0",husky:"^7.0.2","lint-staged":"^12.3.5","npm-run-all":"^4.1.5",prettier:"^2.5.1","release-it":"^14.12.5",rimraf:"^3.0.2",tsup:"^5.12.0",typescript:"^4.6.2",vitest:"^0.6.0",zx:"^5.2.0"},Bi={"@apidevtools/swagger-parser":"^10.0.3",acorn:"^8.7.0",cac:"^6.7.12",chalk:"^4.1.2",chokidar:"^3.5.3",cuid:"^2.1.8",debug:"^4.3.3",esbuild:"^0.14.25",esutils:"2.0.3",execa:"^5.1.1","find-up":"5.0.0","fs-extra":"^10.0.1",globby:"11.0.4","ibm-openapi-validator":"^0.57.4",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.2",swagger2openapi:"^7.0.8",tsconfck:"^1.2.0",upath:"^2.0.1",url:"^0.11.0",validator:"^13.7.0"},Ft= exports.a ={name:Ii,description:Gi,version:Ai,license:Ci,files:Di,bin:qi,main:ki,keywords:Fi,author:Vi,repository:Ni,scripts:Ui,devDependencies:Wi,dependencies:Bi};c();var L={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},ae={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},Z={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"};c();var _upath = require('upath');var A=e=>Boolean(e.$ref),rn=e=>!_upath.extname.call(void 0, e);function D(e){return Object.prototype.toString.call(e)==="[object Object]"}function q(e){return typeof e=="string"}function nn(e){return typeof e=="number"}function _(e){return typeof e=="boolean"}function W(e){return typeof e=="function"}function ct(e){return typeof e>"u"}function on(e){return typeof e===null}var sn=e=>Object.values(Z).includes(e);c();var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var F=console.log,Jl= exports.e =({name:e,version:t,description:r})=>F(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),cn=e=>F(_chalk2.default.red(e));var ln=e=>F(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),un=e=>{F(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>F(_chalk2.default.yellow(`Message : ${t.message}
2
+ Path : ${t.path}`)))},fn=e=>{F(_chalk2.default.red("(!) Errors")),e.forEach(t=>F(_chalk2.default.red(`Message : ${t.message}
3
+ Path : ${t.path}`)))},Vt={silent:0,error:1,warn:2,info:3},pn,mn,Nt=0;function Ki(){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 H(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=Vt[e],s=n&&process.stdout.isTTY&&!process.env.CI?Ki:()=>{};function i(l,m,u={}){if(o>=Vt[l]){let f=l==="info"?"log":l,g=()=>{if(u.timestamp){let y=l==="info"?_chalk2.default.cyan.bold(r):l==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${y} ${m}`}else return m};l===pn&&m===mn?(Nt++,s(),console[f](g(),_chalk2.default.yellow(`(x${Nt+1})`))):(Nt=0,mn=m,pn=l,u.clear&&s(),console[f](g()))}}let a=new Set,p={hasWarned:!1,info(l,m){i("info",l,m)},warn(l,m){p.hasWarned=!0,i("warn",l,m)},warnOnce(l,m){a.has(l)||(p.hasWarned=!0,i("warn",l,m),a.add(l))},error(l,m){p.hasWarned=!0,i("error",l,m)},clearScreen(l){o>=Vt[l]&&s()}};return p}c();c();var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var _url = require('url'); var _url2 = _interopRequireDefault(_url);c();var Ut=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},lt=Ut("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ut="a-z"+Ut("DF-F6,F8-FF","00"),Qe="A-Z"+Ut("C0-D6,D8-DE","00"),Qi="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",me={capitalize:new RegExp("(^|["+lt+"])(["+ut+"])","g"),pascal:new RegExp("(^|["+lt+"])+(["+ut+Qe+"])","g"),fill:new RegExp("["+lt+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ut+"])","g"),improper:new RegExp("\\b("+Qi+")\\b","g"),relax:new RegExp("([^"+Qe+"])(["+Qe+"]*)(["+Qe+"])(?=[^"+Qe+"]|$)","g"),upper:new RegExp("^[^"+ut+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+lt+"]")},Li=e=>e.replace(me.apostrophe,""),_i=String.prototype.toUpperCase,Wt=String.prototype.toLowerCase,Bt=(e,t,r=!1)=>(t!=null&&(e=e.replace(me.fill,function(n,o){return o?t+o:""})),r&&(e=Li(e)),e),Hi=e=>Wt.call(e.charAt(0))+e.slice(1),Yi=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,gn=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&me.upper.test(e)&&(e=Wt.call(e)),!t&&!me.hole.test(e)){var o=Bt(e," ");me.hole.test(o)&&(e=o)}return!r&&!me.room.test(e)&&(e=e.replace(me.relax,Yi)),e},Ji=(e,t,r)=>Bt(Wt.call(gn(e,!!t)),t,r),$=e=>Bt(gn(e,!1,!0).replace(me.pascal,(t,r,n)=>_i.call(n)),"",!0),R=e=>Hi($(e));var Se=e=>Ji(e,"-",!0);c();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);c();var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var dn=process.env.ORVAL_DEBUG_FILTER,zt=process.env.DEBUG;function yn(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...i)=>{dn&&!s.includes(dn)||n&&!(zt==null?void 0:zt.includes(o))||r(s,...i)}}var M=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=rn(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}},$n=yn("orval:file-load"),Qt=new Map;async function ft(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s,alias:i,tsconfig:a,load:p=!0}=t||{},l=Date.now(),m,u=!1,f=!1;if(e)m=_path2.default.resolve(e),u=e.endsWith(".ts");else if(o){let h=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(h)&&(m=h),!m){let d=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(d)&&(m=d,f=!0)}if(!m){let d=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(d)&&(m=d,u=!0)}}m||(e?H(s).error(_chalk2.default.red(`File not found => ${e}`)):o?H(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):H(s).error(_chalk2.default.red("File not found")),process.exit(1));let g=_upath.normalizeSafe.call(void 0, m),y=Qt.get(m);if(y)return w(O({path:g},y),{cached:!0});try{let h;if(!h&&!u&&!f)try{delete X.cache[X.resolve(m)],h=X(m),$n(`cjs loaded in ${Date.now()-l}ms`)}catch(d){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(d.message))throw d}if(!h){let{code:d}=await oa(m,f,r||_upath.dirname.call(void 0, g),i,a==null?void 0:a.compilerOptions);p?h=await sa(m,d,n):h=d,$n(`bundled file loaded in ${Date.now()-l}ms`)}return Qt.set(m,{file:h}),{path:g,file:h}}catch(h){return Qt.set(m,{error:h}),{path:g,error:h}}}async function oa(e,t=!1,r,n,o){let s=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||(o==null?void 0:o.paths)?[{name:"aliasing",setup(a){a.onResolve({filter:/^[\w@][^:]/},async({path:p})=>{if(n){let l=Object.keys(n),m=l.find(u=>p.startsWith(u)||_micromatch2.default.isMatch(p,l));if(m){let u=_micromatch2.default.scan(m),f=_micromatch2.default.scan(n[m]),g=_upath.resolve.call(void 0, r,f.base),y=u.base?p.replace(u.base,g):_upath.joinSafe.call(void 0, g,p),d=_upath.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(d)?{path:d}:void 0}}if(o==null?void 0:o.paths){let l=Object.keys(o==null?void 0:o.paths),m=l.find(u=>p.startsWith(u)||_micromatch2.default.isMatch(p,l));if(m){let u=_micromatch2.default.scan(m),f=_micromatch2.default.scan(o==null?void 0:o.paths[m][0]),g=_upath.resolve.call(void 0, r,f.base),y=u.base?p.replace(u.base,g):_upath.joinSafe.call(void 0, g,p),d=_upath.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(d)?{path:d}:void 0}}})}}]:[],{name:"externalize-deps",setup(a){a.onResolve({filter:/.*/},p=>{let l=p.path;if(l[0]!=="."&&!_path2.default.isAbsolute(l))return{external:!0}})}},{name:"replace-import-meta",setup(a){a.onLoad({filter:/\.[jt]s$/},async p=>{let l=await _fs2.default.promises.readFile(p.path,"utf8");return{loader:p.path.endsWith(".ts")?"ts":"js",contents:l.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${p.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(p.path))).replace(/\b__filename\b/g,JSON.stringify(p.path))}})}}]}),{text:i}=s.outputFiles[0];return{code:i,dependencies:s.metafile?Object.keys(s.metafile.inputs):[]}}async function sa(e,t,r){let n=_path2.default.extname(e),o=X.extensions[n];X.extensions[n]=(a,p)=>{p===e?a._compile(t,p):o(a,p)},delete X.cache[X.resolve(e)];let s=X(e),i=r&&s.__esModule?s.default:s;return X.extensions[n]=o,i}async function Lt(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)))}c();var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var aa=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,ce=e=>_isURL2.default.call(void 0, e)||aa.test(e);var Le={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},la=new RegExp("~1","g"),Ee=async(e,t)=>{let[r,n]=e.split("#"),o=n.slice(1).split("/").map(p=>p.replace(la,"/")),s=_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""),i=o[o.length-1];if(!r)return{name:$(i)+s,originalName:i,refPaths:o};let a=ce(t.specKey)?_url2.default.resolve(t.specKey,r):_upath.resolve.call(void 0, M(t.specKey).dirname,r);return{name:$(i)+s,originalName:i,specKey:a,refPaths:o}};c();var _fsextra = require('fs-extra');var _inquirer = require('inquirer'); var _inquirer2 = _interopRequireDefault(_inquirer);c();var _https = require('https'); var _https2 = _interopRequireDefault(_https);var Sn=(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 ha=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let s=JSON.stringify({query:`query {
5
+ repository(name: "${t}", owner: "${r}") {
6
+ object(expression: "${n}:${o}") {
7
+ ... on Blob {
8
+ text
9
+ }
10
+ }
11
+ }
12
+ }`});return[{method:"POST",hostname:"api.github.com",path:"/graphql",headers:{"content-type":"application/json","user-agent":"orval-importer",authorization:`bearer ${e}`,"Content-Length":s.length}},s]},ba=async e=>{if(await _fsextra.pathExists.call(void 0, e))return _fsextra.readFile.call(void 0, e,"utf-8");{let t=await _inquirer2.default.prompt([{type:"input",name:"githubToken",message:"Please provide a GitHub token with `repo` rules checked (https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)"},{type:"confirm",name:"saveToken",message:"Would you like to store your token for the next time? (stored in your node_modules)"}]);return t.saveToken&&await _fsextra.outputFile.call(void 0, e,t.githubToken),t.githubToken}},Oa=async e=>{var l,m,u,f;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await ba(t),[n]=e.split("github.com/").slice(-1),[o,s,,i,...a]=n.split("/"),p=a.join("/");try{let{body:g}=await Sn(...ha({accessToken:r,repo:s,owner:o,branch:i,path:p}));return((l=g.errors)==null?void 0:l.length)&&((m=g.errors)==null?void 0:m.some(h=>(h==null?void 0:h.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),(f=(u=g.data)==null?void 0:u.repository)==null?void 0:f.object.text}catch(g){throw g.body?(g.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),g.body.message||`Oups... \u{1F37B}. ${g}`):`Oups... \u{1F37B}. ${g}`}},Rn={order:199,canRead(e){return e.url.includes("github.com")},read(e){return Oa(e.url)}};c();var gt=e=>e&&typeof e=="object";function je(e,t){return!gt(t)||!gt(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:gt(s)&&gt(o)?r[n]=je(s,o):r[n]=o,r},e)}c();var jn=({title:e,description:t,version:r})=>[`Generated by ${Ft.name} v${Ft.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];c();var _findup = require('find-up'); var _findup2 = _interopRequireDefault(_findup);var _tsconfck = require('tsconfck');var Pn=async(e,t=process.cwd())=>{var r,n;if(ct(e)){let o=await _findup2.default.call(void 0, ["tsconfig.json","jsconfig.json"],{cwd:t});return o?(await _tsconfck.parse.call(void 0, o)).tsconfig:void 0}if(q(e)){let o=le(e,t);if(_fsextra.existsSync.call(void 0, o)){let s=await _tsconfck.parse.call(void 0, o);return((n=(r=s.referenced)==null?void 0:r.find(({tsconfigFile:a})=>a===o))==null?void 0:n.tsconfig)||s.tsconfig}return}if(D(e))return e},Y=e=>{var t,r,n;return e?!!((n=(t=e==null?void 0:e.compilerOptions)==null?void 0:t.allowSyntheticDefaultImports)!=null?n:(r=e==null?void 0:e.compilerOptions)==null?void 0:r.esModuleInterop):!0};function af(e){return e}var En=async(e,t=process.cwd(),r={})=>{var h,d,x,S,j,E,P,C,G,k,K,J,ie,Pe,st,Ue,We,Be,ze,it,at,Er,Mr,Ir,Gr,Ar,Cr,Dr,qr,kr,Fr,Vr,Nr,Ur,Wr,Br,zr,Kr,Qr,Lr,_r,Hr,Yr,Jr,Xr,Zr;let n=await(W(e)?e():e);n.input||(H().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(H().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=q(n.input)?{target:n.input}:n.input,s=q(n.output)?{target:n.output}:n.output;typeof((d=(h=s.override)==null?void 0:h.angular)==null?void 0:d.provideInRoot)<"u"&&console.warn("provideInRoot is deprecated, use provideIn instead");let i=le(s.workspace||"",t),{clean:a,prettier:p,client:l,mode:m,mock:u,tslint:f}=r,g=await Pn(s.tsconfig||r.tsconfig,t),y={input:{target:wa(o.target,t),validation:o.validation||!1,override:{transformer:le((x=o.override)==null?void 0:x.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:je(Sa,o.parserOptions||{})},output:{target:le(s.target,i),schemas:le(s.schemas,i),workspace:s.workspace?i:void 0,client:(j=(S=s.client)!=null?S:l)!=null?j:L.AXIOS_FUNCTIONS,mode:Ra((E=s.mode)!=null?E:m),mock:(C=(P=s.mock)!=null?P:u)!=null?C:!1,clean:(k=(G=s.clean)!=null?G:a)!=null?k:!1,prettier:(J=(K=s.prettier)!=null?K:p)!=null?J:!1,tslint:(Pe=(ie=s.tslint)!=null?ie:f)!=null?Pe:!1,tsconfig:g,override:w(O({},s.override),{operations:vn(((st=s.override)==null?void 0:st.operations)||{},i),tags:vn(((Ue=s.override)==null?void 0:Ue.tags)||{},i),mutator:Ie(i,(We=s.override)==null?void 0:We.mutator),formData:(at=_((Be=s.override)==null?void 0:Be.formData)?(it=s.override)==null?void 0:it.formData:Ie(i,(ze=s.override)==null?void 0:ze.formData))!=null?at:!0,formUrlEncoded:(Gr=_((Er=s.override)==null?void 0:Er.formUrlEncoded)?(Ir=s.override)==null?void 0:Ir.formUrlEncoded:Ie(i,(Mr=s.override)==null?void 0:Mr.formUrlEncoded))!=null?Gr:!0,header:((Ar=s.override)==null?void 0:Ar.header)===!1?!1:W((Cr=s.override)==null?void 0:Cr.header)?(Dr=s.override)==null?void 0:Dr.header:jn,requestOptions:(kr=(qr=s.override)==null?void 0:qr.requestOptions)!=null?kr:!0,components:{schemas:O({suffix:Le.schemas},((Vr=(Fr=s.override)==null?void 0:Fr.components)==null?void 0:Vr.schemas)||{}),responses:O({suffix:Le.responses},((Ur=(Nr=s.override)==null?void 0:Nr.components)==null?void 0:Ur.responses)||{}),parameters:O({suffix:Le.parameters},((Br=(Wr=s.override)==null?void 0:Wr.components)==null?void 0:Br.parameters)||{}),requestBodies:O({suffix:Le.requestBodies},((Kr=(zr=s.override)==null?void 0:zr.components)==null?void 0:Kr.requestBodies)||{})},query:O({useQuery:!0},((Qr=s.override)==null?void 0:Qr.query)||{}),angular:{provideIn:(Xr=(Jr=(_r=(Lr=s.override)==null?void 0:Lr.angular)==null?void 0:_r.provideIn)!=null?Jr:(Yr=(Hr=s.override)==null?void 0:Hr.angular)==null?void 0:Yr.provideInRoot)!=null?Xr:"root"},useDates:((Zr=s.override)==null?void 0:Zr.useDates)||!1})}};return y.input.target||(H().error(_chalk2.default.red("Config require an input target")),process.exit(1)),!y.output.target&&!y.output.schemas&&(H().error(_chalk2.default.red("Config require an output target or schemas")),process.exit(1)),y},Sa={validate:!0,resolve:{github:Rn}},Ie=(e,t)=>{var r;return D(t)?(t.path||(H().error(_chalk2.default.red("Mutator need a path")),process.exit(1)),w(O({},t),{path:_upath.resolve.call(void 0, e,t.path),default:(r=t.default||!t.name)!=null?r:!1})):q(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},wa=(e,t)=>q(e)&&!ce(e)?le(e,t):e,le=(e,t)=>q(e)?_upath.resolve.call(void 0, t,e):e,vn=(e,t)=>Object.fromEntries(Object.entries(e).map(l=>{var[r,m]=l,u=m,{transformer:n,mutator:o,formData:s,formUrlEncoded:i,requestOptions:a}=u,p=xe(u,["transformer","mutator","formData","formUrlEncoded","requestOptions"]);var f,g;return[r,w(O(O(O({},p),n?{transformer:le(n,t)}:{}),o?{mutator:Ie(t,o)}:{}),{formData:(f=_(s)?s:Ie(t,s))!=null?f:!0,formUrlEncoded:(g=_(i)?i:Ie(t,i))!=null?g:!0,requestOptions:a!=null?a:!0})]})),Ra=e=>e?Object.values(ae).includes(e)?e:(H().warn(_chalk2.default.yellow(`Unknown the provided mode => ${e}`)),ae.SINGLE):ae.SINGLE;c();var Mn=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>Ke(X("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(a=>typeof a=="string"):e;F(`Watching for changes in ${Array.isArray(s)?s.map(a=>'"'+a+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(a,p)=>{F(`Change detected: ${a} ${p}`);try{await t()}catch(l){F(_chalk2.default.red(l))}})};c();c();var _swaggerparser = require('@apidevtools/swagger-parser'); var _swaggerparser2 = _interopRequireDefault(_swaggerparser);var _console = require('console');c();var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);c();var v=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));c();var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var In=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(F(_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}`}};c();var dt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(q(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>Ke(X(n)));return r&&D(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};c();c();c();var te=e=>{if(!(ct(e)||on(e)))return q(e)?`'${e}'`:nn(e)||_(e)||W(e)?`${e}`:Array.isArray(e)?`[${e.map(te).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let i=te(n);return s.length===1?`{ ${r}: ${i}, }`:o?s.length-1===o?t+`${r}: ${i}, }`:t+`${r}: ${i}, `:`{ ${r}: ${i}, `},"")},B=(e,t)=>{let{whitespace:r="",underscore:n="",dot:o="",dash:s=""}=t||{},i=e.replace(/[^\w\s.-]/g,"");return r!==!0&&(i=i.replace(/[\s]/g,r)),n!==!0&&(i=i.replace(/['_']/g,n)),o!==!0&&(i=i.replace(/[.]/g,o)),s!==!0&&(i=i.replace(/[-]/g,s)),i},z=(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
16
+ `)+",":"",Ma={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},yt=e=>e.toString().split("").reduce((r,n)=>r+Ma[n],""),ht=(e,t="'")=>e.replace(t,`\\${t}`);var Gn=e=>/[^{]*{[\w_-]*}.*/.test(e),An=e=>{let t=e.match(/([^{]*){?([\w_-]*)}?(.*)/);if(!(t==null?void 0:t.length))return e;let r=t[1],n=R(B(t[2],{underscore:!0,dash:!0,dot:!0})),o=Gn(t[3])?An(t[3]):t[3];return Gn(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},Cn=e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${An(n)}`:`${r}/${n}`,"");c();var V=async(e,t,r=[])=>{if(!A(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,refPaths:i}=await Ee(e.$ref,t),a=_lodashget2.default.call(void 0, t.specs[s||t.specKey],i);if(!a)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return V(a,w(O({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};c();c();c();var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);c();var _acorn = require('acorn');c();c();var Yt=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var re=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},bt=(e,t)=>{if(ce(e)){let r=new URL(t);return e.replace(r.origin,"").replace(M(r.pathname).dirname,"").replace(`.${Yt(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, M(t).dirname,e)).split("../").join("").replace(`.${Yt(e)}`,"")};var Ge="BodyType",kn=(e,t)=>{let r=M(e),n=M(t.path),{pathWithoutExtension:o}=M(re(r.dirname,n.path));return o},$t=async({output:e,mutator:t,name:r,workspace:n,tsconfig:o})=>{var h;if(!t||!e)return;let s=t.default,i=t.name?t.name:`${r}Mutator`,a=t.path,p=await _fsextra.readFile.call(void 0, a,"utf8"),l=p.includes("export type ErrorType")||p.includes("export interface ErrorType"),m=p.includes(`export type ${Ge}`)||p.includes(`export interface ${Ge}`),u=t.default?`${$(r)}ErrorType`:"ErrorType",f=t.default?`${$(r)}${Ge}`:Ge,{file:g,cached:y}=await ft(a,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(g){let d=s?"default":t.name,x=ka(g,d);x||(H().error(_chalk2.default.red(`Your mutator file doesn't have the ${d} exported function`)),process.exit(1));let S=kn(e,t);return O({name:i,path:S,default:s,hasErrorType:l,errorTypeName:u,hasSecondArg:x.numberOfParams>1,hasThirdArg:x.numberOfParams>2,isHook:!!((h=t==null?void 0:t.name)==null?void 0:h.startsWith("use"))&&!x.numberOfParams},m?{bodyTypeName:f}:{})}else{let d=kn(e,t);return y||H().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),O({name:i,path:d,default:s,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:l,errorTypeName:u},m?{bodyTypeName:f}:{})}},ka=(e,t)=>{var r,n;try{let o=_acorn.Parser.parse(e,{ecmaVersion:6}),s=(r=o==null?void 0:o.body)==null?void 0:r.find(a=>{var p,l,m,u,f,g,y;if(a.type==="ExpressionStatement")return((m=(l=(p=a.expression.arguments)==null?void 0:p[1])==null?void 0:l.properties)==null?void 0:m.some(h=>{var d;return((d=h.key)==null?void 0:d.name)===t}))||((f=(u=a.expression.left)==null?void 0:u.property)==null?void 0:f.name)===t?!0:(y=(g=a.expression.right)==null?void 0:g.properties)==null?void 0:y.some(h=>h.key.name===t)});if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Ot(o,s.expression.right.name);let a=(n=s.expression.right)==null?void 0:n.properties.find(p=>p.key.name===t);return a.value.name?Ot(o,a.value.name):a.value.type==="FunctionExpression"||a.value.type==="ArrowFunctionExpression"?{numberOfParams:a.value.params.length}:void 0}let i=s.expression.arguments[1].properties.find(a=>{var p;return((p=a.key)==null?void 0:p.name)===t});return Ot(o,i.value.body.name)}catch (e6){return}},Ot=(e,t)=>{var o;let r=(o=e==null?void 0:e.body)==null?void 0:o.find(s=>{if(s.type==="VariableDeclaration")return s.declarations.find(i=>i.id.name===t);if(s.type==="FunctionDeclaration"&&s.id.name===t)return s});if(!r)return;if(r.type==="FunctionDeclaration")return{numberOfParams:r.params.length};let n=r.declarations.find(s=>s.id.name===t);return n.init.name?Ot(e,n.init.name):{numberOfParams:n.init.params.length}};var Nn=({imports:e=[],target: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,R(s))}';`:`import ${i?"":"type "}{ ${s}${a?` as ${a}`:""} } from './${_upath.join.call(void 0, p,R(s))}';`}return`import ${i?"":"type "}{ ${s}${a?` as ${a}`:""} } from './${R(s)}';`}).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||n.bodyTypeName?`, { ${n.hasErrorType?`ErrorType as ${n.errorTypeName}`:""}${n.hasErrorType&&n.bodyTypeName?",":""} ${n.bodyTypeName?`${Ge} as ${n.bodyTypeName}`:""} }`:""}`:`{ ${n.name}${n.hasErrorType?`, ${n.errorTypeName}`:""}${n.bodyTypeName?`, ${n.bodyTypeName}`:""} }`} from '${t?"../":""}${n.path}'`).join(`
18
+ `);return r?r+`
19
+ `:""},Va=({implementation:e,exports:t,dependency:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s})=>{let i=t.filter(p=>e.includes(p.alias||p.name));if(!i.length)return;let a=i.reduce((p,l)=>{var u,f;let m=o&&l.specKey?l.specKey:"default";return p[m]={values:((u=p[m])==null?void 0:u.values)||l.values&&(s||!l.syntheticDefaultImport)||!1,deps:[...((f=p[m])==null?void 0:f.deps)||[],l]},p},{});return Object.entries(a).map(([p,{values:l,deps:m}])=>{let u=m.find(d=>d.default&&(s||!d.syntheticDefaultImport)),f=s?void 0:m.find(d=>d.syntheticDefaultImport),g=_lodashuniq2.default.call(void 0, m.filter(d=>!d.default&&!d.syntheticDefaultImport).map(({name:d,alias:x})=>x?`${d} as ${x}`:d)).join(`,
20
+ `),y="",h=f?`import * as ${f.name} from '${r}';`:"";if(h){if(m.length===1)return h;y+=`${h}
21
+ `}return y+=`import ${l?"":"type "}${u?`${u.name}${g?",":""}`:""}${g?`{
22
+ ${g}
23
+ }`:""} from '${r}${p!=="default"&&n[p]?`/${n[p]}`:""}'`,y}).join(`
24
+ `)},xt=(e,t,r,n,o)=>{let s=t.map(i=>Va(w(O({},i),{implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o}))).filter(Boolean).join(`
25
+ `);return s?s+`
26
+ `:""},ue=({response:e,body:t,queryParams:r,params:n})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...n.flatMap(({imports:o})=>o)];c();c();var Na=["number","string","null","unknown","undefined","object","blob"],Ae=Na.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),Jt=[Z.POST,Z.PUT,Z.PATCH,Z.DELETE];var Ua=(e,t,r)=>t&&e.formData?`
27
+ formData,`:r&&e.formUrlEncoded?`
28
+ formUrlEncoded,`:e.implementation?`
29
+ ${e.implementation},`:"",Wa=(e,t,r)=>{var s;let n=r!==!1;if(!t&&!e.isBlob)return n?"options":"";let o="";return t&&(o+=`
30
+ params,`),e.isBlob&&(!D(r)||!r.hasOwnProperty("responseType"))&&(o+=`
31
+ responseType: 'blob',`),D(r)&&(o+=`
32
+ ${(s=te(r))==null?void 0:s.slice(1,-1)}`),n&&(o+=`
33
+ ...options`),o},fe=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:s,isFormData:i,isFormUrlEncoded:a,isAngular:p})=>{let l=Jt.includes(o),m=l?Ua(t,i,a):"",u=Wa(n,r==null?void 0:r.schema,s);return o===Z.DELETE?m?`
34
+ \`${e}\`,{${p?"body":"data"}:${m} ${u==="options"?`...${u}`:u}}
35
+ `:`
36
+ \`${e}\`,${u==="options"?u:`{${u}}`}
37
+ `:`
38
+ \`${e}\`,${l?m||"undefined,":""}${u==="options"?u:`{${u}}`}
39
+ `},Ba=(e,t,r)=>t&&e.formData?`,
40
+ data: formData`:r&&e.formUrlEncoded?`,
41
+ data: formUrlEncoded`:e.implementation?`,
42
+ data: ${e.implementation}`:"",za=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
43
+ params,`),e.isBlob&&(r+=`
44
+ responseType: 'blob',`),r},ge=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:s,isFormUrlEncoded:i})=>{let p=Jt.includes(o)?Ba(t,s,i):"",l=za(n,r==null?void 0:r.schema);return`{url: \`${e}\`, method: '${o}'${p}${l}
45
+ }`},de=(e,t)=>{var r,n;return t?D(e)?`{${(n=te(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":D(e)?(r=te(e))==null?void 0:r.slice(1,-1):""},ye=({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 Ka=[{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"}],Un=[],Wn=()=>Ka,Bn=e=>{let t=B(e);return`${$(t)}Service`},zn=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideInRoot:o,provideIn:s})=>`
46
+ ${t&&!n?`type HttpClientOptions = {
47
+ headers?: HttpHeaders | {
48
+ [header: string]: string | string[];
49
+ };
50
+ context?: HttpContext;
51
+ observe?: any;
52
+ params?: HttpParams | {
53
+ [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
54
+ };
55
+ reportProgress?: boolean;
56
+ responseType?: any;
57
+ withCredentials?: boolean;
58
+ };`:""}
59
+
60
+ ${t&&r?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
61
+ type ThirdParameter<T extends (...args: any) => any> = T extends (
62
+ config: any,
63
+ httpClient: any,
64
+ args: infer P,
65
+ ) => any
66
+ ? P
67
+ : never;`:""}
68
+
69
+ @Injectable(${s?`{ providedIn: '${_(s)?"root":s}' }`:""})
70
+ export class ${e} {
71
+ constructor(
72
+ private http: HttpClient,
73
+ ) {}`,Kn=()=>`};
74
+
75
+ ${Un.join(`
76
+ `)}`,Qa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p,formUrlEncoded:l},{route:m})=>{let u=(a==null?void 0:a.requestOptions)!==!1,f=(a==null?void 0:a.formData)!==!1,g=(a==null?void 0:a.formUrlEncoded)!==!1,y=ye({formData:p,formUrlEncoded:l,body:o,isFormData:f,isFormUrlEncoded:g}),h=r.definition.success||"unknown";if(Un.push(`export type ${$(t)}ClientResult = NonNullable<${h}>`),n){let x=ge({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:f,isFormUrlEncoded:g}),S=u?de(a==null?void 0:a.requestOptions,n.hasThirdArg):"";return` ${t}<TData = ${h}>(
77
+ ${z(s,"implementation")}
78
+ ${u&&n.hasThirdArg?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${y}
79
+ return ${n.name}<TData>(
80
+ ${x},
81
+ this.http,
82
+ ${S});
83
+ }
84
+ `}let d=fe({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:a==null?void 0:a.requestOptions,isFormData:f,isFormUrlEncoded:g,isAngular:!0});return` ${t}<TData = ${h}>(
85
+ ${z(s,"implementation")} ${u?`options?: HttpClientOptions
86
+ `:""} ): Observable<TData> {${y}
87
+ return this.http.${i}<TData>(${d});
88
+ }
89
+ `},Qn=(e,t)=>{let r=ue(e);return{implementation:Qa(e,t),imports:r}};c();var La=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],St=new Map,Xt=e=>[...e?[]:La],_a=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p,formUrlEncoded:l},{route:m,context:u})=>{let f=(a==null?void 0:a.requestOptions)!==!1,g=(a==null?void 0:a.formData)!==!1,y=(a==null?void 0:a.formUrlEncoded)!==!1,h=Y(u.tsconfig),d=ye({formData:p,formUrlEncoded:l,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let S=ge({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),j=f?de(a==null?void 0:a.requestOptions,n.hasSecondArg):"";return St.set(t,E=>`export type ${$(t)}Result = NonNullable<AsyncReturnType<${E?`ReturnType<typeof ${E}>['${t}']`:`typeof ${t}`}>>`),`const ${t} = (
90
+ ${z(s,"implementation")}
91
+ ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${d}
92
+ return ${n.name}<${r.definition.success||"unknown"}>(
93
+ ${S},
94
+ ${j});
95
+ }
96
+ `}let x=fe({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:a==null?void 0:a.requestOptions,isFormData:g,isFormUrlEncoded:y});return St.set(t,S=>`export type ${$(t)}Result = AsyncReturnType<${S?`ReturnType<typeof ${S}>['${t}']`:`typeof ${t}`}>`),`const ${t} = <TData = AxiosResponse<${r.definition.success||"unknown"}>>(
97
+ ${z(s,"implementation")} ${f?`options?: AxiosRequestConfig
98
+ `:""} ): Promise<TData> => {${d}
99
+ return axios${h?"":".default"}.${i}(${x});
100
+ }
101
+ `},Zt=e=>{let t=B(e);return`get${$(t)}`},er=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`${t&&r?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
102
+ type SecondParameter<T extends (...args: any) => any> = T extends (
103
+ config: any,
104
+ args: infer P,
105
+ ) => any
106
+ ? P
107
+ : never;
108
+
109
+ `:""}
110
+ ${n?"":`export const ${e} = () => {
111
+ `}`,tr=({operationNames:e,title:t,noFunction:r})=>{let n=`return {${e.join(",")}}};
112
+ `,o=e.map(i=>{var a;return St.has(i)?(a=St.get(i))==null?void 0:a(r||!t?void 0:t):""}).filter(Boolean),s=o.length?`
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ type AsyncReturnType<
115
+ T extends (...args: any) => Promise<any>
116
+ > = T extends (...args: any) => Promise<infer R> ? R : any;
117
+
118
+ ${o.join(`
119
+ `)}`:"";return r?s:n+s},rr=(e,t)=>{let r=ue(e);return{implementation:_a(e,t),imports:r}};c();c();c();c();var Ln={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()"};c();c();var _n=(e,t,r)=>{var i,a;let n=Object.entries(((i=t.specs[r].components)==null?void 0:i.schemas)||[]).reduce((p,[l,m])=>(p[l]=m,p),{}),o=Object.entries(((a=t.specs[r].components)==null?void 0:a.responses)||[]).reduce((p,[l,m])=>{var u,f;return p[l]=A(m)?m:(f=(u=m.content)==null?void 0:u["application/json"])==null?void 0:f.schema,p},{}),s=O(O({},n),o);return w(O({},s[e]),{specKey:r})};var Ha=e=>e[0]==="/"&&e[e.length-1]==="/",wt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Ha(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:He(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},He=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,he=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:i})=>{if(A(e)){let{name:a,specKey:p}=await Ee(e.$ref,w(O({},s),{specKey:e.specKey||s.specKey})),l=w(O({},_n(a,s,p||e.specKey||s.specKey)),{name:a,path:e.path,isRef:!0,specKey:p||e.specKey});return _e({item:l,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:i})}return _e({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:i})};c();var _cuid = require('cuid'); var _cuid2 = _interopRequireDefault(_cuid);c();var Hn=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;c();var Yn=async({item:e,items:t,isOneOf:r,mockOptions:n,operationId:o,tags:s,combine:i,context:a,imports:p})=>{let l=[],m=[...(i==null?void 0:i.properties)||[]];return{value:await v(t,async(f,g,y,h)=>{let d=await he({schema:w(O({},g),{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,imports:p});return l=[...l,...d.imports],m=[...m,...d.properties||[]],!y&&!i?d.enums||r?h.length===1?`faker.helpers.randomize([${d.value}])`:`faker.helpers.randomize([${d.value},`:h.length===1?`{${d.value}}`:`{${d.value},`:h.length-1===y?d.enums||r?f+d.value+(i?"":"])"):f+d.value+(i?"":"}"):d.value?f+d.value+",":f},""),imports:l,name:e.name,properties:m}};c();var _esutils = require('esutils');var Ce=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Jn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:i})=>{if(A(e))return he({schema:w(O({},e),{name:e.name,path:e.path?`${e.path}.${e.name}`:e.name,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s,imports:i});if(e.allOf||e.oneOf||e.anyOf)return Yn({item:e,items:e.allOf||e.oneOf||e.anyOf,isOneOf:!!(e.oneOf||e.anyOf),mockOptions:t,operationId:r,tags:n,combine:o,context:s});if(e.properties){let a=o?"":"{",p=[],l=[];return a+=(await Promise.all(Object.entries(e.properties).map(async([m,u])=>{if(o==null?void 0:o.properties.includes(m))return;let f=(t==null?void 0:t.required)||(Array.isArray(e.required)?e.required:[]).includes(m);if(Hn(e.path,`\\.${m}\\.`)>=1)return;let g=await he({schema:w(O({},u),{name:m,path:e.path?`${e.path}.${m}`:`#.${m}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s,imports:p});p=[...p,...g.imports],l=[...l,m];let y=Ce(m);return!f&&!g.overrided?`${y}: faker.helpers.randomize([${g.value}, undefined])`:`${y}: ${g.value}`}))).filter(Boolean).join(", "),a+=o?"":"}",{value:a,imports:p,name:e.name,properties:l}}if(e.additionalProperties){if(_(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let a=await he({schema:w(O({},e.additionalProperties),{name:e.name,path:e.path?`${e.path}.#`:"#",specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s,imports:i});return w(O({},a),{value:`{
120
+ '${_cuid2.default.call(void 0, )}': ${a.value}
121
+ }`})}return{value:"{}",imports:[],name:e.name}};var _e=async({item:e,imports:t,mockOptions:r,operationId:n,tags:o,combine:s,context:i})=>{var f,g;let a=wt((g=(f=r==null?void 0:r.operations)==null?void 0:f[n])==null?void 0:g.properties,e);if(a)return a;let p=Object.entries((r==null?void 0:r.tags)||{}).reduce((y,[h,d])=>o.includes(h)?je(y,d):y,{}),l=wt(p==null?void 0:p.properties,e);if(l)return l;let m=wt(r==null?void 0:r.properties,e);if(m)return m;let u=O(O({},Ln),(r==null?void 0:r.format)||{});if(e.format&&u[e.format])return{value:He(u[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:He("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:y,enums:h,imports:d,name:x}=await he({schema:w(O({},e.items),{name:e.name,path:e.path?`${e.path}.[]`:"#.[]",specKey:e.specKey}),combine:s,mockOptions:r,operationId:n,tags:o,context:i,imports:t});if(h){let S=t.find(E=>x.replace("[]","")===E.name),j=(S==null?void 0:S.name)||x;return{value:`[...Array(faker.datatype.number({min:1, max: ${h.length}}))].reduce(({values, enums}) => {
122
+ const newValue = enums[faker.datatype.number({min:0, max: enums.length - 1})];
123
+ return {
124
+ values: [...values, newValue],
125
+ enums: enums.filter((v: ${j}) => newValue !== v)
126
+ }
127
+ },{ values: [], enums: Object.values(${j})}).values`,imports:S?[...d,w(O({},S),{values:!0})]:d,name:e.name}}return{value:`[...Array(faker.datatype.number({min: 1, max: 10}))].map(() => (${y}))`,imports:d,name:e.name}}case"string":{let y="faker.random.word()",h=[];if(e.enum){let d="['"+e.enum.map(x=>ht(x)).join("','")+"']";e.isRef&&(d=`Object.values(${e.name})`,h=[{name:e.name,values:!0}]),y=`faker.helpers.randomize(${d})`}return{value:He(y,e.nullable),enums:e.enum,name:e.name,imports:h}}case"object":default:return Jn({item:e,mockOptions:r,operationId:n,tags:o,combine:s,context:i,imports:t})}};var Rt=(e,t)=>Object.entries(W(e)?e(t):e).reduce((r,[n,o])=>{let s=W(o)?`(${o})()`:te(o);return r[n]=s==null?void 0:s.replace(/import_faker.defaults|import_faker.faker/g,"faker"),r},{}),Xa=(e,t)=>{var r,n,o;return O(O(O(O({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:Rt(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:Rt(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((s,[i,a])=>{var p;return((p=a.mock)==null?void 0:p.properties)&&(s[i]={properties:Rt(a.mock.properties,e)}),s},{})}:{}),(t==null?void 0:t.tags)?{tags:Object.entries(t.tags).reduce((s,[i,a])=>{var p;return((p=a.mock)==null?void 0:p.properties)&&(s[i]={properties:Rt(a.mock.properties,e)}),s},{})}:{})},Za=e=>{let t=e.endsWith("[]");switch(t?e.slice(0,-2):e){case"number":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.datatype.number())":"faker.datatype.number().toString()";case"string":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.random.word())":"faker.random.word()";default:return"undefined"}},ep=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>v(r.types.success,async(i,{value:a,originalSchema:p,imports:l})=>{if(!a||Ae.includes(a)){let f=Za(a);return i.definitions.push(o?o(f,r.definition.success):f),i}if(!p)return i;let m=await V(p,s),u=await _e({item:O(O({name:a},m.schema),r.imports.length?{specKey:r.imports[0].specKey}:{}),imports:l,mockOptions:n,operationId:e,tags:t,context:s});return i.imports.push(...u.imports),i.definitions.push(o?o(u.value,r.definition.success):u.value.toString()),i},{definitions:[],imports:[]}),Xn=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let i=Xa(s.specs[s.specKey],n),{definitions:a,imports:p}=await ep({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:i,transformer:o,context:s});return{definition:"["+a.join(", ")+"]",definitions:a,imports:p}},Zn=(e,t)=>{var o,s,i;let r=(i=(s=(o=t==null?void 0:t.operations)==null?void 0:o[e])==null?void 0:s.mock)==null?void 0:i.data,n=W(r)?`(${r})()`:te(r);return n==null?void 0:n.replace(/import_faker.defaults|import_faker.faker/g,"faker")};var tp=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+B(r),""),rp=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${tp(o)}`:`${n}/${o}`:n,t),np=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",values:!0}],dependency:"@faker-js/faker"}],be=(e,t,r,n,o)=>xt(e,[...np,...t],r,n,o),eo=async({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:s,context:i})=>{var y;let{definitions:a,definition:p,imports:l}=await Xn({operationId:e,tags:n,response:t,override:s,context:i}),m=rp(o,(y=s==null?void 0:s.mock)==null?void 0:y.baseUrl),u=Zn(e,s),f="";u?f=u:a.length>1?f=`faker.helpers.randomize(${p})`:a[0]&&(f=a[0]);let g=t.contentTypes.includes("text/plain")?"text":"json";return{implementation:{function:f&&f!=="undefined"?`export const get${$(e)}Mock = () => (${f})
128
+
129
+ `:"",handler:`rest.${r}('${m}', (_req, res, ctx) => {
130
+ return res(
131
+ ctx.delay(1000),
132
+ ctx.status(200, 'Mocked status'),${f&&f!=="undefined"?`
133
+ ctx.${g}(get${$(e)}Mock()),`:""}
134
+ )
135
+ }),`},imports:l}};c();var _lodashomitby = require('lodash.omitby'); var _lodashomitby2 = _interopRequireDefault(_lodashomitby);c();var oe={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam"};var or=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],sp=[{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"}],to=e=>[...e?[]:or,...sp],ip=[{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"}],ro=e=>[...e?[]:or,...ip],ap=[{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"}],no=e=>[...e?[]:or,...ap],pp=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,formUrlEncoded:p,override:l},{route:m,context:u})=>{let f=(l==null?void 0:l.requestOptions)!==!1,g=(l==null?void 0:l.formData)!==!1,y=(l==null?void 0:l.formUrlEncoded)!==!1,h=Y(u.tsconfig),d=ye({formData:a,formUrlEncoded:p,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let S=ge({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),j=(n==null?void 0:n.bodyTypeName)?z(s,"implementation").replace(new RegExp(`(${i}\\w*):\\s?(\\w*)`),`$1: ${n.bodyTypeName}<$2>`).replace(new RegExp("(\\w*Body):\\s?(\\w*)"),`$1: ${n.bodyTypeName}<$2>`):z(s,"implementation"),E=f?de(l==null?void 0:l.requestOptions,n.hasSecondArg):"";return n.isHook?`export const use${$(t)}Hook = () => {
136
+ const ${t} = ${n.name}<${r.definition.success||"unknown"}>();
137
+
138
+ return (
139
+ ${j}
140
+ ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${d}
141
+ return ${t}(
142
+ ${S},
143
+ ${E});
144
+ }
145
+ }
146
+ `:`export const ${t} = (
147
+ ${j}
148
+ ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${d}
149
+ return ${n.name}<${r.definition.success||"unknown"}>(
150
+ ${S},
151
+ ${E});
152
+ }
153
+ `}let x=fe({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:l==null?void 0:l.requestOptions,isFormData:g,isFormUrlEncoded:y});return`export const ${t} = (
154
+ ${z(s,"implementation")} ${f?`options?: AxiosRequestConfig
155
+ `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${d}
156
+ return axios${h?"":".default"}.${i}(${x});
157
+ }
158
+ `},nr={INFINITE:"infiniteQuery",QUERY:"query"},mp=["getNextPageParam","getPreviousPageParam"],cp=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=D(t)?` ${(o=te(_lodashomitby2.default.call(void 0, t,(s,i)=>!!(r!==nr.INFINITE&&mp.includes(i)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!D(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},oo=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,type:o})=>{let s=r==null?void 0:r.isHook,i=o?`Use${$(o)}Options<AsyncReturnType<${s?`ReturnType<typeof use${$(e)}Hook>`:`typeof ${e}`}>, TError, TData>`:`UseMutationOptions<AsyncReturnType<${s?`ReturnType<typeof use${$(e)}Hook>`:`typeof ${e}`}>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;return n?`options?: { ${o?"query":"mutation"}?:${i}, ${r?(r==null?void 0:r.hasSecondArg)?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
159
+ `:`${o?"queryOptions":"mutationOptions"}?: ${i}`},lp=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:i,properties:a,params:p,props:l,mutator:m,isRequestOptions:u,response:f,outputClient:g})=>{let y=t?l.map(({name:S})=>S==="params"?`{ ${t}: pageParam, ...params }`:S).join(","):a,h=g!==L.SVELTE_QUERY?` Use${$(n)}Result<TData, TError>`:`Use${$(n)}StoreResult<AsyncReturnType<${(m==null?void 0:m.isHook)?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>, TError, TData, QueryKey>`,d=`AxiosError<${f.definition.errors||"unknown"}>`;m&&(d=m.hasErrorType?`${m.default?$(o):""}ErrorType<${f.definition.errors||"unknown"}>`:f.definition.errors||"unknown");let x=(m==null?void 0:m.isHook)?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`;return`
160
+ export type ${$(e)}QueryResult = NonNullable<AsyncReturnType<${x}>>
161
+ export type ${$(e)}QueryError = ${d}
162
+
163
+ export const ${R(`use-${e}`)} = <TData = AsyncReturnType<${x}>, TError = ${d}>(
164
+ ${s} ${oo({operationName:o,definitions:"",mutator:m,isRequestOptions:u,type:n})}
165
+ ): ${h} & { queryKey: QueryKey } => {
166
+
167
+ ${u?`const {query: queryOptions${m?m.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
168
+
169
+ const queryKey = queryOptions?.queryKey ?? ${i}(${a});
170
+
171
+ ${(m==null?void 0:m.isHook)?`const ${o} = use${$(o)}Hook()`:""}
172
+
173
+ const queryFn: QueryFunction<AsyncReturnType<${(m==null?void 0:m.isHook)?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>> = (${t&&l.some(({type:S})=>S==="queryParam")?"{ pageParam }":""}) => ${o}(${y}${y?", ":""}${u?m?m.hasSecondArg?"requestOptions":"":"axiosOptions":""});
174
+
175
+ const query = ${R(`use-${n}`)}<AsyncReturnType<${(m==null?void 0:m.isHook)?`ReturnType<typeof use${$(o)}Hook>`:`typeof ${o}`}>, TError, TData>(queryKey, queryFn, ${cp({params:p,options:r,type:n})})
176
+
177
+ return {
178
+ queryKey,
179
+ ...query
180
+ }
181
+ }
182
+ `},up=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p,operationId:l},{route:m,override:{operations:u={}}},f)=>{var E;let g=i==null?void 0:i.query,y=(i==null?void 0:i.requestOptions)!==!1,h=(E=u[l])==null?void 0:E.query;if(o===Z.GET||(h==null?void 0:h.useInfinite)||(h==null?void 0:h.useQuery)){let P=n.map(({name:K,type:J})=>J===oe.BODY?r.implementation:K).join(","),C=[...(g==null?void 0:g.useInfinite)?[{name:R(`${t}-infinite`),options:g==null?void 0:g.options,type:nr.INFINITE,queryParam:g==null?void 0:g.useInfiniteQueryParam}]:[],...!(g==null?void 0:g.useQuery)&&!(g==null?void 0:g.useInfinite)||(g==null?void 0:g.useQuery)?[{name:t,options:g==null?void 0:g.options,type:nr.QUERY}]:[]],G=R(`get-${t}-queryKey`),k=z(n,"implementation");return`export const ${G} = (${k}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
183
+
184
+ ${C.reduce((K,J)=>K+lp({queryOption:J,operationName:t,queryProps:k,queryKeyFnName:G,properties:P,params:s,props:n,mutator:a,isRequestOptions:y,response:p,outputClient:f}),"")}
185
+ `}let d=n.map(({definition:P,type:C})=>C===oe.BODY?(a==null?void 0:a.bodyTypeName)?`data: ${a.bodyTypeName}<${r.definition}>`:`data: ${r.definition}`:P).join(";"),x=n.map(({name:P,type:C})=>C===oe.BODY?"data":P).join(","),S=`AxiosError<${p.definition.errors||"unknown"}>`;a&&(S=a.hasErrorType?`${a.default?$(t):""}ErrorType<${p.definition.errors||"unknown"}>`:p.definition.errors||"unknown");let j=(a==null?void 0:a.isHook)?`ReturnType<typeof use${$(t)}Hook>`:`typeof ${t}`;return`
186
+ export type ${$(t)}MutationResult = NonNullable<AsyncReturnType<${j}>>
187
+ ${r.definition?`export type ${$(t)}MutationBody = ${r.definition}`:""}
188
+ export type ${$(t)}MutationError = ${S}
189
+
190
+ export const ${R(`use-${t}`)} = <TError = ${S},
191
+ ${d?"":"TVariables = void,"}
192
+ TContext = unknown>(${oo({operationName:t,definitions:d,mutator:a,isRequestOptions:y})}) => {
193
+ ${y?`const {mutation: mutationOptions${a?(a==null?void 0:a.hasSecondArg)?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
194
+
195
+ ${(a==null?void 0:a.isHook)?`const ${t} = use${$(t)}Hook()`:""}
196
+
197
+
198
+ const mutationFn: MutationFunction<AsyncReturnType<${j}>, ${d?`{${d}}`:"TVariables"}> = (${x?"props":""}) => {
199
+ ${x?`const {${x}} = props || {}`:""};
200
+
201
+ return ${t}(${x}${x?",":""}${y?a?(a==null?void 0:a.hasSecondArg)?"requestOptions":"":"axiosOptions":""})
202
+ }
203
+
204
+ return useMutation<AsyncReturnType<typeof ${t}>, TError, ${d?`{${d}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
205
+ }
206
+ `},jt=()=>"",Tt=({isRequestOptions:e,isMutator:t})=>`// eslint-disable-next-line @typescript-eslint/no-explicit-any
207
+ type AsyncReturnType<
208
+ T extends (...args: any) => Promise<any>
209
+ > = T extends (...args: any) => Promise<infer R> ? R : any;
210
+
211
+
212
+ ${e&&t?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
213
+ type SecondParameter<T extends (...args: any) => any> = T extends (
214
+ config: any,
215
+ args: infer P,
216
+ ) => any
217
+ ? P
218
+ : never;
219
+
220
+ `:""}`,Pt=()=>"",vt=(e,t,r)=>{let n=ue(e),o=pp(e,t),s=up(e,t,r);return{implementation:`${o}
221
+
222
+ ${s}`,imports:n}};c();var fp=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],gp=[{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],so=e=>[...e?[]:fp,...gp],dp=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,formUrlEncoded:p,override:l},{route:m,context:u})=>{let f=(l==null?void 0:l.requestOptions)!==!1,g=(l==null?void 0:l.formData)!==!1,y=(l==null?void 0:l.formUrlEncoded)!==!1,h=Y(u.tsconfig),d=ye({formData:a,formUrlEncoded:p,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let S=ge({route:m,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),j=f?de(l==null?void 0:l.requestOptions,n.hasSecondArg):"";return`export const ${t} = (
223
+ ${z(s,"implementation")}
224
+ ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${d}
225
+ return ${n.name}<${r.definition.success||"unknown"}>(
226
+ ${S},
227
+ ${j});
228
+ }
229
+ `}let x=fe({route:m,body:o,queryParams:e,response:r,verb:i,requestOptions:l==null?void 0:l.requestOptions,isFormData:g,isFormUrlEncoded:y});return`export const ${t} = (
230
+ ${z(s,"implementation")} ${f?`options?: AxiosRequestConfig
231
+ `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${d}
232
+ return axios${h?"":".default"}.${i}(${x});
233
+ }
234
+ `},yp=({operationName:e,mutator:t,isRequestOptions:r})=>{let n=`SWRConfiguration<AsyncReturnType<typeof ${e}>, TError> & {swrKey: Key}`;return r?`options?: { swr?:${n}, ${t?(t==null?void 0:t.hasSecondArg)?`request?: SecondParameter<typeof ${t.name}>`:"":"axios?: AxiosRequestConfig"} }
235
+ `:`swrOptions?: ${n}`},hp=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:s,isRequestOptions:i,response:a})=>{let p=n,l=o.length?`const isEnable = !!(${o.map(({name:u})=>u).join(" && ")})
236
+ const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);`:`const swrKey = swrOptions?.swrKey ?? (() => ${r}(${n}))`,m=`AxiosError<${a.definition.errors||"unknown"}>`;return s&&(m=s.hasErrorType?`ErrorType<${a.definition.errors||"unknown"}>`:a.definition.errors||"unknown"),`
237
+ export type ${$(e)}QueryResult = NonNullable<AsyncReturnType<typeof ${e}>>
238
+ export type ${$(e)}QueryError = ${m}
239
+
240
+ export const ${R(`use-${e}`)} = <TError = ${m}>(
241
+ ${t} ${yp({operationName:e,mutator:s,isRequestOptions:i})}
242
+ ) => {
243
+
244
+ ${i?`const {swr: swrOptions${s?(s==null?void 0:s.hasSecondArg)?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
245
+
246
+ ${l}
247
+ const swrFn = () => ${e}(${p}${p?", ":""}${i?s?(s==null?void 0:s.hasSecondArg)?"requestOptions":"":"axiosOptions":""});
248
+
249
+ const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
250
+
251
+ return {
252
+ swrKey,
253
+ ...query
254
+ }
255
+ }
256
+ `},bp=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p},{route:l})=>{let m=(i==null?void 0:i.requestOptions)!==!1;if(o!==Z.GET)return"";let u=n.map(({name:y,type:h})=>h===oe.BODY?r.implementation:y).join(","),f=R(`get-${t}-key`),g=z(n,"implementation");return`export const ${f} = (${g}) => [\`${l}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
257
+
258
+ ${hp({operationName:t,swrProps:g,swrKeyFnName:f,properties:u,params:s,props:n,mutator:a,isRequestOptions:m,response:p})}
259
+ `},io=()=>"",ao=({isRequestOptions:e,isMutator:t})=>`// eslint-disable-next-line @typescript-eslint/no-explicit-any
260
+ type AsyncReturnType<
261
+ T extends (...args: any) => Promise<any>
262
+ > = T extends (...args: any) => Promise<infer R> ? R : any;
263
+
264
+
265
+ ${e&&t?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
266
+ type SecondParameter<T extends (...args: any) => any> = T extends (
267
+ config: any,
268
+ args: infer P,
269
+ ) => any
270
+ ? P
271
+ : never;
272
+
273
+ `:""}`,po=()=>"",mo=(e,t)=>{let r=ue(e),n=dp(e,t),o=bp(e,t);return{implementation:`${n}
274
+
275
+ ${o}`,imports:r}};var Ye=L.AXIOS,co={axios:{client:rr,header:er,dependencies:Xt,footer:tr,title:Zt},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=rr(e,t);return{implementation:"export "+r,imports:n}},header:e=>er(w(O({},e),{noFunction:!0})),dependencies:Xt,footer:e=>tr(w(O({},e),{noFunction:!0})),title:Zt},angular:{client:Qn,header:zn,dependencies:Wn,footer:Kn,title:Bn},"react-query":{client:vt,header:Tt,dependencies:ro,footer:Pt,title:jt},"svelte-query":{client:vt,header:Tt,dependencies:to,footer:Pt,title:jt},"vue-query":{client:vt,header:Tt,dependencies:no,footer:Pt,title:jt},swr:{client:mo,header:ao,dependencies:so,footer:po,title:io}},Je=e=>{let t=W(e)?e(co):co[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},Oe=(e=Ye,t,r,n,o,s,i)=>{let{dependencies:a}=Je(e);return xt(t,[...a(i),...r],n,o,s)},Et=({outputClient:e=Ye,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:i,provideIn:a})=>{let p=lo(e,r,n),{header:l}=Je(e);return{implementation:l({title:p.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:i,provideIn:a}),implementationMSW:`export const ${p.implementationMSW} = () => [
276
+ `}},Mt=({outputClient:e=Ye,operationNames:t,title:r,customTitleFunc:n})=>{let o=lo(e,r,n),{footer:s}=Je(e),i;try{W(e)?(i=s(t),console.warn("[WARN] Passing an array of strings for operations names to the footer function is deprecated and will be removed in a future major release. Please pass them in an object instead: { operationNames: string[] }.")):i=s({operationNames:t,title:o.implementation})}catch (e7){i=s({operationNames:t,title:o.implementation})}return{implementation:i,implementationMSW:`]
277
+ `}},lo=(e=Ye,t,r)=>{let{title:n}=Je(e);if(r){let o=r(t);return{implementation:n(o),implementationMSW:`get${$(o)}MSW`}}return{implementation:n(t),implementationMSW:`get${$(t)}MSW`}},Op=async(e,t)=>t.mock?W(t.mock)?t.mock(e,t):eo(e,t):{implementation:{function:"",handler:""},imports:[]},uo=(e=Ye,t,r)=>v(t,async(n,o)=>{let{client:s}=Je(e),i=s(o,r,e),a=await Op(o,r);return 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,formUrlEncoded:o.formUrlEncoded,operationName:o.operationName},n},{});c();c();var $p="\\*/",sr="*\\/",ir=new RegExp($p,"g");function U({description:e,deprecated:t,summary:r},n=!1){var l;let o=(Array.isArray(e)?e.filter(m=>!m.includes("eslint-disable")):[e||""]).map(m=>m.replace(ir,sr)),s=[e,t,r].reduce((m,u)=>u?m+1:m,0);if(!s)return"";let i=s===1&&n,a=Array.isArray(e)?(l=e.find(m=>m.includes("eslint-disable")))==null?void 0:l.replace(ir,sr):void 0,p=`${a?`/* ${a} */
278
+ `:""}/**`;return e&&(i||(p+=`
279
+ ${n?" ":""} *`),p+=` ${o.join(`
280
+ * `)}`),t&&(i||(p+=`
281
+ ${n?" ":""} *`),p+=" @deprecated"),r&&(i||(p+=`
282
+ ${n?" ":""} *`),p+=` @summary ${r.replace(ir,sr)}`),p+=i?" ":`
283
+ ${n?" ":""}`,p+=`*/
284
+ `,p}c();c();var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);c();var Xe=async(e,t,r,n)=>{let{schema:o,imports:s}=await V(t,r),i=A(t)?s[0].name:e,a=n?"formUrlEncoded":"formData",p=n?`const ${a} = new URLSearchParams();
285
+ `:`const ${a} = new FormData();
286
+ `;if(o.type==="object"&&o.properties){let l=await v(Object.entries(o.properties),async(m,[u,f])=>{var h;let{schema:g}=await V(f,r),y="";return g.type==="object"||g.type==="array"?y=`${a}.append('${u}', JSON.stringify(${R(i)}${u.includes("-")?`['${u}']`:`.${u}`}))
287
+ `:g.type==="number"||g.type==="integer"||g.type==="boolean"?y=`${a}.append('${u}', ${R(i)}${u.includes("-")?`['${u}']`:`.${u}`}.toString())
288
+ `:y=`${a}.append('${u}', ${R(i)}${u.includes("-")?`['${u}']`:`.${u}`})
289
+ `,((h=o.required)==null?void 0:h.includes(u))?m+y:m+`if(${R(i)}${u.includes("-")?`['${u}']`:`.${u}`} !== undefined) {
290
+ ${y} }
291
+ `},"");return`${p}${l}`}return o.type==="array"?`${p}${a}.append('data', JSON.stringify(${R(i)}))
292
+ `:o.type==="number"||o.type==="boolean"?`${p}${a}.append('data', ${R(i)}.toString())
293
+ `:`${p}${a}.append('data', ${R(i)})
294
+ `};c();c();var De=(e,t,r)=>{let n=`export type ${r} = ${e};
295
+ `,o=It(e,t,r);return n+=`
296
+
297
+ `,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
298
+ `,n+=`export const ${r} = {
299
+ ${o}};
300
+ `,n},It=(e,t,r)=>[...new Set(e.split(" | "))].reduce((n,o)=>{if(o==="null")return n;let s=t==="number",a=!Number.isNaN(Number(o.slice(1,-1)))||s?Sp(s?o.toString():o.slice(1,-1)):B(o,{underscore:"_",whitespace:"_",dash:"-"});return n+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${o} as ${r},
301
+ `},""),Sp=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;c();c();c();var fo=async({schema:e,name:t,context:r})=>{if(e.items){let n=await se({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")};c();c();var wp={allOf:"&",oneOf:"|",anyOf:"|"},Gt=async({name:e,items:t,separator:r,context:n,nullable:o})=>{let s=await v(t,async(p,l)=>{let m=e?e+$(r):void 0;m&&p.schemas.length&&(m=m+$(yt(p.schemas.length+1)));let u=await se({schema:l,propName:m,combined:!0,context:n});return p.values.push(u.value),p.imports.push(...u.imports),p.schemas.push(...u.schemas),p.isEnum.push(u.isEnum),p.types.push(u.type),p.isRef.push(u.isRef),p},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[]}),i=s.isEnum.every(p=>p),a=s.values.join(` ${i?"|":wp[r]} `);if(i&&e&&t.length>1){let p=`
302
+
303
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
304
+ export const ${$(e)} = ${Rp(s,e)}`;return{value:`${a+o};`+p,imports:s.imports.map(l=>w(O({},l),{values:!0})),schemas:s.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:a+o,imports:s.imports,schemas:s.schemas,isEnum:!1,type:"object",isRef:!1}},Rp=({values:e,isRef:t,types:r},n)=>e.length===1?t[0]?e[0]:`{${It(e[0],r[0],$(n))}}`:`{${e.map((s,i)=>t[i]?`...${s}`:It(s,r[i],$(n))).join(",")}}`;var go=async({item:e,name:t,context:r,nullable:n})=>{if(A(e)){let{name:o,specKey:s}=await Ee(e.$ref,r);return{value:o+n,imports:[{name:o,specKey:s}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return Gt({items:e.properties?[...e.allOf,_lodashomit2.default.call(void 0, e,"allOf")]:e.allOf,name:t,separator:"allOf",context:r,nullable:n});if(e.oneOf)return Gt({items:e.properties?[...e.oneOf,_lodashomit2.default.call(void 0, e,"oneOf")]:e.oneOf,name:t,separator:"oneOf",context:r,nullable:n});if(e.anyOf)return Gt({items:e.properties?[...e.anyOf,_lodashomit2.default.call(void 0, e,"anyOf")]:e.anyOf,name:t,separator:"anyOf",context:r,nullable:n});if(e.properties&&Object.entries(e.properties).length>0)return v(Object.entries(e.properties),async(o,[s,i],a,p)=>{var h,d,x;let l=(Array.isArray(e.required)?e.required:[]).includes(s),m=t?$(t)+$(s):void 0;!!((x=(d=(h=r.specs[r.target])==null?void 0:h.components)==null?void 0:d.schemas)==null?void 0:x[m||""])&&(m=m+"Property");let f=await se({schema:i,propName:m,context:r}),g=e.readOnly||i.readOnly;a||(o.value+="{");let y=U(i,!0);if(o.imports.push(...f.imports),o.value+=`
305
+ ${y?`${y} `:""}${g?"readonly ":""}${Ce(s)}${l?"":"?"}: ${f.value};`,o.schemas.push(...f.schemas),p.length-1===a){if(e.additionalProperties)if(_(e.additionalProperties))o.value+=`
306
+ [key: string]: any;
307
+ }`;else{let S=await ne({schema:e.additionalProperties,name:t,context:r});o.value+=`
308
+ [key: string]: ${S.value};
309
+ }`}else o.value+=`
310
+ }`;o.value+=n}return o},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(_(e.additionalProperties))return{value:"{ [key: string]: any }"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let o=await ne({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${o.value}}`+n,imports:o.imports||[],schemas:o.schemas||[],isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var At=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 fo({schema:e,name:t,context:r}),{value:i}=o,a=xe(o,["value"]);return O({value:i+n},a)}case"string":{let i="string",a=!1;return e.enum&&(i=`'${e.enum.map(p=>q(p)?ht(p):p).filter(Boolean).join("' | '")}'`,a=!0),e.format==="binary"&&(i="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(i="Date"),{value:i+n,isEnum:a,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let s=await go({item:e,name:t,context:r,nullable:n}),{value:i}=s,a=xe(s,["value"]);return O({value:i},a)}}};var ne=async({schema:e,name:t,context:r})=>{if(A(e)){let{schema:o,imports:s}=await V(e,r),{name:i,specKey:a,schemaName:p}=s[0],l=a||(r.specKey!==r.target?r.specKey:void 0);return{value:i,imports:[{name:i,specKey:l,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 At({item:e,name:t,context:r});return w(O({},n),{originalSchema:e,isRef:!1})};var se=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await ne({schema:e,name:t,context:n}),s=U(o.originalSchema||{});if(t&&!o.isEnum&&(o==null?void 0:o.type)==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${s}export type ${t} = ${o.value};
311
+ `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let i=De(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 yo=["multipart/form-data"],ho=["application/x-www-form-urlencoded"],Tp=async({mediaType:e,propName:t,context:r})=>e.schema?await se({schema:e.schema,propName:t,context:r}):void 0,qe=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,i])=>Boolean(i)).map(async([s,i])=>{if(A(i)){let{schema:a,imports:[{name:p,specKey:l,schemaName:m}]}=await V(i,r),[u,f]=Object.entries(a.content||{})[0]||[],g=yo.includes(u),y=ho.includes(u);if(!g&&!y||!(f==null?void 0:f.schema))return[{value:p,imports:[{name:p,specKey:l,schemaName:m}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:u}];let h=g?await Xe(p,f==null?void 0:f.schema,w(O({},r),{specKey:l||r.specKey})):void 0,d=y?await Xe(p,f==null?void 0:f.schema,w(O({},r),{specKey:l||r.specKey}),!0):void 0;return[{value:p,imports:[{name:p,specKey:l,schemaName:m}],schemas:[],type:"unknown",isEnum:!1,formData:h,formUrlEncoded:d,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:u}]}return i.content?(await Promise.all(Object.entries(i.content).map(async([p,l],m,u)=>{let f=s?$(t)+$(s):void 0;f&&u.length>1&&(f=f+$(yt(m+1)));let g=await Tp({mediaType:l,propName:f,context:r});if(!g)return;let y=yo.includes(p),h=ho.includes(p);if(!y&&!h||!f)return w(O({},g),{contentType:p});let d=y?await Xe(f,l.schema,r):void 0,x=h?await Xe(f,l.schema,r,!0):void 0;return w(O({},g),{formData:d,formUrlEncoded:x,contentType:p})}))).filter(p=>p).map(p=>w(O({},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.flatMap(s=>s),"value")};var bo=async(e,t,r)=>{let n=await qe([[r.override.components.requestBodies.suffix,e]],t,r),o=n.flatMap(({imports:m})=>m),s=n.flatMap(({schemas:m})=>m),i=n.map(({value:m})=>m).join(" | "),a=Ae.includes(i.toLowerCase())||n.length>1?R(t)+r.override.components.requestBodies.suffix:R(i),p=n.length===1?n[0].formData:void 0,l=n.length===1?n[0].formUrlEncoded:void 0;return{definition:i,implementation:a,imports:o,schemas:s,formData:p||"",formUrlEncoded:l||""}};c();var Oo=(e,t,r)=>e.operationId?e.operationId:$([r,...t.split("/").map(n=>B(n,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));c();var $o=async({parameters:e=[],context:t})=>v(e,async(r,n)=>{if(A(n)){let{schema:o,imports:s}=await V(n,t);(o.in==="path"||o.in==="query")&&r[o.in].push({parameter:o,imports:s})}else(n.in==="query"||n.in==="path")&&r[n.in].push({parameter:n,imports:[]});return r},{path:[],query:[]});c();var Pp=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},xo=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=Pp(e);return Promise.all(o.map(async s=>{let i=t.find(({parameter:y})=>R(B(y.name,{underscore:!0,dash:!0}))===s);if(!i)throw new Error(`The path params ${s} can't be found in parameters (${r})`);let{name:a,required:p=!1,schema:l}=i.parameter,m=B(R(a));if(!l)return{name:m,definition:`${m}${p?"":"?"}: unknown`,implementation:`${m}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let u=await ne({schema:l,context:O(O({},n),i.imports.length?{specKey:i.imports[0].specKey}:{})}),f=`${m}${!p||u.originalSchema.default?"?":""}: ${u.value}`,g=`${m}${!p&&!u.originalSchema.default?"?":""}${u.originalSchema.default?`= ${te(u.originalSchema.default)}`:`: ${u.value}`}`;return{name:m,definition:f,implementation:g,default:u.originalSchema.default,required:p,imports:u.imports}}))};c();c();var So=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var wo=({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:oe.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:oe.QUERY_PARAM},s=[...r.map(a=>w(O({},a),{type:oe.PARAM})),...e.definition?[n]:[],...t?[o]:[]];return So(s)};c();var vp=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:s,required:i,schema:a,content:p}=n,{value:l,imports:m,isEnum:u,type:f,schemas:g,isRef:y}=await ne({schema:a||p["application/json"].schema,context:r,name:$(t)+$(s)}),h=Ce(s);if(o.length)return{definition:`${h}${!i||a.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(u&&!y){let x=$(t)+$(s),S=De(l,f,x);return{definition:`${h}${!i||a.default?"?":""}: ${x}`,imports:[{name:x}],schemas:[...g,{name:x,model:S,imports:m}]}}return{definition:`${h}${!i||a.default?"?":""}: ${l}`,imports:m,schemas:g}})),Ro=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await vp(e,t,r),o=n.flatMap(({imports:l})=>l),s=n.flatMap(({schemas:l})=>l),i=`${$(t)}Params`,a=n.map(({definition:l})=>l).join("; ");return{schema:{name:i,model:`export type ${i} = { ${a} };
312
+ `,imports:o},deps:s}};c();var jo=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=await qe(Object.entries(e),t,r,"void"),o=n.reduce((m,u)=>(u.key.startsWith("2")?m.success.push(u):m.errors.push(u),m),{success:[],errors:[]}),s=n.flatMap(({imports:m})=>m),i=n.flatMap(({schemas:m})=>m),a=[...new Set(n.map(({contentType:m})=>m))],p=o.success.map(({value:m,formData:u})=>u?"Blob":m).join(" | "),l=o.errors.map(({value:m})=>m).join(" | ");return{imports:s,definition:{success:p||"unknown",errors:l||"unknown"},isBlob:p==="Blob",types:o,contentTypes:a,schemas:i}};var Mp=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var Be;let{responses:i,requestBody:a,parameters:p,tags:l=[],deprecated:m,description:u,summary:f}=r,g=Oo(r,n,e),y=t.override.operations[r.operationId],h=Object.entries(t.override.tags).reduce((ze,[it,at])=>l.includes(it)?je(ze,at):ze,{}),d=O(O(O({},t.override),h),y),x=(y==null?void 0:y.operationName)||((Be=t.override)==null?void 0:Be.operationName),S=x?x(r,n,e):R(g),j=_esutils.keyword.isKeywordES5(S,!0)?`_${S}`:S,E=await jo(i,j,s),P=await bo(a,j,s),C=await $o({parameters:[...o,...p||[]],context:s}),G=await Ro({queryParams:C.query,operationName:j,context:s}),k=await xo({route:n,pathParams:C.path,operationId:g,context:s}),K=wo({body:P,queryParams:G==null?void 0:G.schema,params:k}),J=await $t({output:t.target,name:j,mutator:d==null?void 0:d.mutator,workspace:s.workspace,tsconfig:s.tsconfig}),ie=q(d==null?void 0:d.formData)||D(d==null?void 0:d.formData)?await $t({output:t.target,name:j,mutator:d.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Pe=q(d==null?void 0:d.formUrlEncoded)||D(d==null?void 0:d.formUrlEncoded)?await $t({output:t.target,name:j,mutator:d.formUrlEncoded,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,st=U({description:u,deprecated:m,summary:f}),Ue={verb:e,tags:l,summary:r.summary,operationId:g,operationName:j,response:E,body:P,queryParams:G,params:k,props:K,mutator:J,formData:ie,formUrlEncoded:Pe,override:d,doc:st},We=await dt(d==null?void 0:d.transformer,s.workspace);return We?We(Ue):Ue},To=({verbs:e,output:t,route:r,context:n})=>v(Object.entries(e),async(o,[s,i])=>{if(sn(s)){let a=await Mp({verb:s,output:t,verbParameters:e.parameters,route:r,operation:i,context:n});o.push(a)}return o},[]);var Po=async({output:e,context:t})=>v(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Cn(n),i=o,a=t;if(A(o)){let{schema:u,imports:f}=await V(o,t);i=u,a=O(O({},t),f.length?{specKey:f[0].specKey}:{})}let p=await To({verbs:i,output:e,route:s,context:a}),l=p.reduce((u,{queryParams:f,body:g,response:y})=>(f&&u.push(f.schema,...f.deps),u.push(...g.schemas),u.push(...y.schemas),u),[]),m=await uo(e.client,p,{route:s,pathRoute:n,override:e.override,context:a,mock:!!e.mock});return r.schemas.push(...l),r.operations=O(O({},r.operations),m),r},{operations:{},schemas:[]});c();var Zs=Ke(Sr());var wr=(e={},t,r)=>(0,Zs.default)(e)?Promise.resolve([]):v(Object.entries(e),async(n,[o,s])=>{let i=await qe([[r,s]],o,t,"void"),a=i.flatMap(({imports:g})=>g),p=i.flatMap(({schemas:g})=>g),l=i.map(({value:g})=>g).join(" | "),m=`${$(o)}${r}`,f=`${U(s)}export type ${m} = ${l||"unknown"};
313
+ `;return n.push(...p),m!==l&&n.push({name:m,model:f,imports:a}),n},[]);c();var ei=(e={},t,r)=>v(Object.entries(e),async(n,[o,s])=>{let i=`${$(o)}${r}`,{schema:a,imports:p}=await V(s,t);if(a.in!=="query")return n;if(!a.schema||p.length)return n.push({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"};
314
+ `}),n;let l=await se({schema:a.schema,propName:i,context:t}),u=`${U(s)}export type ${i} = ${l.value||"unknown"};
315
+ `;return n.push(...l.schemas),i!==l.value&&n.push({name:i,model:u,imports:l.imports}),n},[]);c();var ri=Ke(Sr());c();var ti=async({name:e,schema:t,context:r,suffix:n})=>{let o=await At({item:t,name:e,context:r}),s=o.value==="{}",i="";i+=U(t),s&&(r.tslint?i+=`// tslint:disable-next-line:no-empty-interface
316
+ `:i+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
317
+ `),Ae.includes(o.value)?i+=`export type ${e} = ${o.value};
318
+ `:i+=`export interface ${e} ${o.value}
319
+ `;let a=o.imports.filter(p=>p.name!==e);return[...o.schemas,{name:e,model:i,imports:a}]};var ni=async(e={},t,r)=>(0,ri.default)(e)?[]:v(Object.entries(e),async(o,[s,i])=>{let a=$(s)+r;if((!i.type||i.type==="object")&&!i.allOf&&!i.oneOf&&!i.anyOf&&!A(i)&&!i.nullable)return o.push(...await ti({name:a,schema:i,context:t,suffix:r})),o;{let p=await ne({schema:i,name:a,context:t}),l="",m=p.imports;if(l+=U(i),p.isEnum&&!p.isRef)l+=De(p.value,p.type,a);else if(a===p.value&&p.isRef){let u=p.imports.find(f=>f.name===a);if(!u)l+=`export type ${a} = ${p.value};
320
+ `;else{let f=(u==null?void 0:u.specKey)?`${$(bt(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;l+=`export type ${a} = ${f};
321
+ `,m=m.map(g=>g.name===a?w(O({},g),{alias:f}):g)}}else l+=`export type ${a} = ${p.value};
322
+ `;return o.push(...p.schemas,{name:a,model:l,imports:m}),o}},[]);c();var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var oi=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&un(r),t.length&&fn(t)};var bl=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await dt(t.override.transformer,r):void 0;return v(Object.entries(e),async(s,[i,a])=>{let p=await In(a,t.converterOptions,i),l=n?n(p):p;return t.validation&&await oi(l),s[i]=l,s},{})},Rr=async({data:e,input:t,output:r,target:n,workspace:o})=>{let s=await bl({specs:e,input:t,workspace:o}),i=await v(Object.entries(s),async(p,[l,m])=>{var x,S,j,E,P;let u={specKey:l,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig},f=await ni(m.openapi?(S=m.components)==null?void 0:S.schemas:O(O({},_lodashomit2.default.call(void 0, m,["openapi","info","servers","paths","components","security","tags","externalDocs"])),((x=m.components)==null?void 0:x.schemas)||{}),u,r.override.components.schemas.suffix),g=await wr((j=m.components)==null?void 0:j.responses,u,r.override.components.responses.suffix),y=await wr((E=m.components)==null?void 0:E.requestBodies,u,r.override.components.requestBodies.suffix),h=await ei((P=m.components)==null?void 0:P.parameters,u,r.override.components.parameters.suffix),d=[...f,...g,...y,...h];return d.length&&(p[l]=d),p},{}),a=await Po({output:r,context:{specKey:n,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig}});return w(O({},a),{schemas:w(O({},i),{[n]:[...i[n]||[],...a.schemas]}),target:n,info:s[n].info})};var Sl=async(e,o,n)=>{var s=o,{validate:t}=s,r=xe(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]))},ii=async(e,t)=>{let{input:r,output:n}=t;if(D(r.target))return Rr({data:{[e]:r.target},input:r,output:n,target:e,workspace:e});let o=ce(r.target),s=await Sl(r.target,r.parserOptions,o);return Rr({data:s,input:r,output:n,target:r.target,workspace:e})};c();var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa);c();var Pl=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let i=s;return i+=Nn({imports:e,target:r,isRootKey:n,specsName:o}),i+=e.length?`
323
+
324
+ `:`
325
+ `,i+=t,i},jr=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var vl=async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:s})=>{let i=R(t.name);try{await _fsextra.outputFile.call(void 0, jr(e,i),Pl({schema:t,target:r,isRootKey:n,specsName:o,header:s}));let a=jr(e,"index"),l=(await _fsextra.readFile.call(void 0, a)).toString();!l.includes(`export * from './${i}'`)&&!l.includes(`export * from "./${i}"`)&&await _fsextra.appendFile.call(void 0, jr(e,"index"),`export * from './${i}';
326
+ `)}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${i} => ${a}`}},pi=async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>(await _fsextra.ensureFile.call(void 0, _upath.join.call(void 0, e,"/index.ts")),Promise.all(t.map(i=>vl({path:e,schema:i,target:r,isRootKey:n,specsName:o,header:s}))));c();c();var El=(e,t)=>e+`${t}
327
+ `,$e=e=>Object.values(e).flatMap(r=>r).sort((r,n)=>r.imports.some(o=>o.name===n.name)?1:-1).reduce((r,{model:n})=>El(r,n),"");c();var Dt=(e,t,r)=>{let n=Object.values(e).map(({operationName:i})=>i),o=(r==null?void 0:r.client)===L.ANGULAR,s=Object.values(e).reduce((i,a,p,l)=>{if(i.imports.push(...a.imports),i.importsMSW.push(...a.importsMSW),i.implementation+=a.implementation+`
328
+ `,i.implementationMSW.function+=a.implementationMSW.function,i.implementationMSW.handler+=a.implementationMSW.handler,a.mutator&&i.mutators.push(a.mutator),a.formData&&i.formData.push(a.formData),a.formUrlEncoded&&i.formUrlEncoded.push(a.formUrlEncoded),p===l.length-1){let m=i.mutators.some(g=>o?g.hasThirdArg:g.hasSecondArg),u=Et({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:m,isGlobalMutator:!!r.override.mutator,title:$(t.title),customTitleFunc:r.override.title,provideInRoot:!!r.override.angular.provideIn,provideIn:r.override.angular.provideIn});i.implementation=u.implementation+i.implementation,i.implementationMSW.handler=u.implementationMSW+i.implementationMSW.handler;let f=Mt({outputClient:r==null?void 0:r.client,operationNames:n,title:$(t.title)});i.implementation+=f.implementation,i.implementationMSW.handler+=f.implementationMSW}return i},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[],formUrlEncoded:[]});return w(O({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})};var mi=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{path:i,dirname:a}=M(n.target,{backupFilename:R(r.title)}),{imports:p,importsMSW:l,implementation:m,implementationMSW:u,mutators:f,formData:g,formUrlEncoded:y}=Dt(e,r,n),h=s,d=n.schemas?re(a,M(n.schemas).dirname):void 0,x=Y(n.tsconfig);return h+=Oe(n.client,m,d?[{exports:p.filter(S=>!l.some(j=>S.name===j.name)),dependency:d}]:[],o,!!n.schemas,x,!!n.override.mutator),n.mock&&(h+=be(u,d?[{exports:l,dependency:d}]:[],o,!!n.schemas,x)),f&&(h+=N(f)),g&&(h+=N(g)),y&&(h+=N(y)),n.schemas||(h+=$e(t)),h+=`
329
+
330
+ ${m}`,n.mock&&(h+=`
331
+
332
+ `,h+=u),await _fsextra.outputFile.call(void 0, i,h),[i]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${i}`}};c();var ci=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:R(r.title)}),{imports:l,implementation:m,implementationMSW:u,importsMSW:f,mutators:g,formData:y,formUrlEncoded:h}=Dt(e,r,n),d=s,x=s,S=n.schemas?re(a,M(n.schemas).dirname):"./"+i+".schemas",j=Y(n.tsconfig);d+=Oe(n.client,m,[{exports:l,dependency:S}],o,!!n.schemas,j,!!n.override.mutator),x+=be(u,[{exports:f,dependency:S}],o,!!n.schemas,j);let E=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(E){let k=s+$e(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,i+".schemas"+p),k)}g&&(d+=N(g)),y&&(d+=N(y)),h&&(d+=N(h)),d+=`
333
+ ${m}`,x+=`
334
+ ${u}`;let P=i+(L.ANGULAR===n.client?".service":"")+p,C=_upath.join.call(void 0, a,P);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,P),d);let G=n.mock?_upath.join.call(void 0, a,i+".msw"+p):void 0;return G&&await _fsextra.outputFile.call(void 0, G,x),[C,...E?[E]:[],...G?[G]:[]]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${i}`}};c();c();var Il=e=>w(O({},e),{tags:e.tags.length?e.tags:["default"]}),Gl=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return r[n]=o?{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}:{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}},r},e),qt=(e,t)=>{let r=t.client===L.ANGULAR,n=Object.values(e).map(Il).reduce((o,s,i,a)=>{let p=Gl(o,s);return i===a.length-1?Object.entries(p).reduce((l,[m,u])=>{var d;let f=!!((d=u.mutators)==null?void 0:d.some(x=>r?x.hasThirdArg:x.hasSecondArg)),g=Object.values(e).filter(({tags:x})=>x.includes(m)).map(({operationName:x})=>x),y=Mt({outputClient:t==null?void 0:t.client,operationNames:g,title:$(m)}),h=Et({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:f,isGlobalMutator:!!t.override.mutator,title:$(m),customTitleFunc:t.override.title,provideInRoot:!!t.override.angular.provideIn,provideIn:t.override.angular.provideIn});return l[m]={implementation:h.implementation+u.implementation+y.implementation,implementationMSW:{function:u.implementationMSW.function,handler:h.implementationMSW+u.implementationMSW.handler+y.implementationMSW},imports:u.imports,importsMSW:u.importsMSW,mutators:u.mutators,formData:u.formData,formUrlEncoded:u.formUrlEncoded},l},{}):p},{});return Object.entries(n).reduce((o,[s,i])=>(o[s]=w(O({},i),{implementationMSW:i.implementationMSW.function+i.implementationMSW.handler}),o),{})};var li=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:R(r.title)}),l=qt(e,n),m=Y(n.tsconfig);return(await Promise.all(Object.entries(l).map(async([f,g])=>{try{let{imports:y,implementation:h,implementationMSW:d,importsMSW:x,mutators:S,formData:j,formUrlEncoded:E}=g,P=s,C=s,G=n.schemas?"../"+re(a,M(n.schemas).dirname):"../"+i+".schemas";P+=Oe(n.client,h,[{exports:y,dependency:G}],o,!!n.schemas,m,!!n.override.mutator),C+=be(d,[{exports:x,dependency:G}],o,!!n.schemas,m);let k=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(k){let Pe=s+$e(t);await _fsextra.outputFile.call(void 0, k,Pe)}S&&(P+=N(S,!0)),j&&(P+=N(j,!0)),E&&(P+=N(E)),P+=`
335
+ ${h}`,C+=`
336
+ ${d}`;let K=Se(f)+(L.ANGULAR===n.client?".service":"")+p,J=_upath.join.call(void 0, a,Se(f),K);await _fsextra.outputFile.call(void 0, J,P);let ie=n.mock?_upath.join.call(void 0, a,Se(f),Se(f)+".msw"+p):void 0;return ie&&await _fsextra.outputFile.call(void 0, ie,C),[J,...k?[k]:[],...ie?[ie]:[]]}catch(y){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${f} => ${y}`}}))).flatMap(f=>f)};c();var gi=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:R(r.title)}),l=qt(e,n),m=Y(n.tsconfig);return(await Promise.all(Object.entries(l).map(async([f,g])=>{try{let{imports:y,implementation:h,implementationMSW:d,importsMSW:x,mutators:S,formData:j,formUrlEncoded:E}=g,P=s,C=n.schemas?re(a,M(n.schemas).dirname):"./"+i+".schemas";P+=Oe(n.client,h,[{exports:y.filter(K=>!x.some(J=>K.name===J.name)),dependency:C}],o,!!n.schemas,m,!!n.override.mutator),n.mock&&(P+=be(d,[{exports:x,dependency:C}],o,!!n.schemas,m));let G=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(G){let K=s+$e(t);await _fsextra.outputFile.call(void 0, G,K)}S&&(P+=N(S)),j&&(P+=N(j)),E&&(P+=N(E)),P+=`
337
+
338
+ `,P+=h,n.mock&&(P+=`
339
+
340
+ `,P+=d);let k=_upath.join.call(void 0, a,`${Se(f)}${p}`);return await _fsextra.outputFile.call(void 0, k,P),[k,...G?[G]:[]]}catch(y){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${f} => ${y}`}}))).flatMap(f=>f)};var Nl=(e,t)=>{if(!e)return"";let r=e(t);return Array.isArray(r)?U({description:r}):r},hi=async({operations:e,schemas:t,target:r,info:n},o,s,i)=>{let{output:a}=s,p=i||n.title,l=Object.keys(t).reduce((f,g)=>{let h=bt(g,r).slice(1).split("/").join("-");return f[g]=h,f},{}),m=Nl(a.override.header,n);if(a.schemas){let f=a.schemas;await Promise.all(Object.entries(t).map(([g,y])=>{let h=r===g,d=h?f:_upath.join.call(void 0, f,l[g]);return pi({schemaPath:d,schemas:y,target:r,specsName:l,isRootKey:h,header:m})}))}let u=[];if(a.target)switch(a.mode){case ae.SPLIT:u=await ci({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:l,header:m});break;case ae.TAGS:u=await gi({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:l,header:m});break;case ae.TAGS_SPLIT:u=await li({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:l,header:m});break;case ae.SINGLE:default:u=await mi({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:l,header:m});break}if(a.workspace){let f=a.workspace,g=u.filter(h=>!h.endsWith(".msw.ts")).map(h=>re(f,M(h).pathWithoutExtension));a.schemas&&g.push(re(f,M(a.schemas).dirname));let y=_upath.join.call(void 0, f,"/index.ts");if(await _fsextra.pathExists.call(void 0, y)){let h=await _fsextra.readFile.call(void 0, y,"utf8"),d=g.filter(x=>!h.includes(x));await _fsextra.appendFile.call(void 0, y,_lodashuniq2.default.call(void 0, d).map(x=>`export * from '${x}';`).join(`
341
+ `)+`
342
+ `)}else await _fsextra.outputFile.call(void 0, y,_lodashuniq2.default.call(void 0, g).map(h=>`export * from '${h}';`).join(`
343
+ `)+`
344
+ `);u=[y,...u]}if(a.prettier)try{await _execa2.default.call(void 0, "prettier",["--write",...a.schemas?[M(a.schemas).dirname]:[],...u])}catch (e8){_console.log.call(void 0, _chalk2.default.yellow(`\u26A0\uFE0F ${p?`${p} - `:""}Prettier not found`))}ln(p)};c();var bi=e=>{cn(e),process.exit(1)};var $i=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Lt(["**/*","!**/*.d.ts",...o],M(t.output.target).dirname),t.output.schemas&&await Lt(["**/*","!**/*.d.ts",...o],M(t.output.schemas).dirname),F(`${r?`${r}: `:""}Cleaning output folder`)}let n=await ii(e,t);await hi(n,e,t,r)},xi=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await $i(t,n,r)}catch(o){F(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else bi("Project not found");return}return v(Object.entries(e),async(n,[o,s])=>{try{n.push(await $i(t,s,o))}catch(i){F(_chalk2.default.red(`\u{1F6D1} ${o?`${o} - `:""}${i}`))}return n},[])},K$= exports.j =async(e,t)=>{let{path:r,file:n,error:o}=await ft(e,{defaultFileName:"orval.config"});if(!n)throw`failed to load from ${r} => ${o}`;let s=_upath.dirname.call(void 0, r),i=await(W(n)?n():n),a=await v(Object.entries(i),async(l,[m,u])=>(l[m]=await En(u,s,t),l),{}),p=Object.entries(a).filter(([l])=>(t==null?void 0:t.projectName)===void 0||l===(t==null?void 0:t.projectName)).map(([,{input:l}])=>l.target).filter(l=>q(l));(t==null?void 0:t.watch)&&p.length?Mn(t==null?void 0:t.watch,()=>xi(a,s,t==null?void 0:t.projectName),p):await xi(a,s,t==null?void 0:t.projectName)};exports.a = Ft; exports.b = c; exports.c = q; exports.d = F; exports.e = Jl; exports.f = af; exports.g = En; exports.h = Mn; exports.i = $i; exports.j = K$;
package/dist/index.d.ts CHANGED
@@ -169,6 +169,7 @@ declare type GeneratorMutator = {
169
169
  hasSecondArg: boolean;
170
170
  hasThirdArg: boolean;
171
171
  isHook: boolean;
172
+ bodyTypeName?: string;
172
173
  };
173
174
  declare type ClientBuilder = (verbOptions: GeneratorVerbOptions, options: GeneratorOptions, outputClient: OutputClient | OutputClientFunc) => GeneratorClient;
174
175
  declare type ClientHeaderBuilder = (params: {
@@ -180,7 +181,11 @@ declare type ClientHeaderBuilder = (params: {
180
181
  provideInRoot: boolean;
181
182
  provideIn: boolean | 'root' | 'any';
182
183
  }) => string;
183
- declare type ClientFooterBuilder = (operationIds?: string[]) => string;
184
+ declare type ClientFooterBuilder = (params: {
185
+ noFunction?: boolean | undefined;
186
+ operationNames: string[];
187
+ title?: string;
188
+ }) => string;
184
189
  declare type ClientTitleBuilder = (title: string) => string;
185
190
  declare type ClientDependenciesBuilder = (hasGlobalMutator: boolean) => GeneratorDependency[];
186
191
  declare type ClientMSWBuilder = (verbOptions: GeneratorVerbOptions, generatorOptions: GeneratorOptions) => {
@@ -225,7 +230,7 @@ declare type NormalizedOverrideOutput = {
225
230
  required?: boolean;
226
231
  baseUrl?: string;
227
232
  };
228
- header: false | ((info: InfoObject) => string[]);
233
+ header: false | ((info: InfoObject) => string[] | string);
229
234
  formData: boolean | NormalizedMutator;
230
235
  formUrlEncoded: boolean | NormalizedMutator;
231
236
  components: {
@@ -338,7 +343,7 @@ declare type OverrideOutput = {
338
343
  required?: boolean;
339
344
  baseUrl?: string;
340
345
  };
341
- header?: boolean | ((info: InfoObject) => string[]);
346
+ header?: boolean | ((info: InfoObject) => string[] | string);
342
347
  formData?: boolean | Mutator;
343
348
  formUrlEncoded?: boolean | Mutator;
344
349
  components?: {
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 _chunkDKPBKVU7js = require('./chunk-DKPBKVU7.js');_chunkDKPBKVU7js.b.call(void 0, );var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);_chunkDKPBKVU7js.b.call(void 0, );var c=async(r,o=process.cwd(),e)=>{if(!r||_chunkDKPBKVU7js.c.call(void 0, r))return _chunkDKPBKVU7js.j.call(void 0, r,e);let n=await _chunkDKPBKVU7js.g.call(void 0, r,o,e);if(e==null?void 0:e.watch)_chunkDKPBKVU7js.h.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkDKPBKVU7js.i.call(void 0, o,n)}catch(a){_chunkDKPBKVU7js.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}},n.input.target);else try{return await _chunkDKPBKVU7js.i.call(void 0, o,n)}catch(a){_chunkDKPBKVU7js.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 = _chunkDKPBKVU7js.f; exports.generate = c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkM4RGQJWSjs = require('./chunk-M4RGQJWS.js');_chunkM4RGQJWSjs.b.call(void 0, );var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);_chunkM4RGQJWSjs.b.call(void 0, );var c=async(t,o=process.cwd(),e)=>{if(!t||_chunkM4RGQJWSjs.c.call(void 0, t))return _chunkM4RGQJWSjs.j.call(void 0, t,e);let n=await _chunkM4RGQJWSjs.g.call(void 0, t,o,e);if(e==null?void 0:e.watch)_chunkM4RGQJWSjs.h.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkM4RGQJWSjs.i.call(void 0, o,n)}catch(a){_chunkM4RGQJWSjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}},n.input.target);else try{return await _chunkM4RGQJWSjs.i.call(void 0, o,n)}catch(a){_chunkM4RGQJWSjs.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 = _chunkM4RGQJWSjs.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.6.4",
4
+ "version": "6.7.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
@@ -55,12 +55,12 @@
55
55
  "update-samples": "zx ./scripts/update-samples.mjs"
56
56
  },
57
57
  "devDependencies": {
58
- "@commitlint/cli": "^15.0.0",
59
- "@commitlint/config-conventional": "^15.0.0",
60
- "@release-it/conventional-changelog": "^3.3.0",
58
+ "@commitlint/cli": "^16.2.1",
59
+ "@commitlint/config-conventional": "^16.2.1",
60
+ "@faker-js/faker": "^6.1.1",
61
+ "@release-it/conventional-changelog": "^4.2.0",
61
62
  "@types/chalk": "^2.2.0",
62
63
  "@types/commander": "^2.12.2",
63
- "@types/faker": "^5.5.8",
64
64
  "@types/fs-extra": "^9.0.12",
65
65
  "@types/inquirer": "^8.2.0",
66
66
  "@types/lodash.get": "^4.4.6",
@@ -70,27 +70,26 @@
70
70
  "@types/lodash.uniqby": "^4.7.6",
71
71
  "@types/lodash.uniqwith": "^4.5.6",
72
72
  "@types/micromatch": "^4.0.2",
73
- "@types/node": "^17.0.18",
73
+ "@types/node": "^17.0.21",
74
74
  "@types/prettier": "^2.4.4",
75
75
  "@types/request": "^2.48.8",
76
76
  "@types/validator": "^13.7.1",
77
- "@typescript-eslint/eslint-plugin": "^5.12.0",
78
- "@typescript-eslint/parser": "^5.12.0",
77
+ "@typescript-eslint/eslint-plugin": "^5.14.0",
78
+ "@typescript-eslint/parser": "^5.14.0",
79
79
  "dotenv-cli": "^4.0.0",
80
- "eslint": "^8.9.0",
81
- "eslint-config-prettier": "^8.3.0",
80
+ "eslint": "^8.10.0",
81
+ "eslint-config-prettier": "^8.5.0",
82
82
  "eslint-plugin-prettier": "^4.0.0",
83
- "faker": "^5.5.3",
84
83
  "husky": "^7.0.2",
85
- "lint-staged": "^12.1.2",
84
+ "lint-staged": "^12.3.5",
86
85
  "npm-run-all": "^4.1.5",
87
86
  "prettier": "^2.5.1",
88
- "release-it": "^14.12.4",
87
+ "release-it": "^14.12.5",
89
88
  "rimraf": "^3.0.2",
90
- "tsup": "^5.11.13",
91
- "typescript": "^4.5.5",
92
- "vitest": "^0.3.6",
93
- "zx": "^4.2.0"
89
+ "tsup": "^5.12.0",
90
+ "typescript": "^4.6.2",
91
+ "vitest": "^0.6.0",
92
+ "zx": "^5.2.0"
94
93
  },
95
94
  "dependencies": {
96
95
  "@apidevtools/swagger-parser": "^10.0.3",
@@ -100,13 +99,13 @@
100
99
  "chokidar": "^3.5.3",
101
100
  "cuid": "^2.1.8",
102
101
  "debug": "^4.3.3",
103
- "esbuild": "^0.13.15",
102
+ "esbuild": "^0.14.25",
104
103
  "esutils": "2.0.3",
105
104
  "execa": "^5.1.1",
106
105
  "find-up": "5.0.0",
107
- "fs-extra": "^10.0.0",
106
+ "fs-extra": "^10.0.1",
108
107
  "globby": "11.0.4",
109
- "ibm-openapi-validator": "^0.57.0",
108
+ "ibm-openapi-validator": "^0.57.4",
110
109
  "inquirer": "^8.2.0",
111
110
  "lodash.get": "^4.4.2",
112
111
  "lodash.omit": "^4.5.0",
@@ -117,7 +116,7 @@
117
116
  "micromatch": "^4.0.4",
118
117
  "openapi3-ts": "^2.0.2",
119
118
  "swagger2openapi": "^7.0.8",
120
- "tsconfck": "^1.1.2",
119
+ "tsconfck": "^1.2.0",
121
120
  "upath": "^2.0.1",
122
121
  "url": "^0.11.0",
123
122
  "validator": "^13.7.0"
@@ -1,324 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var bi=Object.create;var pt=Object.defineProperty,Oi=Object.defineProperties,xi=Object.getOwnPropertyDescriptor,$i=Object.getOwnPropertyDescriptors,Si=Object.getOwnPropertyNames,at=Object.getOwnPropertySymbols,wi=Object.getPrototypeOf,Dt=Object.prototype.hasOwnProperty,Yr=Object.prototype.propertyIsEnumerable;var Hr=(e,t,r)=>t in e?pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Dt.call(t,r)&&Hr(e,r,t[r]);if(at)for(var r of at(t))Yr.call(t,r)&&Hr(e,r,t[r]);return e},S=(e,t)=>Oi(e,$i(t)),Ri=e=>pt(e,"__esModule",{value:!0});var Y=(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 $e=(e,t)=>{var r={};for(var n in e)Dt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&at)for(var n of at(e))t.indexOf(n)<0&&Yr.call(e,n)&&(r[n]=e[n]);return r};var ji=(e,t)=>()=>(e&&(t=e(e=0)),t);var R=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ti=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Si(t))!Dt.call(e,o)&&(r||o!=="default")&&pt(e,o,{get:()=>t[o],enumerable:!(n=xi(t,o))||n.enumerable});return e},ze=(e,t)=>Ti(Ri(pt(e!=null?bi(wi(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var m=ji(()=>{});var nr=R((Th,Ro)=>{m();var vp=Object.prototype;function Mp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||vp;return e===r}Ro.exports=Mp});var To=R((Ph,jo)=>{m();function Ep(e,t){return function(r){return e(t(r))}}jo.exports=Ep});var vo=R((vh,Po)=>{m();var Gp=To(),Ip=Gp(Object.keys,Object);Po.exports=Ip});var Eo=R((Mh,Mo)=>{m();var Ap=nr(),Cp=vo(),Dp=Object.prototype,qp=Dp.hasOwnProperty;function kp(e){if(!Ap(e))return Cp(e);var t=[];for(var r in Object(e))qp.call(e,r)&&r!="constructor"&&t.push(r);return t}Mo.exports=kp});var or=R((Eh,Go)=>{m();var Fp=typeof global=="object"&&global&&global.Object===Object&&global;Go.exports=Fp});var ae=R((Gh,Io)=>{m();var Vp=or(),Up=typeof self=="object"&&self&&self.Object===Object&&self,Np=Vp||Up||Function("return this")();Io.exports=Np});var sr=R((Ih,Ao)=>{m();var Wp=ae(),Bp=Wp.Symbol;Ao.exports=Bp});var ko=R((Ah,qo)=>{m();var Co=sr(),Do=Object.prototype,zp=Do.hasOwnProperty,Kp=Do.toString,Xe=Co?Co.toStringTag:void 0;function Lp(e){var t=zp.call(e,Xe),r=e[Xe];try{e[Xe]=void 0;var n=!0}catch (e2){}var o=Kp.call(e);return n&&(t?e[Xe]=r:delete e[Xe]),o}qo.exports=Lp});var Vo=R((Ch,Fo)=>{m();var Qp=Object.prototype,_p=Qp.toString;function Hp(e){return _p.call(e)}Fo.exports=Hp});var Ze=R((Dh,Wo)=>{m();var Uo=sr(),Yp=ko(),Jp=Vo(),Xp="[object Null]",Zp="[object Undefined]",No=Uo?Uo.toStringTag:void 0;function em(e){return e==null?e===void 0?Zp:Xp:No&&No in Object(e)?Yp(e):Jp(e)}Wo.exports=em});var ir=R((qh,Bo)=>{m();function tm(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Bo.exports=tm});var ar=R((kh,zo)=>{m();var rm=Ze(),nm=ir(),om="[object AsyncFunction]",sm="[object Function]",im="[object GeneratorFunction]",am="[object Proxy]";function pm(e){if(!nm(e))return!1;var t=rm(e);return t==sm||t==im||t==om||t==am}zo.exports=pm});var Lo=R((Fh,Ko)=>{m();var mm=ae(),cm=mm["__core-js_shared__"];Ko.exports=cm});var Ho=R((Vh,_o)=>{m();var pr=Lo(),Qo=function(){var e=/[^.]+$/.exec(pr&&pr.keys&&pr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function um(e){return!!Qo&&Qo in e}_o.exports=um});var mr=R((Uh,Yo)=>{m();var lm=Function.prototype,fm=lm.toString;function gm(e){if(e!=null){try{return fm.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}Yo.exports=gm});var Xo=R((Nh,Jo)=>{m();var dm=ar(),ym=Ho(),hm=ir(),bm=mr(),Om=/[\\^$.*+?()[\]{}|]/g,xm=/^\[object .+?Constructor\]$/,$m=Function.prototype,Sm=Object.prototype,wm=$m.toString,Rm=Sm.hasOwnProperty,jm=RegExp("^"+wm.call(Rm).replace(Om,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Tm(e){if(!hm(e)||ym(e))return!1;var t=dm(e)?jm:xm;return t.test(bm(e))}Jo.exports=Tm});var es=R((Wh,Zo)=>{m();function Pm(e,t){return e==null?void 0:e[t]}Zo.exports=Pm});var qe=R((Bh,ts)=>{m();var vm=Xo(),Mm=es();function Em(e,t){var r=Mm(e,t);return vm(r)?r:void 0}ts.exports=Em});var ns=R((zh,rs)=>{m();var Gm=qe(),Im=ae(),Am=Gm(Im,"DataView");rs.exports=Am});var ss=R((Kh,os)=>{m();var Cm=qe(),Dm=ae(),qm=Cm(Dm,"Map");os.exports=qm});var as=R((Lh,is)=>{m();var km=qe(),Fm=ae(),Vm=km(Fm,"Promise");is.exports=Vm});var ms=R((Qh,ps)=>{m();var Um=qe(),Nm=ae(),Wm=Um(Nm,"Set");ps.exports=Wm});var us=R((_h,cs)=>{m();var Bm=qe(),zm=ae(),Km=Bm(zm,"WeakMap");cs.exports=Km});var Os=R((Hh,bs)=>{m();var cr=ns(),ur=ss(),lr=as(),fr=ms(),gr=us(),hs=Ze(),ke=mr(),ls="[object Map]",Lm="[object Object]",fs="[object Promise]",gs="[object Set]",ds="[object WeakMap]",ys="[object DataView]",Qm=ke(cr),_m=ke(ur),Hm=ke(lr),Ym=ke(fr),Jm=ke(gr),Te=hs;(cr&&Te(new cr(new ArrayBuffer(1)))!=ys||ur&&Te(new ur)!=ls||lr&&Te(lr.resolve())!=fs||fr&&Te(new fr)!=gs||gr&&Te(new gr)!=ds)&&(Te=function(e){var t=hs(e),r=t==Lm?e.constructor:void 0,n=r?ke(r):"";if(n)switch(n){case Qm:return ys;case _m:return ls;case Hm:return fs;case Ym:return gs;case Jm:return ds}return t});bs.exports=Te});var It=R((Yh,xs)=>{m();function Xm(e){return e!=null&&typeof e=="object"}xs.exports=Xm});var Ss=R((Jh,$s)=>{m();var Zm=Ze(),ec=It(),tc="[object Arguments]";function rc(e){return ec(e)&&Zm(e)==tc}$s.exports=rc});var Ts=R((Xh,js)=>{m();var ws=Ss(),nc=It(),Rs=Object.prototype,oc=Rs.hasOwnProperty,sc=Rs.propertyIsEnumerable,ic=ws(function(){return arguments}())?ws:function(e){return nc(e)&&oc.call(e,"callee")&&!sc.call(e,"callee")};js.exports=ic});var vs=R((Zh,Ps)=>{m();var ac=Array.isArray;Ps.exports=ac});var dr=R((eb,Ms)=>{m();var pc=9007199254740991;function mc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=pc}Ms.exports=mc});var Gs=R((tb,Es)=>{m();var cc=ar(),uc=dr();function lc(e){return e!=null&&uc(e.length)&&!cc(e)}Es.exports=lc});var As=R((rb,Is)=>{m();function fc(){return!1}Is.exports=fc});var ks=R((et,Fe)=>{m();var gc=ae(),dc=As(),qs=typeof et=="object"&&et&&!et.nodeType&&et,Cs=qs&&typeof Fe=="object"&&Fe&&!Fe.nodeType&&Fe,yc=Cs&&Cs.exports===qs,Ds=yc?gc.Buffer:void 0,hc=Ds?Ds.isBuffer:void 0,bc=hc||dc;Fe.exports=bc});var Vs=R((nb,Fs)=>{m();var Oc=Ze(),xc=dr(),$c=It(),Sc="[object Arguments]",wc="[object Array]",Rc="[object Boolean]",jc="[object Date]",Tc="[object Error]",Pc="[object Function]",vc="[object Map]",Mc="[object Number]",Ec="[object Object]",Gc="[object RegExp]",Ic="[object Set]",Ac="[object String]",Cc="[object WeakMap]",Dc="[object ArrayBuffer]",qc="[object DataView]",kc="[object Float32Array]",Fc="[object Float64Array]",Vc="[object Int8Array]",Uc="[object Int16Array]",Nc="[object Int32Array]",Wc="[object Uint8Array]",Bc="[object Uint8ClampedArray]",zc="[object Uint16Array]",Kc="[object Uint32Array]",E={};E[kc]=E[Fc]=E[Vc]=E[Uc]=E[Nc]=E[Wc]=E[Bc]=E[zc]=E[Kc]=!0;E[Sc]=E[wc]=E[Dc]=E[Rc]=E[qc]=E[jc]=E[Tc]=E[Pc]=E[vc]=E[Mc]=E[Ec]=E[Gc]=E[Ic]=E[Ac]=E[Cc]=!1;function Lc(e){return $c(e)&&xc(e.length)&&!!E[Oc(e)]}Fs.exports=Lc});var Ns=R((ob,Us)=>{m();function Qc(e){return function(t){return e(t)}}Us.exports=Qc});var Bs=R((tt,Ve)=>{m();var _c=or(),Ws=typeof tt=="object"&&tt&&!tt.nodeType&&tt,rt=Ws&&typeof Ve=="object"&&Ve&&!Ve.nodeType&&Ve,Hc=rt&&rt.exports===Ws,yr=Hc&&_c.process,Yc=function(){try{var e=rt&&rt.require&&rt.require("util").types;return e||yr&&yr.binding&&yr.binding("util")}catch (e5){}}();Ve.exports=Yc});var Qs=R((sb,Ls)=>{m();var Jc=Vs(),Xc=Ns(),zs=Bs(),Ks=zs&&zs.isTypedArray,Zc=Ks?Xc(Ks):Jc;Ls.exports=Zc});var hr=R((ib,_s)=>{m();var eu=Eo(),tu=Os(),ru=Ts(),nu=vs(),ou=Gs(),su=ks(),iu=nr(),au=Qs(),pu="[object Map]",mu="[object Set]",cu=Object.prototype,uu=cu.hasOwnProperty;function lu(e){if(e==null)return!0;if(ou(e)&&(nu(e)||typeof e=="string"||typeof e.splice=="function"||su(e)||au(e)||ru(e)))return!e.length;var t=tu(e);if(t==pu||t==mu)return!e.size;if(iu(e))return!eu(e).length;for(var r in e)if(uu.call(e,r))return!1;return!0}_s.exports=lu});var Pi="orval",vi="A swagger client generator for typescript",Mi="6.6.4",Ei="MIT",Gi=["dist"],Ii={orval:"dist/bin/orval.js"},Ai="dist/index.js",Ci=["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"],Di={name:"Victor Bury",email:"bury.victor@gmail.com"},qi={type:"git",url:"https://github.com/anymaniax/orval"},ki={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",test:"vitest --global test.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 && cd ./samples/react-query/basic && yarn",commitlint:"commitlint","update-samples":"zx ./scripts/update-samples.mjs"},Fi={"@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.2.0","@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":"^17.0.18","@types/prettier":"^2.4.4","@types/request":"^2.48.8","@types/validator":"^13.7.1","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0","dotenv-cli":"^4.0.0",eslint:"^8.9.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.5.1","release-it":"^14.12.4",rimraf:"^3.0.2",tsup:"^5.11.13",typescript:"^4.5.5",vitest:"^0.3.6",zx:"^4.2.0"},Vi={"@apidevtools/swagger-parser":"^10.0.3",acorn:"^8.7.0",cac:"^6.7.12",chalk:"^4.1.2",chokidar:"^3.5.3",cuid:"^2.1.8",debug:"^4.3.3",esbuild:"^0.13.15",esutils:"2.0.3",execa:"^5.1.1","find-up":"5.0.0","fs-extra":"^10.0.0",globby:"11.0.4","ibm-openapi-validator":"^0.57.0",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.2",swagger2openapi:"^7.0.8",tsconfck:"^1.1.2",upath:"^2.0.1",url:"^0.11.0",validator:"^13.7.0"},qt= exports.a ={name:Pi,description:vi,version:Mi,license:Ei,files:Gi,bin:Ii,main:Ai,keywords:Ci,author:Di,repository:qi,scripts:ki,devDependencies:Fi,dependencies:Vi};m();var K={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},ie={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},J={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"};m();var _upath = require('upath');var A=e=>Boolean(e.$ref),Jr=e=>!_upath.extname.call(void 0, e);function D(e){return Object.prototype.toString.call(e)==="[object Object]"}function q(e){return typeof e=="string"}function Xr(e){return typeof e=="number"}function L(e){return typeof e=="boolean"}function Q(e){return typeof e=="function"}function mt(e){return typeof e>"u"}function Zr(e){return typeof e===null}var en=e=>Object.values(J).includes(e);m();var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var F=console.log,Qu= exports.e =({name:e,version:t,description:r})=>F(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),on=e=>F(_chalk2.default.red(e));var sn=e=>F(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),an=e=>{F(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>F(_chalk2.default.yellow(`Message : ${t.message}
2
- Path : ${t.path}`)))},pn=e=>{F(_chalk2.default.red("(!) Errors")),e.forEach(t=>F(_chalk2.default.red(`Message : ${t.message}
3
- Path : ${t.path}`)))},kt={silent:0,error:1,warn:2,info:3},rn,nn,Ft=0;function Ni(){let e=process.stdout.rows-2,t=e>0?`
4
- `.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function _(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=kt[e],s=n&&process.stdout.isTTY&&!process.env.CI?Ni:()=>{};function i(c,u,l={}){if(o>=kt[c]){let f=c==="info"?"log":c,g=()=>{if(l.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} ${u}`}else return u};c===rn&&u===nn?(Ft++,s(),console[f](g(),_chalk2.default.yellow(`(x${Ft+1})`))):(Ft=0,nn=u,rn=c,l.clear&&s(),console[f](g()))}}let a=new Set,p={hasWarned:!1,info(c,u){i("info",c,u)},warn(c,u){p.hasWarned=!0,i("warn",c,u)},warnOnce(c,u){a.has(c)||(p.hasWarned=!0,i("warn",c,u),a.add(c))},error(c,u){p.hasWarned=!0,i("error",c,u)},clearScreen(c){o>=kt[c]&&s()}};return p}m();m();var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var _url = require('url'); var _url2 = _interopRequireDefault(_url);m();var Vt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ct=Vt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ut="a-z"+Vt("DF-F6,F8-FF","00"),Ke="A-Z"+Vt("C0-D6,D8-DE","00"),Wi="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",pe={capitalize:new RegExp("(^|["+ct+"])(["+ut+"])","g"),pascal:new RegExp("(^|["+ct+"])+(["+ut+Ke+"])","g"),fill:new RegExp("["+ct+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ut+"])","g"),improper:new RegExp("\\b("+Wi+")\\b","g"),relax:new RegExp("([^"+Ke+"])(["+Ke+"]*)(["+Ke+"])(?=[^"+Ke+"]|$)","g"),upper:new RegExp("^[^"+ut+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ct+"]")},Bi=e=>e.replace(pe.apostrophe,""),zi=String.prototype.toUpperCase,Ut=String.prototype.toLowerCase,Nt=(e,t,r=!1)=>(t!=null&&(e=e.replace(pe.fill,function(n,o){return o?t+o:""})),r&&(e=Bi(e)),e),Ki=e=>Ut.call(e.charAt(0))+e.slice(1),Li=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,mn=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&pe.upper.test(e)&&(e=Ut.call(e)),!t&&!pe.hole.test(e)){var o=Nt(e," ");pe.hole.test(o)&&(e=o)}return!r&&!pe.room.test(e)&&(e=e.replace(pe.relax,Li)),e},Qi=(e,t,r)=>Nt(Ut.call(mn(e,!!t)),t,r),x=e=>Nt(mn(e,!1,!0).replace(pe.pascal,(t,r,n)=>zi.call(n)),"",!0),w=e=>Ki(x(e));var Se=e=>Qi(e,"-",!0);m();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);m();var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var cn=process.env.ORVAL_DEBUG_FILTER,Wt=process.env.DEBUG;function un(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...i)=>{cn&&!s.includes(cn)||n&&!(Wt==null?void 0:Wt.includes(o))||r(s,...i)}}var M=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Jr(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}},dn=un("orval:file-load"),zt=new Map;async function lt(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s,alias:i,tsconfig:a,load:p=!0}=t||{},c=Date.now(),u,l=!1,f=!1;if(e)u=_path2.default.resolve(e),l=e.endsWith(".ts");else if(o){let d=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(d)&&(u=d),!u){let h=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(h)&&(u=h,f=!0)}if(!u){let h=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(h)&&(u=h,l=!0)}}u||(e?_(s).error(_chalk2.default.red(`File not found => ${e}`)):o?_(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):_(s).error(_chalk2.default.red("File not found")),process.exit(1));let g=_upath.normalizeSafe.call(void 0, u),y=zt.get(u);if(y)return S(O({path:g},y),{cached:!0});try{let d;if(!d&&!l&&!f)try{delete Y.cache[Y.resolve(u)],d=Y(u),dn(`cjs loaded in ${Date.now()-c}ms`)}catch(h){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(h.message))throw h}if(!d){let{code:h}=await ea(u,f,r||_upath.dirname.call(void 0, g),i,a==null?void 0:a.compilerOptions);p?d=await ta(u,h,n):d=h,dn(`bundled file loaded in ${Date.now()-c}ms`)}return zt.set(u,{file:d}),{path:g,file:d}}catch(d){return zt.set(u,{error:d}),{path:g,error:d}}}async function ea(e,t=!1,r,n,o){let s=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||(o==null?void 0:o.paths)?[{name:"aliasing",setup(a){a.onResolve({filter:/^[\w@][^:]/},async({path:p})=>{if(n){let c=Object.keys(n),u=c.find(l=>p.startsWith(l)||_micromatch2.default.isMatch(p,c));if(u){let l=_micromatch2.default.scan(u),f=_micromatch2.default.scan(n[u]),g=_upath.resolve.call(void 0, r,f.base),y=l.base?p.replace(l.base,g):_upath.joinSafe.call(void 0, g,p),h=_upath.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(h)?{path:h}:void 0}}if(o==null?void 0:o.paths){let c=Object.keys(o==null?void 0:o.paths),u=c.find(l=>p.startsWith(l)||_micromatch2.default.isMatch(p,c));if(u){let l=_micromatch2.default.scan(u),f=_micromatch2.default.scan(o==null?void 0:o.paths[u][0]),g=_upath.resolve.call(void 0, r,f.base),y=l.base?p.replace(l.base,g):_upath.joinSafe.call(void 0, g,p),h=_upath.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(h)?{path:h}:void 0}}})}}]:[],{name:"externalize-deps",setup(a){a.onResolve({filter:/.*/},p=>{let c=p.path;if(c[0]!=="."&&!_path2.default.isAbsolute(c))return{external:!0}})}},{name:"replace-import-meta",setup(a){a.onLoad({filter:/\.[jt]s$/},async p=>{let c=await _fs2.default.promises.readFile(p.path,"utf8");return{loader:p.path.endsWith(".ts")?"ts":"js",contents:c.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${p.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(p.path))).replace(/\b__filename\b/g,JSON.stringify(p.path))}})}}]}),{text:i}=s.outputFiles[0];return{code:i,dependencies:s.metafile?Object.keys(s.metafile.inputs):[]}}async function ta(e,t,r){let n=_path2.default.extname(e),o=Y.extensions[n];Y.extensions[n]=(a,p)=>{p===e?a._compile(t,p):o(a,p)},delete Y.cache[Y.resolve(e)];let s=Y(e),i=r&&s.__esModule?s.default:s;return Y.extensions[n]=o,i}async function Kt(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)))}m();var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var na=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,me=e=>_isURL2.default.call(void 0, e)||na.test(e);var Le={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},aa=new RegExp("~1","g"),Me=async(e,t)=>{let[r,n]=e.split("#"),o=n.slice(1).split("/").map(p=>p.replace(aa,"/")),s=_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""),i=o[o.length-1];if(!r)return{name:x(i)+s,originalName:i,refPaths:o};let a=me(t.specKey)?_url2.default.resolve(t.specKey,r):_upath.resolve.call(void 0, M(t.specKey).dirname,r);return{name:x(i)+s,originalName:i,specKey:a,refPaths:o}};m();var _fsextra = require('fs-extra');var _inquirer = require('inquirer'); var _inquirer2 = _interopRequireDefault(_inquirer);m();var _https = require('https'); var _https2 = _interopRequireDefault(_https);var hn=(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 fa=({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]},ga=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}},da=async e=>{var c,u,l,f;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await ga(t),[n]=e.split("github.com/").slice(-1),[o,s,,i,...a]=n.split("/"),p=a.join("/");try{let{body:g}=await hn(...fa({accessToken:r,repo:s,owner:o,branch:i,path:p}));return((c=g.errors)==null?void 0:c.length)&&((u=g.errors)==null?void 0:u.some(d=>(d==null?void 0:d.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),(f=(l=g.data)==null?void 0:l.repository)==null?void 0:f.object.text}catch(g){throw g.body?(g.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),g.body.message||`Oups... \u{1F37B}. ${g}`):`Oups... \u{1F37B}. ${g}`}},On={order:199,canRead(e){return e.url.includes("github.com")},read(e){return da(e.url)}};m();var ft=e=>e&&typeof e=="object";function je(e,t){return!ft(t)||!ft(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:ft(s)&&ft(o)?r[n]=je(s,o):r[n]=o,r},e)}m();var xn=({title:e,description:t,version:r})=>[`Generated by ${qt.name} v${qt.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];m();var _findup = require('find-up'); var _findup2 = _interopRequireDefault(_findup);var _tsconfck = require('tsconfck');var Sn=async(e,t=process.cwd())=>{var r,n;if(mt(e)){let o=await _findup2.default.call(void 0, ["tsconfig.json","jsconfig.json"],{cwd:t});return o?(await _tsconfck.parse.call(void 0, o)).tsconfig:void 0}if(q(e)){let o=ce(e,t);if(_fsextra.existsSync.call(void 0, o)){let s=await _tsconfck.parse.call(void 0, o);return((n=(r=s.referenced)==null?void 0:r.find(({tsconfigFile:a})=>a===o))==null?void 0:n.tsconfig)||s.tsconfig}return}if(D(e))return e},H=e=>{var t,r,n;return e?!!((n=(t=e==null?void 0:e.compilerOptions)==null?void 0:t.allowSyntheticDefaultImports)!=null?n:(r=e==null?void 0:e.compilerOptions)==null?void 0:r.esModuleInterop):!0};function rf(e){return e}var Rn=async(e,t=process.cwd(),r={})=>{var d,h,$,T,P,G,j,k,I,C,te,xe,se,Pe,ot,Ue,Ne,We,Be,st,it,Rr,jr,Tr,Pr,vr,Mr,Er,Gr,Ir,Ar,Cr,Dr,qr,kr,Fr,Vr,Ur,Nr,Wr,Br,zr,Kr,Lr,Qr,_r;let n=await(Q(e)?e():e);n.input||(_().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(_().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=q(n.input)?{target:n.input}:n.input,s=q(n.output)?{target:n.output}:n.output;typeof((h=(d=s.override)==null?void 0:d.angular)==null?void 0:h.provideInRoot)<"u"&&console.warn("provideInRoot is deprecated, use provideIn instead");let i=ce(s.workspace||"",t),{clean:a,prettier:p,client:c,mode:u,mock:l,tslint:f}=r,g=await Sn(s.tsconfig||r.tsconfig,t),y={input:{target:Oa(o.target,t),validation:o.validation||!1,override:{transformer:ce(($=o.override)==null?void 0:$.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:je(ba,o.parserOptions||{})},output:{target:ce(s.target,i),schemas:ce(s.schemas,i),workspace:s.workspace?i:void 0,client:(P=(T=s.client)!=null?T:c)!=null?P:K.AXIOS_FUNCTIONS,mode:xa((G=s.mode)!=null?G:u),mock:(k=(j=s.mock)!=null?j:l)!=null?k:!1,clean:(C=(I=s.clean)!=null?I:a)!=null?C:!1,prettier:(xe=(te=s.prettier)!=null?te:p)!=null?xe:!1,tslint:(Pe=(se=s.tslint)!=null?se:f)!=null?Pe:!1,tsconfig:g,override:S(O({},s.override),{operations:wn(((ot=s.override)==null?void 0:ot.operations)||{},i),tags:wn(((Ue=s.override)==null?void 0:Ue.tags)||{},i),mutator:Ge(i,(Ne=s.override)==null?void 0:Ne.mutator),formData:(it=L((We=s.override)==null?void 0:We.formData)?(st=s.override)==null?void 0:st.formData:Ge(i,(Be=s.override)==null?void 0:Be.formData))!=null?it:!0,formUrlEncoded:(Pr=L((Rr=s.override)==null?void 0:Rr.formUrlEncoded)?(Tr=s.override)==null?void 0:Tr.formUrlEncoded:Ge(i,(jr=s.override)==null?void 0:jr.formUrlEncoded))!=null?Pr:!0,header:((vr=s.override)==null?void 0:vr.header)===!1?!1:Q((Mr=s.override)==null?void 0:Mr.header)?(Er=s.override)==null?void 0:Er.header:xn,requestOptions:(Ir=(Gr=s.override)==null?void 0:Gr.requestOptions)!=null?Ir:!0,components:{schemas:O({suffix:Le.schemas},((Cr=(Ar=s.override)==null?void 0:Ar.components)==null?void 0:Cr.schemas)||{}),responses:O({suffix:Le.responses},((qr=(Dr=s.override)==null?void 0:Dr.components)==null?void 0:qr.responses)||{}),parameters:O({suffix:Le.parameters},((Fr=(kr=s.override)==null?void 0:kr.components)==null?void 0:Fr.parameters)||{}),requestBodies:O({suffix:Le.requestBodies},((Ur=(Vr=s.override)==null?void 0:Vr.components)==null?void 0:Ur.requestBodies)||{})},query:O({useQuery:!0},((Nr=s.override)==null?void 0:Nr.query)||{}),angular:{provideIn:(Qr=(Lr=(Br=(Wr=s.override)==null?void 0:Wr.angular)==null?void 0:Br.provideIn)!=null?Lr:(Kr=(zr=s.override)==null?void 0:zr.angular)==null?void 0:Kr.provideInRoot)!=null?Qr:"root"},useDates:((_r=s.override)==null?void 0:_r.useDates)||!1})}};return y.input.target||(_().error(_chalk2.default.red("Config require an input target")),process.exit(1)),!y.output.target&&!y.output.schemas&&(_().error(_chalk2.default.red("Config require an output target or schemas")),process.exit(1)),y},ba={validate:!0,resolve:{github:On}},Ge=(e,t)=>{var r;return D(t)?(t.path||(_().error(_chalk2.default.red("Mutator need a path")),process.exit(1)),S(O({},t),{path:_upath.resolve.call(void 0, e,t.path),default:(r=t.default||!t.name)!=null?r:!1})):q(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},Oa=(e,t)=>q(e)&&!me(e)?ce(e,t):e,ce=(e,t)=>q(e)?_upath.resolve.call(void 0, t,e):e,wn=(e,t)=>Object.fromEntries(Object.entries(e).map(c=>{var[r,u]=c,l=u,{transformer:n,mutator:o,formData:s,formUrlEncoded:i,requestOptions:a}=l,p=$e(l,["transformer","mutator","formData","formUrlEncoded","requestOptions"]);var f,g;return[r,S(O(O(O({},p),n?{transformer:ce(n,t)}:{}),o?{mutator:Ge(t,o)}:{}),{formData:(f=L(s)?s:Ge(t,s))!=null?f:!0,formUrlEncoded:(g=L(i)?i:Ge(t,i))!=null?g:!0,requestOptions:a!=null?a:!0})]})),xa=e=>e?Object.values(ie).includes(e)?e:(_().warn(_chalk2.default.yellow(`Unknown the provided mode => ${e}`)),ie.SINGLE):ie.SINGLE;m();var jn=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>ze(Y("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(a=>typeof a=="string"):e;F(`Watching for changes in ${Array.isArray(s)?s.map(a=>'"'+a+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(a,p)=>{F(`Change detected: ${a} ${p}`);try{await t()}catch(c){F(_chalk2.default.red(c))}})};m();m();var _swaggerparser = require('@apidevtools/swagger-parser'); var _swaggerparser2 = _interopRequireDefault(_swaggerparser);var _console = require('console');m();var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);m();var v=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));m();var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Tn=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(F(_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}`}};m();var gt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(q(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>ze(Y(n)));return r&&D(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};m();m();m();var Z=e=>{if(!(mt(e)||Zr(e)))return q(e)?`'${e}'`:Xr(e)||L(e)||Q(e)?`${e}`:Array.isArray(e)?`[${e.map(Z).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let i=Z(n);return s.length===1?`{ ${r}: ${i}, }`:o?s.length-1===o?t+`${r}: ${i}, }`:t+`${r}: ${i}, `:`{ ${r}: ${i}, `},"")},W=(e,t)=>{let{whitespace:r="",underscore:n="",dot:o="",dash:s=""}=t||{},i=e.replace(/[^\w\s.-]/g,"");return r!==!0&&(i=i.replace(/[\s]/g,r)),n!==!0&&(i=i.replace(/['_']/g,n)),o!==!0&&(i=i.replace(/[.]/g,o)),s!==!0&&(i=i.replace(/[-]/g,s)),i},B=(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
16
- `)+",":"",Ta={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},dt=e=>e.toString().split("").reduce((r,n)=>r+Ta[n],""),yt=(e,t="'")=>e.replace(t,`\\${t}`);var Pn=e=>/[^{]*{[\w_-]*}.*/.test(e),vn=e=>{let t=e.match(/([^{]*){?([\w_-]*)}?(.*)/);if(!(t==null?void 0:t.length))return e;let r=t[1],n=w(W(t[2],{underscore:!0,dash:!0,dot:!0})),o=Pn(t[3])?vn(t[3]):t[3];return Pn(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},Mn=e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${vn(n)}`:`${r}/${n}`,"");m();var V=async(e,t,r=[])=>{if(!A(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,refPaths:i}=await Me(e.$ref,t),a=_lodashget2.default.call(void 0, t.specs[s||t.specKey],i);if(!a)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return V(a,S(O({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};m();m();m();var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var In=({imports:e=[],target: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,w(s))}';`:`import ${i?"":"type "}{ ${s}${a?` as ${a}`:""} } from './${_upath.join.call(void 0, p,w(s))}';`}return`import ${i?"":"type "}{ ${s}${a?` as ${a}`:""} } from './${w(s)}';`}).join(`
17
- `):"",U=(e,t)=>{let r=_lodashuniqwith2.default.call(void 0, e,(n,o)=>n.name===o.name&&n.default===o.default).map(n=>`import ${n.default?`${n.name}${n.hasErrorType?`, { ErrorType as ${n.errorTypeName} }`:""}`:`{ ${n.name}${n.hasErrorType?`, ${n.errorTypeName}`:""} }`} from '${t?"../":""}${n.path}'`).join(`
18
- `);return r?r+`
19
- `:""},Ma=({implementation:e,exports:t,dependency:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s})=>{let i=t.filter(p=>e.includes(p.alias||p.name));if(!i.length)return;let a=i.reduce((p,c)=>{var l,f;let u=o&&c.specKey?c.specKey:"default";return p[u]={values:((l=p[u])==null?void 0:l.values)||c.values&&(s||!c.syntheticDefaultImport)||!1,deps:[...((f=p[u])==null?void 0:f.deps)||[],c]},p},{});return Object.entries(a).map(([p,{values:c,deps:u}])=>{let l=u.find(h=>h.default&&(s||!h.syntheticDefaultImport)),f=s?void 0:u.find(h=>h.syntheticDefaultImport),g=_lodashuniq2.default.call(void 0, u.filter(h=>!h.default&&!h.syntheticDefaultImport).map(({name:h,alias:$})=>$?`${h} as ${$}`:h)).join(`,
20
- `),y="",d=f?`import * as ${f.name} from '${r}';`:"";if(d){if(u.length===1)return d;y+=`${d}
21
- `}return y+=`import ${c?"":"type "}${l?`${l.name}${g?",":""}`:""}${g?`{
22
- ${g}
23
- }`:""} from '${r}${p!=="default"&&n[p]?`/${n[p]}`:""}'`,y}).join(`
24
- `)},ht=(e,t,r,n,o)=>{let s=t.map(i=>Ma(S(O({},i),{implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o}))).filter(Boolean).join(`
25
- `);return s?s+`
26
- `:""},ue=({response:e,body:t,queryParams:r,params:n})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...n.flatMap(({imports:o})=>o)];m();m();var Ea=["number","string","null","unknown","undefined","object","blob"],Ie=Ea.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),_t=[J.POST,J.PUT,J.PATCH,J.DELETE];var Ga=(e,t,r)=>t&&e.formData?`
27
- formData,`:r&&e.formUrlEncoded?`
28
- formUrlEncoded,`:e.implementation?`
29
- ${e.implementation},`:"",Ia=(e,t,r)=>{var s;let n=r!==!1;if(!t&&!e.isBlob)return n?"options":"";let o="";return t&&(o+=`
30
- params,`),e.isBlob&&(!D(r)||!r.hasOwnProperty("responseType"))&&(o+=`
31
- responseType: 'blob',`),D(r)&&(o+=`
32
- ${(s=Z(r))==null?void 0:s.slice(1,-1)}`),n&&(o+=`
33
- ...options`),o},le=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:s,isFormData:i,isFormUrlEncoded:a,isAngular:p})=>{let c=_t.includes(o),u=c?Ga(t,i,a):"",l=Ia(n,r==null?void 0:r.schema,s);return o===J.DELETE?u?`
34
- \`${e}\`,{${p?"body":"data"}:${u} ${l==="options"?`...${l}`:l}}
35
- `:`
36
- \`${e}\`,${l==="options"?l:`{${l}}`}
37
- `:`
38
- \`${e}\`,${c?u||"undefined,":""}${l==="options"?l:`{${l}}`}
39
- `},Aa=(e,t,r)=>t&&e.formData?`,
40
- data: formData`:r&&e.formUrlEncoded?`,
41
- data: formUrlEncoded`:e.implementation?`,
42
- data: ${e.implementation}`:"",Ca=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
43
- params,`),e.isBlob&&(r+=`
44
- responseType: 'blob',`),r},fe=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:s,isFormUrlEncoded:i})=>{let p=_t.includes(o)?Aa(t,s,i):"",c=Ca(n,r==null?void 0:r.schema);return`{url: \`${e}\`, method: '${o}'${p}${c}
45
- }`},ge=(e,t)=>{var r,n;return t?D(e)?`{${(n=Z(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":D(e)?(r=Z(e))==null?void 0:r.slice(1,-1):""},de=({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 Da=[{exports:[{name:"HttpClient",values:!0},{name:"HttpHeaders"},{name:"HttpParams"},{name:"HttpContext"}],dependency:"@angular/common/http"},{exports:[{name:"Injectable",values:!0}],dependency:"@angular/core"},{exports:[{name:"Observable",values:!0}],dependency:"rxjs"}],An=()=>Da,Cn=e=>{let t=W(e);return`${x(t)}Service`},Dn=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideInRoot:o,provideIn:s})=>`
46
- ${t&&!n?`type HttpClientOptions = {
47
- headers?: HttpHeaders | {
48
- [header: string]: string | string[];
49
- };
50
- context?: HttpContext;
51
- observe?: any;
52
- params?: HttpParams | {
53
- [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
54
- };
55
- reportProgress?: boolean;
56
- responseType?: any;
57
- withCredentials?: boolean;
58
- };`:""}
59
-
60
- ${t&&r?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
61
- type ThirdParameter<T extends (...args: any) => any> = T extends (
62
- config: any,
63
- httpClient: any,
64
- args: infer P,
65
- ) => any
66
- ? P
67
- : never;`:""}
68
-
69
- @Injectable(${s?`{ providedIn: '${L(s)?"root":s}' }`:""})
70
- export class ${e} {
71
- constructor(
72
- private http: HttpClient,
73
- ) {}`,qn=()=>`};
74
- `,qa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p,formUrlEncoded:c},{route:u})=>{let l=(a==null?void 0:a.requestOptions)!==!1,f=(a==null?void 0:a.formData)!==!1,g=(a==null?void 0:a.formUrlEncoded)!==!1,y=de({formData:p,formUrlEncoded:c,body:o,isFormData:f,isFormUrlEncoded:g});if(n){let h=fe({route:u,body:o,queryParams:e,response:r,verb:i,isFormData:f,isFormUrlEncoded:g}),$=l?ge(a==null?void 0:a.requestOptions,n.hasThirdArg):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
75
- ${B(s,"implementation")}
76
- ${l&&n.hasThirdArg?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${y}
77
- return ${n.name}<TData>(
78
- ${h},
79
- this.http,
80
- ${$});
81
- }
82
- `}let d=le({route:u,body:o,queryParams:e,response:r,verb:i,requestOptions:a==null?void 0:a.requestOptions,isFormData:f,isFormUrlEncoded:g,isAngular:!0});return` ${t}<TData = ${r.definition.success||"unknown"}>(
83
- ${B(s,"implementation")} ${l?`options?: HttpClientOptions
84
- `:""} ): Observable<TData> {${y}
85
- return this.http.${i}<TData>(${d});
86
- }
87
- `},kn=(e,t)=>{let r=ue(e);return{implementation:qa(e,t),imports:r}};m();var ka=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Ht=e=>[...e?[]:ka],Fa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p,formUrlEncoded:c},{route:u,context:l})=>{let f=(a==null?void 0:a.requestOptions)!==!1,g=(a==null?void 0:a.formData)!==!1,y=(a==null?void 0:a.formUrlEncoded)!==!1,d=H(l.tsconfig),h=de({formData:p,formUrlEncoded:c,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let T=fe({route:u,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),P=f?ge(a==null?void 0:a.requestOptions,n.hasSecondArg):"";return`const ${t} = (
88
- ${B(s,"implementation")}
89
- ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${h}
90
- return ${n.name}<${r.definition.success||"unknown"}>(
91
- ${T},
92
- ${P});
93
- }
94
- `}let $=le({route:u,body:o,queryParams:e,response:r,verb:i,requestOptions:a==null?void 0:a.requestOptions,isFormData:g,isFormUrlEncoded:y});return`const ${t} = <TData = AxiosResponse<${r.definition.success||"unknown"}>>(
95
- ${B(s,"implementation")} ${f?`options?: AxiosRequestConfig
96
- `:""} ): Promise<TData> => {${h}
97
- return axios${d?"":".default"}.${i}(${$});
98
- }
99
- `},Yt=e=>{let t=W(e);return`get${x(t)}`},Jt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`${t&&r?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
100
- type SecondParameter<T extends (...args: any) => any> = T extends (
101
- config: any,
102
- args: infer P,
103
- ) => any
104
- ? P
105
- : never;
106
-
107
- `:""}
108
- ${n?"":`export const ${e} = () => {
109
- `}`,Fn=(e=[])=>`return {${e.join(",")}}};
110
- `,Xt=(e,t)=>{let r=ue(e);return{implementation:Fa(e,t),imports:r}};m();m();m();m();var Vn={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()"};m();m();var Un=(e,t,r)=>{var i,a;let n=Object.entries(((i=t.specs[r].components)==null?void 0:i.schemas)||[]).reduce((p,[c,u])=>(p[c]=u,p),{}),o=Object.entries(((a=t.specs[r].components)==null?void 0:a.responses)||[]).reduce((p,[c,u])=>{var l,f;return p[c]=A(u)?u:(f=(l=u.content)==null?void 0:l["application/json"])==null?void 0:f.schema,p},{}),s=O(O({},n),o);return S(O({},s[e]),{specKey:r})};var Va=e=>e[0]==="/"&&e[e.length-1]==="/",bt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Va(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:_e(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},_e=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,ye=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(A(e)){let{name:i,specKey:a}=await Me(e.$ref,S(O({},s),{specKey:e.specKey||s.specKey})),p=S(O({},Un(i,s,a||e.specKey||s.specKey)),{name:i,path:e.path,isRef:!0,specKey:a||e.specKey});return Qe({item:p,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}return Qe({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})};m();var _cuid = require('cuid'); var _cuid2 = _interopRequireDefault(_cuid);m();var Nn=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;m();var Wn=async({item:e,items:t,isOneOf:r,mockOptions:n,operationId:o,tags:s,combine:i,context:a})=>{let p=[],c=[...(i==null?void 0:i.properties)||[]];return{value:await v(t,async(l,f,g,y)=>{let d=await ye({schema:S(O({},f),{name:e.name,path:e.path?e.path:"#",specKey:e.specKey}),combine:r?void 0:{properties:c},mockOptions:n,operationId:o,tags:s,context:a});return p=[...p,...d.imports],c=[...c,...d.properties||[]],!g&&!i?d.enums||r?y.length===1?`faker.helpers.randomize([${d.value}])`:`faker.helpers.randomize([${d.value},`:y.length===1?`{${d.value}}`:`{${d.value},`:y.length-1===g?d.enums||r?l+d.value+(i?"":"])"):l+d.value+(i?"":"}"):d.value?l+d.value+",":l},""),imports:p,name:e.name,properties:c}};m();var _esutils = require('esutils');var Ae=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Bn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(A(e))return ye({schema:S(O({},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 Wn({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([c,u])=>{if(o==null?void 0:o.properties.includes(c))return;let l=(t==null?void 0:t.required)||(Array.isArray(e.required)?e.required:[]).includes(c);if(Nn(e.path,`\\.${c}\\.`)>=1)return;let f=await ye({schema:S(O({},u),{name:c,path:e.path?`${e.path}.${c}`:`#.${c}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});a=[...a,...f.imports],p=[...p,c];let g=Ae(c);return!l&&!f.overrided?`${g}: faker.helpers.randomize([${f.value}, undefined])`:`${g}: ${f.value}`}))).filter(Boolean).join(", "),i+=o?"":"}",{value:i,imports:a,name:e.name,properties:p}}if(e.additionalProperties){if(L(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let i=await ye({schema:S(O({},e.additionalProperties),{name:e.name,path:e.path?`${e.path}.#`:"#",specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});return S(O({},i),{value:`{
111
- '${_cuid2.default.call(void 0, )}': ${i.value}
112
- }`})}return{value:"{}",imports:[],name:e.name}};var Qe=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{var l,f;let i=bt((f=(l=t==null?void 0:t.operations)==null?void 0:l[r])==null?void 0:f.properties,e);if(i)return i;let a=Object.entries((t==null?void 0:t.tags)||{}).reduce((g,[y,d])=>n.includes(y)?je(g,d):g,{}),p=bt(a==null?void 0:a.properties,e);if(p)return p;let c=bt(t==null?void 0:t.properties,e);if(c)return c;let u=O(O({},Vn),(t==null?void 0:t.format)||{});if(e.format&&u[e.format])return{value:_e(u[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:_e("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:g,enums:y,imports:d,name:h}=await ye({schema:S(O({},e.items),{name:e.name,path:e.path?`${e.path}.[]`:"#.[]",specKey:e.specKey}),combine:o,mockOptions:t,operationId:r,tags:n,context:s});return y?{value:`[...Array(faker.datatype.number({min:1, max: ${y.length}}))].reduce(({values, enums}) => {
113
- const newValue = enums[faker.datatype.number({min:1, max: enums.length})];
114
- return {
115
- values: [...values, newValue],
116
- enums: enums.filter((v: ${h}) => newValue !== v)
117
- }
118
- },{ values: [], enums: Object.values(${h})})`,imports:d,name:e.name}:{value:`[...Array(faker.datatype.number({min: 1, max: 10}))].map(() => (${g}))`,imports:d,name:e.name}}case"string":{let g="faker.random.word()",y=[];if(e.enum){let d="['"+e.enum.map(h=>yt(h)).join("','")+"']";e.isRef&&(d=`Object.values(${e.name})`,y=[{name:e.name,values:!0}]),g=`faker.helpers.randomize(${d})`}return{value:_e(g,e.nullable),enums:e.enum,name:e.name,imports:y}}case"object":default:return Bn({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}};var Ot=(e,t)=>Object.entries(Q(e)?e(t):e).reduce((r,[n,o])=>(r[n]=Q(o)?`(${o})()`:Z(o),r),{}),Wa=(e,t)=>{var r,n,o;return O(O(O(O({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:Ot(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:Ot(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((s,[i,a])=>{var p;return((p=a.mock)==null?void 0:p.properties)&&(s[i]={properties:Ot(a.mock.properties,e)}),s},{})}:{}),(t==null?void 0:t.tags)?{tags:Object.entries(t.tags).reduce((s,[i,a])=>{var p;return((p=a.mock)==null?void 0:p.properties)&&(s[i]={properties:Ot(a.mock.properties,e)}),s},{})}:{})},Ba=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"}},za=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>v(r.types.success,async(i,{value:a,originalSchema:p})=>{if(!a||Ie.includes(a)){let l=Ba(a);return i.definitions.push(o?o(l,r.definition.success):l),i}if(!p)return i;let c=await V(p,s),u=await Qe({item:O(O({name:a},c.schema),r.imports.length?{specKey:r.imports[0].specKey}:{}),mockOptions:n,operationId:e,tags:t,context:s});return i.imports.push(...u.imports),i.definitions.push(o?o(u.value,r.definition.success):u.value.toString()),i},{definitions:[],imports:[]}),zn=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let i=Wa(s.specs[s.specKey],n),{definitions:a,imports:p}=await za({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:i,transformer:o,context:s});return{definition:"["+a.join(", ")+"]",definitions:a,imports:p}},Kn=(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 Q(r)?`(${r})()`:Z(r)};var Ka=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+W(r),""),La=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${Ka(o)}`:`${n}/${o}`:n,t),Qa=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0,syntheticDefaultImport:!0}],dependency:"faker"}],he=(e,t,r,n,o)=>ht(e,[...Qa,...t],r,n,o),Ln=async({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:s,context:i})=>{var y;let{definitions:a,definition:p,imports:c}=await zn({operationId:e,tags:n,response:t,override:s,context:i}),u=La(o,(y=s==null?void 0:s.mock)==null?void 0:y.baseUrl),l=Kn(e,s),f="";l?f=l:a.length>1?f=`faker.helpers.randomize(${p})`:a[0]&&(f=a[0]);let g=t.contentTypes.includes("text/plain")?"text":"json";return{implementation:{function:f&&f!=="undefined"?`export const get${x(e)}Mock = () => (${f})
119
-
120
- `:"",handler:`rest.${r}('${u}', (_req, res, ctx) => {
121
- return res(
122
- ctx.delay(1000),
123
- ctx.status(200, 'Mocked status'),${f&&f!=="undefined"?`
124
- ctx.${g}(get${x(e)}Mock()),`:""}
125
- )
126
- }),`},imports:c}};m();var _lodashomitby = require('lodash.omitby'); var _lodashomitby2 = _interopRequireDefault(_lodashomitby);m();var ne={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam"};var er=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],Ha=[{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"}],Qn=e=>[...e?[]:er,...Ha],Ya=[{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"}],_n=e=>[...e?[]:er,...Ya],Ja=[{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"}],Hn=e=>[...e?[]:er,...Ja],Xa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,formUrlEncoded:p,override:c},{route:u,context:l})=>{let f=(c==null?void 0:c.requestOptions)!==!1,g=(c==null?void 0:c.formData)!==!1,y=(c==null?void 0:c.formUrlEncoded)!==!1,d=H(l.tsconfig),h=de({formData:a,formUrlEncoded:p,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let T=fe({route:u,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),P=f?ge(c==null?void 0:c.requestOptions,n.hasSecondArg):"";return n.isHook?`export const use${x(t)}Hook = () => {
127
- const ${t} = ${n.name}<${r.definition.success||"unknown"}>();
128
-
129
- return (
130
- ${B(s,"implementation")}
131
- ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${h}
132
- return ${t}(
133
- ${T},
134
- ${P});
135
- }
136
- }
137
- `:`export const ${t} = (
138
- ${B(s,"implementation")}
139
- ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${h}
140
- return ${n.name}<${r.definition.success||"unknown"}>(
141
- ${T},
142
- ${P});
143
- }
144
- `}let $=le({route:u,body:o,queryParams:e,response:r,verb:i,requestOptions:c==null?void 0:c.requestOptions,isFormData:g,isFormUrlEncoded:y});return`export const ${t} = (
145
- ${B(s,"implementation")} ${f?`options?: AxiosRequestConfig
146
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${h}
147
- return axios${d?"":".default"}.${i}(${$});
148
- }
149
- `},Zt={INFINITE:"infiniteQuery",QUERY:"query"},Za=["getNextPageParam","getPreviousPageParam"],ep=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=D(t)?` ${(o=Z(_lodashomitby2.default.call(void 0, t,(s,i)=>!!(r!==Zt.INFINITE&&Za.includes(i)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!D(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},Yn=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,type:o})=>{let s=r==null?void 0:r.isHook,i=o?`Use${x(o)}Options<AsyncReturnType<${s?`ReturnType<typeof use${x(e)}Hook>`:`typeof ${e}`}>, TError, TData>`:`UseMutationOptions<AsyncReturnType<${s?`ReturnType<typeof use${x(e)}Hook>`:`typeof ${e}`}>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;return n?`options?: { ${o?"query":"mutation"}?:${i}, ${r?(r==null?void 0:r.hasSecondArg)?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
150
- `:`${o?"queryOptions":"mutationOptions"}?: ${i}`},tp=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:i,properties:a,params:p,props:c,mutator:u,isRequestOptions:l,response:f,outputClient:g})=>{let y=t?c.map(({name:$})=>$==="params"?`{ ${t}: pageParam, ...params }`:$).join(","):a,d=g!==K.SVELTE_QUERY?` Use${x(n)}Result<TData, TError>`:`Use${x(n)}StoreResult<AsyncReturnType<${(u==null?void 0:u.isHook)?`ReturnType<typeof use${x(o)}Hook>`:`typeof ${o}`}>, TError, TData, QueryKey>`,h=`AxiosError<${f.definition.errors||"unknown"}>`;return u&&(h=u.hasErrorType?`${u.default?x(o):""}ErrorType<${f.definition.errors||"unknown"}>`:f.definition.errors||"unknown"),`
151
- export const ${w(`use-${e}`)} = <TData = AsyncReturnType<${(u==null?void 0:u.isHook)?`ReturnType<typeof use${x(o)}Hook>`:`typeof ${o}`}>, TError = ${h}>(
152
- ${s} ${Yn({operationName:o,definitions:"",mutator:u,isRequestOptions:l,type:n})}
153
- ): ${d} & { queryKey: QueryKey } => {
154
-
155
- ${l?`const {query: queryOptions${u?u.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
156
-
157
- const queryKey = queryOptions?.queryKey ?? ${i}(${a});
158
-
159
- ${(u==null?void 0:u.isHook)?`const ${o} = use${x(o)}Hook()`:""}
160
-
161
- const queryFn: QueryFunction<AsyncReturnType<${(u==null?void 0:u.isHook)?`ReturnType<typeof use${x(o)}Hook>`:`typeof ${o}`}>> = (${t&&c.some(({type:$})=>$==="queryParam")?"{ pageParam }":""}) => ${o}(${y}${y?", ":""}${l?u?u.hasSecondArg?"requestOptions":"":"axiosOptions":""});
162
-
163
- const query = ${w(`use-${n}`)}<AsyncReturnType<${(u==null?void 0:u.isHook)?`ReturnType<typeof use${x(o)}Hook>`:`typeof ${o}`}>, TError, TData>(queryKey, queryFn, ${ep({params:p,options:r,type:n})})
164
-
165
- return {
166
- queryKey,
167
- ...query
168
- }
169
- }
170
- `},rp=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p,operationId:c},{route:u,override:{operations:l={}}},f)=>{var P;let g=i==null?void 0:i.query,y=(i==null?void 0:i.requestOptions)!==!1,d=(P=l[c])==null?void 0:P.query;if(o===J.GET||(d==null?void 0:d.useInfinite)||(d==null?void 0:d.useQuery)){let G=n.map(({name:C,type:te})=>te===ne.BODY?r.implementation:C).join(","),j=[...(g==null?void 0:g.useInfinite)?[{name:w(`${t}-infinite`),options:g==null?void 0:g.options,type:Zt.INFINITE,queryParam:g==null?void 0:g.useInfiniteQueryParam}]:[],...!(g==null?void 0:g.useQuery)&&!(g==null?void 0:g.useInfinite)||(g==null?void 0:g.useQuery)?[{name:t,options:g==null?void 0:g.options,type:Zt.QUERY}]:[]],k=w(`get-${t}-queryKey`),I=B(n,"implementation");return`export const ${k} = (${I}) => [\`${u}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
171
-
172
- ${j.reduce((C,te)=>C+tp({queryOption:te,operationName:t,queryProps:I,queryKeyFnName:k,properties:G,params:s,props:n,mutator:a,isRequestOptions:y,response:p,outputClient:f}),"")}
173
- `}let h=n.map(({definition:G,type:j})=>j===ne.BODY?`data: ${r.definition}`:G).join(";"),$=n.map(({name:G,type:j})=>j===ne.BODY?"data":G).join(","),T=`AxiosError<${p.definition.errors||"unknown"}>`;return a&&(T=a.hasErrorType?`${a.default?x(t):""}ErrorType<${p.definition.errors||"unknown"}>`:p.definition.errors||"unknown"),`
174
- export const ${w(`use-${t}`)} = <TError = ${T},
175
- ${h?"":"TVariables = void,"}
176
- TContext = unknown>(${Yn({operationName:t,definitions:h,mutator:a,isRequestOptions:y})}) => {
177
- ${y?`const {mutation: mutationOptions${a?(a==null?void 0:a.hasSecondArg)?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
178
-
179
- ${(a==null?void 0:a.isHook)?`const ${t} = use${x(t)}Hook()`:""}
180
-
181
-
182
- const mutationFn: MutationFunction<AsyncReturnType<${(a==null?void 0:a.isHook)?`ReturnType<typeof use${x(t)}Hook>`:`typeof ${t}`}>, ${h?`{${h}}`:"TVariables"}> = (${$?"props":""}) => {
183
- ${$?`const {${$}} = props || {}`:""};
184
-
185
- return ${t}(${$}${$?",":""}${y?a?(a==null?void 0:a.hasSecondArg)?"requestOptions":"":"axiosOptions":""})
186
- }
187
-
188
- return useMutation<AsyncReturnType<typeof ${t}>, TError, ${h?`{${h}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
189
- }
190
- `},xt=()=>"",$t=({isRequestOptions:e,isMutator:t})=>`// eslint-disable-next-line @typescript-eslint/no-explicit-any
191
- type AsyncReturnType<
192
- T extends (...args: any) => Promise<any>
193
- > = T extends (...args: any) => Promise<infer R> ? R : any;
194
-
195
-
196
- ${e&&t?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
197
- type SecondParameter<T extends (...args: any) => any> = T extends (
198
- config: any,
199
- args: infer P,
200
- ) => any
201
- ? P
202
- : never;
203
-
204
- `:""}`,St=()=>"",wt=(e,t,r)=>{let n=ue(e),o=Xa(e,t),s=rp(e,t,r);return{implementation:`${o}
205
-
206
- ${s}`,imports:n}};m();var np=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],op=[{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],Jn=e=>[...e?[]:np,...op],sp=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,formUrlEncoded:p,override:c},{route:u,context:l})=>{let f=(c==null?void 0:c.requestOptions)!==!1,g=(c==null?void 0:c.formData)!==!1,y=(c==null?void 0:c.formUrlEncoded)!==!1,d=H(l.tsconfig),h=de({formData:a,formUrlEncoded:p,body:o,isFormData:g,isFormUrlEncoded:y});if(n){let T=fe({route:u,body:o,queryParams:e,response:r,verb:i,isFormData:g,isFormUrlEncoded:y}),P=f?ge(c==null?void 0:c.requestOptions,n.hasSecondArg):"";return`export const ${t} = (
207
- ${B(s,"implementation")}
208
- ${f&&n.hasSecondArg?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${h}
209
- return ${n.name}<${r.definition.success||"unknown"}>(
210
- ${T},
211
- ${P});
212
- }
213
- `}let $=le({route:u,body:o,queryParams:e,response:r,verb:i,requestOptions:c==null?void 0:c.requestOptions,isFormData:g,isFormUrlEncoded:y});return`export const ${t} = (
214
- ${B(s,"implementation")} ${f?`options?: AxiosRequestConfig
215
- `:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${h}
216
- return axios${d?"":".default"}.${i}(${$});
217
- }
218
- `},ip=({operationName:e,mutator:t,isRequestOptions:r})=>{let n=`SWRConfiguration<AsyncReturnType<typeof ${e}>, TError> & {swrKey: Key}`;return r?`options?: { swr?:${n}, ${t?(t==null?void 0:t.hasSecondArg)?`request?: SecondParameter<typeof ${t.name}>`:"":"axios?: AxiosRequestConfig"} }
219
- `:`swrOptions?: ${n}`},ap=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:s,isRequestOptions:i,response:a})=>{let p=n,c=o.length?`const isEnable = !!(${o.map(({name:l})=>l).join(" && ")})
220
- const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);`:`const swrKey = swrOptions?.swrKey ?? (() => ${r}(${n}))`,u=`AxiosError<${a.definition.errors||"unknown"}>`;return s&&(u=s.hasErrorType?`ErrorType<${a.definition.errors||"unknown"}>`:a.definition.errors||"unknown"),`
221
- export const ${w(`use-${e}`)} = <TError = ${u}>(
222
- ${t} ${ip({operationName:e,mutator:s,isRequestOptions:i})}
223
- ) => {
224
-
225
- ${i?`const {swr: swrOptions${s?(s==null?void 0:s.hasSecondArg)?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
226
-
227
- ${c}
228
- const swrFn = () => ${e}(${p}${p?", ":""}${i?s?(s==null?void 0:s.hasSecondArg)?"requestOptions":"":"axiosOptions":""});
229
-
230
- const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
231
-
232
- return {
233
- swrKey,
234
- ...query
235
- }
236
- }
237
- `},pp=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p},{route:c})=>{let u=(i==null?void 0:i.requestOptions)!==!1;if(o!==J.GET)return"";let l=n.map(({name:y,type:d})=>d===ne.BODY?r.implementation:y).join(","),f=w(`get-${t}-key`),g=B(n,"implementation");return`export const ${f} = (${g}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
238
-
239
- ${ap({operationName:t,swrProps:g,swrKeyFnName:f,properties:l,params:s,props:n,mutator:a,isRequestOptions:u,response:p})}
240
- `},Xn=()=>"",Zn=({isRequestOptions:e,isMutator:t})=>`// eslint-disable-next-line @typescript-eslint/no-explicit-any
241
- type AsyncReturnType<
242
- T extends (...args: any) => Promise<any>
243
- > = T extends (...args: any) => Promise<infer R> ? R : any;
244
-
245
-
246
- ${e&&t?`// eslint-disable-next-line @typescript-eslint/no-explicit-any
247
- type SecondParameter<T extends (...args: any) => any> = T extends (
248
- config: any,
249
- args: infer P,
250
- ) => any
251
- ? P
252
- : never;
253
-
254
- `:""}`,eo=()=>"",to=(e,t)=>{let r=ue(e),n=sp(e,t),o=pp(e,t);return{implementation:`${n}
255
-
256
- ${o}`,imports:r}};var He=K.AXIOS,ro={axios:{client:Xt,header:Jt,dependencies:Ht,footer:Fn,title:Yt},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=Xt(e,t);return{implementation:"export "+r,imports:n}},header:e=>Jt(S(O({},e),{noFunction:!0})),dependencies:Ht,footer:()=>"",title:Yt},angular:{client:kn,header:Dn,dependencies:An,footer:qn,title:Cn},"react-query":{client:wt,header:$t,dependencies:_n,footer:St,title:xt},"svelte-query":{client:wt,header:$t,dependencies:Qn,footer:St,title:xt},"vue-query":{client:wt,header:$t,dependencies:Hn,footer:St,title:xt},swr:{client:to,header:Zn,dependencies:Jn,footer:eo,title:Xn}},Ye=e=>{let t=Q(e)?e(ro):ro[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},be=(e=He,t,r,n,o,s,i)=>{let{dependencies:a}=Ye(e);return ht(t,[...a(i),...r],n,o,s)},Rt=({outputClient:e=He,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:i,provideIn:a})=>{let p=mp(e,r,n),{header:c}=Ye(e);return{implementation:c({title:p.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:i,provideIn:a}),implementationMSW:`export const ${p.implementationMSW} = () => [
257
- `}},jt=(e=He,t)=>{let{footer:r}=Ye(e);return{implementation:r(t),implementationMSW:`]
258
- `}},mp=(e=He,t,r)=>{let{title:n}=Ye(e);if(r){let o=r(t);return{implementation:n(o),implementationMSW:`get${x(o)}MSW`}}return{implementation:n(t),implementationMSW:`get${x(t)}MSW`}},cp=async(e,t)=>t.mock?Q(t.mock)?t.mock(e,t):Ln(e,t):{implementation:{function:"",handler:""},imports:[]},no=(e=He,t,r)=>v(t,async(n,o)=>{let{client:s}=Ye(e),i=s(o,r,e),a=await cp(o,r);return 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,formUrlEncoded:o.formUrlEncoded,operationName:o.operationName},n},{});m();m();var up="\\*/",oo="*\\/",so=new RegExp(up,"g");function N({description:e,deprecated:t,summary:r},n=!1){let o=(Array.isArray(e)?e:[e||""]).map(p=>p.replace(so,oo)),s=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!s)return"";let i=s===1&&n,a="/**";return e&&(i||(a+=`
259
- ${n?" ":""} *`),a+=` ${o.join(`
260
- * `)}`),t&&(i||(a+=`
261
- ${n?" ":""} *`),a+=" @deprecated"),r&&(i||(a+=`
262
- ${n?" ":""} *`),a+=` @summary ${r.replace(so,oo)}`),a+=i?" ":`
263
- ${n?" ":""}`,a+=`*/
264
- `,a}m();m();var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);m();var Je=async(e,t,r,n)=>{let{schema:o,imports:s}=await V(t,r),i=A(t)?s[0].name:e,a=n?"formUrlEncoded":"formData",p=n?`const ${a} = new URLSearchParams();
265
- `:`const ${a} = new FormData();
266
- `;if(o.type==="object"&&o.properties){let c=await v(Object.entries(o.properties),async(u,[l,f])=>{var d;let{schema:g}=await V(f,r),y="";return g.type==="object"||g.type==="array"?y=`${a}.append('${l}', JSON.stringify(${w(i)}${l.includes("-")?`['${l}']`:`.${l}`}))
267
- `:g.type==="number"||g.type==="integer"||g.type==="boolean"?y=`${a}.append('${l}', ${w(i)}${l.includes("-")?`['${l}']`:`.${l}`}.toString())
268
- `:y=`${a}.append('${l}', ${w(i)}${l.includes("-")?`['${l}']`:`.${l}`})
269
- `,((d=o.required)==null?void 0:d.includes(l))?u+y:u+`if(${w(i)}${l.includes("-")?`['${l}']`:`.${l}`} !== undefined) {
270
- ${y} }
271
- `},"");return`${p}${c}`}return o.type==="array"?`${p}${a}.append('data', JSON.stringify(${w(i)}))
272
- `:o.type==="number"||o.type==="boolean"?`${p}${a}.append('data', ${w(i)}.toString())
273
- `:`${p}${a}.append('data', ${w(i)})
274
- `};m();m();var Ce=(e,t,r)=>{let n=`export type ${r} = ${e};
275
- `,o=Tt(e,t,r);return n+=`
276
-
277
- `,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
278
- `,n+=`export const ${r} = {
279
- ${o}};
280
- `,n},Tt=(e,t,r)=>[...new Set(e.split(" | "))].reduce((n,o)=>{if(o==="null")return n;let s=t==="number",a=!Number.isNaN(Number(o.slice(1,-1)))||s?fp(s?o.toString():o.slice(1,-1)):W(o,{underscore:"_",whitespace:"_",dash:"-"});return n+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${o} as ${r},
281
- `},""),fp=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;m();m();m();var io=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")};m();m();var gp={allOf:"&",oneOf:"|",anyOf:"|"},Pt=async({name:e,items:t,separator:r,context:n,nullable:o})=>{let s=await v(t,async(p,c)=>{let u=e?e+x(r):void 0;u&&p.schemas.length&&(u=u+x(dt(p.schemas.length+1)));let l=await oe({schema:c,propName:u,combined:!0,context:n});return p.values.push(l.value),p.imports.push(...l.imports),p.schemas.push(...l.schemas),p.isEnum.push(l.isEnum),p.types.push(l.type),p.isRef.push(l.isRef),p},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[]}),i=s.isEnum.every(p=>p),a=s.values.join(` ${i?"|":gp[r]} `);if(i&&e){let p=`
282
-
283
- // eslint-disable-next-line @typescript-eslint/no-redeclare
284
- export const ${x(e)} = ${dp(s,e)}`;return{value:`${a+o};`+p,imports:s.imports.map(c=>S(O({},c),{values:!0})),schemas:s.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:a+o,imports:s.imports,schemas:s.schemas,isEnum:i,type:"object",isRef:!1}},dp=({values:e,isRef:t,types:r},n)=>e.length===1?t[0]?e[0]:`{${Tt(e[0],r[0],x(n))}}`:`{${e.map((s,i)=>t[i]?`...${s}`:Tt(s,r[i],x(n))).join(",")}}`;var ao=async({item:e,name:t,context:r,nullable:n})=>{if(A(e)){let{name:o,specKey:s}=await Me(e.$ref,r);return{value:o+n,imports:[{name:o,specKey:s}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return Pt({items:e.properties?[...e.allOf,_lodashomit2.default.call(void 0, e,"allOf")]:e.allOf,name:t,separator:"allOf",context:r,nullable:n});if(e.oneOf)return Pt({items:e.properties?[...e.oneOf,_lodashomit2.default.call(void 0, e,"oneOf")]:e.oneOf,name:t,separator:"oneOf",context:r,nullable:n});if(e.anyOf)return Pt({items:e.properties?[...e.anyOf,_lodashomit2.default.call(void 0, e,"anyOf")]:e.anyOf,name:t,separator:"anyOf",context:r,nullable:n});if(e.properties&&Object.entries(e.properties).length>0)return v(Object.entries(e.properties),async(o,[s,i],a,p)=>{var d,h,$;let c=(Array.isArray(e.required)?e.required:[]).includes(s),u=t?x(t)+x(s):void 0;!!(($=(h=(d=r.specs[r.target])==null?void 0:d.components)==null?void 0:h.schemas)==null?void 0:$[u||""])&&(u=u+"Property");let f=await oe({schema:i,propName:u,context:r}),g=e.readOnly||i.readOnly;a||(o.value+="{");let y=N(i,!0);if(o.imports.push(...f.imports),o.value+=`
285
- ${y?`${y} `:""}${g?"readonly ":""}${Ae(s)}${c?"":"?"}: ${f.value};`,o.schemas.push(...f.schemas),p.length-1===a){if(e.additionalProperties)if(L(e.additionalProperties))o.value+=`
286
- [key: string]: any;
287
- }`;else{let T=await re({schema:e.additionalProperties,name:t,context:r});o.value+=`
288
- [key: string]: ${T.value};
289
- }`}else o.value+=`
290
- }`;o.value+=n}return o},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(L(e.additionalProperties))return{value:"{ [key: string]: any }"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let o=await re({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${o.value}}`+n,imports:o.imports||[],schemas:o.schemas||[],isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var vt=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 io({schema:e,name:t,context:r}),{value:i}=o,a=$e(o,["value"]);return O({value:i+n},a)}case"string":{let i="string",a=!1;return e.enum&&(i=`'${e.enum.map(p=>q(p)?yt(p):p).filter(Boolean).join("' | '")}'`,a=!0),e.format==="binary"&&(i="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(i="Date"),{value:i+n,isEnum:a,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let s=await ao({item:e,name:t,context:r,nullable:n}),{value:i}=s,a=$e(s,["value"]);return O({value:i},a)}}};var re=async({schema:e,name:t,context:r})=>{if(A(e)){let{schema:o,imports:s}=await V(e,r),{name:i,specKey:a,schemaName:p}=s[0],c=a||(r.specKey!==r.target?r.specKey:void 0);return{value:i,imports:[{name:i,specKey:c,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 vt({item:e,name:t,context:r});return S(O({},n),{originalSchema:e,isRef:!1})};var oe=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await re({schema:e,name:t,context:n}),s=N(o.originalSchema||{});if(t&&!o.isEnum&&(o==null?void 0:o.type)==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${s}export type ${t} = ${o.value};
291
- `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let i=Ce(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 po=["multipart/form-data"],mo=["application/x-www-form-urlencoded"],hp=async({mediaType:e,propName:t,context:r})=>e.schema?await oe({schema:e.schema,propName:t,context:r}):void 0,De=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,i])=>Boolean(i)).map(async([s,i])=>{if(A(i)){let{schema:a,imports:[{name:p,specKey:c,schemaName:u}]}=await V(i,r),[l,f]=Object.entries(a.content||{})[0]||[],g=po.includes(l),y=mo.includes(l);if(!g&&!y||!(f==null?void 0:f.schema))return[{value:p,imports:[{name:p,specKey:c,schemaName:u}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:l}];let d=g?await Je(p,f==null?void 0:f.schema,S(O({},r),{specKey:c||r.specKey})):void 0,h=y?await Je(p,f==null?void 0:f.schema,S(O({},r),{specKey:c||r.specKey}),!0):void 0;return[{value:p,imports:[{name:p,specKey:c,schemaName:u}],schemas:[],type:"unknown",isEnum:!1,formData:d,formUrlEncoded:h,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:l}]}return i.content?(await Promise.all(Object.entries(i.content).map(async([p,c],u,l)=>{let f=s?x(t)+x(s):void 0;f&&l.length>1&&(f=f+x(dt(u+1)));let g=await hp({mediaType:c,propName:f,context:r});if(!g)return;let y=po.includes(p),d=mo.includes(p);if(!y&&!d||!f)return S(O({},g),{contentType:p});let h=y?await Je(f,c.schema,r):void 0,$=d?await Je(f,c.schema,r,!0):void 0;return S(O({},g),{formData:h,formUrlEncoded:$,contentType:p})}))).filter(p=>p).map(p=>S(O({},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.flatMap(s=>s),"value")};var co=async(e,t,r)=>{let n=await De([[r.override.components.requestBodies.suffix,e]],t,r),o=n.flatMap(({imports:u})=>u),s=n.flatMap(({schemas:u})=>u),i=n.map(({value:u})=>u).join(" | "),a=Ie.includes(i.toLowerCase())||n.length>1?w(t)+r.override.components.requestBodies.suffix:w(i),p=n.length===1?n[0].formData:void 0,c=n.length===1?n[0].formUrlEncoded:void 0;return{definition:i,implementation:a,imports:o,schemas:s,formData:p||"",formUrlEncoded:c||""}};m();var uo=(e,t,r)=>e.operationId?e.operationId:x([r,...t.split("/").map(n=>W(n))].join("-"));m();var lo=async({parameters:e=[],context:t})=>v(e,async(r,n)=>{if(A(n)){let{schema:o,imports:s}=await V(n,t);(o.in==="path"||o.in==="query")&&r[o.in].push({parameter:o,imports:s})}else(n.in==="query"||n.in==="path")&&r[n.in].push({parameter:n,imports:[]});return r},{path:[],query:[]});m();var bp=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},fo=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=bp(e);return Promise.all(o.map(async s=>{let i=t.find(({parameter:y})=>w(W(y.name,{underscore:!0,dash:!0}))===s);if(!i)throw new Error(`The path params ${s} can't be found in parameters (${r})`);let{name:a,required:p=!1,schema:c}=i.parameter,u=W(w(a));if(!c)return{name:u,definition:`${u}${p?"":"?"}: unknown`,implementation:`${u}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let l=await re({schema:c,context:O(O({},n),i.imports.length?{specKey:i.imports[0].specKey}:{})}),f=`${u}${!p||l.originalSchema.default?"?":""}: ${l.value}`,g=`${u}${!p&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${Z(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:u,definition:f,implementation:g,default:l.originalSchema.default,required:p,imports:l.imports}}))};m();m();var go=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var yo=({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},s=[...r.map(a=>S(O({},a),{type:ne.PARAM})),...e.definition?[n]:[],...t?[o]:[]];return go(s)};m();var Op=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:s,required:i,schema:a,content:p}=n,{value:c,imports:u,isEnum:l,type:f,schemas:g,isRef:y}=await re({schema:a||p["application/json"].schema,context:r,name:x(t)+x(s)}),d=Ae(s);if(o.length)return{definition:`${d}${!i||a.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(l&&!y){let $=x(t)+x(s),T=Ce(c,f,$);return{definition:`${d}${!i||a.default?"?":""}: ${$}`,imports:[{name:$}],schemas:[...g,{name:$,model:T,imports:u}]}}return{definition:`${d}${!i||a.default?"?":""}: ${c}`,imports:u,schemas:g}})),ho=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await Op(e,t,r),o=n.flatMap(({imports:c})=>c),s=n.flatMap(({schemas:c})=>c),i=`${x(t)}Params`,a=n.map(({definition:c})=>c).join("; ");return{schema:{name:i,model:`export type ${i} = { ${a} };
292
- `,imports:o},deps:s}};m();var bo=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=await De(Object.entries(e),t,r,"void"),o=n.reduce((u,l)=>(l.key.startsWith("2")?u.success.push(l):u.errors.push(l),u),{success:[],errors:[]}),s=n.flatMap(({imports:u})=>u),i=n.flatMap(({schemas:u})=>u),a=[...new Set(n.map(({contentType:u})=>u))],p=o.success.map(({value:u,formData:l})=>l?"Blob":u).join(" | "),c=o.errors.map(({value:u})=>u).join(" | ");return{imports:s,definition:{success:p||"unknown",errors:c||"unknown"},isBlob:p==="Blob",types:o,contentTypes:a,schemas:i}};m();var _acorn = require('acorn');m();m();var rr=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var ee=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},Mt=(e,t)=>{if(me(e)){let r=new URL(t);return e.replace(r.origin,"").replace(M(r.pathname).dirname,"").replace(`.${rr(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, M(t).dirname,e)).split("../").join("").replace(`.${rr(e)}`,"")};var $o=(e,t)=>{let r=M(e),n=M(t.path),{pathWithoutExtension:o}=M(ee(r.dirname,n.path));return o},Gt=async({output:e,mutator:t,name:r,workspace:n,tsconfig:o})=>{var g;if(!t||!e)return;let s=t.default,i=t.name?t.name:`${r}Mutator`,a=t.path,p=await _fsextra.readFile.call(void 0, a,"utf8"),c=p.includes("export type ErrorType")||p.includes("export interface ErrorType"),u=t.default?`${x(r)}ErrorType`:"ErrorType",{file:l,cached:f}=await lt(a,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(l){let y=s?"default":t.name,d=jp(l,y);d||(_().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let h=$o(e,t);return{name:i,path:h,default:s,hasErrorType:c,errorTypeName:u,hasSecondArg:d.numberOfParams>1,hasThirdArg:d.numberOfParams>2,isHook:!!((g=t==null?void 0:t.name)==null?void 0:g.startsWith("use"))&&!d.numberOfParams}}else{let y=$o(e,t);return f||_().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:i,path:y,default:s,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:c,errorTypeName:u}}},jp=(e,t)=>{var r,n;try{let o=_acorn.Parser.parse(e,{ecmaVersion:6}),s=(r=o==null?void 0:o.body)==null?void 0:r.find(a=>{var p,c,u,l,f,g,y;if(a.type==="ExpressionStatement")return((u=(c=(p=a.expression.arguments)==null?void 0:p[1])==null?void 0:c.properties)==null?void 0:u.some(d=>{var h;return((h=d.key)==null?void 0:h.name)===t}))||((f=(l=a.expression.left)==null?void 0:l.property)==null?void 0:f.name)===t?!0:(y=(g=a.expression.right)==null?void 0:g.properties)==null?void 0:y.some(d=>d.key.name===t)});if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Et(o,s.expression.right.name);let a=(n=s.expression.right)==null?void 0:n.properties.find(p=>p.key.name===t);return a.value.name?Et(o,a.value.name):a.value.type==="FunctionExpression"||a.value.type==="ArrowFunctionExpression"?{numberOfParams:a.value.params.length}:void 0}let i=s.expression.arguments[1].properties.find(a=>{var p;return((p=a.key)==null?void 0:p.name)===t});return Et(o,i.value.body.name)}catch (e6){return}},Et=(e,t)=>{var o;let r=(o=e==null?void 0:e.body)==null?void 0:o.find(s=>{if(s.type==="VariableDeclaration")return s.declarations.find(i=>i.id.name===t);if(s.type==="FunctionDeclaration"&&s.id.name===t)return s});if(!r)return;if(r.type==="FunctionDeclaration")return{numberOfParams:r.params.length};let n=r.declarations.find(s=>s.id.name===t);return n.init.name?Et(e,n.init.name):{numberOfParams:n.init.params.length}};var Pp=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var We;let{responses:i,requestBody:a,parameters:p,tags:c=[],deprecated:u,description:l,summary:f}=r,g=uo(r,n,e),y=t.override.operations[r.operationId],d=Object.entries(t.override.tags).reduce((Be,[st,it])=>c.includes(st)?je(Be,it):Be,{}),h=O(O(O({},t.override),d),y),$=(y==null?void 0:y.operationName)||((We=t.override)==null?void 0:We.operationName),T=$?$(r,n,e):w(g),P=_esutils.keyword.isKeywordES5(T,!0)?`_${T}`:T,G=await bo(i,P,s),j=await co(a,P,s),k=await lo({parameters:[...o,...p||[]],context:s}),I=await ho({queryParams:k.query,operationName:P,context:s}),C=await fo({route:n,pathParams:k.path,operationId:g,context:s}),te=yo({body:j,queryParams:I==null?void 0:I.schema,params:C}),xe=await Gt({output:t.target,name:P,mutator:h==null?void 0:h.mutator,workspace:s.workspace,tsconfig:s.tsconfig}),se=q(h==null?void 0:h.formData)||D(h==null?void 0:h.formData)?await Gt({output:t.target,name:P,mutator:h.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Pe=q(h==null?void 0:h.formUrlEncoded)||D(h==null?void 0:h.formUrlEncoded)?await Gt({output:t.target,name:P,mutator:h.formUrlEncoded,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,ot=N({description:l,deprecated:u,summary:f}),Ue={verb:e,tags:c,summary:r.summary,operationId:g,operationName:P,response:G,body:j,queryParams:I,params:C,props:te,mutator:xe,formData:se,formUrlEncoded:Pe,override:h,doc:ot},Ne=await gt(h==null?void 0:h.transformer,s.workspace);return Ne?Ne(Ue):Ue},So=({verbs:e,output:t,route:r,context:n})=>v(Object.entries(e),async(o,[s,i])=>{if(en(s)){let a=await Pp({verb:s,output:t,verbParameters:e.parameters,route:r,operation:i,context:n});o.push(a)}return o},[]);var wo=async({output:e,context:t})=>v(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Mn(n),i=o,a=t;if(A(o)){let{schema:l,imports:f}=await V(o,t);i=l,a=O(O({},t),f.length?{specKey:f[0].specKey}:{})}let p=await So({verbs:i,output:e,route:s,context:a}),c=p.reduce((l,{queryParams:f,body:g,response:y})=>(f&&l.push(f.schema,...f.deps),l.push(...g.schemas),l.push(...y.schemas),l),[]),u=await no(e.client,p,{route:s,pathRoute:n,override:e.override,context:a,mock:!!e.mock});return r.schemas.push(...c),r.operations=O(O({},r.operations),u),r},{operations:{},schemas:[]});m();var Hs=ze(hr());var br=(e={},t,r)=>(0,Hs.default)(e)?Promise.resolve([]):v(Object.entries(e),async(n,[o,s])=>{let i=await De([[r,s]],o,t,"void"),a=i.flatMap(({imports:g})=>g),p=i.flatMap(({schemas:g})=>g),c=i.map(({value:g})=>g).join(" | "),u=`${x(o)}${r}`,f=`${N(s)}export type ${u} = ${c||"unknown"};
293
- `;return n.push(...p),u!==c&&n.push({name:u,model:f,imports:a}),n},[]);m();var Ys=(e={},t,r)=>v(Object.entries(e),async(n,[o,s])=>{let i=`${x(o)}${r}`,{schema:a,imports:p}=await V(s,t);if(a.in!=="query")return n;if(!a.schema||p.length)return n.push({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"};
294
- `}),n;let c=await oe({schema:a.schema,propName:i,context:t}),l=`${N(s)}export type ${i} = ${c.value||"unknown"};
295
- `;return n.push(...c.schemas),i!==c.value&&n.push({name:i,model:l,imports:c.imports}),n},[]);m();var Xs=ze(hr());m();var Js=async({name:e,schema:t,context:r,suffix:n})=>{let o=await vt({item:t,name:e,context:r}),s=o.value==="{}",i="";i+=N(t),s&&(r.tslint?i+=`// tslint:disable-next-line:no-empty-interface
296
- `:i+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
297
- `),Ie.includes(o.value)?i+=`export type ${e} = ${o.value};
298
- `:i+=`export interface ${e} ${o.value}
299
- `;let a=o.imports.filter(p=>p.name!==e);return[...o.schemas,{name:e,model:i,imports:a}]};var Zs=async(e={},t,r)=>(0,Xs.default)(e)?[]:v(Object.entries(e),async(o,[s,i])=>{let a=x(s)+r;if((!i.type||i.type==="object")&&!i.allOf&&!i.oneOf&&!i.anyOf&&!A(i)&&!i.nullable)return o.push(...await Js({name:a,schema:i,context:t,suffix:r})),o;{let p=await re({schema:i,name:a,context:t}),c="",u=p.imports;if(c+=N(i),p.isEnum&&!p.isRef)c+=Ce(p.value,p.type,a);else if(a===p.value&&p.isRef){let l=p.imports.find(f=>f.name===a);if(!l)c+=`export type ${a} = ${p.value};
300
- `;else{let f=(l==null?void 0:l.specKey)?`${x(Mt(l.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${a} = ${f};
301
- `,u=u.map(g=>g.name===a?S(O({},g),{alias:f}):g)}}else c+=`export type ${a} = ${p.value};
302
- `;return o.push(...p.schemas,{name:a,model:c,imports:u}),o}},[]);m();var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var ei=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&an(r),t.length&&pn(t)};var du=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await gt(t.override.transformer,r):void 0;return v(Object.entries(e),async(s,[i,a])=>{let p=await Tn(a,t.converterOptions,i),c=n?n(p):p;return t.validation&&await ei(c),s[i]=c,s},{})},Or=async({data:e,input:t,output:r,target:n,workspace:o})=>{let s=await du({specs:e,input:t,workspace:o}),i=await v(Object.entries(s),async(p,[c,u])=>{var $,T,P,G,j;let l={specKey:c,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig},f=await Zs(u.openapi?(T=u.components)==null?void 0:T.schemas:O(O({},_lodashomit2.default.call(void 0, u,["openapi","info","servers","paths","components","security","tags","externalDocs"])),(($=u.components)==null?void 0:$.schemas)||{}),l,r.override.components.schemas.suffix),g=await br((P=u.components)==null?void 0:P.responses,l,r.override.components.responses.suffix),y=await br((G=u.components)==null?void 0:G.requestBodies,l,r.override.components.requestBodies.suffix),d=await Ys((j=u.components)==null?void 0:j.parameters,l,r.override.components.parameters.suffix),h=[...f,...g,...y,...d];return h.length&&(p[c]=h),p},{}),a=await wo({output:r,context:{specKey:n,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig}});return S(O({},a),{schemas:S(O({},i),{[n]:[...i[n]||[],...a.schemas]}),target:n,info:s[n].info})};var Ou=async(e,o,n)=>{var s=o,{validate:t}=s,r=$e(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]))},ri=async(e,t)=>{let{input:r,output:n}=t;if(D(r.target))return Or({data:{[e]:r.target},input:r,output:n,target:e,workspace:e});let o=me(r.target),s=await Ou(r.target,r.parserOptions,o);return Or({data:s,input:r,output:n,target:r.target,workspace:e})};m();var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa);m();var Ru=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let i=s;return i+=In({imports:e,target:r,isRootKey:n,specsName:o}),i+=e.length?`
303
-
304
- `:`
305
- `,i+=t,i},xr=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var ju=async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:s})=>{let i=w(t.name);try{await _fsextra.outputFile.call(void 0, xr(e,i),Ru({schema:t,target:r,isRootKey:n,specsName:o,header:s}));let a=xr(e,"index"),c=(await _fsextra.readFile.call(void 0, a)).toString();!c.includes(`export * from './${i}'`)&&!c.includes(`export * from "./${i}"`)&&await _fsextra.appendFile.call(void 0, xr(e,"index"),`export * from './${i}';
306
- `)}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${i} => ${a}`}},oi=async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>(await _fsextra.ensureFile.call(void 0, _upath.join.call(void 0, e,"/index.ts")),Promise.all(t.map(i=>ju({path:e,schema:i,target:r,isRootKey:n,specsName:o,header:s}))));m();m();var Tu=(e,t)=>e+`${t}
307
- `,Oe=e=>Object.values(e).flatMap(r=>r).sort((r,n)=>r.imports.some(o=>o.name===n.name)?1:-1).reduce((r,{model:n})=>Tu(r,n),"");m();var At=(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,c)=>{if(i.imports.push(...a.imports),i.importsMSW.push(...a.importsMSW),i.implementation+=a.implementation+`
308
- `,i.implementationMSW.function+=a.implementationMSW.function,i.implementationMSW.handler+=a.implementationMSW.handler,a.mutator&&i.mutators.push(a.mutator),a.formData&&i.formData.push(a.formData),a.formUrlEncoded&&i.formUrlEncoded.push(a.formUrlEncoded),p===c.length-1){let u=i.mutators.some(g=>o?g.hasThirdArg:g.hasSecondArg),l=Rt({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!r.override.mutator,title:x(t.title),customTitleFunc:r.override.title,provideInRoot:!!r.override.angular.provideIn,provideIn:r.override.angular.provideIn});i.implementation=l.implementation+i.implementation,i.implementationMSW.handler=l.implementationMSW+i.implementationMSW.handler;let f=jt(r==null?void 0:r.client,n);i.implementation+=f.implementation,i.implementationMSW.handler+=f.implementationMSW}return i},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[],formUrlEncoded:[]});return S(O({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})};var si=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{path:i,dirname:a}=M(n.target,{backupFilename:w(r.title)}),{imports:p,importsMSW:c,implementation:u,implementationMSW:l,mutators:f,formData:g,formUrlEncoded:y}=At(e,r,n),d=s,h=n.schemas?ee(a,M(n.schemas).dirname):void 0,$=H(n.tsconfig);return d+=be(n.client,u,h?[{exports:p,dependency:h}]:[],o,!!n.schemas,$,!!n.override.mutator),n.mock&&(d+=he(l,h?[{exports:c,dependency:h}]:[],o,!!n.schemas,$)),f&&(d+=U(f)),g&&(d+=U(g)),y&&(d+=U(y)),n.schemas||(d+=Oe(t)),d+=`
309
-
310
- ${u}`,n.mock&&(d+=`
311
-
312
- `,d+=l),await _fsextra.outputFile.call(void 0, i,d),[i]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${i}`}};m();var ii=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:w(r.title)}),{imports:c,implementation:u,implementationMSW:l,importsMSW:f,mutators:g,formData:y,formUrlEncoded:d}=At(e,r,n),h=s,$=s,T=n.schemas?ee(a,M(n.schemas).dirname):"./"+i+".schemas",P=H(n.tsconfig);h+=be(n.client,u,[{exports:c,dependency:T}],o,!!n.schemas,P,!!n.override.mutator),$+=he(l,[{exports:f,dependency:T}],o,!!n.schemas,P);let G=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(G){let C=s+Oe(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,i+".schemas"+p),C)}g&&(h+=U(g)),y&&(h+=U(y)),d&&(h+=U(d)),h+=`
313
- ${u}`,$+=`
314
- ${l}`;let j=i+(K.ANGULAR===n.client?".service":"")+p,k=_upath.join.call(void 0, a,j);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,j),h);let I=n.mock?_upath.join.call(void 0, a,i+".msw"+p):void 0;return I&&await _fsextra.outputFile.call(void 0, I,$),[k,...G?[G]:[],...I?[I]:[]]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${i}`}};m();m();var vu=e=>S(O({},e),{tags:e.tags.length?e.tags:["default"]}),Mu=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return r[n]=o?{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}:{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}},r},e),Ct=(e,t)=>{let r=t.client===K.ANGULAR,n=Object.values(e).map(vu).reduce((o,s,i,a)=>{let p=Mu(o,s);return i===a.length-1?Object.entries(p).reduce((c,[u,l])=>{var h;let f=!!((h=l.mutators)==null?void 0:h.some($=>r?$.hasThirdArg:$.hasSecondArg)),g=Object.values(e).filter(({tags:$})=>$.includes(u)).map(({operationName:$})=>$),y=jt(t==null?void 0:t.client,g),d=Rt({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:f,isGlobalMutator:!!t.override.mutator,title:x(u),customTitleFunc:t.override.title,provideInRoot:!!t.override.angular.provideIn,provideIn:t.override.angular.provideIn});return c[u]={implementation:d.implementation+l.implementation+y.implementation,implementationMSW:{function:l.implementationMSW.function,handler:d.implementationMSW+l.implementationMSW.handler+y.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},c},{}):p},{});return Object.entries(n).reduce((o,[s,i])=>(o[s]=S(O({},i),{implementationMSW:i.implementationMSW.function+i.implementationMSW.handler}),o),{})};var ai=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:w(r.title)}),c=Ct(e,n),u=H(n.tsconfig);return(await Promise.all(Object.entries(c).map(async([f,g])=>{try{let{imports:y,implementation:d,implementationMSW:h,importsMSW:$,mutators:T,formData:P,formUrlEncoded:G}=g,j=s,k=s,I=n.schemas?"../"+ee(a,M(n.schemas).dirname):"../"+i+".schemas";j+=be(n.client,d,[{exports:y,dependency:I}],o,!!n.schemas,u,!!n.override.mutator),k+=he(h,[{exports:$,dependency:I}],o,!!n.schemas,u);let C=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(C){let Pe=s+Oe(t);await _fsextra.outputFile.call(void 0, C,Pe)}T&&(j+=U(T,!0)),P&&(j+=U(P,!0)),G&&(j+=U(G)),j+=`
315
- ${d}`,k+=`
316
- ${h}`;let te=Se(f)+(K.ANGULAR===n.client?".service":"")+p,xe=_upath.join.call(void 0, a,Se(f),te);await _fsextra.outputFile.call(void 0, xe,j);let se=n.mock?_upath.join.call(void 0, a,Se(f),Se(f)+".msw"+p):void 0;return se&&await _fsextra.outputFile.call(void 0, se,k),[xe,...C?[C]:[],...se?[se]:[]]}catch(y){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${f} => ${y}`}}))).flatMap(f=>f)};m();var ci=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=M(n.target,{backupFilename:w(r.title)}),c=Ct(e,n),u=H(n.tsconfig);return(await Promise.all(Object.entries(c).map(async([f,g])=>{try{let{imports:y,implementation:d,implementationMSW:h,importsMSW:$,mutators:T,formData:P,formUrlEncoded:G}=g,j=s,k=n.schemas?ee(a,M(n.schemas).dirname):"./"+i+".schemas";j+=be(n.client,d,[{exports:y,dependency:k}],o,!!n.schemas,u,!!n.override.mutator),n.mock&&(j+=he(h,[{exports:$,dependency:k}],o,!!n.schemas,u));let I=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(I){let te=s+Oe(t);await _fsextra.outputFile.call(void 0, I,te)}T&&(j+=U(T)),P&&(j+=U(P)),G&&(j+=U(G)),j+=`
317
-
318
- `,j+=d,n.mock&&(j+=`
319
-
320
- `,j+=h);let C=_upath.join.call(void 0, a,`${Se(f)}${p}`);return await _fsextra.outputFile.call(void 0, C,j),[C,...I?[I]:[]]}catch(y){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${f} => ${y}`}}))).flatMap(f=>f)};var fi=async({operations:e,schemas:t,target:r,info:n},o,s,i)=>{let{output:a}=s,p=i||n.title,c=Object.keys(t).reduce((f,g)=>{let d=Mt(g,r).slice(1).split("/").join("-");return f[g]=d,f},{}),u=a.override.header?N({description:a.override.header(n)}):"";if(a.schemas){let f=a.schemas;await Promise.all(Object.entries(t).map(([g,y])=>{let d=r===g,h=d?f:_upath.join.call(void 0, f,c[g]);return oi({schemaPath:h,schemas:y,target:r,specsName:c,isRootKey:d,header:u})}))}let l=[];if(a.target)switch(a.mode){case ie.SPLIT:l=await ii({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:c,header:u});break;case ie.TAGS:l=await ci({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:c,header:u});break;case ie.TAGS_SPLIT:l=await ai({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:c,header:u});break;case ie.SINGLE:default:l=await si({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:c,header:u});break}if(a.workspace){let f=a.workspace,g=l.filter(d=>!d.endsWith(".msw.ts")).map(d=>ee(f,M(d).pathWithoutExtension));a.schemas&&g.push(ee(f,M(a.schemas).dirname));let y=_upath.join.call(void 0, f,"/index.ts");if(await _fsextra.pathExists.call(void 0, y)){let d=await _fsextra.readFile.call(void 0, y,"utf8"),h=g.filter($=>!d.includes($));await _fsextra.appendFile.call(void 0, y,_lodashuniq2.default.call(void 0, h).map($=>`export * from '${$}';`).join(`
321
- `)+`
322
- `)}else await _fsextra.outputFile.call(void 0, y,_lodashuniq2.default.call(void 0, g).map(d=>`export * from '${d}';`).join(`
323
- `)+`
324
- `);l=[y,...l]}if(a.prettier)try{await _execa2.default.call(void 0, "prettier",["--write",...a.schemas?[M(a.schemas).dirname]:[],...l])}catch (e7){_console.log.call(void 0, _chalk2.default.yellow(`\u26A0\uFE0F ${p?`${p} - `:""}Prettier not found`))}sn(p)};m();var gi=e=>{on(e),process.exit(1)};var yi=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Kt(["**/*","!**/*.d.ts",...o],M(t.output.target).dirname),t.output.schemas&&await Kt(["**/*","!**/*.d.ts",...o],M(t.output.schemas).dirname),F(`${r?`${r}: `:""}Cleaning output folder`)}let n=await ri(e,t);await fi(n,e,t,r)},hi=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await yi(t,n,r)}catch(o){F(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else gi("Project not found");return}return v(Object.entries(e),async(n,[o,s])=>{try{n.push(await yi(t,s,o))}catch(i){F(_chalk2.default.red(`\u{1F6D1} ${o?`${o} - `:""}${i}`))}return n},[])},Ux= exports.j =async(e,t)=>{let{path:r,file:n,error:o}=await lt(e,{defaultFileName:"orval.config"});if(!n)throw`failed to load from ${r} => ${o}`;let s=_upath.dirname.call(void 0, r),i=await(Q(n)?n():n),a=await v(Object.entries(i),async(c,[u,l])=>(c[u]=await Rn(l,s,t),c),{}),p=Object.entries(a).filter(([c])=>(t==null?void 0:t.projectName)===void 0||c===(t==null?void 0:t.projectName)).map(([,{input:c}])=>c.target).filter(c=>q(c));(t==null?void 0:t.watch)&&p.length?jn(t==null?void 0:t.watch,()=>hi(a,s,t==null?void 0:t.projectName),p):await hi(a,s,t==null?void 0:t.projectName)};exports.a = qt; exports.b = m; exports.c = q; exports.d = F; exports.e = Qu; exports.f = rf; exports.g = Rn; exports.h = jn; exports.i = yi; exports.j = Ux;