orval 6.1.2 → 6.2.3

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