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