orval 6.0.0 → 6.0.4-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/bin/orval.js +1 -1
- package/dist/chunk-LBEYXOPM.js +281 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-GJMPGAWI.js +0 -281
package/README.md
CHANGED
|
@@ -13,8 +13,12 @@
|
|
|
13
13
|
|
|
14
14
|
### Samples
|
|
15
15
|
|
|
16
|
-
You can find below some samples
|
|
16
|
+
You can find below some samples
|
|
17
17
|
|
|
18
18
|
- [react app](https://github.com/anymaniax/orval/tree/master/samples/react-app)
|
|
19
19
|
- [react app with React query](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-react-query)
|
|
20
|
+
- [svelte query](https://github.com/anymaniax/orval/tree/master/samples/svelte-query)
|
|
21
|
+
- [vue query](https://github.com/anymaniax/orval/tree/master/samples/vue-query)
|
|
22
|
+
- [react app with swr](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-swr)
|
|
23
|
+
- [nx fastify react](https://github.com/anymaniax/orval/tree/master/samples/nx-fastify-react)
|
|
20
24
|
- [angular app](https://github.com/anymaniax/orval/tree/master/samples/angular-app)
|
package/dist/bin/orval.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var
|
|
2
|
+
"use strict";var _chunkLBEYXOPMjs = require('../chunk-LBEYXOPM.js');var _cac = require('cac');var o=_cac.cac.call(void 0, "orval");_chunkLBEYXOPMjs.c.call(void 0, {name:_chunkLBEYXOPMjs.a.name,version:_chunkLBEYXOPMjs.a.version,description:_chunkLBEYXOPMjs.a.description});o.version(_chunkLBEYXOPMjs.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(_chunkLBEYXOPMjs.b.call(void 0, t.input)&&_chunkLBEYXOPMjs.b.call(void 0, t.output)){let i=await _chunkLBEYXOPMjs.e.call(void 0, {input:t.input,output:{target:t.output,clean:t.clean}});t.watch?_chunkLBEYXOPMjs.f.call(void 0, t.watch,()=>_chunkLBEYXOPMjs.g.call(void 0, process.cwd(),i),i.input.target):_chunkLBEYXOPMjs.g.call(void 0, process.cwd(),i)}else _chunkLBEYXOPMjs.h.call(void 0, t.config,{projectName:t.project,watch:t.watch,clean:t.clean})});o.help();o.parse(process.argv);
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Ss=Object.create;var 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 Te=(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 Se=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=Se(),qp=te(),Ip=Mp(qp,"DataView");po.exports=Ip});var uo=x((ty,co)=>{var Cp=Se(),Dp=te(),Ap=Cp(Dp,"Map");co.exports=Ap});var fo=x((ry,lo)=>{var kp=Se(),Ep=te(),Fp=kp(Ep,"Promise");lo.exports=Fp});var yo=x((ny,go)=>{var Np=Se(),Vp=te(),Wp=Np(Vp,"Set");go.exports=Wp});var Oo=x((oy,bo)=>{var Bp=Se(),_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(),je=Kt(),xo="[object Map]",Lp="[object Object]",$o="[object Promise]",So="[object Set]",jo="[object WeakMap]",wo="[object DataView]",Kp=je(Qt),Qp=je(Ut),Up=je(Ht),Hp=je(Yt),Yp=je(Jt),de=ho;(Qt&&de(new Qt(new ArrayBuffer(1)))!=wo||Ut&&de(new Ut)!=xo||Ht&&de(Ht.resolve())!=$o||Yt&&de(new Yt)!=So||Jt&&de(new Jt)!=jo)&&(de=function(e){var t=ho(e),r=t==Lp?e.constructor:void 0,n=r?je(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=de});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,we)=>{var fm=te(),gm=Vo(),Wo=typeof We=="object"&&We&&!We.nodeType&&We,Bo=Wo&&typeof we=="object"&&we&&!we.nodeType&&we,dm=Bo&&Bo.exports===Wo,_o=dm?fm.Buffer:void 0,ym=_o?_o.isBuffer:void 0,bm=ym||gm;we.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,Re)=>{var Qm=Wt(),Ho=typeof _e=="object"&&_e&&!_e.nodeType&&_e,Be=Ho&&typeof Re=="object"&&Re&&!Re.nodeType&&Re,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){}}();Re.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-alpha.1",Cs="MIT",Ds=["dist"],As={orval:"dist/bin/orval.js"},ks="dist/index.js",Es=["rest","client","swagger","open-api","fetch","data fetching","code-generation","angular","react","react-query","svelte","svelte-query","vue","vue-query","msw","mock","axios","vue-query","vue","swr"],Fs={name:"Victor Bury",email:"bury.victor@gmail.com"},Ns={type:"git",url:"https://github.com/anymaniax/orval"},Vs={build:"tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts",dev:"tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'",lint:"eslint src/**/*.ts",format:"prettier --write 'src/**/*.{js,ts}'",release:"dotenv release-it","generate-api":"node ./dist/bin/orval.js --config ./samples/react-app-with-react-query/orval.config.ts --watch",prepare:"husky install",commitlint:"commitlint"},Ws={"@commitlint/cli":"^13.1.0","@commitlint/config-conventional":"^13.1.0","@release-it/conventional-changelog":"^3.3.0","@types/chalk":"^2.2.0","@types/commander":"^2.12.2","@types/faker":"^5.5.8","@types/fs-extra":"^9.0.12","@types/inquirer":"^7.3.3","@types/lodash.get":"^4.4.6","@types/lodash.omitby":"^4.6.6","@types/lodash.uniq":"^4.5.6","@types/lodash.uniqby":"^4.7.6","@types/lodash.uniqwith":"^4.5.6","@types/node":"^16.7.8","@types/request":"^2.48.7","@types/validator":"^13.6.3","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","dotenv-cli":"^4.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0",faker:"^5.5.3",husky:"^7.0.2","lint-staged":"^11.1.2","npm-run-all":"^4.1.5",prettier:"^2.3.2","release-it":"^14.11.5",rimraf:"^3.0.2",tsup:"^4.14.0",typescript:"^4.4.2"},Bs={"@apidevtools/swagger-parser":"^10.0.3","@swc/core":"^1.2.78",cac:"^6.7.3",chalk:"^4.1.2",chokidar:"^3.5.2",cuid:"^2.1.8",debug:"^4.3.2",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)),le=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",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"},ye=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 ge(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]:ge(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,ve,Pe,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=be(s.workspace||"",t),a={input:{target:be(o.target,t),validation:o.validation||!1,override:{transformer:be((p=o.override)==null?void 0:p.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:ge(xa,o.parserOptions||{})},output:{target:be(s.target,i),schemas:be(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},((ve=(ue=s.override)==null?void 0:ue.components)==null?void 0:ve.schemas)||{}),responses:g({suffix:Ce.responses},((Le=(Pe=s.override)==null?void 0:Pe.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},be=(e,t)=>W(e)&&!_isURL2.default.call(void 0, e)?_upath.resolve.call(void 0, t,e):e,Er=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,n])=>{var o,s;return[r,b(g(g({},n.transformer?{transformer:be(n.transformer,t)}:{}),n.mutator?{mutator:et(t,n.mutator)}:{}),{formData:(o=ee(n.formData)?n.formData:et(t,n.formData))!=null?o:!0,requestOptions:(s=n.requestOptions)!=null?s:!0,query:g({useQuery:!0},n.query||{})})]}));var Fr=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>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"],Oe=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 ye(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 he=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=he(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)?ge(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 ye(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||Oe.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 xe=(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 ye(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 ":""}${he(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=Te(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=Te(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=xe(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,$e=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 $e([[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=Oe.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=he(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=xe(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 $e(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 ve;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((Pe,[Le,Ke])=>m.includes(Le)?ge(Pe,Ke):Pe,{}),f=g(g(g({},t.override),c),l),d=(l==null?void 0:l.operationName)||((ve=t.override)==null?void 0:ve.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 $e([[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
|
+
`),Oe.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+=xe(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=Te(s,["validate"]);t&&await _swaggerparser2.default.validate(e);let i=(await _swaggerparser2.default.resolve(e,r)).values();return n?i:Object.fromEntries(Object.entries(i).map(([a,p])=>[_upath.resolve.call(void 0, a),p]))},ms=async(e,t)=>{let{input:r,output:n}=t;if(q(r.target))return rr({data:{[e]:r.target},input:r,output:n,path:e,workspace:e});let o=_isURL2.default.call(void 0, r.target),s=await yc(r.target,r.parserOptions,o);return rr({data:s,input:r,output:n,path:r.target,workspace:e})};var $c=({info:e,schema:{imports:t,model:r},rootSpecKey:n,isRootKey:o,specsName:s,header:i})=>{let a=i;return a+=_r({imports:t,rootSpecKey:n,isRootKey:o,specsName:s}),a+=t.length?`
|
|
263
|
+
|
|
264
|
+
`:`
|
|
265
|
+
`,a+=r,a},nr=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var Sc=async({path:e,info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s,header:i})=>{let a=$(r.name);try{await _fsextra.outputFile.call(void 0, nr(e,a),$c({info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s,header:i}));let p=nr(e,"index"),u=(await _fsextra.readFile.call(void 0, p)).toString();!u.includes(`export * from './${a}'`)&&!u.includes(`export * from "./${a}"`)&&await _fsextra.appendFile.call(void 0, nr(e,"index"),`export * from './${a}';
|
|
266
|
+
`)}catch(p){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${p}`}},us=async({schemaPath:e,schemas:t,info:r,rootSpecKey:n,isRootKey:o,specsName:s,header:i})=>(await _fsextra.ensureFile.call(void 0, _upath.join.call(void 0, e,"/index.ts")),Promise.all(t.map(a=>Sc({path:e,info:r,schema:a,rootSpecKey:n,isRootKey:o,specsName:s,header:i}))));var jc=(e,t)=>e+`${t}
|
|
267
|
+
`,ce=e=>Object.values(e).reduce((r,n)=>[...r,...n],[]).reduce((r,{model:n})=>jc(r,n),"");var yt=(e,t,r)=>{let n=Object.values(e).map(({operationName:i})=>i),o=(r==null?void 0:r.client)===Q.ANGULAR,s=Object.values(e).reduce((i,a,p,m)=>{var u;if(i.imports=[...i.imports,...a.imports],i.importsMSW=[...i.importsMSW,...a.importsMSW],i.implementation+=a.implementation,i.implementationMSW.function+=a.implementationMSW.function,i.implementationMSW.handler+=a.implementationMSW.handler,a.mutator&&(i.mutators=[...i.mutators,a.mutator]),a.formData&&(i.formData=[...i.formData,a.formData]),p===m.length-1){let l=!!((u=i.mutators)==null?void 0:u.some(d=>d.mutatorFn.length>(o?2:1))),c=ct({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:l,isGlobalMutator:!!r.override.mutator,title:O(t.title),customTitleFunc:r.override.title,provideInRoot:r.override.angular.provideInRoot});i.implementation=c.implementation+i.implementation,i.implementationMSW.handler=c.implementationMSW+i.implementationMSW.handler;let f=ut(r==null?void 0:r.client,n);i.implementation+=f.implementation,i.implementationMSW.handler+=f.implementationMSW,i.imports=i.imports}return i},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[]});return b(g({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})};var ls=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{path:i,dirname:a}=R(n.target,{backupFilename:$(r.title)}),{imports:p,importsMSW:m,implementation:u,implementationMSW:l,mutators:c,formData:f}=yt(e,r,n),d=s,y=n.schemas?z(a,R(n.schemas).dirname):void 0;return d+=me(n.client,u,y?[{exports:p,dependency:y}]:[],o,!!n.schemas),n.mock&&(d+=pe(l,y?[{exports:m,dependency:y}]:[],o,!!n.schemas)),n.schemas||(d+=ce(t)),c&&(d+=U(c)),f&&(d+=U(f)),d+=`
|
|
268
|
+
|
|
269
|
+
${u}`,n.mock&&(d+=`
|
|
270
|
+
|
|
271
|
+
`,d+=l),await _fsextra.outputFile.call(void 0, i,d),[i]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${i}`}};var fs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{filename:i,dirname:a,extension:p}=R(n.target,{backupFilename:$(r.title)}),{imports:m,implementation:u,implementationMSW:l,importsMSW:c,mutators:f,formData:d}=yt(e,r,n),y=s,h=s,w=n.schemas?z(a,R(n.schemas).dirname):"./"+i+".schemas";y+=me(n.client,u,[{exports:m,dependency:w}],o,!!n.schemas),h+=pe(l,[{exports:[...m,...c],dependency:w}],o,!!n.schemas);let P=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(P){let M=s+ce(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,i+".schemas"+p),M)}f&&(y+=U(f)),d&&(y+=U(d)),y+=`
|
|
272
|
+
${u}`,h+=`
|
|
273
|
+
${l}`;let S=i+(Q.ANGULAR===n.client?".service":"")+p,T=_upath.join.call(void 0, a,S);return await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,S),y),n.mock&&await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,i+".msw"+p),h),[T,...P?[P]:[]]}catch(i){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${i}`}};var Rc=e=>b(g({},e),{tags:e.tags.length?e.tags:["default"]}),vc=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return o?b(g({},r),{[n]:{implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[...o.mutators||[],t.mutator]:o.mutators,formData:t.formData?[...o.formData||[],t.formData]:o.formData}}):b(g({},r),{[n]:{imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],formData:t.formData?[t.formData]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}}})},e),bt=(e,t)=>{let r=Object.values(e).map(({operationName:s})=>s),n=t.client===Q.ANGULAR,o=Object.values(e).map(Rc).reduce((s,i,a,p)=>{let m=vc(s,i);if(a===p.length-1){let u=ut(t==null?void 0:t.client,r);return Object.entries(m).reduce((l,[c,f])=>{var h;let d=!!((h=f.mutators)==null?void 0:h.some(w=>w.mutatorFn.length>(n?2:1))),y=ct({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:d,isGlobalMutator:!!t.override.mutator,title:O(c),customTitleFunc:t.override.title,provideInRoot:t.override.angular.provideInRoot});return b(g({},l),{[c]:{implementation:y.implementation+f.implementation+u.implementation,implementationMSW:{function:f.implementationMSW.function,handler:y.implementationMSW+f.implementationMSW.handler+u.implementationMSW},imports:f.imports,importsMSW:f.importsMSW,mutators:f.mutators,formData:f.formData}})},{})}return m},{});return Object.entries(o).reduce((s,[i,a])=>b(g({},s),{[i]:b(g({},a),{implementationMSW:a.implementationMSW.function+a.implementationMSW.handler})}),{})};var gs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=R(n.target,{backupFilename:$(r.title)}),m=bt(e,n);return(await Promise.all(Object.entries(m).map(async([l,c])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:h,mutators:w,formData:P}=c,S=s,T=s,M=n.schemas?"../"+z(a,R(n.schemas).dirname):"../"+i+".schemas";S+=me(n.client,d,[{exports:f,dependency:M}],o,!!n.schemas),T+=pe(y,[{exports:[...f,...h],dependency:M}],o,!!n.schemas);let I=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(I){let ue=s+ce(t);await _fsextra.outputFile.call(void 0, I,ue)}w&&(S+=U(w,!0)),P&&(S+=U(P)),S+=`
|
|
274
|
+
${d}`,T+=`
|
|
275
|
+
${y}`;let L=le(l)+(Q.ANGULAR===n.client?".service":"")+p,K=_upath.join.call(void 0, a,le(l),L);return await _fsextra.outputFile.call(void 0, K,S),n.mock&&await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,le(l),le(l)+".msw"+p),T),[K,...I?[I]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).reduce((l,c)=>[...l,...c],[])};var bs=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:i,dirname:a,extension:p}=R(n.target,{backupFilename:$(r.title)}),m=bt(e,n);return(await Promise.all(Object.entries(m).map(async([l,c])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:h,mutators:w,formData:P}=c,S=s,T=n.schemas?z(a,R(n.schemas).dirname):"./"+i+".schemas";S+=me(n.client,d,[{exports:f,dependency:T}],o,!!n.schemas),n.mock&&(S+=pe(y,[{exports:h,dependency:T}],o,!!n.schemas));let M=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(M){let L=s+ce(t);await _fsextra.outputFile.call(void 0, M,L)}w&&(S+=U(w)),P&&(S+=U(P)),S+=`
|
|
276
|
+
|
|
277
|
+
`,S+=d,n.mock&&(S+=`
|
|
278
|
+
|
|
279
|
+
`,S+=y);let I=_upath.join.call(void 0, a,`${le(l)}${p}`);return await _fsextra.outputFile.call(void 0, I,S),[I,...M?[M]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).reduce((l,c)=>[...l,...c],[])};var hs=async({operations:e,schemas:t,rootSpecKey:r,info:n},o,s,i)=>{let{output:a}=s,p=Object.keys(t).reduce((l,c)=>{let d=gt(c,r).slice(1).split("/").join("-");return b(g({},l),{[c]:d})},{}),m=a.override.header?N({description:a.override.header(n)}):"";if(a.schemas){let l=a.schemas;await Promise.all(Object.entries(t).map(([c,f])=>{let d=r===c,y=d?l:_upath.join.call(void 0, l,p[c]);return us({schemaPath:y,schemas:f,info:n,rootSpecKey:r,specsName:p,isRootKey:d,header:m})}))}if(!a.target){xt(i||n.title);return}let u=[];if(a.mode===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;
|
package/dist/index.d.ts
CHANGED
|
@@ -256,12 +256,15 @@ declare type OutputOptions = {
|
|
|
256
256
|
client?: OutputClient | OutputClientFunc;
|
|
257
257
|
clean?: boolean | string[];
|
|
258
258
|
};
|
|
259
|
+
declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
|
|
260
|
+
validate?: boolean;
|
|
261
|
+
};
|
|
259
262
|
declare type InputOptions = {
|
|
260
263
|
target: string | OpenAPIObject;
|
|
261
264
|
validation?: boolean;
|
|
262
265
|
override?: OverrideInput;
|
|
263
266
|
converterOptions?: swagger2openapi.Options;
|
|
264
|
-
parserOptions?:
|
|
267
|
+
parserOptions?: SwaggerParserOptions;
|
|
265
268
|
};
|
|
266
269
|
declare type OutputClient = 'axios' | 'axios-functions' | 'angular' | 'react-query' | 'svelte-query' | 'vue-query' | 'swr';
|
|
267
270
|
declare const OutputClient: {
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLBEYXOPMjs = require('./chunk-LBEYXOPM.js');var l=async(t,r=process.cwd(),e)=>{if(!t||_chunkLBEYXOPMjs.b.call(void 0, t))return _chunkLBEYXOPMjs.h.call(void 0, t,e);let n=await _chunkLBEYXOPMjs.e.call(void 0, t,r,e==null?void 0:e.clean);if(e==null?void 0:e.watch)_chunkLBEYXOPMjs.f.call(void 0, e==null?void 0:e.watch,()=>_chunkLBEYXOPMjs.g.call(void 0, r,n),n.input.target);else return _chunkLBEYXOPMjs.g.call(void 0, r,n)};var b=l;exports.default = b; exports.defineConfig = _chunkLBEYXOPMjs.d; exports.generate = l;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orval",
|
|
3
3
|
"description": "A swagger client generator for typescript",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.4-alpha.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
@@ -91,6 +91,7 @@
|
|
|
91
91
|
"chokidar": "^3.5.2",
|
|
92
92
|
"cuid": "^2.1.8",
|
|
93
93
|
"debug": "^4.3.2",
|
|
94
|
+
"esbuild": "^0.12.28",
|
|
94
95
|
"esutils": "2.0.3",
|
|
95
96
|
"fs-extra": "^10.0.0",
|
|
96
97
|
"globby": "11.0.4",
|
package/dist/chunk-GJMPGAWI.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var $s=Object.create;var ze=Object.defineProperty,Ss=Object.defineProperties,js=Object.getOwnPropertyDescriptor,ws=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertyNames,Ke=Object.getOwnPropertySymbols,vs=Object.getPrototypeOf,bt=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable;var yr=(e,t,r)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&yr(e,r,t[r]);if(Ke)for(var r of Ke(t))dr.call(t,r)&&yr(e,r,t[r]);return e},b=(e,t)=>Ss(e,ws(t)),Ps=e=>ze(e,"__esModule",{value:!0});var V=typeof require!="undefined"?require:e=>{throw new Error('Dynamic require of "'+e+'" is not supported')};var Ot=(e,t)=>{var r={};for(var n in e)bt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ke)for(var n of Ke(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 Ts=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Rs(t))!bt.call(e,n)&&n!=="default"&&ze(e,n,{get:()=>t[n],enumerable:!(r=js(t,n))||r.enumerable});return e},Pe=e=>Ts(Ps(ze(e!=null?$s(vs(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Vt=x((Ad,Mn)=>{var vi=Object.prototype;function Pi(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||vi;return e===r}Mn.exports=Pi});var In=x((kd,qn)=>{function Ti(e,t){return function(r){return e(t(r))}}qn.exports=Ti});var Dn=x((Ed,Cn)=>{var Gi=In(),Mi=Gi(Object.keys,Object);Cn.exports=Mi});var kn=x((Fd,An)=>{var qi=Vt(),Ii=Dn(),Ci=Object.prototype,Di=Ci.hasOwnProperty;function Ai(e){if(!qi(e))return Ii(e);var t=[];for(var r in Object(e))Di.call(e,r)&&r!="constructor"&&t.push(r);return t}An.exports=Ai});var Wt=x((Nd,En)=>{var ki=typeof global=="object"&&global&&global.Object===Object&&global;En.exports=ki});var te=x((Vd,Fn)=>{var Ei=Wt(),Fi=typeof self=="object"&&self&&self.Object===Object&&self,Ni=Ei||Fi||Function("return this")();Fn.exports=Ni});var Bt=x((Wd,Nn)=>{var Vi=te(),Wi=Vi.Symbol;Nn.exports=Wi});var _n=x((Bd,Bn)=>{var Vn=Bt(),Wn=Object.prototype,Bi=Wn.hasOwnProperty,_i=Wn.toString,Ee=Vn?Vn.toStringTag:void 0;function Li(e){var t=Bi.call(e,Ee),r=e[Ee];try{e[Ee]=void 0;var n=!0}catch(s){}var o=_i.call(e);return n&&(t?e[Ee]=r:delete e[Ee]),o}Bn.exports=Li});var zn=x((_d,Ln)=>{var zi=Object.prototype,Ki=zi.toString;function Qi(e){return Ki.call(e)}Ln.exports=Qi});var Fe=x((Ld,Un)=>{var Kn=Bt(),Ui=_n(),Hi=zn(),Yi="[object Null]",Ji="[object Undefined]",Qn=Kn?Kn.toStringTag:void 0;function Xi(e){return e==null?e===void 0?Ji:Yi:Qn&&Qn in Object(e)?Ui(e):Hi(e)}Un.exports=Xi});var _t=x((zd,Hn)=>{function Zi(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Hn.exports=Zi});var Lt=x((Kd,Yn)=>{var ep=Fe(),tp=_t(),rp="[object AsyncFunction]",np="[object Function]",op="[object GeneratorFunction]",sp="[object Proxy]";function ap(e){if(!tp(e))return!1;var t=ep(e);return t==np||t==op||t==rp||t==sp}Yn.exports=ap});var Xn=x((Qd,Jn)=>{var ip=te(),pp=ip["__core-js_shared__"];Jn.exports=pp});var to=x((Ud,eo)=>{var zt=Xn(),Zn=function(){var e=/[^.]+$/.exec(zt&&zt.keys&&zt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function mp(e){return!!Zn&&Zn in e}eo.exports=mp});var Kt=x((Hd,ro)=>{var cp=Function.prototype,up=cp.toString;function lp(e){if(e!=null){try{return up.call(e)}catch(t){}try{return e+""}catch(t){}}return""}ro.exports=lp});var oo=x((Yd,no)=>{var fp=Lt(),gp=to(),dp=_t(),yp=Kt(),bp=/[\\^$.*+?()[\]{}|]/g,Op=/^\[object .+?Constructor\]$/,hp=Function.prototype,xp=Object.prototype,$p=hp.toString,Sp=xp.hasOwnProperty,jp=RegExp("^"+$p.call(Sp).replace(bp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wp(e){if(!dp(e)||gp(e))return!1;var t=fp(e)?jp:Op;return t.test(yp(e))}no.exports=wp});var ao=x((Jd,so)=>{function Rp(e,t){return e==null?void 0:e[t]}so.exports=Rp});var $e=x((Xd,io)=>{var vp=oo(),Pp=ao();function Tp(e,t){var r=Pp(e,t);return vp(r)?r:void 0}io.exports=Tp});var mo=x((Zd,po)=>{var Gp=$e(),Mp=te(),qp=Gp(Mp,"DataView");po.exports=qp});var uo=x((ey,co)=>{var Ip=$e(),Cp=te(),Dp=Ip(Cp,"Map");co.exports=Dp});var fo=x((ty,lo)=>{var Ap=$e(),kp=te(),Ep=Ap(kp,"Promise");lo.exports=Ep});var yo=x((ry,go)=>{var Fp=$e(),Np=te(),Vp=Fp(Np,"Set");go.exports=Vp});var Oo=x((ny,bo)=>{var Wp=$e(),Bp=te(),_p=Wp(Bp,"WeakMap");bo.exports=_p});var vo=x((oy,Ro)=>{var Qt=mo(),Ut=uo(),Ht=fo(),Yt=yo(),Jt=Oo(),ho=Fe(),Se=Kt(),xo="[object Map]",Lp="[object Object]",$o="[object Promise]",So="[object Set]",jo="[object WeakMap]",wo="[object DataView]",zp=Se(Qt),Kp=Se(Ut),Qp=Se(Ht),Up=Se(Yt),Hp=Se(Jt),ge=ho;(Qt&&ge(new Qt(new ArrayBuffer(1)))!=wo||Ut&&ge(new Ut)!=xo||Ht&&ge(Ht.resolve())!=$o||Yt&&ge(new Yt)!=So||Jt&&ge(new Jt)!=jo)&&(ge=function(e){var t=ho(e),r=t==Lp?e.constructor:void 0,n=r?Se(r):"";if(n)switch(n){case zp:return wo;case Kp:return xo;case Qp:return $o;case Up:return So;case Hp:return jo}return t});Ro.exports=ge});var gt=x((sy,Po)=>{function Yp(e){return e!=null&&typeof e=="object"}Po.exports=Yp});var Go=x((ay,To)=>{var Jp=Fe(),Xp=gt(),Zp="[object Arguments]";function em(e){return Xp(e)&&Jp(e)==Zp}To.exports=em});var Co=x((iy,Io)=>{var Mo=Go(),tm=gt(),qo=Object.prototype,rm=qo.hasOwnProperty,nm=qo.propertyIsEnumerable,om=Mo(function(){return arguments}())?Mo:function(e){return tm(e)&&rm.call(e,"callee")&&!nm.call(e,"callee")};Io.exports=om});var Ao=x((py,Do)=>{var sm=Array.isArray;Do.exports=sm});var Xt=x((my,ko)=>{var am=9007199254740991;function im(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=am}ko.exports=im});var Fo=x((cy,Eo)=>{var pm=Lt(),mm=Xt();function cm(e){return e!=null&&mm(e.length)&&!pm(e)}Eo.exports=cm});var Vo=x((uy,No)=>{function um(){return!1}No.exports=um});var Lo=x((Ne,je)=>{var lm=te(),fm=Vo(),Wo=typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Bo=Wo&&typeof je=="object"&&je&&!je.nodeType&&je,gm=Bo&&Bo.exports===Wo,_o=gm?lm.Buffer:void 0,dm=_o?_o.isBuffer:void 0,ym=dm||fm;je.exports=ym});var Ko=x((ly,zo)=>{var bm=Fe(),Om=Xt(),hm=gt(),xm="[object Arguments]",$m="[object Array]",Sm="[object Boolean]",jm="[object Date]",wm="[object Error]",Rm="[object Function]",vm="[object Map]",Pm="[object Number]",Tm="[object Object]",Gm="[object RegExp]",Mm="[object Set]",qm="[object String]",Im="[object WeakMap]",Cm="[object ArrayBuffer]",Dm="[object DataView]",Am="[object Float32Array]",km="[object Float64Array]",Em="[object Int8Array]",Fm="[object Int16Array]",Nm="[object Int32Array]",Vm="[object Uint8Array]",Wm="[object Uint8ClampedArray]",Bm="[object Uint16Array]",_m="[object Uint32Array]",v={};v[Am]=v[km]=v[Em]=v[Fm]=v[Nm]=v[Vm]=v[Wm]=v[Bm]=v[_m]=!0;v[xm]=v[$m]=v[Cm]=v[Sm]=v[Dm]=v[jm]=v[wm]=v[Rm]=v[vm]=v[Pm]=v[Tm]=v[Gm]=v[Mm]=v[qm]=v[Im]=!1;function Lm(e){return hm(e)&&Om(e.length)&&!!v[bm(e)]}zo.exports=Lm});var Uo=x((fy,Qo)=>{function zm(e){return function(t){return e(t)}}Qo.exports=zm});var Yo=x((We,we)=>{var Km=Wt(),Ho=typeof We=="object"&&We&&!We.nodeType&&We,Ve=Ho&&typeof we=="object"&&we&&!we.nodeType&&we,Qm=Ve&&Ve.exports===Ho,Zt=Qm&&Km.process,Um=function(){try{var e=Ve&&Ve.require&&Ve.require("util").types;return e||Zt&&Zt.binding&&Zt.binding("util")}catch(t){}}();we.exports=Um});var es=x((gy,Zo)=>{var Hm=Ko(),Ym=Uo(),Jo=Yo(),Xo=Jo&&Jo.isTypedArray,Jm=Xo?Ym(Xo):Hm;Zo.exports=Jm});var er=x((dy,ts)=>{var Xm=kn(),Zm=vo(),ec=Co(),tc=Ao(),rc=Fo(),nc=Lo(),oc=Vt(),sc=es(),ac="[object Map]",ic="[object Set]",pc=Object.prototype,mc=pc.hasOwnProperty;function cc(e){if(e==null)return!0;if(rc(e)&&(tc(e)||typeof e=="string"||typeof e.splice=="function"||nc(e)||sc(e)||ec(e)))return!e.length;var t=Zm(e);if(t==ac||t==ic)return!e.size;if(oc(e))return!Xm(e).length;for(var r in e)if(mc.call(e,r))return!1;return!0}ts.exports=cc});var Gs="orval",Ms="A swagger client generator for typescript",qs="6.0.0",Is="MIT",Cs=["dist"],Ds={orval:"dist/bin/orval.js"},As="dist/index.js",ks=["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"],Es={name:"Victor Bury",email:"bury.victor@gmail.com"},Fs={type:"git",url:"https://github.com/anymaniax/orval"},Ns={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"},Vs={"@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"},Ws={"@apidevtools/swagger-parser":"^10.0.3","@swc/core":"^1.2.78",cac:"^6.7.3",chalk:"^4.1.2",chokidar:"^3.5.2",cuid:"^2.1.8",debug:"^4.3.2",esutils:"2.0.3","fs-extra":"^10.0.0",globby:"11.0.4","ibm-openapi-validator":"^0.46.4",inquirer:"^8.1.2","lodash.get":"^4.4.2","lodash.omitby":"^4.6.0","lodash.uniq":"^4.5.0","lodash.uniqby":"^4.7.0","lodash.uniqwith":"^4.5.0","openapi3-ts":"^2.0.1",swagger2openapi:"^7.0.8",upath:"^2.0.1",url:"^0.11.0",validator:"^13.6.0"},ht= exports.a ={name:Gs,description:Ms,version:qs,license:Is,files:Cs,bin:Ds,main:As,keywords:ks,author:Es,repository:Fs,scripts:Ns,devDependencies:Vs,dependencies:Ws};var Q={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query"},Te={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 _s(){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?_s:()=>{};function i(m,c,l={}){if(o>=$t[m]){let u=m==="info"?"log":m,f=()=>{if(l.timestamp){let d=m==="info"?_chalk2.default.cyan.bold(r):m==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${d} ${c}`}else return c};m===vr&&c===Pr?(St++,s(),console[u](f(),_chalk2.default.yellow(`(x${St+1})`))):(St=0,Pr=c,vr=m,l.clear&&s(),console[u](f()))}}let a=new Set,p={hasWarned:!1,info(m,c){i("info",m,c)},warn(m,c){p.hasWarned=!0,i("warn",m,c)},warnOnce(m,c){a.has(m)||(p.hasWarned=!0,i("warn",m,c),a.add(m))},error(m,c){p.hasWarned=!0,i("error",m,c)},clearScreen(m){o>=$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)},Qe=jt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),Ue="a-z"+jt("DF-F6,F8-FF","00"),Ge="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("(^|["+Qe+"])(["+Ue+"])","g"),pascal:new RegExp("(^|["+Qe+"])+(["+Ue+Ge+"])","g"),fill:new RegExp("["+Qe+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+Ue+"])","g"),improper:new RegExp("\\b("+Ls+")\\b","g"),relax:new RegExp("([^"+Ge+"])(["+Ge+"]*)(["+Ge+"])(?=[^"+Ge+"]|$)","g"),upper:new RegExp("^[^"+Ue+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+Qe+"]")},zs=e=>e.replace(re.apostrophe,""),Ks=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=zs(e)),e),Qs=e=>wt.call(e.charAt(0))+e.slice(1),Us=(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,Us)),e},Hs=(e,t,r)=>Rt(wt.call(Tr(e,!!t)),t,r),O=e=>Rt(Tr(e,!1,!0).replace(re.pascal,(t,r,n)=>Ks.call(n)),"",!0),$=e=>Qs(O(e)),le=e=>Hs(e,"-",!0);var _core = require('@swc/core');var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby);var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var Gr=process.env.ORVAL_DEBUG_FILTER,vt=process.env.DEBUG;function Mr(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...i)=>{Gr&&!s.includes(Gr)||n&&!(vt==null?void 0:vt.includes(o))||r(s,...i)}}var R=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=br(e),o=n?_upath.join.call(void 0, e,t+r):e,s=o.replace(/\.[^/.]+$/,""),i=_upath.dirname.call(void 0, o),a=_upath.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:i,filename:a}},qr=Mr("orval:file-load");async function Je(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s}=t||{},i=Date.now(),a,p=!1,m=!1,c=[];if(e)a=_path2.default.resolve(e),p=e.endsWith(".ts");else if(o){let l=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(l)&&(a=l),!a){let u=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(u)&&(a=u,m=!0)}if(!a){let u=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(u)&&(a=u,p=!0)}}a||(e?_(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(u){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(u.message))throw u}if(!l){let u=await ra(a);l=await na(a,u,n),qr(`bundled file loaded in ${Date.now()-i}ms`)}return{path:_upath.normalizeSafe.call(void 0, a),file:l,dependencies:c}}catch(l){throw _(s).error(_chalk2.default.red(`failed to load from ${a}`)),l}}async function ra(e,t=!1){let{code:r}=await _core.transformFile.call(void 0, e,{module:{type:"commonjs"}});return r}async function na(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 pa={schemas:"schemas",responses:"responses",parameters:"parameters",requestBodies:"requestBodies"},ma=Object.values(pa),qe={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},de=async(e,t)=>{let r=ma.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 da=({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]},ya=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}},ba=async e=>{var m,c,l,u;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await ya(t),[n]=e.split("github.com/").slice(-1),[o,s,,i,...a]=n.split("/"),p=a.join("/");try{let{body:f}=await Ir(...da({accessToken:r,repo:s,owner:o,branch:i,path:p}));return((m=f.errors)==null?void 0:m.length)&&((c=f.errors)==null?void 0:c.some(y=>(y==null?void 0:y.type)==="NOT_FOUND"))&&(await _inquirer2.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await _fsextra.unlink.call(void 0, t),(u=(l=f.data)==null?void 0:l.repository)==null?void 0:u.object.text}catch(f){throw f.body?(f.body.message==="Bad credentials"&&(await _inquirer2.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await _fsextra.unlink.call(void 0, t),f.body.message||`Oups... \u{1F37B}. ${f}`):`Oups... \u{1F37B}. ${f}`}},Dr={order:199,canRead(e){return e.url.includes("github.com")},read(e){return ba(e.url)}};var Xe=e=>e&&typeof e=="object";function fe(e,t){return!Xe(t)||!Xe(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]}):Xe(s)&&Xe(o)?b(g({},r),{[n]:fe(s,o)}):b(g({},r),{[n]:o})},e)}var Ar=({title:e,description:t,version:r})=>[`Generated by ${ht.name} v${ht.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];function Iu(e){return e}var kr=async(e,t=process.cwd(),r)=>{var p,m,c,l,u,f,d,y,h,w,P,S,T,M,I,z,K,ue,Re,ve,_e,Le,pr,mr,cr,ur,lr,fr,gr;let n=await(A(e)?e():e);n.input||(_().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(_().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=W(n.input)?{target:n.input}:n.input,s=W(n.output)?{target:n.output}:n.output,i=ye(s.workspace||"",t),a={input:{target:ye(o.target,t),validation:o.validation||!1,override:{transformer:ye((p=o.override)==null?void 0:p.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:fe(ha,o.parserOptions||{})},output:{target:ye(s.target,i),schemas:ye(s.schemas,i),workspace:s.workspace?i:void 0,client:(m=s.client)!=null?m:Q.AXIOS,mode:(c=s.mode)!=null?c:"single",mock:(l=s.mock)!=null?l:!1,clean:(u=s.clean||r)!=null?u:!1,override:b(g({},s.override),{operations:Er(((f=s.override)==null?void 0:f.operations)||{},i),tags:Er(((d=s.override)==null?void 0:d.tags)||{},i),mutator:Ze(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:Ze(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=(z=s.override)==null?void 0:z.requestOptions)!=null?K:!0,components:{schemas:g({suffix:qe.schemas},((Re=(ue=s.override)==null?void 0:ue.components)==null?void 0:Re.schemas)||{}),responses:g({suffix:qe.responses},((_e=(ve=s.override)==null?void 0:ve.components)==null?void 0:_e.responses)||{}),parameters:g({suffix:qe.parameters},((pr=(Le=s.override)==null?void 0:Le.components)==null?void 0:pr.parameters)||{}),requestBodies:g({suffix:qe.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},ha={resolve:{github:Dr}},Ze=(e,t)=>{var r;return q(t)?(t.path||(_().error(_chalk2.default.red("Mutator need a path")),process.exit(1)),b(g({},t),{path:_upath.resolve.call(void 0, e,t.path),default:(r=t.default)!=null?r:!1})):W(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},ye=(e,t)=>W(e)&&!_isURL2.default.call(void 0, e)?_upath.resolve.call(void 0, t,e):e,Er=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,n])=>{var o,s;return[r,b(g(g({},n.transformer?{transformer:ye(n.transformer,t)}:{}),n.mutator?{mutator:Ze(t,n.mutator)}:{}),{formData:(o=ee(n.formData)?n.formData:Ze(t,n.formData))!=null?o:!0,requestOptions:(s=n.requestOptions)!=null?s:!0,query:g({useQuery:!0},n.query||{})})]}));var Fr=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>Pe(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 et=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(()=>Pe(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
|
-
`)+",":"",wa={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},tt=e=>e.toString().split("").reduce((r,n)=>r+wa[n],"");var Ra=e=>e.split("").reduce((t,r)=>r==="{"?t+"${":r==="}"?t+"}":t+C(r),""),Vr=e=>e.split("/").reduce((r,n)=>n?n.includes("{")?`${r}/${Ra(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
|
-
`:""},Pa=({implementation:e,exports:t,dependency:r,specsName:n})=>{let o=t.filter(i=>e.includes(i.name));if(!o.length)return;let s=o.reduce((i,a)=>{var m,c;let p=a.specKey||"default";return b(g({},i),{[p]:{values:((m=i[p])==null?void 0:m.values)||a.values||!1,deps:[...((c=i[p])==null?void 0:c.deps)||[],a]}})},{});return Object.entries(s).map(([i,{values:a,deps:p}])=>{let m=p.find(l=>l.default),c=_lodashuniq2.default.call(void 0, p.filter(l=>!l.default).map(({name:l})=>l)).join(`,
|
|
20
|
-
`);return`import ${a?"":"type "}${m?`${m.name}${c?",":""}`:""}${c?`{
|
|
21
|
-
${c}
|
|
22
|
-
}`:""} from '${r}${i!=="default"&&n[i]?`/${n[i]}`:""}'`}).join(`
|
|
23
|
-
`)},rt=(e,t,r)=>{let n=t.map(o=>Pa(b(g({},o),{implementation:e,specsName:r}))).filter(Boolean).join(`
|
|
24
|
-
`);return n?n+`
|
|
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 Ta=["number","string","null","unknown","undefined","object","blob"],be=Ta.reduce((e,t)=>[...e,t,`Array<${t}>`,`${t}[]`],[]),Mt=[Y.POST,Y.PUT,Y.PATCH];var Ga=(e,t,r)=>Mt.includes(t)?r&&e.formData?`
|
|
26
|
-
formData,`:`
|
|
27
|
-
${e.implementation||"undefined"},`:"",Ma=(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}\`,${Ga(t,o,i)}${Ma(n,r==null?void 0:r.schema,s)}
|
|
34
|
-
`,qa=(e,t,r)=>Mt.includes(t)?r&&e.formData?`,
|
|
35
|
-
data: formData`:`,
|
|
36
|
-
data: ${e.implementation||"undefined"}`:"",Ia=(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}'${qa(t,o,s)}${Ia(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 Ca=[{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"}],Lr=()=>Ca,zr=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
|
-
`,Da=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Aa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1,l=(a==null?void 0:a.formData)!==!1,u=Da({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=c?ae(a==null?void 0:a.requestOptions,y):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
|
|
68
|
-
${E(s,"implementation")}
|
|
69
|
-
${c&&y?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${u}
|
|
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")} ${c?`options?: HttpClientOptions
|
|
77
|
-
`:""} ): Observable<TData> {${u}
|
|
78
|
-
return this.http.${i}<TData>(${f});
|
|
79
|
-
}
|
|
80
|
-
`},Ur=(e,t)=>{let r=ne(e);return{implementation:Aa(e,t),imports:r}};var ka=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],qt=()=>ka,Ea=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Fa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,override:a,formData:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1,l=(a==null?void 0:a.formData)!==!1,u=Ea({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=c?ae(a==null?void 0:a.requestOptions,y):"";return`const ${t} = <TData = ${r.definition.success||"unknown"}>(
|
|
81
|
-
${E(s,"implementation")}
|
|
82
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
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")} ${c?`options?: AxiosRequestConfig
|
|
89
|
-
`:""} ): Promise<TData> => {${u}
|
|
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:Fa(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,c])=>b(g({},p),{[m]:c}),{}),o=Object.entries(((a=t.specs[r||t.specKey].components)==null?void 0:a.responses)||[]).reduce((p,[m,c])=>{var l,u;return b(g({},p),{[m]:G(c)?c:(u=(l=c.content)==null?void 0:l["application/json"])==null?void 0:u.schema})},{}),s=g(g({},n),o);return b(g({},s[e]),{specKey:r})};var Na=e=>e[0]==="/"&&e[e.length-1]==="/",nt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Na(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:Ce(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},Ce=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,ie=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(G(e)){let{name:i,specKey:a}=await de(e.$ref,b(g({},s),{specKey:e.specKey||s.specKey})),p=b(g({},Jr(i,s,a||e.specKey)),{name:i,path:e.path,isRef:!0,specKey:a||e.specKey});return De({item:p,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}return De({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,u,f,d)=>{let y=await ie({schema:b(g({},u),{name:e.name,path:e.path?e.path:"#",specKey:e.specKey}),combine:r?void 0:{properties:m},mockOptions:n,operationId:o,tags:s,context:a});return p=[...p,...y.imports],m=[...m,...y.properties||[]],!f&&!i?y.enums||r?d.length===1?`faker.helpers.randomize([${y.value}])`:`faker.helpers.randomize([${y.value},`:d.length===1?`{${y.value}}`:`{${y.value},`:d.length-1===f?y.enums||r?l+y.value+(i?"":"])"):l+y.value+(i?"":"}"):y.value?l+y.value+",":l},""),imports:p,name:e.name,properties:m}};var _esutils = require('esutils');var Oe=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var en=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(G(e))return ie({schema:b(g({},e),{name:e.name,path:e.path?`${e.path}.${e.name}`:e.name,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});if(e.allOf||e.oneOf||e.anyOf)return Zr({item:e,items:e.allOf||e.oneOf||e.anyOf,isOneOf:!!(e.oneOf||e.anyOf),mockOptions:t,operationId:r,tags:n,combine:o,context:s});if(e.properties){let i=o?"":"{",a=[],p=[];return i+=(await Promise.all(Object.entries(e.properties).map(async([m,c])=>{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 u=await ie({schema:b(g({},c),{name:m,path:e.path?`${e.path}.${m}`:`#.${m}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});a=[...a,...u.imports],p=[...p,m];let f=Oe(m);return!l&&!u.overrided?`${f}: faker.helpers.randomize([${u.value}, undefined])`:`${f}: ${u.value}`}))).filter(Boolean).join(", "),i+=o?"":"}",{value:i,imports:a,name:e.name,properties:p}}if(e.additionalProperties){if(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 De=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{var l,u;let i=nt((u=(l=t==null?void 0:t.operations)==null?void 0:l[r])==null?void 0:u.properties,e);if(i)return i;let a=Object.entries((t==null?void 0:t.tags)||{}).reduce((f,[d,y])=>n.includes(d)?fe(f,y):f,{}),p=nt(a==null?void 0:a.properties,e);if(p)return p;let m=nt(t==null?void 0:t.properties,e);if(m)return m;let c=g(g({},Yr),(t==null?void 0:t.format)||{});if(e.format&&c[e.format])return{value:Ce(c[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:Ce("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:Ce(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,c;if(!G(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,type:i}=await de(e.$ref,t),a=(c=(m=(p=t.specs[s||t.specKey])==null?void 0:p.components)==null?void 0:m[i])==null?void 0:c[o];if(!a)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return F(a,b(g({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};var ot=(e,t)=>Object.entries(A(e)?e(t):e).reduce((r,[n,o])=>b(g({},r),{[n]:A(o)?`(${o})()`:H(o)}),{}),Ba=(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:ot(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:ot(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((s,[i,a])=>{var p;return b(g({},s),{[i]:((p=a.mock)==null?void 0:p.properties)?{properties:ot(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:ot(a.mock.properties,e)}:{}})},{})}:{})},_a=e=>{let t=e.endsWith("[]");switch(t?e.slice(0,-2):e){case"number":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.datatype.number())":"faker.datatype.number().toString()";case"string":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.random.word())":"faker.random.word()";default:return"undefined"}},La=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>j(r.types.success,async(i,{value:a,originalSchema:p})=>{if(!a||be.includes(a)){let l=_a(a);return i.definitions=[...i.definitions,o?o(l,r.definition.success):l],i}if(!p)return i;let m=await F(p,s),c=await De({item:g({name:a},m.schema),mockOptions:n,operationId:e,tags:t,context:s});return i.imports=[...i.imports,...c.imports],i.definitions=[...i.definitions,o?o(c.value,r.definition.success):c.value.toString()],i},{definitions:[],imports:[]}),tn=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let i=Ba(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 za=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+C(r),""),Ka=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${za(o)}`:`${n}/${o}`:n,t),Qa=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0}],dependency:"faker"}],pe=(e,t,r)=>rt(e,[...Qa,...t],r),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}),c=Ka(o,(d=s==null?void 0:s.mock)==null?void 0:d.baseUrl),l=rn(e,s),u="";l?u=l:a.length>1?u=`faker.helpers.randomize(${p})`:a[0]&&(u=a[0]);let f=u[0]==="{"||u[0]==="["||u.startsWith("(function() {")||u.startsWith("(()=>({")||u.startsWith("faker.helpers")||u.startsWith("Array.from")?"json":"text";return{implementation:{function:u&&u!=="undefined"?`export const get${O(e)}Mock = () => (${u})
|
|
111
|
-
|
|
112
|
-
`:"",handler:`rest.${r}('${c}', (req, res, ctx) => {
|
|
113
|
-
return res(
|
|
114
|
-
ctx.delay(1000),
|
|
115
|
-
ctx.status(200, 'Mocked status'),${u&&u!=="undefined"?`
|
|
116
|
-
ctx.${f}(get${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"}],Ha=[...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=()=>Ha,Ya=[...At,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"react-query"}],sn=()=>Ya,Ja=[...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=()=>Ja,Xa=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Za=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=Xa({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=c?ae(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
|
|
119
|
-
${E(s,"implementation")}
|
|
120
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
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")} ${c?`options?: AxiosRequestConfig
|
|
127
|
-
`:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
|
|
128
|
-
return axios.${i}(${f});
|
|
129
|
-
}
|
|
130
|
-
`},kt={INFINITE:"infiniteQuery",QUERY:"query"},ei=["getNextPageParam","getPreviousPageParam"],ti=({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&&ei.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}`},ri=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:i,properties:a,params:p,props:m,mutator:c,isRequestOptions:l,response:u})=>{let f=t?m.map(({name:y})=>y==="params"?`{ ${t}: pageParam, ...params }`:y).join(","):a,d=!!c&&c.mutatorFn.length>1;return`
|
|
132
|
-
export const ${$(`use-${e}`)} = <TData = AsyncReturnType<typeof ${o}>, TError = ${u.definition.errors||"unknown"}>(
|
|
133
|
-
${s} ${pn({operationName:o,definitions:"",mutator:c,isRequestOptions:l,isMutatorHasSecondArg:d,type:n})}
|
|
134
|
-
) => {
|
|
135
|
-
|
|
136
|
-
${l?`const {query: queryOptions${c?d?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
|
|
137
|
-
|
|
138
|
-
const queryKey = queryOptions?.queryKey ?? ${i}(${a});
|
|
139
|
-
const queryFn = (${t&&m.some(({type:y})=>y==="queryParam")?"{ pageParam }":""}) => ${o}(${f}${f?", ":""}${l?c?d?"requestOptions":"":"axiosOptions":""});
|
|
140
|
-
|
|
141
|
-
const query = ${$(`use-${n}`)}<AsyncReturnType<typeof queryFn>, TError, TData>(queryKey, queryFn, ${ti({params:p,options:r,type:n})})
|
|
142
|
-
|
|
143
|
-
return {
|
|
144
|
-
queryKey,
|
|
145
|
-
...query
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
`},ni=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p,operationId:m},{route:c,override:{operations:l={}}})=>{var P;let u=i==null?void 0:i.query,f=(i==null?void 0:i.requestOptions)!==!1,d=(P=l[m])==null?void 0:P.query;if(o===Y.GET||(d==null?void 0:d.useInfinite)||(d==null?void 0:d.useQuery)){let S=n.map(({name:z,type:K})=>K===J.BODY?r.implementation:z).join(","),T=[...(u==null?void 0:u.useInfinite)?[{name:$(`${t}-infinite`),options:u==null?void 0:u.options,type:kt.INFINITE,queryParam:u==null?void 0:u.useInfiniteQueryParam}]:[],...!(u==null?void 0:u.useQuery)&&!(u==null?void 0:u.useInfinite)||(u==null?void 0:u.useQuery)?[{name:t,options:u==null?void 0:u.options,type:kt.QUERY}]:[]],M=$(`get-${t}-queryKey`),I=E(n,"implementation");return`export const ${M} = (${I}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
149
|
-
|
|
150
|
-
${T.reduce((z,K)=>z+ri({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
|
-
`},st=()=>"",at=({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
|
-
`:""}`,it=()=>"",pt=(e,t)=>{let r=ne(e),n=Za(e,t),o=ni(e,t);return{implementation:`${n}
|
|
176
|
-
|
|
177
|
-
${o}`,imports:r}};var oi=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],si=[...oi,{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],mn=()=>si,ai=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",ii=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:i,formData:a,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=ai({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=c?ae(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
|
|
178
|
-
${E(s,"implementation")}
|
|
179
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
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")} ${c?`options?: AxiosRequestConfig
|
|
186
|
-
`:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
|
|
187
|
-
return axios.${i}(${f});
|
|
188
|
-
}
|
|
189
|
-
`},pi=({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}`},mi=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:s,isRequestOptions:i,response:a})=>{let p=n,m=!!s&&s.mutatorFn.length>1,c=o.length?`const isEnable = !!(${o.map(({name:l})=>l).join(" && ")})
|
|
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} ${pi({operationName:e,mutator:s,isRequestOptions:i,isMutatorHasSecondArg:m})}
|
|
194
|
-
) => {
|
|
195
|
-
|
|
196
|
-
${i?`const {swr: swrOptions${s?m?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
|
|
197
|
-
|
|
198
|
-
${c}
|
|
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
|
-
`},ci=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:i,mutator:a,response:p},{route:m})=>{let c=(i==null?void 0:i.requestOptions)!==!1;if(o!==Y.GET)return"";let l=n.map(({name:d,type:y})=>y===J.BODY?r.implementation:d).join(","),u=$(`get-${t}-key`),f=E(n,"implementation");return`export const ${u} = (${f}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
209
|
-
|
|
210
|
-
${mi({operationName:t,swrProps:f,swrKeyFnName:u,properties:l,params:s,props:n,mutator:a,isRequestOptions:c,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=ii(e,t),o=ci(e,t);return{implementation:`${n}
|
|
224
|
-
|
|
225
|
-
${o}`,imports:r}};var Ae=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:Lr,footer:Qr,title:zr},"react-query":{client:pt,header:at,dependencies:sn,footer:it,title:st},"svelte-query":{client:pt,header:at,dependencies:on,footer:it,title:st},"vue-query":{client:pt,header:at,dependencies:an,footer:it,title:st},swr:{client:fn,header:un,dependencies:mn,footer:ln,title:cn}},ke=e=>{let t=A(e)?e(gn):gn[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},me=(e=Ae,t,r,n)=>{let{dependencies:o}=ke(e);return rt(t,[...o(),...r],n)},mt=({outputClient:e=Ae,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:i})=>{let a=ui(e,r,n),{header:p}=ke(e);return{implementation:p({title:a.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:i}),implementationMSW:`export const ${a.implementationMSW} = () => [
|
|
226
|
-
`}},ct=(e=Ae,t)=>{let{footer:r}=ke(e);return{implementation:r(t),implementationMSW:`]
|
|
227
|
-
`}},ui=(e=Ae,t,r)=>{let{title:n}=ke(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`}},li=async(e,t)=>t.mock?A(t.mock)?t.mock(e,t):nn(e,t):{implementation:{function:"",handler:""},imports:[]},dn=(e=Ae,t,r)=>j(t,async(n,o)=>{let{client:s}=ke(e),i=s(o,r),a=await li(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,c])=>{var f;let{schema:l}=await F(c,r),u="";return l.type==="object"||l.type==="array"?u=`formData.append('${m}', JSON.stringify(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}))
|
|
229
|
-
`:l.type==="number"||l.type==="integer"||l.type==="boolean"?u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}.toString())
|
|
230
|
-
`:u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`})
|
|
231
|
-
`,((f=n.required)==null?void 0:f.includes(m))?p+u:p+`if(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`} !== undefined) {
|
|
232
|
-
${u} }
|
|
233
|
-
`},"");return`${i}${a}`}return n.type==="array"?`${i}formData.append('data', JSON.stringify(${$(s)}))
|
|
234
|
-
`:n.type==="number"||n.type==="boolean"?`${i}formData.append('data', ${$(s)}.toString())
|
|
235
|
-
`:`${i}formData.append('data', ${$(s)})
|
|
236
|
-
`};function N({description:e,deprecated:t},r=!1){let n=Array.isArray(e)?e:[e];if(!e&&!t)return"";let o=(e&&!t||t&&!e)&&r,s="/**";return e&&(o||(s+=`
|
|
237
|
-
${r?" ":""} *`),s+=` ${n.join(`
|
|
238
|
-
* `)}`),t&&(o||(s+=`
|
|
239
|
-
${r?" ":""} *`),s+=" @deprecated"),s+=o?" ":`
|
|
240
|
-
${r?" ":""}`,s+=`*/
|
|
241
|
-
`,s}var he=(e,t,r)=>{let n=`export type ${r} = ${e};
|
|
242
|
-
`,o=e.split(" | ").reduce((s,i)=>{let a=t==="number",m=!Number.isNaN(Number(i.slice(1,-1)))||a?fi(a?i.toString():i.slice(1,-1)):C(i,{underscore:"_",whitespace:"_"}),c=!Number.isNaN(+m[0]);return s+` ${c?`'${m}'`:m}: ${i} as ${r},
|
|
243
|
-
`},"");return n+=`
|
|
244
|
-
|
|
245
|
-
export const ${r} = {
|
|
246
|
-
${o}};
|
|
247
|
-
`,n},fi=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 gi={allOf:"&",oneOf:"|",anyOf:"|"},ut=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(tt(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} ${gi[r]} ${p.value}`:p.value,imports:[...s.imports,...p.imports],schemas:[...s.schemas,...p.schemas],isEnum:s.isEnum?p.isEnum:s.isEnum})},{value:"",imports:[],schemas:[],isEnum:!0,type:"object",isRef:!1});if(o.isEnum&&e){let s=o.value.split(" | ").map(a=>`...${a}`).join(","),i=`
|
|
248
|
-
|
|
249
|
-
export const ${O(e)} = {${s}}`;return b(g({},o),{imports:o.imports.map(a=>b(g({},a),{values:!0})),value:o.value+i,isEnum:!1})}return o};var bn=async({item:e,name:t,context:r})=>{if(G(e)){let{name:n,specKey:o}=await de(e.$ref,r);return{value:n,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return ut({items:e.allOf,name:t,separator:"allOf",context:r});if(e.oneOf)return ut({items:e.oneOf,name:t,separator:"oneOf",context:r});if(e.anyOf)return ut({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,c=await X({schema:s,propName:m,context:r}),l=e.readOnly||s.readOnly;i||(n.value+="{");let u=N(s,!0);return n.imports=[...n.imports,...c.imports],n.value+=`
|
|
250
|
-
${u?`${u} `:""}${l?"readonly ":""}${Oe(o)}${p?"":"?"}: ${c.value};`,n.schemas=[...n.schemas,...c.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 lt=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=Ot(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=Ot(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 lt({item:e,name:t,context:r});return b(g({},n),{originalSchema:e,isRef:!1})};var X=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await Z({schema:e,name:t,context:n}),s=N(o.originalSchema||{});if(t&&!o.isEnum&&(o==null?void 0:o.type)==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${s}export type ${t} = ${o.value};
|
|
252
|
-
`,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let i=he(o.value,o.type,t);return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:s+i,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var On=["multipart/form-data"],yi=async({mediaType:e,propName:t,context:r})=>e.schema?await X({schema:e.schema,propName:t,context:r}):void 0,xe=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,i])=>Boolean(i)).map(async([s,i])=>{if(G(i)){let{schema:a,imports:[{name:p,specKey:m,schemaName:c}]}=await F(i,r),[l,u]=Object.entries(a.content||{})[0]||[];if(!On.includes(l)||!(u==null?void 0:u.schema))return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}];let f=await Et(p,u==null?void 0:u.schema,b(g({},r),{specKey:m||r.specKey}));return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,formData:f,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}]}return i.content?(await Promise.all(Object.entries(i.content).map(async([p,m],c,l)=>{let u=s?O(t)+O(s):void 0;u&&l.length>1&&(u=u+O(tt(c+1)));let f=await yi({mediaType:m,propName:u,context:r});if(!f||!On.includes(p)||!u)return f;let d=await Et(u,m.schema,r);return b(g({},f),{formData:d})}))).filter(p=>p).map(p=>b(g({},p),{key:s})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:s,isRef:!1}]}));return _lodashuniqby2.default.call(void 0, o.reduce((s,i)=>[...s,...i],[]),"value")};var hn=async(e,t,r)=>{let n=await xe([[r.override.components.requestBodies.suffix,e]],t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=n.map(({value:m})=>m).join(" | "),a=be.includes(i.toLowerCase())||n.length>1?$(t)+r.override.components.requestBodies.suffix:$(i),p=n.length===1?n[0].formData:void 0;return{definition:i,implementation:a,imports:o,schemas:s,formData:p||""}};var xn=(e,t,r)=>e.operationId?e.operationId:O([r,...t.split("/").map(n=>C(n))].join("-"));var $n=async({parameters:e=[],context:t})=>j(e,async(r,n)=>{if(G(n)){let{schema:o,imports:s}=await F(n,t);return o.in==="path"||o.in==="query"?b(g({},r),{[o.in]:[...r[o.in],{parameter:o,imports:s}]}):r}else return n.in!=="query"&&n.in!=="path"?r:b(g({},r),{[n.in]:[...r[n.in],{parameter:n,imports:[]}]})},{path:[],query:[]});var bi=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=bi(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,c=C(a);if(!m)return{name:c,definition:`${c}${p?"":"?"}: unknown`,implementation:`${c}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let l=await Z({schema:m,context:n}),u=`${c}${!p||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!p&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${l.originalSchema.default}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:p,imports:l.imports}}))};var 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 Oi=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:s,required:i,schema:a}=n,{value:p,imports:m,isEnum:c,type:l,schemas:u,isRef:f}=await Z({schema:a,context:r,name:O(t)+O(s)}),d=Oe(s);if(o.length)return{definition:`${d}${!i||a.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(c&&!f){let h=O(t)+O(s),w=he(p,l,h);return{definition:`${d}${!i||a.default?"?":""}: ${h}`,imports:[{name:h}],schemas:[...u,{name:h,model:w,imports:m}]}}return{definition:`${d}${!i||a.default?"?":""}: ${p}`,imports:m,schemas:u}})),Rn=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await Oi(e,t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=`${O(t)}Params`,a=n.map(({definition:m})=>m).join("; ");return{schema:{name:i,model:`export type ${i} = { ${a} };
|
|
253
|
-
`,imports:o},deps:s}};var vn=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[]};let n=await xe(Object.entries(e),t,r,"void"),o=n.reduce((m,c)=>c.key.startsWith("2")?b(g({},m),{success:[...m.success,c]}):b(g({},m),{errors:[...m.errors,c]}),{success:[],errors:[]}),s=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),i=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),a=o.success.map(({value:m,formData:c})=>c?"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 L=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},ft=(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 wi=(e,t)=>{let r=R(e),n=R(t.path),{pathWithoutExtension:o}=R(L(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 Je(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=wi(e,t);return{name:o,path:p,default:n,mutatorFn:a}};var Ri=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var Re;let{responses:i,requestBody:a,parameters:p,tags:m=[]}=r,c=xn(r,n,e),l=t.override.operations[r.operationId],u=Object.entries(t.override.tags).reduce((ve,[_e,Le])=>m.includes(_e)?fe(ve,Le):ve,{}),f=g(g(g({},t.override),u),l),d=(l==null?void 0:l.operationName)||((Re=t.override)==null?void 0:Re.operationName),y=d?d(r,n,e):$(c),h=await vn(i,c,s),w=await hn(a,c,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:c,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}),z=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:c,operationName:y,response:h,body:w,queryParams:S,params:T,props:M,mutator:I,formData:z,override:f},ue=await et(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 Ri({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:c,body:l,response:u})=>[...m,...c?[c.schema,...c.deps]:[],...l.schemas,...u.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=Pe(er());var tr=(e={},t,r)=>(0,rs.default)(e)?Promise.resolve([]):j(Object.entries(e),async(n,[o,s])=>{let i=await xe([[r,s]],o,t,"void"),a=i.reduce((f,{imports:d=[]})=>[...f,...d],[]),p=i.reduce((f,{schemas:d=[]})=>[...f,...d],[]),m=i.map(({value:f})=>f).join(" | "),c=`${O(o)}${r}`,u=`${N(s)}export type ${c} = ${m||"unknown"};
|
|
254
|
-
`;return[...n,...p,...c!==m?[{name:c,model:u,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=Pe(er());var os=async({name:e,schema:t,context:r,suffix:n})=>{let o=await lt({item:t,name:e,context:r}),s=o.value==="{}",i=O(e)+n,a="";a+=N(t),s&&(a+=`// tslint:disable-next-line:no-empty-interface
|
|
257
|
-
`),be.includes(o.value)?a+=`export type ${i} = ${o.value};
|
|
258
|
-
`:a+=`export interface ${i} ${o.value}
|
|
259
|
-
`;let p=o.imports.filter(m=>m.name!==i);return[...o.schemas,{name:i,model:a,imports:p}]};var as=async(e={},t,r)=>(0,ss.default)(e)?[]:j(Object.entries(e),async(o,[s,i])=>{if((!i.type||i.type==="object")&&!i.allOf&&!i.oneOf&&!G(i)&&!i.nullable)return[...o,...await os({name:s,schema:i,context:t,suffix:r})];{let a=await Z({schema:i,name:s,context:t}),p="",m=O(s)+r,c=a.imports;if(p+=N(i),a.isEnum&&!a.isRef)p+=he(a.value,a.type,m);else if(m===a.value&&a.isRef){let l=a.imports.find(u=>u.name===m);if(!l)p+=`export type ${m} = ${a.value};
|
|
260
|
-
`;else{let u=(l==null?void 0:l.specKey)?`${O(ft(l.specKey,t.specKey))}${a.value}`:`${a.value}Bis`;p+=`export type ${m} = ${u};
|
|
261
|
-
`,c=c.map(f=>f.name===m?b(g({},f),{alias:u}):f)}}else p+=`export type ${m} = ${a.value};
|
|
262
|
-
`;return[...o,...a.schemas,{name:m,model:p,imports:c}]}},[]);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 lc=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await et(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 lc({specs:e,input:t,workspace:o}),i=await j(Object.entries(s),async(p,[m,c])=>{var h,w,P,S;let l={specKey:m,workspace:o,specs:s,override:r.override},u=await as((h=c.components)==null?void 0:h.schemas,l,r.override.components.schemas.suffix),f=await tr((w=c.components)==null?void 0:w.responses,l,r.override.components.responses.suffix),d=await tr((P=c.components)==null?void 0:P.requestBodies,l,r.override.components.requestBodies.suffix),y=await ns((S=c.components)==null?void 0:S.parameters,l,r.override.components.parameters.suffix);return b(g({},p),{[m]:[...u,...f,...d,...y]})},{}),a=await 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,t,r)=>{let n=(await _swaggerparser2.default.resolve(e,t)).values();return r?n:Object.fromEntries(Object.entries(n).map(([o,s])=>[_upath.resolve.call(void 0, o),s]))},ps=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"),c=(await _fsextra.readFile.call(void 0, p)).toString();!c.includes(`export * from './${a}'`)&&!c.includes(`export * from "./${a}"`)&&await _fsextra.appendFile.call(void 0, nr(e,"index"),`export * from './${a}';
|
|
266
|
-
`)}catch(p){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${p}`}},cs=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 dt=(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 c;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=!!((c=i.mutators)==null?void 0:c.some(d=>d.mutatorFn.length>(o?2:1))),u=mt({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=u.implementation+i.implementation,i.implementationMSW.handler=u.implementationMSW+i.implementationMSW.handler;let f=ct(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 us=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:c,implementationMSW:l,mutators:u,formData:f}=dt(e,r,n),d=s,y=n.schemas?L(a,R(n.schemas).dirname):void 0;return d+=me(n.client,c,y?[{exports:p,dependency:y}]:[],o),n.mock&&(d+=pe(l,y?[{exports:m,dependency:y}]:[],o)),n.schemas||(d+=ce(t)),u&&(d+=U(u)),f&&(d+=U(f)),d+=`
|
|
268
|
-
|
|
269
|
-
${c}`,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 ls=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:c,implementationMSW:l,importsMSW:u,mutators:f,formData:d}=dt(e,r,n),y=s,h=s,w=n.schemas?L(a,R(n.schemas).dirname):"./"+i+".schemas";y+=me(n.client,c,[{exports:m,dependency:w}],o),h+=pe(l,[{exports:[...m,...u],dependency:w}],o);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
|
-
${c}`,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),yt=(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 c=ct(t==null?void 0:t.client,r);return Object.entries(m).reduce((l,[u,f])=>{var h;let d=!!((h=f.mutators)==null?void 0:h.some(w=>w.mutatorFn.length>(n?2:1))),y=mt({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:d,isGlobalMutator:!!t.override.mutator,title:O(u),customTitleFunc:t.override.title,provideInRoot:t.override.angular.provideInRoot});return b(g({},l),{[u]:{implementation:y.implementation+f.implementation+c.implementation,implementationMSW:{function:f.implementationMSW.function,handler:y.implementationMSW+f.implementationMSW.handler+c.implementationMSW},imports:f.imports,importsMSW:f.importsMSW,mutators:f.mutators,formData:f.formData}})},{})}return m},{});return Object.entries(o).reduce((s,[i,a])=>b(g({},s),{[i]:b(g({},a),{implementationMSW:a.implementationMSW.function+a.implementationMSW.handler})}),{})};var fs=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=yt(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:h,mutators:w,formData:P}=u,S=s,T=s,M=n.schemas?"../"+L(a,R(n.schemas).dirname):"../"+i+".schemas";S+=me(n.client,d,[{exports:f,dependency:M}],o),T+=pe(y,[{exports:[...f,...h],dependency:M}],o);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 z=le(l)+(Q.ANGULAR===n.client?".service":"")+p,K=_upath.join.call(void 0, a,le(l),z);return await _fsextra.outputFile.call(void 0, K,S),n.mock&&await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, a,le(l),le(l)+".msw"+p),T),[K,...I?[I]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var ys=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=yt(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:h,mutators:w,formData:P}=u,S=s,T=n.schemas?L(a,R(n.schemas).dirname):"./"+i+".schemas";S+=me(n.client,d,[{exports:f,dependency:T}],o),n.mock&&(S+=pe(y,[{exports:h,dependency:T}],o));let M=n.schemas?void 0:_upath.join.call(void 0, a,i+".schemas"+p);if(M){let z=s+ce(t);await _fsextra.outputFile.call(void 0, M,z)}w&&(S+=U(w)),P&&(S+=U(P)),S+=`
|
|
276
|
-
|
|
277
|
-
`,S+=d,n.mock&&(S+=`
|
|
278
|
-
|
|
279
|
-
`,S+=y);let I=_upath.join.call(void 0, a,`${le(l)}${p}`);return await _fsextra.outputFile.call(void 0, I,S),[I,...M?[M]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var Os=async({operations:e,schemas:t,rootSpecKey:r,info:n},o,s,i)=>{let{output:a}=s,p=Object.keys(t).reduce((l,u)=>{let d=ft(u,r).slice(1).split("/").join("-");return b(g({},l),{[u]: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(([u,f])=>{let d=r===u,y=d?l:_upath.join.call(void 0, l,p[u]);return cs({schemaPath:y,schemas:f,info:n,rootSpecKey:r,specsName:p,isRootKey:d,header:m})}))}if(!a.target){xt(i||n.title);return}let c=[];if(a.mode===Te.SINGLE?c=await us({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:p,header:m}):a.mode===Te.SPLIT?c=await ls({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:p,header:m}):a.mode===Te.TAGS?c=await ys({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:p,header:m}):a.mode===Te.TAGS_SPLIT&&(c=await fs({workspace:o,operations:e,output:a,info:n,schemas:t,specsName:p,header:m})),a.workspace){let l=a.workspace,u=c.map(f=>`export * from '${L(l,R(f).pathWithoutExtension)}';`).join(`
|
|
280
|
-
`);a.schemas&&(u+=`
|
|
281
|
-
export * from '${L(l,R(a.schemas).dirname)}';`),await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, l,"/index.ts"),u)}xt(i||n.title)};var ir=e=>{jr(e),process.exit(1)};var hs=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 ps(e,t);await Os(n,e,t,r)}catch(n){ir(n)}},xs=async(e,t,r)=>{if(r){let n=e[r];n?hs(t,n,r):ir("Project not found");return}return Promise.all(Object.entries(e).map(async([n,o])=>hs(t,o,n)))},EO= exports.h =async(e,t)=>{let{path:r,file:n}=await Je(e,{defaultFileName:"orval.config"}),o=_upath.dirname.call(void 0, r),s=await(A(n)?n():n),i=await j(Object.entries(s),async(a,[p,m])=>b(g({},a),{[p]:await kr(m,o,t==null?void 0:t.clean)}),{});(t==null?void 0:t.watch)?Fr(t==null?void 0:t.watch,()=>xs(i,o,t==null?void 0:t.projectName),Object.values(i).map(({input:a})=>a.target).filter(a=>W(a))):xs(i,o,t==null?void 0:t.projectName)};exports.a = ht; exports.b = W; exports.c = Ec; exports.d = Iu; exports.e = kr; exports.f = Fr; exports.g = hs; exports.h = EO;
|