orval 6.9.4 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/orval.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use strict";var _chunkOHBRNI7Ejs = require('../chunk-OHBRNI7E.js');_chunkOHBRNI7Ejs.b.call(void 0, );var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var o=_cac.cac.call(void 0, "orval");_chunkOHBRNI7Ejs.e.call(void 0, {name:_chunkOHBRNI7Ejs.a.name,version:_chunkOHBRNI7Ejs.a.version,description:_chunkOHBRNI7Ejs.a.description});o.version(_chunkOHBRNI7Ejs.a.version);o.command("[config]","generate client with appropriate type-signatures from OpenAPI specs",{ignoreOptionDefaultValue:!0}).option("-o, --output <path>","output file destination").option("-i, --input <path>","input file (yaml or json openapi specs)").option("-c, --config <path>","override flags by a config file").option("-p, --project <name>","focus a project of the config").option("-m, --mode <name>","default mode that will be used").option("-c, --client <name>","default client that will be used").option("--mock","activate the mock").option("-w, --watch [path]","Watch mode, if path is not specified, it watches the input target").option("--clean [path]","Clean output directory").option("--prettier [path]","Prettier generated files").option("--tslint [path]","tslint generated files").option("--tsconfig [path]","path to your tsconfig file").action(async(m,t)=>{if(_chunkOHBRNI7Ejs.c.call(void 0, t.input)&&_chunkOHBRNI7Ejs.c.call(void 0, t.output)){let i=await _chunkOHBRNI7Ejs.H.call(void 0, {input:t.input,output:{target:t.output,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode,tsconfig:t.tsconfig}});if(t.watch)_chunkOHBRNI7Ejs.K.call(void 0, t.watch,async()=>{try{await _chunkOHBRNI7Ejs.L.call(void 0, process.cwd(),i)}catch(n){_chunkOHBRNI7Ejs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}},i.input.target);else try{await _chunkOHBRNI7Ejs.L.call(void 0, process.cwd(),i)}catch(n){_chunkOHBRNI7Ejs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}}else await _chunkOHBRNI7Ejs.M.call(void 0, t.config,{projectName:t.project,watch:t.watch,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode,tsconfig:t.tsconfig})});o.help();o.parse(process.argv);
2
+ "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkRTI3JSYBjs = require('../chunk-RTI3JSYB.js');var _cac = require('cac');var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var o=_cac.cac.call(void 0, "orval");_chunkRTI3JSYBjs.d.call(void 0, {name:_chunkRTI3JSYBjs.a.name,version:_chunkRTI3JSYBjs.a.version,description:_chunkRTI3JSYBjs.a.description});o.version(_chunkRTI3JSYBjs.a.version);o.command("[config]","generate client with appropriate type-signatures from OpenAPI specs",{ignoreOptionDefaultValue:!0}).option("-o, --output <path>","output file destination").option("-i, --input <path>","input file (yaml or json openapi specs)").option("-c, --config <path>","override flags by a config file").option("-p, --project <name>","focus a project of the config").option("-m, --mode <name>","default mode that will be used").option("-c, --client <name>","default client that will be used").option("--mock","activate the mock").option("-w, --watch [path]","Watch mode, if path is not specified, it watches the input target").option("--clean [path]","Clean output directory").option("--prettier [path]","Prettier generated files").option("--tslint [path]","tslint generated files").option("--tsconfig [path]","path to your tsconfig file").action(async(h,t)=>{if(_chunkRTI3JSYBjs.b.call(void 0, t.input)&&_chunkRTI3JSYBjs.b.call(void 0, t.output)){let i=await _chunkRTI3JSYBjs.H.call(void 0, {input:t.input,output:{target:t.output,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode,tsconfig:t.tsconfig}});if(t.watch)_chunkRTI3JSYBjs.K.call(void 0, t.watch,async()=>{try{await _chunkRTI3JSYBjs.L.call(void 0, process.cwd(),i)}catch(n){_chunkRTI3JSYBjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}},i.input.target);else try{await _chunkRTI3JSYBjs.L.call(void 0, process.cwd(),i)}catch(n){_chunkRTI3JSYBjs.c.call(void 0, _chalk2.default.red(`\u{1F6D1} ${n}`))}}else await _chunkRTI3JSYBjs.M.call(void 0, t.config,{projectName:t.project,watch:t.watch,clean:t.clean,prettier:t.prettier,tslint:t.tslint,mock:t.mock,client:t.client,mode:t.mode,tsconfig:t.tsconfig})});o.help();o.parse(process.argv);
@@ -0,0 +1,352 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Vi=Object.create;var un=Object.defineProperty;var Wi=Object.getOwnPropertyDescriptor;var Qi=Object.getOwnPropertyNames;var Hi=Object.getPrototypeOf,zi=Object.prototype.hasOwnProperty;var V=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var R=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var _i=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qi(t))!zi.call(e,o)&&o!==r&&un(e,o,{get:()=>t[o],enumerable:!(n=Wi(t,o))||n.enumerable});return e};var ce=(e,t,r)=>(r=e!=null?Vi(Hi(e)):{},_i(t||!e||!e.__esModule?un(r,"default",{value:e,enumerable:!0}):r,e));var nr=R((uO,Ho)=>{var Wp=Object.prototype;function Qp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Wp;return e===r}Ho.exports=Qp});var _o=R((fO,zo)=>{function Hp(e,t){return function(r){return e(t(r))}}zo.exports=Hp});var Lo=R((dO,Ko)=>{var zp=_o(),_p=zp(Object.keys,Object);Ko.exports=_p});var Jo=R((gO,Yo)=>{var Kp=nr(),Lp=Lo(),Yp=Object.prototype,Jp=Yp.hasOwnProperty;function Xp(e){if(!Kp(e))return Lp(e);var t=[];for(var r in Object(e))Jp.call(e,r)&&r!="constructor"&&t.push(r);return t}Yo.exports=Xp});var or=R((yO,Xo)=>{var Zp=typeof global=="object"&&global&&global.Object===Object&&global;Xo.exports=Zp});var me=R((hO,Zo)=>{var em=or(),tm=typeof self=="object"&&self&&self.Object===Object&&self,rm=em||tm||Function("return this")();Zo.exports=rm});var sr=R((OO,es)=>{var nm=me(),om=nm.Symbol;es.exports=om});var os=R((bO,ns)=>{var ts=sr(),rs=Object.prototype,sm=rs.hasOwnProperty,im=rs.toString,Je=ts?ts.toStringTag:void 0;function am(e){var t=sm.call(e,Je),r=e[Je];try{e[Je]=void 0;var n=!0}catch (e2){}var o=im.call(e);return n&&(t?e[Je]=r:delete e[Je]),o}ns.exports=am});var is=R(($O,ss)=>{var pm=Object.prototype,mm=pm.toString;function cm(e){return mm.call(e)}ss.exports=cm});var Xe=R((xO,ms)=>{var as=sr(),lm=os(),um=is(),fm="[object Null]",dm="[object Undefined]",ps=as?as.toStringTag:void 0;function gm(e){return e==null?e===void 0?dm:fm:ps&&ps in Object(e)?lm(e):um(e)}ms.exports=gm});var ir=R((SO,cs)=>{function ym(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}cs.exports=ym});var ar=R((TO,ls)=>{var hm=Xe(),Om=ir(),bm="[object AsyncFunction]",$m="[object Function]",xm="[object GeneratorFunction]",Sm="[object Proxy]";function Tm(e){if(!Om(e))return!1;var t=hm(e);return t==$m||t==xm||t==bm||t==Sm}ls.exports=Tm});var fs=R((wO,us)=>{var wm=me(),jm=wm["__core-js_shared__"];us.exports=jm});var ys=R((jO,gs)=>{var pr=fs(),ds=function(){var e=/[^.]+$/.exec(pr&&pr.keys&&pr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Rm(e){return!!ds&&ds in e}gs.exports=Rm});var mr=R((RO,hs)=>{var Pm=Function.prototype,Em=Pm.toString;function vm(e){if(e!=null){try{return Em.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}hs.exports=vm});var bs=R((PO,Os)=>{var Mm=ar(),Cm=ys(),Am=ir(),km=mr(),Im=/[\\^$.*+?()[\]{}|]/g,Dm=/^\[object .+?Constructor\]$/,Gm=Function.prototype,qm=Object.prototype,Fm=Gm.toString,Nm=qm.hasOwnProperty,Bm=RegExp("^"+Fm.call(Nm).replace(Im,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Um(e){if(!Am(e)||Cm(e))return!1;var t=Mm(e)?Bm:Dm;return t.test(km(e))}Os.exports=Um});var xs=R((EO,$s)=>{function Vm(e,t){return e==null?void 0:e[t]}$s.exports=Vm});var qe=R((vO,Ss)=>{var Wm=bs(),Qm=xs();function Hm(e,t){var r=Qm(e,t);return Wm(r)?r:void 0}Ss.exports=Hm});var ws=R((MO,Ts)=>{var zm=qe(),_m=me(),Km=zm(_m,"DataView");Ts.exports=Km});var Rs=R((CO,js)=>{var Lm=qe(),Ym=me(),Jm=Lm(Ym,"Map");js.exports=Jm});var Es=R((AO,Ps)=>{var Xm=qe(),Zm=me(),ec=Xm(Zm,"Promise");Ps.exports=ec});var Ms=R((kO,vs)=>{var tc=qe(),rc=me(),nc=tc(rc,"Set");vs.exports=nc});var As=R((IO,Cs)=>{var oc=qe(),sc=me(),ic=oc(sc,"WeakMap");Cs.exports=ic});var Bs=R((DO,Ns)=>{var cr=ws(),lr=Rs(),ur=Es(),fr=Ms(),dr=As(),Fs=Xe(),Fe=mr(),ks="[object Map]",ac="[object Object]",Is="[object Promise]",Ds="[object Set]",Gs="[object WeakMap]",qs="[object DataView]",pc=Fe(cr),mc=Fe(lr),cc=Fe(ur),lc=Fe(fr),uc=Fe(dr),Re=Fs;(cr&&Re(new cr(new ArrayBuffer(1)))!=qs||lr&&Re(new lr)!=ks||ur&&Re(ur.resolve())!=Is||fr&&Re(new fr)!=Ds||dr&&Re(new dr)!=Gs)&&(Re=function(e){var t=Fs(e),r=t==ac?e.constructor:void 0,n=r?Fe(r):"";if(n)switch(n){case pc:return qs;case mc:return ks;case cc:return Is;case lc:return Ds;case uc:return Gs}return t});Ns.exports=Re});var Mt=R((GO,Us)=>{function fc(e){return e!=null&&typeof e=="object"}Us.exports=fc});var Ws=R((qO,Vs)=>{var dc=Xe(),gc=Mt(),yc="[object Arguments]";function hc(e){return gc(e)&&dc(e)==yc}Vs.exports=hc});var _s=R((FO,zs)=>{var Qs=Ws(),Oc=Mt(),Hs=Object.prototype,bc=Hs.hasOwnProperty,$c=Hs.propertyIsEnumerable,xc=Qs(function(){return arguments}())?Qs:function(e){return Oc(e)&&bc.call(e,"callee")&&!$c.call(e,"callee")};zs.exports=xc});var Ls=R((NO,Ks)=>{var Sc=Array.isArray;Ks.exports=Sc});var gr=R((BO,Ys)=>{var Tc=9007199254740991;function wc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tc}Ys.exports=wc});var Xs=R((UO,Js)=>{var jc=ar(),Rc=gr();function Pc(e){return e!=null&&Rc(e.length)&&!jc(e)}Js.exports=Pc});var ei=R((VO,Zs)=>{function Ec(){return!1}Zs.exports=Ec});var oi=R((Ze,Ne)=>{var vc=me(),Mc=ei(),ni=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,ti=ni&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Cc=ti&&ti.exports===ni,ri=Cc?vc.Buffer:void 0,Ac=ri?ri.isBuffer:void 0,kc=Ac||Mc;Ne.exports=kc});var ii=R((WO,si)=>{var Ic=Xe(),Dc=gr(),Gc=Mt(),qc="[object Arguments]",Fc="[object Array]",Nc="[object Boolean]",Bc="[object Date]",Uc="[object Error]",Vc="[object Function]",Wc="[object Map]",Qc="[object Number]",Hc="[object Object]",zc="[object RegExp]",_c="[object Set]",Kc="[object String]",Lc="[object WeakMap]",Yc="[object ArrayBuffer]",Jc="[object DataView]",Xc="[object Float32Array]",Zc="[object Float64Array]",el="[object Int8Array]",tl="[object Int16Array]",rl="[object Int32Array]",nl="[object Uint8Array]",ol="[object Uint8ClampedArray]",sl="[object Uint16Array]",il="[object Uint32Array]",A={};A[Xc]=A[Zc]=A[el]=A[tl]=A[rl]=A[nl]=A[ol]=A[sl]=A[il]=!0;A[qc]=A[Fc]=A[Yc]=A[Nc]=A[Jc]=A[Bc]=A[Uc]=A[Vc]=A[Wc]=A[Qc]=A[Hc]=A[zc]=A[_c]=A[Kc]=A[Lc]=!1;function al(e){return Gc(e)&&Dc(e.length)&&!!A[Ic(e)]}si.exports=al});var pi=R((QO,ai)=>{function pl(e){return function(t){return e(t)}}ai.exports=pl});var ci=R((et,Be)=>{var ml=or(),mi=typeof et=="object"&&et&&!et.nodeType&&et,tt=mi&&typeof Be=="object"&&Be&&!Be.nodeType&&Be,cl=tt&&tt.exports===mi,yr=cl&&ml.process,ll=function(){try{var e=tt&&tt.require&&tt.require("util").types;return e||yr&&yr.binding&&yr.binding("util")}catch (e5){}}();Be.exports=ll});var di=R((HO,fi)=>{var ul=ii(),fl=pi(),li=ci(),ui=li&&li.isTypedArray,dl=ui?fl(ui):ul;fi.exports=dl});var hr=R((zO,gi)=>{var gl=Jo(),yl=Bs(),hl=_s(),Ol=Ls(),bl=Xs(),$l=oi(),xl=nr(),Sl=di(),Tl="[object Map]",wl="[object Set]",jl=Object.prototype,Rl=jl.hasOwnProperty;function Pl(e){if(e==null)return!0;if(bl(e)&&(Ol(e)||typeof e=="string"||typeof e.splice=="function"||$l(e)||Sl(e)||hl(e)))return!e.length;var t=yl(e);if(t==Tl||t==wl)return!e.size;if(xl(e))return!gl(e).length;for(var r in e)if(Rl.call(e,r))return!1;return!0}gi.exports=Pl});var kt={name:"orval",description:"A swagger client generator for typescript",version:"6.10.0",license:"MIT",files:["dist"],bin:{orval:"dist/bin/orval.js"},main:"dist/index.js",keywords:["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"],author:{name:"Victor Bury",email:"bury.victor@gmail.com"},repository:{type:"git",url:"https://github.com/anymaniax/orval"},scripts:{build:"tsup ./src/bin/orval.ts ./src/index.ts --target node12 --minify --clean --dts --splitting",dev:"tsup ./src/bin/orval.ts ./src/index.ts --target node12 --clean --watch src --onSuccess 'yarn generate-api'",lint:"eslint src/**/*.ts",test:"vitest --global test.ts",format:"prettier --write .","format:staged":"pretty-quick --staged",prerelease:"yarn build && cd ./tests && yarn generate && yarn build",release:"dotenv release-it",postrelease:"yarn build && yarn update-samples","generate-api":"node ./dist/bin/orval.js --config ./samples/react-query/basic/orval.config.ts --watch",prepare:"husky install && cd ./samples/react-query/basic && yarn",commitlint:"commitlint","update-samples":"zx ./scripts/update-samples.mjs"},devDependencies:{"@commitlint/cli":"^17.0.3","@commitlint/config-conventional":"^17.0.3","@faker-js/faker":"^7.4.0","@release-it/conventional-changelog":"^5.0.0","@types/chalk":"^2.2.0","@types/commander":"^2.12.2","@types/fs-extra":"^9.0.13","@types/inquirer":"^8.2.2","@types/lodash.get":"^4.4.7","@types/lodash.omit":"^4.5.7","@types/lodash.omitby":"^4.6.7","@types/lodash.uniq":"^4.5.7","@types/lodash.uniqby":"^4.7.7","@types/lodash.uniqwith":"^4.5.7","@types/micromatch":"^4.0.2","@types/node":"^18.7.3","@types/prettier":"^2.7.0","@types/request":"^2.48.8","@types/validator":"^13.7.5","@typescript-eslint/eslint-plugin":"^5.33.0","@typescript-eslint/parser":"^5.33.0","dotenv-cli":"^6.0.0",eslint:"^8.22.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1",husky:"^8.0.1","lint-staged":"^13.0.3","npm-run-all":"^4.1.5",prettier:"2.7.1","pretty-quick":"^3.1.3","release-it":"^15.3.0",rimraf:"^3.0.2",tsup:"^6.2.2",typescript:"^4.7.4",vitest:"^0.6.3",zx:"^7.0.8"},dependencies:{"@apidevtools/swagger-parser":"^10.1.0",acorn:"^8.8.0",cac:"^6.7.12",chalk:"^4.1.2",chokidar:"^3.5.3","compare-versions":"^4.1.3",cuid:"^2.1.8",debug:"^4.3.4",esbuild:"^0.15.3",esutils:"2.0.3",execa:"^5.1.1","find-up":"5.0.0","fs-extra":"^10.1.0",globby:"11.1.0","ibm-openapi-validator":"^0.88.0",inquirer:"^8.2.4","lodash.get":"^4.4.2","lodash.omit":"^4.5.0","lodash.omitby":"^4.6.0","lodash.uniq":"^4.5.0","lodash.uniqby":"^4.7.0","lodash.uniqwith":"^4.5.0",micromatch:"^4.0.5","openapi3-ts":"^3.0.0","string-argv":"^0.3.1",swagger2openapi:"^7.0.8",tsconfck:"^2.0.1",upath:"^2.0.1",url:"^0.11.0",validator:"^13.7.0"}};var W={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},ie={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},J={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"};var _upath = require('upath');var M=e=>Boolean(e.$ref),fn=e=>!_upath.extname.call(void 0, e);function F(e){return Object.prototype.toString.call(e)==="[object Object]"}function I(e){return typeof e=="string"}function dn(e){return typeof e=="number"}function K(e){return typeof e=="boolean"}function N(e){return typeof e=="function"}function Se(e){return typeof e>"u"}function gn(e){return typeof e===null}var yn=e=>Object.values(J).includes(e),Ee=(e,t)=>e===t;var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var G=console.log,uu= exports.d =({name:e,version:t,description:r})=>G(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),$n=e=>G(_chalk2.default.red(e));var xn=e=>G(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),Sn=e=>{G(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>G(_chalk2.default.yellow(`Message : ${t.message}
2
+ Path : ${t.path}`)))},Tn=e=>{G(_chalk2.default.red("(!) Errors")),e.forEach(t=>G(_chalk2.default.red(`Message : ${t.message}
3
+ Path : ${t.path}`)))},It={silent:0,error:1,warn:2,info:3},On,bn,Dt=0;function Yi(){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 L(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=It[e],s=n&&process.stdout.isTTY&&!process.env.CI?Yi:()=>{};function a(c,m,l={}){if(o>=It[c]){let f=c==="info"?"log":c,d=()=>{if(l.timestamp){let u=c==="info"?_chalk2.default.cyan.bold(r):c==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${u} ${m}`}else return m};c===On&&m===bn?(Dt++,s(),console[f](d(),_chalk2.default.yellow(`(x${Dt+1})`))):(Dt=0,bn=m,On=c,l.clear&&s(),console[f](d()))}}let i=new Set,p={hasWarned:!1,info(c,m){a("info",c,m)},warn(c,m){p.hasWarned=!0,a("warn",c,m)},warnOnce(c,m){i.has(c)||(p.hasWarned=!0,a("warn",c,m),i.add(c))},error(c,m){p.hasWarned=!0,a("error",c,m)},clearScreen(c){o>=It[c]&&s()}};return p}var Gt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},st=Gt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),it="a-z"+Gt("DF-F6,F8-FF","00"),Qe="A-Z"+Gt("C0-D6,D8-DE","00"),Ji="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",le={capitalize:new RegExp("(^|["+st+"])(["+it+"])","g"),pascal:new RegExp("(^|["+st+"])+(["+it+Qe+"])","g"),fill:new RegExp("["+st+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+it+"])","g"),improper:new RegExp("\\b("+Ji+")\\b","g"),relax:new RegExp("([^"+Qe+"])(["+Qe+"]*)(["+Qe+"])(?=[^"+Qe+"]|$)","g"),upper:new RegExp("^[^"+it+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+st+"]")},Xi=e=>e.replace(le.apostrophe,""),wn=String.prototype.toUpperCase,qt=String.prototype.toLowerCase,at=(e,t,r=!1)=>(t!=null&&(e=e.replace(le.fill,function(n,o){return o?t+o:""})),r&&(e=Xi(e)),e),Zi=e=>qt.call(e.charAt(0))+e.slice(1),ea=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Ft=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&le.upper.test(e)&&(e=qt.call(e)),!t&&!le.hole.test(e)){var o=at(e," ");le.hole.test(o)&&(e=o)}return!r&&!le.room.test(e)&&(e=e.replace(le.relax,ea)),e},jn=(e,t,r)=>at(qt.call(Ft(e,!!t)),t,r),O= exports.e =e=>at(Ft(e,!1,!0).replace(le.pascal,(t,r,n)=>wn.call(n)),"",!0),w= exports.f =e=>Zi(O(e)),du= exports.g =e=>jn(e,"_",!0),pt= exports.h =e=>jn(e,"-",!0),gu= exports.i =(e,t,r)=>at(wn.call(Ft(e,!!t,!1,!0)),t,r);var _esutils = require('esutils');var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var z=e=>{if(!(Se(e)||gn(e)))return I(e)?`'${e}'`:dn(e)||K(e)||N(e)?`${e}`:Array.isArray(e)?`[${e.map(z).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let a=z(n);return s.length===1?`{ ${r}: ${a}, }`:o?s.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},C= exports.k =(e,t)=>{let{whitespace:r="",underscore:n="",dot:o="",dash:s="",es5keyword:a=!1,es5IdentifierName:i=!1,special:p=!1}=t!=null?t:{},c=e;return p!==!0&&(c=c.replace(/[!"`'#%&,:;<>=@{}~\$\(\)\*\+\/\\\?\[\]\^\|]/g,"")),r!==!0&&(c=c.replace(/[\s]/g,r)),n!==!0&&(c=c.replace(/['_']/g,n)),o!==!0&&(c=c.replace(/[.]/g,o)),s!==!0&&(c=c.replace(/[-]/g,s)),a&&(c=_esutils.keyword.isKeywordES5(c,!0)?`_${c}`:c),i&&(c.match(/^[0-9]/)?c=`N${c}`:c=_esutils.keyword.isIdentifierNameES5(c)?c:`_${c}`),c},q= exports.l =(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
5
+ `)+",":"",ra={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},mt= exports.m =e=>e.toString().split("").reduce((r,n)=>r+ra[n],""),ct= exports.n =(e,t="'")=>e.replace(t,`\\${t}`);var na=["number","string","null","unknown","undefined","object","blob"],ve= exports.p =na.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),re= exports.q =[J.POST,J.PUT,J.PATCH,J.DELETE],Su= exports.r =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Mn=({imports:e=[],target:t,isRootKey:r,specsName:n})=>e.length?_lodashuniqwith2.default.call(void 0, e,(o,s)=>o.name===s.name&&o.default===s.default&&o.specKey===s.specKey).sort().map(({specKey:o,name:s,values:a,alias:i})=>{if(o){let p=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from '../${_upath.join.call(void 0, p,w(s))}';`:`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${_upath.join.call(void 0, p,w(s))}';`}return`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${w(s)}';`}).join(`
6
+ `):"",Cn= exports.t =({schemas:e=[]})=>e.map(n=>`export * from './${w(n.name)}';`).sort().join(`
7
+ `),Q= exports.u =({mutators:e,implementation:t,oneMore:r})=>{let n=_lodashuniqwith2.default.call(void 0, e,(o,s)=>o.name===s.name&&o.default===s.default).map(o=>{let s=`${r?"../":""}${o.path}`,i=`import ${o.default?o.name:`{ ${o.name} }`} from '${s}'`;if(t&&(o.hasErrorType||o.bodyTypeName)){let p="";o.hasErrorType&&t.includes(o.errorTypeName)&&(p=o.default?`ErrorType as ${o.errorTypeName}`:o.errorTypeName);let c="";o.bodyTypeName&&t.includes(o.bodyTypeName)&&(c=o.default?`BodyType as ${o.bodyTypeName}`:o.bodyTypeName),(c||p)&&(i+=`
8
+ `,i+=`import type { ${p}${p&&c?", ":""}${c} } from '${s}'`)}return i}).join(`
9
+ `);return n?n+`
10
+ `:""},En=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:n,key:o,onlyTypes:s})=>{let a=e.find(l=>l.default&&(t||!l.syntheticDefaultImport)),i=t?void 0:e.find(l=>l.syntheticDefaultImport),p=_lodashuniq2.default.call(void 0, e.filter(l=>!l.default&&!l.syntheticDefaultImport).map(({name:l,alias:f})=>f?`${l} as ${f}`:l)).join(`,
11
+ `),c="",m=i?`import * as ${i.name} from '${r}';`:"";if(m){if(e.length===1)return m;c+=`${m}
12
+ `}return c+=`import ${s?"type ":""}${a?`${a.name}${p?",":""}`:""}${p?`{
13
+ ${p}
14
+ }`:""} from '${r}${o!=="default"&&n[o]?`/${n[o]}`:""}'`,c},sa= exports.v =({implementation:e,exports:t,dependency:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s})=>{let a=t.filter(p=>e.includes(p.alias||p.name));if(!a.length)return;let i=a.reduce((p,c)=>{var l,f,d,u;let m=o&&c.specKey?c.specKey:"default";return c.values&&(s||!c.syntheticDefaultImport)?(p[m]={...p[m],values:[...(f=(l=p[m])==null?void 0:l.values)!=null?f:[],c]},p):(p[m]={...p[m],types:[...(u=(d=p[m])==null?void 0:d.types)!=null?u:[],c]},p)},{});return Object.entries(i).map(([p,{values:c,types:m}])=>{let l="";return c&&(l+=En({deps:c,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:p,onlyTypes:!1})),m&&(c&&(l+=`
15
+ `),l+=En({deps:m,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:p,onlyTypes:!0})),l}).join(`
16
+ `)},lt= exports.w =(e,t,r,n,o)=>{let s=t.map(a=>sa({...a,implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})).filter(Boolean).join(`
17
+ `);return s?s+`
18
+ `:""},ue= exports.x =({response:e,body:t,queryParams:r,headers:n,params:o})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...n?[{name:n.schema.name}]:[],...o.flatMap(({imports:s})=>s)];var ia=(e,t,r)=>t&&e.formData?`
19
+ formData,`:r&&e.formUrlEncoded?`
20
+ formUrlEncoded,`:e.implementation?`
21
+ ${e.implementation},`:"",aa= exports.z =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:n,requestOptions:o,hasSignal:s})=>{var p;let a=o!==!1;if(!r&&!n&&!e.isBlob)return a?"options":s?t?"...(signal ? { signal } : {})":"signal":"";let i="";return a||(r&&(i+=`
22
+ params,`),n&&(i+=`
23
+ headers,`),s&&(i+=t?`
24
+ ...(signal ? { signal } : {}),`:`
25
+ signal,`)),e.isBlob&&(!F(o)||!o.hasOwnProperty("responseType"))&&(i+=`
26
+ responseType: 'blob',`),F(o)&&(i+=`
27
+ ${(p=z(o))==null?void 0:p.slice(1,-1)}`),a&&(i+=`
28
+ ...options,`,r&&(i+=`
29
+ params: {...params, ...options?.params},`),n&&(i+=`
30
+ headers: {...headers, ...options?.headers},`)),i},fe= exports.A =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,requestOptions:a,isFormData:i,isFormUrlEncoded:p,isAngular:c,isExactOptionalPropertyTypes:m,hasSignal:l})=>{let f=re.includes(s),d=f?ia(t,i,p):"",u=aa({response:o,queryParams:n==null?void 0:n.schema,headers:r==null?void 0:r.schema,requestOptions:a,isExactOptionalPropertyTypes:m,hasSignal:l}),y=u?`{${u}}`:"";return s===J.DELETE?d?`
31
+ \`${e}\`,{${c?"body":"data"}:${d} ${u==="options"?`...${u}`:u}}
32
+ `:`
33
+ \`${e}\`,${u==="options"?u:y}
34
+ `:`
35
+ \`${e}\`,${f?d||"undefined,":""}${u==="options"?u:y}
36
+ `},pa= exports.B =(e,t,r)=>t&&e.formData?`,
37
+ data: formData`:r&&e.formUrlEncoded?`,
38
+ data: formUrlEncoded`:e.implementation?`,
39
+ data: ${e.implementation}`:"",ma= exports.C =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
40
+ params`),e.isBlob&&(r+=`,
41
+ responseType: 'blob'`),r},de= exports.D =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,isFormData:a,isFormUrlEncoded:i,isBodyVerb:p,hasSignal:c,isExactOptionalPropertyTypes:m})=>{let l=p?pa(t,a,i):"",f=ma(o,n),d=t.contentType?`,
42
+ headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
43
+ headers`:"";return`{url: \`${e}\`, method: '${s}'${d}${l}${f}${!p&&c?`, ${m?"...(signal ? { signal }: {})":"signal"}`:""}
44
+ }`},ge= exports.E =(e,t)=>{var r,n;return t?F(e)?`{${(n=z(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":F(e)?(r=z(e))==null?void 0:r.slice(1,-1):""},ye= exports.F =({body:e,formData:t,formUrlEncoded:r,isFormData:n,isFormUrlEncoded:o})=>n&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:o&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var _url = require('url'); var _url2 = _interopRequireDefault(_url);var _esbuild = require('esbuild');var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby);var _micromatch = require('micromatch'); var _micromatch2 = _interopRequireDefault(_micromatch);var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var An=process.env.ORVAL_DEBUG_FILTER,Nt=process.env.DEBUG;function kn(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{An&&!s.includes(An)||n&&!(Nt!=null&&Nt.includes(o))||r(s,...a)}}var v=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=fn(e),o=n?_upath.join.call(void 0, e,t+r):e,s=o.replace(/\.[^/.]+$/,""),a=_upath.dirname.call(void 0, o),i=_upath.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:a,filename:i}},qn=kn("orval:file-load"),Ut=new Map;async function ut(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s,alias:a,tsconfig:i,load:p=!0}=t!=null?t:{},c=Date.now(),m,l=!1,f=!1;if(e)m=_path2.default.resolve(e),l=e.endsWith(".ts");else if(o){let y=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(y)&&(m=y),!m){let g=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(g)&&(m=g,f=!0)}if(!m){let g=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(g)&&(m=g,l=!0)}}m||(e?L(s).error(_chalk2.default.red(`File not found => ${e}`)):o?L(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):L(s).error(_chalk2.default.red("File not found")),process.exit(1));let d=_upath.normalizeSafe.call(void 0, m),u=Ut.get(m);if(u)return{path:d,...u,cached:!0};try{let y;if(!y&&!l&&!f)try{delete V.cache[V.resolve(m)],y=V(m),qn(`cjs loaded in ${Date.now()-c}ms`)}catch(g){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(g.message))throw g}if(!y){let{code:g}=await ya(m,f,r||_upath.dirname.call(void 0, d),a,i==null?void 0:i.compilerOptions);p?y=await ha(m,g,n):y=g,qn(`bundled file loaded in ${Date.now()-c}ms`)}return Ut.set(m,{file:y}),{path:d,file:y}}catch(y){return Ut.set(m,{error:y}),{path:d,error:y}}}async function ya(e,t=!1,r,n,o){let s=await _esbuild.build.call(void 0, {absWorkingDir:process.cwd(),entryPoints:[e],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:t?"esm":"cjs",sourcemap:"inline",metafile:!0,target:"es6",minifyWhitespace:!0,plugins:[...n||(o==null?void 0:o.paths)?[{name:"aliasing",setup(i){i.onResolve({filter:/^[\w@][^:]/},async({path:p})=>{if(n){let c=Object.keys(n),m=c.find(l=>p.startsWith(l)||_micromatch2.default.isMatch(p,c));if(m){let l=_micromatch2.default.scan(m),f=_micromatch2.default.scan(n[m]),d=_upath.resolve.call(void 0, r,f.base),u=l.base?p.replace(l.base,d):_upath.joinSafe.call(void 0, d,p),g=_upath.extname.call(void 0, u)?u:`${u}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}if(o!=null&&o.paths){let c=Object.keys(o==null?void 0:o.paths),m=c.find(l=>p.startsWith(l)||_micromatch2.default.isMatch(p,c));if(m){let l=_micromatch2.default.scan(m),f=_micromatch2.default.scan(o==null?void 0:o.paths[m][0]),d=_upath.resolve.call(void 0, r,f.base),u=l.base?p.replace(l.base,d):_upath.joinSafe.call(void 0, d,p),g=_upath.extname.call(void 0, u)?u:`${u}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}})}}]:[],{name:"externalize-deps",setup(i){i.onResolve({filter:/.*/},p=>{let c=p.path;if(c[0]!=="."&&!_path2.default.isAbsolute(c))return{external:!0}})}},{name:"replace-import-meta",setup(i){i.onLoad({filter:/\.[jt]s$/},async p=>{let c=await _fs2.default.promises.readFile(p.path,"utf8");return{loader:p.path.endsWith(".ts")?"ts":"js",contents:c.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${p.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(p.path))).replace(/\b__filename\b/g,JSON.stringify(p.path))}})}}]}),{text:a}=s.outputFiles[0];return{code:a,dependencies:s.metafile?Object.keys(s.metafile.inputs):[]}}async function ha(e,t,r){let n=_path2.default.extname(e),o=V.extensions[n];V.extensions[n]=(i,p)=>{p===e?i._compile(t,p):o(i,p)},delete V.cache[V.resolve(e)];let s=V(e),a=r&&s.__esModule?s.default:s;return V.extensions[n]=o,a}async function Vt(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(n=>_fs2.default.promises.unlink(n)))}var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var ba=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,he=e=>_isURL2.default.call(void 0, e)||ba.test(e);var He={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Ta=new RegExp("~1","g"),Oe=(e,t)=>{let[r,n]=e.split("#"),o=n.slice(1).split("/").map(p=>p.replace(Ta,"/")),s=_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""),a=o[o.length-1];if(!r)return{name:O(a)+s,originalName:a,refPaths:o};let i=he(t.specKey)?_url2.default.resolve(t.specKey,r):_upath.resolve.call(void 0, v(t.specKey).dirname,r);return{name:O(a)+s,originalName:a,specKey:i,refPaths:o}};var _fsextra = require('fs-extra');var _inquirer = require('inquirer'); var _inquirer2 = _interopRequireDefault(_inquirer);var _https = require('https'); var _https2 = _interopRequireDefault(_https);var Nn=(e,t)=>new Promise((r,n)=>{let o=_https2.default.request(e,s=>{let a="";s.on("data",i=>a+=i.toString()),s.on("error",n),s.on("end",()=>{let i={status:s.statusCode,headers:s.headers,body:JSON.parse(a)};s.statusCode&&s.statusCode>=200&&s.statusCode<=299?r(i):n(i)})});o.on("error",n),t&&o.write(t,"binary"),o.end()});var va=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let s=JSON.stringify({query:`query {
45
+ repository(name: "${t}", owner: "${r}") {
46
+ object(expression: "${n}:${o}") {
47
+ ... on Blob {
48
+ text
49
+ }
50
+ }
51
+ }
52
+ }`});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]},Ma=async e=>{if(await _fsextra.pathExists.call(void 0, e))return _fsextra.readFile.call(void 0, e,"utf-8");{let t=await _inquirer2.default.prompt([{type:"input",name:"githubToken",message:"Please provide a GitHub token with `repo` rules checked (https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)"},{type:"confirm",name:"saveToken",message:"Would you like to store your token for the next time? (stored in your node_modules)"}]);return t.saveToken&&await _fsextra.outputFile.call(void 0, e,t.githubToken),t.githubToken}},Ca=async e=>{var c,m,l,f;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await Ma(t),[n]=e.split("github.com/").slice(-1),[o,s,,a,...i]=n.split("/"),p=i.join("/");try{let{body:d}=await Nn(...va({accessToken:r,repo:s,owner:o,branch:a,path:p}));return(c=d.errors)!=null&&c.length&&((m=d.errors)==null?void 0:m.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),(f=(l=d.data)==null?void 0:l.repository)==null?void 0:f.object.text}catch(d){throw d.body?(d.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),d.body.message||`Oups... \u{1F37B}. ${d}`):`Oups... \u{1F37B}. ${d}`}},Un={order:199,canRead(e){return e.url.includes("github.com")},read(e){return Ca(e.url)}};var ft=e=>e&&typeof e=="object";function je(e,t){return!ft(t)||!ft(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:ft(s)&&ft(o)?r[n]=je(s,o):r[n]=o,r},e)}var Vn=({title:e,description:t,version:r})=>[`Generated by ${kt.name} v${kt.version} \u{1F37A}`,"Do not edit manually.",...e?[e]:[],...t?[t]:[],...r?[`OpenAPI spec version: ${r}`]:[]];var _findup = require('find-up'); var _findup2 = _interopRequireDefault(_findup);var Wn=async(e,t=process.cwd())=>{if(!e){let n=await _findup2.default.call(void 0, ["package.json"],{cwd:t});return n?await Promise.resolve().then(()=>ce(V(n))):void 0}let r=ne(e,t);if(_fsextra.existsSync.call(void 0, r))return await Promise.resolve().then(()=>ce(V(r)))};var _tsconfck = require('tsconfck');var Hn=async(e,t=process.cwd())=>{var r,n;if(Se(e)){let o=await _findup2.default.call(void 0, ["tsconfig.json","jsconfig.json"],{cwd:t});return o?(await _tsconfck.parse.call(void 0, o)).tsconfig:void 0}if(I(e)){let o=ne(e,t);if(_fsextra.existsSync.call(void 0, o)){let s=await _tsconfck.parse.call(void 0, o);return((n=(r=s.referenced)==null?void 0:r.find(({tsconfigFile:i})=>i===o))==null?void 0:n.tsconfig)||s.tsconfig}return}if(F(e))return e},Y= exports.J =e=>{var t,r,n;return e?!!((n=(t=e==null?void 0:e.compilerOptions)==null?void 0:t.allowSyntheticDefaultImports)!=null?n:(r=e==null?void 0:e.compilerOptions)==null?void 0:r.esModuleInterop):!0};function Yf(e){return e}var _n=async(e,t=process.cwd(),r={})=>{var g,$,h,b,x,S,T,j,E,P,k,D,se,Pe,_,ee,Ue,Ve,We,nt,ot,Tr,wr,jr,Rr,Pr,Er,vr,Mr,Cr,Ar,kr,Ir,Dr,Gr,qr,Fr,Nr,Br,Ur,Vr,Wr,Qr,Hr,zr,_r,Kr,Lr,Yr,Jr,Xr,Zr,en,tn,rn,nn,on,sn,an,pn,mn,cn,ln;let n=await(N(e)?e():e);n.input||(L().error(_chalk2.default.red("Config require an input")),process.exit(1)),n.output||(L().error(_chalk2.default.red("Config require an output")),process.exit(1));let o=I(n.input)?{target:n.input}:n.input,s=I(n.output)?{target:n.output}:n.output,a=ne(s.workspace||"",t),{clean:i,prettier:p,client:c,mode:m,mock:l,tslint:f}=r,d=await Hn(s.tsconfig||r.tsconfig,t),u=await Wn(s.packageJson||r.packageJson,t),y={input:{target:qa(o.target,t),validation:o.validation||!1,override:{transformer:ne((g=o.override)==null?void 0:g.transformer,t)},converterOptions:($=o.converterOptions)!=null?$:{},parserOptions:je(Ga,(h=o.parserOptions)!=null?h:{})},output:{target:ne(s.target,a),schemas:ne(s.schemas,a),workspace:s.workspace?a:void 0,client:(x=(b=s.client)!=null?b:c)!=null?x:W.AXIOS_FUNCTIONS,mode:Fa((S=s.mode)!=null?S:m),mock:(j=(T=s.mock)!=null?T:l)!=null?j:!1,clean:(P=(E=s.clean)!=null?E:i)!=null?P:!1,prettier:(D=(k=s.prettier)!=null?k:p)!=null?D:!1,tslint:(Pe=(se=s.tslint)!=null?se:f)!=null?Pe:!1,tsconfig:d,packageJson:u,headers:(_=s.headers)!=null?_:!1,override:{...s.override,mock:{arrayMin:(Ve=(Ue=(ee=s.override)==null?void 0:ee.mock)==null?void 0:Ue.arrayMin)!=null?Ve:1,arrayMax:(ot=(nt=(We=s.override)==null?void 0:We.mock)==null?void 0:nt.arrayMax)!=null?ot:10,...(wr=(Tr=s.override)==null?void 0:Tr.mock)!=null?wr:{}},operations:zn((Rr=(jr=s.override)==null?void 0:jr.operations)!=null?Rr:{},a),tags:zn((Er=(Pr=s.override)==null?void 0:Pr.tags)!=null?Er:{},a),mutator:Ae(a,(vr=s.override)==null?void 0:vr.mutator),formData:(kr=K((Mr=s.override)==null?void 0:Mr.formData)?(Ar=s.override)==null?void 0:Ar.formData:Ae(a,(Cr=s.override)==null?void 0:Cr.formData))!=null?kr:!0,formUrlEncoded:(qr=K((Ir=s.override)==null?void 0:Ir.formUrlEncoded)?(Gr=s.override)==null?void 0:Gr.formUrlEncoded:Ae(a,(Dr=s.override)==null?void 0:Dr.formUrlEncoded))!=null?qr:!0,header:((Fr=s.override)==null?void 0:Fr.header)===!1?!1:N((Nr=s.override)==null?void 0:Nr.header)?(Br=s.override)==null?void 0:Br.header:Vn,requestOptions:(Vr=(Ur=s.override)==null?void 0:Ur.requestOptions)!=null?Vr:!0,components:{schemas:{suffix:He.schemas,...(Hr=(Qr=(Wr=s.override)==null?void 0:Wr.components)==null?void 0:Qr.schemas)!=null?Hr:{}},responses:{suffix:He.responses,...(Kr=(_r=(zr=s.override)==null?void 0:zr.components)==null?void 0:_r.responses)!=null?Kr:{}},parameters:{suffix:He.parameters,...(Jr=(Yr=(Lr=s.override)==null?void 0:Lr.components)==null?void 0:Yr.parameters)!=null?Jr:{}},requestBodies:{suffix:He.requestBodies,...(en=(Zr=(Xr=s.override)==null?void 0:Xr.components)==null?void 0:Zr.requestBodies)!=null?en:{}}},query:{useQuery:!0,signal:!0,...(rn=(tn=s.override)==null?void 0:tn.query)!=null?rn:{}},swr:{...(on=(nn=s.override)==null?void 0:nn.swr)!=null?on:{}},angular:{provideIn:(pn=(an=(sn=s.override)==null?void 0:sn.angular)==null?void 0:an.provideIn)!=null?pn:"root"},useDates:((mn=s.override)==null?void 0:mn.useDates)||!1,useDeprecatedOperations:(ln=(cn=s.override)==null?void 0:cn.useDeprecatedOperations)!=null?ln:!0}},hooks:n.hooks?Na(n.hooks):{}};return y.input.target||(L().error(_chalk2.default.red("Config require an input target")),process.exit(1)),!y.output.target&&!y.output.schemas&&(L().error(_chalk2.default.red("Config require an output target or schemas")),process.exit(1)),y},Ga={validate:!0,resolve:{github:Un}},Ae=(e,t)=>{var r;return F(t)?(t.path||(L().error(_chalk2.default.red("Mutator need a path")),process.exit(1)),{...t,path:_upath.resolve.call(void 0, e,t.path),default:(r=t.default||!t.name)!=null?r:!1}):I(t)?{path:_upath.resolve.call(void 0, e,t),default:!0}:t},qa=(e,t)=>I(e)&&!he(e)?ne(e,t):e,ne=(e,t)=>I(e)?_upath.resolve.call(void 0, t,e):e,zn=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,{transformer:n,mutator:o,formData:s,formUrlEncoded:a,requestOptions:i,...p}])=>[r,{...p,...n?{transformer:ne(n,t)}:{},...o?{mutator:Ae(t,o)}:{},...s?{formData:K(s)?s:Ae(t,s)}:{},...a?{formUrlEncoded:K(a)?a:Ae(t,a)}:{}}])),Fa=e=>e?Object.values(ie).includes(e)?e:(L().warn(_chalk2.default.yellow(`Unknown the provided mode => ${e}`)),ie.SINGLE):ie.SINGLE,Na=e=>Object.keys(e).reduce((r,n)=>I(e[n])?{...r,[n]:[e[n]]}:Array.isArray(e[n])?{...r,[n]:e[n]}:N(e[n])?{...r,[n]:[e[n]]}:r,{});var Kn=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>ce(V("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(i=>typeof i=="string"):e;G(`Watching for changes in ${Array.isArray(s)?s.map(i=>'"'+i+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(i,p)=>{G(`Change detected: ${i} ${p}`);try{await t()}catch(c){G(_chalk2.default.red(c))}})};var _swaggerparser = require('@apidevtools/swagger-parser'); var _swaggerparser2 = _interopRequireDefault(_swaggerparser);var _console = require('console');var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var ae=(e,t,r)=>e.reduce(async(n,...o)=>t(await n,...o),Promise.resolve(r));var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Ln=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(G(_chalk2.default.yellow(`${r}
53
+ => ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
54
+ Path: ${r}
55
+ Parsing Error: ${n}`}};var dt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(I(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>ce(V(n)));return r&&F(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var Yn=e=>/[^{]*{[\w*_-]*}.*/.test(e),Jn=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!(t!=null&&t.length))return e;let r=t[1],n=C(w(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),o=Yn(t[3])?Jn(t[3]):t[3];return Yn(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},Xn=e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${Jn(n)}`:`${r}/${n}`,"");var B=(e,t,r=[])=>{var p;if((p=e==null?void 0:e.schema)!=null&&p.$ref){let c=B(e==null?void 0:e.schema,t,r);return{schema:{...e,schema:c.schema},imports:r}}if(!M(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,refPaths:a}=Oe(e.$ref,t),i=_lodashget2.default.call(void 0, t.specs[s||t.specKey],a);if(!i)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return B(i,{...t,specKey:s||t.specKey},[...r,{name:n,specKey:s,schemaName:o}])};var Ha=[{exports:[{name:"HttpClient",values:!0},{name:"HttpHeaders"},{name:"HttpParams"},{name:"HttpContext"}],dependency:"@angular/common/http"},{exports:[{name:"Injectable",values:!0}],dependency:"@angular/core"},{exports:[{name:"Observable",values:!0}],dependency:"rxjs"}],Ht=new Map,Zn=()=>Ha,eo=e=>{let t=C(e);return`${O(t)}Service`},to=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideIn:o})=>`
56
+ ${t&&!n?`type HttpClientOptions = {
57
+ headers?: HttpHeaders | {
58
+ [header: string]: string | string[];
59
+ };
60
+ context?: HttpContext;
61
+ observe?: any;
62
+ params?: HttpParams | {
63
+ [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
64
+ };
65
+ reportProgress?: boolean;
66
+ responseType?: any;
67
+ withCredentials?: boolean;
68
+ };`:""}
69
+
70
+ ${t&&r?`// eslint-disable-next-line
71
+ type ThirdParameter<T extends (...args: any) => any> = T extends (
72
+ config: any,
73
+ httpClient: any,
74
+ args: infer P,
75
+ ) => any
76
+ ? P
77
+ : never;`:""}
78
+
79
+ @Injectable(${o?`{ providedIn: '${K(o)?"root":o}' }`:""})
80
+ export class ${e} {
81
+ constructor(
82
+ private http: HttpClient,
83
+ ) {}`,ro=({operationNames:e})=>{let t=`};
84
+
85
+ `;return e.forEach(r=>{Ht.has(r)&&(t+=Ht.get(r)+`
86
+ `)}),t},za=({headers:e,queryParams:t,operationName:r,response:n,mutator:o,body:s,props:a,verb:i,override:p,formData:c,formUrlEncoded:m},{route:l,context:f})=>{var S,T;let d=(p==null?void 0:p.requestOptions)!==!1,u=(p==null?void 0:p.formData)!==!1,y=(p==null?void 0:p.formUrlEncoded)!==!1,g=!!((T=(S=f.tsconfig)==null?void 0:S.compilerOptions)!=null&&T.exactOptionalPropertyTypes),$=re.includes(i),h=ye({formData:c,formUrlEncoded:m,body:s,isFormData:u,isFormUrlEncoded:y}),b=n.definition.success||"unknown";if(Ht.set(r,`export type ${O(r)}ClientResult = NonNullable<${b}>`),o){let j=de({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,isFormData:u,isFormUrlEncoded:y,hasSignal:!1,isBodyVerb:$,isExactOptionalPropertyTypes:g}),E=d?ge(p==null?void 0:p.requestOptions,o.hasThirdArg):"",P=o.bodyTypeName&&s.definition?q(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):q(a,"implementation");return` ${r}<TData = ${b}>(
87
+ ${P}
88
+ ${d&&o.hasThirdArg?`options?: ThirdParameter<typeof ${o.name}>`:""}) {${h}
89
+ return ${o.name}<TData>(
90
+ ${j},
91
+ this.http,
92
+ ${E});
93
+ }
94
+ `}let x=fe({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,requestOptions:p==null?void 0:p.requestOptions,isFormData:u,isFormUrlEncoded:y,isAngular:!0,isExactOptionalPropertyTypes:g,hasSignal:!1});return` ${r}<TData = ${b}>(
95
+ ${q(a,"implementation")} ${d?`options?: HttpClientOptions
96
+ `:""} ): Observable<TData> {${h}
97
+ return this.http.${i}<TData>(${x});
98
+ }
99
+ `},no=(e,t)=>{let r=ue(e);return{implementation:za(e,t),imports:r}};var _a=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],gt=new Map,zt=e=>[...e?[]:_a],Ka=({headers:e,queryParams:t,operationName:r,response:n,mutator:o,body:s,props:a,verb:i,override:p,formData:c,formUrlEncoded:m},{route:l,context:f})=>{var S,T;let d=(p==null?void 0:p.requestOptions)!==!1,u=(p==null?void 0:p.formData)!==!1,y=(p==null?void 0:p.formUrlEncoded)!==!1,g=!!((T=(S=f.tsconfig)==null?void 0:S.compilerOptions)!=null&&T.exactOptionalPropertyTypes),$=Y(f.tsconfig),h=ye({formData:c,formUrlEncoded:m,body:s,isFormData:u,isFormUrlEncoded:y}),b=re.includes(i);if(o){let j=de({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,isFormData:u,isFormUrlEncoded:y,isBodyVerb:b,hasSignal:!1,isExactOptionalPropertyTypes:g}),E=d?ge(p==null?void 0:p.requestOptions,o.hasSecondArg):"";gt.set(r,k=>`export type ${O(r)}Result = NonNullable<Awaited<ReturnType<${k?`ReturnType<typeof ${k}>['${r}']`:`typeof ${r}`}>>>`);let P=o.bodyTypeName&&s.definition?q(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):q(a,"implementation");return`const ${r} = (
100
+ ${P}
101
+ ${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>,`:""}) => {${h}
102
+ return ${o.name}<${n.definition.success||"unknown"}>(
103
+ ${j},
104
+ ${E});
105
+ }
106
+ `}let x=fe({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,requestOptions:p==null?void 0:p.requestOptions,isFormData:u,isFormUrlEncoded:y,isExactOptionalPropertyTypes:g,hasSignal:!1});return gt.set(r,()=>`export type ${O(r)}Result = AxiosResponse<${n.definition.success||"unknown"}>`),`const ${r} = <TData = AxiosResponse<${n.definition.success||"unknown"}>>(
107
+ ${q(a,"implementation")} ${d?`options?: AxiosRequestConfig
108
+ `:""} ): Promise<TData> => {${h}
109
+ return axios${$?"":".default"}.${i}(${x});
110
+ }
111
+ `},_t=e=>{let t=C(e);return`get${O(t)}`},Kt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`
112
+ ${t&&r?`// eslint-disable-next-line
113
+ type SecondParameter<T extends (...args: any) => any> = T extends (
114
+ config: any,
115
+ args: infer P,
116
+ ) => any
117
+ ? P
118
+ : never;
119
+
120
+ `:""}
121
+ ${n?"":`export const ${e} = () => {
122
+ `}`,Lt=({operationNames:e,title:t,noFunction:r,hasMutator:n,hasAwaitedType:o})=>{let s="";return r||(s+=`return {${e.join(",")}}};
123
+ `),n&&!o&&(s+=`
124
+ type AwaitedInput<T> = PromiseLike<T> | T;
125
+
126
+ type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
127
+
128
+ `),e.forEach(a=>{gt.has(a)&&(s+=gt.get(a)(r?void 0:t)+`
129
+ `)}),s},Yt=(e,t)=>{let r=ue(e);return{implementation:Ka(e,t),imports:r}},oo=(e,t,r)=>{let{implementation:n,imports:o}=Yt(e,t,r);return{implementation:"export "+n,imports:o}};var so=e=>/[^{]*{[\w*_-]*}.*/.test(e),io=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!(t!=null&&t.length))return e;let r=t[1],n=C(w(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),o=so(t[3])?io(t[3]):t[3];return so(e)?`${r}:${n}${o}`:`${r}${n}${o}`},ao=(e,t="*")=>e.split("/").reduce((n,o,s)=>!o&&!s?n:o.includes("{")?`${n}/${io(o)}`:`${n}/${o}`,t);var po={bic:"faker.finance.bic()",city:"faker.address.city()",country:"faker.address.country()",date:"faker.date.past().toISOString().split('T')[0]","date-time":"`${faker.date.past().toISOString().split('.')[0]}Z`",email:"faker.internet.email()",firstName:"faker.name.firstName()",gender:"faker.name.gender()",iban:"faker.finance.iban()",ipv4:"faker.internet.ipv4()",ipv6:"faker.internet.ipv6()",jobTitle:"faker.name.jobTitle()",lastName:"faker.name.lastName()",password:"faker.internet.password()",phoneNumber:"faker.phone.phoneNumber()",streetName:"faker.address.streetName()",uri:"faker.internet.url()",url:"faker.internet.url()",userName:"faker.internet.userName()",uuid:"faker.datatype.uuid()",zipCode:"faker.address.zipCode()"};var mo=(e,t,r)=>{var a,i,p,c;let n=Object.entries((i=(a=t.specs[r].components)==null?void 0:a.schemas)!=null?i:[]).reduce((m,[l,f])=>(m[l]=f,m),{}),o=Object.entries((c=(p=t.specs[r].components)==null?void 0:p.responses)!=null?c:[]).reduce((m,[l,f])=>{var d,u;return m[l]=M(f)?f:(u=(d=f.content)==null?void 0:d["application/json"])==null?void 0:u.schema,m},{});return{...{...n,...o}[e],specKey:r}};var La=e=>e[0]==="/"&&e[e.length-1]==="/",yt=(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:_e(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},_e=(e,t)=>t?`faker.helpers.arrayElement([${e}, null])`:e,pe=({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:a})=>{if(M(e)){let{name:p,specKey:c=s.specKey}=Oe(e.$ref,s),m={...mo(p,s,c),name:p,path:e.path,isRef:!0};return{...ze({item:m,mockOptions:t,operationId:r,tags:n,combine:o,context:{...s,specKey:c},imports:a}),type:m.type}}return{...ze({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:a}),type:e.type}};var _cuid = require('cuid'); var _cuid2 = _interopRequireDefault(_cuid);var co=(e="",t)=>{var r;return e?((r=e.match(new RegExp(t,"g")))!=null?r:[]).length:0};var lo=({item:e,separator:t,mockOptions:r,operationId:n,tags:o,combine:s,context:a,imports:i})=>{var f,d,u;let p=[],c=((f=s==null?void 0:s.includedProperties)!=null?f:[]).slice(0),m=M(e)||e.properties?pe({schema:_lodashomit2.default.call(void 0, e,t),combine:{separator:"allOf",includedProperties:[]},mockOptions:r,operationId:n,tags:o,context:a,imports:i}):void 0;return c.push(...(d=m==null?void 0:m.includedProperties)!=null?d:[]),{value:((u=e[t])!=null?u:[]).reduce((y,g,$,h)=>{var T,j;let b=pe({schema:{...g,name:e.name,path:e.path?e.path:"#"},combine:{separator:t,includedProperties:t!=="oneOf"?c:(T=m==null?void 0:m.includedProperties)!=null?T:[]},mockOptions:r,operationId:n,tags:o,context:a,imports:i});p.push(...b.imports),c.push(...(j=b.includedProperties)!=null?j:[]);let x=(m==null?void 0:m.value)&&t==="oneOf"?`${b.value.slice(0,-1)},${m.value}}`:b.value,S=!s||s.separator==="oneOf"&&t==="allOf";return!$&&S?b.enums||t==="oneOf"?h.length===1?`faker.helpers.arrayElement([${x}])`:`faker.helpers.arrayElement([${x},`:h.length===1?b.type!=="object"?`${x}`:`{${x}}`:`{${x},`:h.length-1===$?b.enums||t==="oneOf"?`${y}${x}${s?"":"])"}`:`${y}${x}${m!=null&&m.value?`,${m.value}`:""}${S?"}":""}`:x?`${y}${x},`:y},""),imports:p,name:e.name,includedProperties:c}};var ke=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var uo=({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:a})=>{if(M(e))return pe({schema:{...e,name:e.name,path:e.path?`${e.path}.${e.name}`:e.name},mockOptions:t,operationId:r,tags:n,context:s,imports:a});if(e.allOf||e.oneOf||e.anyOf){let i=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return lo({item:e,separator:i,mockOptions:t,operationId:r,tags:n,combine:o,context:s,imports:a})}if(e.properties){let i=!o||(o==null?void 0:o.separator)==="oneOf"?"{":"",p=[],c=[];return i+=Object.entries(e.properties).map(([m,l])=>{if(o!=null&&o.includedProperties.includes(m))return;let f=(t==null?void 0:t.required)||(Array.isArray(e.required)?e.required:[]).includes(m);if(co(e.path,`\\.${m}\\.`)>=1)return;let d=pe({schema:{...l,name:m,path:e.path?`${e.path}.${m}`:`#.${m}`},mockOptions:t,operationId:r,tags:n,context:s,imports:p});p.push(...d.imports),c.push(m);let u=ke(m);return!f&&!d.overrided?`${u}: faker.helpers.arrayElement([${d.value}, undefined])`:`${u}: ${d.value}`}).filter(Boolean).join(", "),i+=!o||(o==null?void 0:o.separator)==="oneOf"?"}":"",{value:i,imports:p,name:e.name,includedProperties:c}}if(e.additionalProperties){if(K(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let i=pe({schema:{...e.additionalProperties,name:e.name,path:e.path?`${e.path}.#`:"#"},mockOptions:t,operationId:r,tags:n,context:s,imports:a});return{...i,value:`{
130
+ '${_cuid2.default.call(void 0, )}': ${i.value}
131
+ }`}}return{value:"{}",imports:[],name:e.name}};var ze=({item:e,imports:t,mockOptions:r,operationId:n,tags:o,combine:s,context:a})=>{var f,d,u,y;let i=yt((d=(f=r==null?void 0:r.operations)==null?void 0:f[n])==null?void 0:d.properties,e);if(i)return i;let p=Object.entries((u=r==null?void 0:r.tags)!=null?u:{}).reduce((g,[$,h])=>o.includes($)?je(g,h):g,{}),c=yt(p==null?void 0:p.properties,e);if(c)return c;let m=yt(r==null?void 0:r.properties,e);if(m)return m;let l={...po,...(y=r==null?void 0:r.format)!=null?y:{}};if(e.format&&l[e.format])return{value:_e(l[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:_e(`faker.datatype.number({min: ${e.minimum}, max: ${e.maximum}})`,e.nullable),imports:[],name:e.name};case"boolean":return{value:"faker.datatype.boolean()",imports:[],name:e.name};case"array":{if(!e.items)return{value:"[]",imports:[],name:e.name};let{value:g,enums:$,imports:h,name:b}=pe({schema:{...e.items,name:e.name,path:e.path?`${e.path}.[]`:"#.[]"},combine:s,mockOptions:r,operationId:n,tags:o,context:a,imports:t});if($){if(!M(e.items))return{value:g,imports:h,name:e.name};let x=t.find(T=>b.replace("[]","")===T.name);return{value:`faker.helpers.arrayElements(Object.values(${(x==null?void 0:x.name)||b}))`,imports:x?[...h,{...x,values:!0,...Ee(a.specKey,a.target)?{}:{specKey:a.specKey}}]:h,name:e.name}}return{value:`Array.from({ length: faker.datatype.number({ min: ${r==null?void 0:r.arrayMin}, max: ${r==null?void 0:r.arrayMax} }) }, (_, i) => i + 1).map(() => (${g}))`,imports:h,name:e.name}}case"string":{let g="faker.random.word()",$=[];if(e.enum){let h="['"+e.enum.map(b=>ct(b)).join("','")+"']";e.isRef&&(h=`Object.values(${e.name})`,$=[{name:e.name,values:!0,...Ee(a.specKey,a.target)?{}:{specKey:a.specKey}}]),g=`faker.helpers.arrayElement(${h})`}return{value:_e(g,e.nullable),enums:e.enum,name:e.name,imports:$}}case"object":default:return uo({item:e,mockOptions:r,operationId:n,tags:o,combine:s,context:a,imports:t})}};var ht=(e,t)=>Object.entries(N(e)?e(t):e).reduce((r,[n,o])=>{let s=N(o)?`(${o})()`:z(o);return r[n]=s==null?void 0:s.replace(/import_faker.defaults|import_faker.faker/g,"faker"),r},{}),Za=(e,t)=>{var r,n,o,s,a;return{arrayMin:(r=t==null?void 0:t.mock)==null?void 0:r.arrayMin,arrayMax:(n=t==null?void 0:t.mock)==null?void 0:n.arrayMax,required:(o=t==null?void 0:t.mock)==null?void 0:o.required,...(s=t==null?void 0:t.mock)!=null&&s.properties?{properties:ht(t.mock.properties,e)}:{},...(a=t==null?void 0:t.mock)!=null&&a.format?{format:ht(t.mock.format,e)}:{},...t!=null&&t.operations?{operations:Object.entries(t.operations).reduce((i,[p,c])=>{var m;return(m=c.mock)!=null&&m.properties&&(i[p]={properties:ht(c.mock.properties,e)}),i},{})}:{},...t!=null&&t.tags?{tags:Object.entries(t.tags).reduce((i,[p,c])=>{var m;return(m=c.mock)!=null&&m.properties&&(i[p]={properties:ht(c.mock.properties,e)}),i},{})}:{}}},ep=(e,t)=>{let r=e.endsWith("[]");switch(r?e.slice(0,-2):e){case"number":return r?`Array.from({length: faker.datatype.number({min: ${t.arrayMin}, max: ${t.arrayMax}})}, () => faker.datatype.number())`:"faker.datatype.number().toString()";case"string":return r?`Array.from({length: faker.datatype.number({min: ${t==null?void 0:t.arrayMin},max: ${t==null?void 0:t.arrayMax}})}, () => faker.random.word())`:"faker.random.word()";default:return"undefined"}},tp=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>r.types.success.reduce((a,{value:i,originalSchema:p,imports:c,isRef:m})=>{var d,u;if(!i||ve.includes(i)){let y=ep(i,n);return a.definitions.push(o?o(y,r.definition.success):y),a}if(!p)return a;let l=B(p,s),f=ze({item:{name:i,...l.schema},imports:c,mockOptions:n,operationId:e,tags:t,context:m?{...s,specKey:(u=(d=r.imports[0])==null?void 0:d.specKey)!=null?u:s.specKey}:s});return a.imports.push(...f.imports),a.definitions.push(o?o(f.value,r.definition.success):f.value.toString()),a},{definitions:[],imports:[]}),fo=({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let a=Za(s.specs[s.specKey],n),{definitions:i,imports:p}=tp({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:a,transformer:o,context:s});return{definition:"["+i.join(", ")+"]",definitions:i,imports:p}},go=(e,t)=>{var o,s,a;let r=(a=(s=(o=t==null?void 0:t.operations)==null?void 0:o[e])==null?void 0:s.mock)==null?void 0:a.data,n=N(r)?`(${r})()`:z(r);return n==null?void 0:n.replace(/import_faker.defaults|import_faker.faker/g,"faker")};var rp=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",values:!0}],dependency:"@faker-js/faker"}],be=({implementation:e,imports:t,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})=>lt(e,[...rp,...t],r,n,o),yo=({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:s,context:a})=>{var u,y,g;let{definitions:i,definition:p,imports:c}=fo({operationId:e,tags:n,response:t,override:s,context:a}),m=ao(o,(u=s==null?void 0:s.mock)==null?void 0:u.baseUrl),l=go(e,s),f="";l?f=l:i.length>1?f=`faker.helpers.arrayElement(${p})`:i[0]&&(f=i[0]);let d=t.contentTypes.includes("text/plain")?"text":"json";return{implementation:{function:f&&f!=="undefined"?`export const get${O(e)}Mock = () => (${f})
132
+
133
+ `:"",handler:`rest.${r}('${m}', (_req, res, ctx) => {
134
+ return res(
135
+ ctx.delay(${(g=(y=s==null?void 0:s.mock)==null?void 0:y.delay)!=null?g:1e3}),
136
+ ctx.status(200, 'Mocked status'),${f&&f!=="undefined"?`
137
+ ctx.${d}(get${O(e)}Mock()),`:""}
138
+ )
139
+ }),`},imports:c}};var _lodashomitby = require('lodash.omitby'); var _lodashomitby2 = _interopRequireDefault(_lodashomitby);var U={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"};var Xt=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],op=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryStoreResult"},{name:"UseInfiniteQueryStoreResult"},{name:"QueryKey"}],dependency:"@sveltestack/svelte-query"}],ho=e=>[...e?[]:Xt,...op],sp=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"react-query"}],ip=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"@tanstack/react-query"}],Oo=(e,t)=>{var o,s,a,i,p,c;let r=(a=(o=t==null?void 0:t.dependencies)==null?void 0:o["react-query"])!=null?a:(s=t==null?void 0:t.devDependencies)==null?void 0:s["react-query"],n=(c=(i=t==null?void 0:t.dependencies)==null?void 0:i["@tanstack/react-query"])!=null?c:(p=t==null?void 0:t.devDependencies)==null?void 0:p["@tanstack/react-query"];return[...e?[]:Xt,...r&&!n?sp:ip]},ap=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0}],dependency:"vue-query"},{exports:[{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"vue-query/types"},{exports:[{name:"UseQueryReturnType"}],dependency:"vue-query/lib/vue/useBaseQuery"}],bo=e=>[...e?[]:Xt,...ap],pp=({isRequestOptions:e,hasSignal:t})=>e?`options?: AxiosRequestConfig
140
+ `:t?`signal?: AbortSignal
141
+ `:"",mp=({headers:e,queryParams:t,operationName:r,response:n,mutator:o,body:s,props:a,verb:i,formData:p,formUrlEncoded:c,override:m},{route:l,context:f})=>{var j,E;let d=m.requestOptions!==!1,u=m.formData!==!1,y=m.formUrlEncoded!==!1,g=!!m.query.signal,$=Y(f.tsconfig),h=!!((E=(j=f.tsconfig)==null?void 0:j.compilerOptions)!=null&&E.exactOptionalPropertyTypes),b=re.includes(i),x=ye({formData:p,formUrlEncoded:c,body:s,isFormData:u,isFormUrlEncoded:y});if(o){let P=de({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,isFormData:u,isFormUrlEncoded:y,isBodyVerb:b,hasSignal:g,isExactOptionalPropertyTypes:h}),k=(o==null?void 0:o.bodyTypeName)&&s.definition?q(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):q(a,"implementation"),D=d?ge(m.requestOptions,o.hasSecondArg):"";return o.isHook?`export const use${O(r)}Hook = () => {
142
+ const ${r} = ${o.name}<${n.definition.success||"unknown"}>();
143
+
144
+ return (
145
+ ${k}
146
+ ${d&&o.hasSecondArg?`options?: SecondParameter<ReturnType<typeof ${o.name}>>,`:""}${!b&&g?`signal?: AbortSignal
147
+ `:""}) => {${x}
148
+ return ${r}(
149
+ ${P},
150
+ ${D});
151
+ }
152
+ }
153
+ `:`export const ${r} = (
154
+ ${k}
155
+ ${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>,`:""}${!b&&g?`signal?: AbortSignal
156
+ `:""}) => {${x}
157
+ return ${o.name}<${n.definition.success||"unknown"}>(
158
+ ${P},
159
+ ${D});
160
+ }
161
+ `}let S=fe({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,requestOptions:m==null?void 0:m.requestOptions,isFormData:u,isFormUrlEncoded:y,isExactOptionalPropertyTypes:h,hasSignal:g}),T=pp({isRequestOptions:d,hasSignal:g});return`export const ${r} = (
162
+ ${q(a,"implementation")} ${T} ): Promise<AxiosResponse<${n.definition.success||"unknown"}>> => {${x}
163
+ return axios${$?"":".default"}.${i}(${S});
164
+ }
165
+ `},Jt={INFINITE:"infiniteQuery",QUERY:"query"},cp=["getNextPageParam","getPreviousPageParam"],lp=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=F(t)?` ${(o=z(_lodashomitby2.default.call(void 0, t,(s,a)=>!!(r!==Jt.INFINITE&&cp.includes(a)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!F(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},up=e=>e?e.hasSecondArg&&!e.isHook?`request?: SecondParameter<typeof ${e.name}>`:e.hasSecondArg&&e.isHook?`request?: SecondParameter<ReturnType<typeof ${e.name}>>`:"":"axios?: AxiosRequestConfig",$o=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,type:o})=>{let s=r==null?void 0:r.isHook,a=o?`Use${O(o)}Options<Awaited<ReturnType<${s?`ReturnType<typeof use${O(e)}Hook>`:`typeof ${e}`}>>, TError, TData>`:`UseMutationOptions<Awaited<ReturnType<${s?`ReturnType<typeof use${O(e)}Hook>`:`typeof ${e}`}>>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;if(!n)return`${o?"queryOptions":"mutationOptions"}?: ${a}`;let i=up(r);return`options?: { ${o?"query":"mutation"}?:${a}, ${i}}
166
+ `},fp=({outputClient:e,type:t,isMutatorHook:r,operationName:n})=>{switch(e){case W.SVELTE_QUERY:return`Use${O(t)}StoreResult<Awaited<ReturnType<${r?`ReturnType<typeof use${O(n)}Hook>`:`typeof ${n}`}>>, TError, TData, QueryKey>`;case W.VUE_QUERY:return` UseQueryReturnType<TData, TError, Use${O(t)}Result<TData, TError>>`;case W.REACT_QUERY:default:return` Use${O(t)}Result<TData, TError>`}},dp=({isRequestOptions:e,mutator:t,isExactOptionalPropertyTypes:r,hasSignal:n})=>!t&&e?n?`{ ${r?"...(signal ? { signal } : {})":"signal"}, ...axiosOptions }`:"axiosOptions":(t==null?void 0:t.hasSecondArg)&&e?n?"requestOptions, signal":"requestOptions":n?"signal":"",gp=({isRequestOptions:e,mutator:t})=>{if(!e)return"";let r="const {query: queryOptions";return t||(r+=", axios: axiosOptions"),t!=null&&t.hasSecondArg&&(r+=", request: requestOptions"),r+="} = options ?? {};",r},yp=({hasQueryParam:e,hasSignal:t})=>!e&&!t?"":e?t?"{ signal, pageParam }":"{ pageParam }":"{ signal }",hp=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryKeyFnName:s,queryProperties:a,queryKeyProperties:i,params:p,props:c,mutator:m,isRequestOptions:l,response:f,outputClient:d,isExactOptionalPropertyTypes:u,hasSignal:y})=>{let g=q(c,"implementation"),$=t?c.map(({name:P})=>P==="params"?`{ ${t}: pageParam, ...params }`:P).join(","):a,h=fp({outputClient:d,type:n,isMutatorHook:m==null?void 0:m.isHook,operationName:o}),b=`AxiosError<${f.definition.errors||"unknown"}>`;m&&(b=m.hasErrorType?`${m.default?O(o):""}ErrorType<${f.definition.errors||"unknown"}>`:f.definition.errors||"unknown");let x=m!=null&&m.isHook?`ReturnType<typeof use${O(o)}Hook>`:`typeof ${o}`,S=$o({operationName:o,definitions:"",mutator:m,isRequestOptions:l,type:n}),T=dp({isRequestOptions:l,isExactOptionalPropertyTypes:u,mutator:m,hasSignal:y}),j=gp({isRequestOptions:l,mutator:m}),E=yp({hasQueryParam:!!t&&c.some(({type:P})=>P==="queryParam"),hasSignal:y});return`
167
+ export type ${O(e)}QueryResult = NonNullable<Awaited<ReturnType<${x}>>>
168
+ export type ${O(e)}QueryError = ${b}
169
+
170
+ export const ${w(`use-${e}`)} = <TData = Awaited<ReturnType<${x}>>, TError = ${b}>(
171
+ ${g} ${S}
172
+ ): ${h} & { queryKey: QueryKey } => {
173
+
174
+ ${j}
175
+
176
+ const queryKey = queryOptions?.queryKey ?? ${s}(${i});
177
+
178
+ ${m!=null&&m.isHook?`const ${o} = use${O(o)}Hook();`:""}
179
+
180
+ const queryFn: QueryFunction<Awaited<ReturnType<${m!=null&&m.isHook?`ReturnType<typeof use${O(o)}Hook>`:`typeof ${o}`}>>> = (${E}) => ${o}(${$}${$?", ":""}${T});
181
+
182
+ const query = ${w(`use-${n}`)}<Awaited<ReturnType<${m!=null&&m.isHook?`ReturnType<typeof use${O(o)}Hook>`:`typeof ${o}`}>>, TError, TData>(queryKey, queryFn, ${lp({params:p,options:r,type:n})}) as ${h} & { queryKey: QueryKey };
183
+
184
+ query.queryKey = queryKey;
185
+
186
+ return query;
187
+ }
188
+ `},Op=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p,operationId:c},{route:m,override:{operations:l={}},context:f},d)=>{var T,j,E;let u=a==null?void 0:a.query,y=(a==null?void 0:a.requestOptions)!==!1,g=(T=l[c])==null?void 0:T.query,$=!!((E=(j=f.tsconfig)==null?void 0:j.compilerOptions)!=null&&E.exactOptionalPropertyTypes);if(o===J.GET||(g==null?void 0:g.useInfinite)||(g==null?void 0:g.useQuery)){let P=n.map(({name:_,type:ee})=>ee===U.BODY?r.implementation:_).join(","),k=n.filter(_=>_.type!==U.HEADER).map(({name:_,type:ee})=>ee===U.BODY?r.implementation:_).join(","),D=[...u!=null&&u.useInfinite?[{name:w(`${t}-infinite`),options:u==null?void 0:u.options,type:Jt.INFINITE,queryParam:u==null?void 0:u.useInfiniteQueryParam}]:[],...!(u!=null&&u.useQuery)&&!(u!=null&&u.useInfinite)||(u==null?void 0:u.useQuery)?[{name:t,options:u==null?void 0:u.options,type:Jt.QUERY}]:[]],se=w(`get-${t}-queryKey`),Pe=q(n.filter(_=>_.type!==U.HEADER),"implementation");return`export const ${se} = (${Pe}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
189
+
190
+ ${D.reduce((_,ee)=>_+hp({queryOption:ee,operationName:t,queryKeyFnName:se,queryProperties:P,queryKeyProperties:k,params:s,props:n,mutator:i,isRequestOptions:y,response:p,outputClient:d,isExactOptionalPropertyTypes:$,hasSignal:!!u.signal}),"")}
191
+ `}let h=n.map(({definition:P,type:k})=>k===U.BODY?i!=null&&i.bodyTypeName?`data: ${i.bodyTypeName}<${r.definition}>`:`data: ${r.definition}`:P).join(";"),b=n.map(({name:P,type:k})=>k===U.BODY?"data":P).join(","),x=`AxiosError<${p.definition.errors||"unknown"}>`;i&&(x=i.hasErrorType?`${i.default?O(t):""}ErrorType<${p.definition.errors||"unknown"}>`:p.definition.errors||"unknown");let S=i!=null&&i.isHook?`ReturnType<typeof use${O(t)}Hook>`:`typeof ${t}`;return`
192
+ export type ${O(t)}MutationResult = NonNullable<Awaited<ReturnType<${S}>>>
193
+ ${r.definition?`export type ${O(t)}MutationBody = ${i!=null&&i.bodyTypeName?`${i.bodyTypeName}<${r.definition}>`:r.definition}`:""}
194
+ export type ${O(t)}MutationError = ${x}
195
+
196
+ export const ${w(`use-${t}`)} = <TError = ${x},
197
+ ${h?"":"TVariables = void,"}
198
+ TContext = unknown>(${$o({operationName:t,definitions:h,mutator:i,isRequestOptions:y})}) => {
199
+ ${y?`const {mutation: mutationOptions${i?i!=null&&i.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options ?? {};`:""}
200
+
201
+ ${i!=null&&i.isHook?`const ${t} = use${O(t)}Hook()`:""}
202
+
203
+
204
+ const mutationFn: MutationFunction<Awaited<ReturnType<${S}>>, ${h?`{${h}}`:"TVariables"}> = (${b?"props":""}) => {
205
+ ${b?`const {${b}} = props ?? {};`:""}
206
+
207
+ return ${t}(${b}${b?",":""}${y?i?i!=null&&i.hasSecondArg?"requestOptions":"":"axiosOptions":""})
208
+ }
209
+
210
+ return useMutation<Awaited<ReturnType<typeof ${t}>>, TError, ${h?`{${h}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
211
+ }
212
+ `},Ot=()=>"",bt=({isRequestOptions:e,isMutator:t,hasAwaitedType:r})=>`${r?"":`type AwaitedInput<T> = PromiseLike<T> | T;
213
+
214
+ type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
215
+
216
+ `}
217
+ ${e&&t?`// eslint-disable-next-line
218
+ type SecondParameter<T extends (...args: any) => any> = T extends (
219
+ config: any,
220
+ args: infer P,
221
+ ) => any
222
+ ? P
223
+ : never;
224
+
225
+ `:""}`,$t=()=>"",xt=(e,t,r)=>{let n=ue(e),o=mp(e,t),s=Op(e,t,r);return{implementation:`${o}
226
+
227
+ ${s}`,imports:n}};var bp=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],$p=[{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],xo=e=>[...e?[]:bp,...$p],xp=({headers:e,queryParams:t,operationName:r,response:n,mutator:o,body:s,props:a,verb:i,formData:p,formUrlEncoded:c,override:m},{route:l,context:f})=>{var S,T;let d=(m==null?void 0:m.requestOptions)!==!1,u=(m==null?void 0:m.formData)!==!1,y=(m==null?void 0:m.formUrlEncoded)!==!1,g=!!((T=(S=f.tsconfig)==null?void 0:S.compilerOptions)!=null&&T.exactOptionalPropertyTypes),$=re.includes(i),h=Y(f.tsconfig),b=ye({formData:p,formUrlEncoded:c,body:s,isFormData:u,isFormUrlEncoded:y});if(o){let j=de({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,isFormData:u,isFormUrlEncoded:y,hasSignal:!1,isBodyVerb:$,isExactOptionalPropertyTypes:g}),E=(o==null?void 0:o.bodyTypeName)&&s.definition?q(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):q(a,"implementation"),P=d?ge(m==null?void 0:m.requestOptions,o.hasSecondArg):"";return`export const ${r} = (
228
+ ${E}
229
+ ${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>`:""}) => {${b}
230
+ return ${o.name}<${n.definition.success||"unknown"}>(
231
+ ${j},
232
+ ${P});
233
+ }
234
+ `}let x=fe({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,requestOptions:m==null?void 0:m.requestOptions,isFormData:u,isFormUrlEncoded:y,isExactOptionalPropertyTypes:g,hasSignal:!1});return`export const ${r} = (
235
+ ${q(a,"implementation")} ${d?`options?: AxiosRequestConfig
236
+ `:""} ): Promise<AxiosResponse<${n.definition.success||"unknown"}>> => {${b}
237
+ return axios${h?"":".default"}.${i}(${x});
238
+ }
239
+ `},Sp=({operationName:e,mutator:t,isRequestOptions:r})=>{let n=`SWRConfiguration<Awaited<ReturnType<typeof ${e}>>, TError> & { swrKey?: Key, enabled?: boolean }`;return r?`options?: { swr?:${n}, ${t?t!=null&&t.hasSecondArg?`request?: SecondParameter<typeof ${t.name}>`:"":"axios?: AxiosRequestConfig"} }
240
+ `:`swrOptions?: ${n}`},Tp=({operationName:e,swrKeyFnName:t,swrProperties:r,swrKeyProperties:n,params:o,mutator:s,isRequestOptions:a,response:i,swrOptions:p,props:c})=>{var u;let m=q(c,"implementation"),l=r,f=`const isEnabled = swrOptions?.enabled !== false${o.length?` && !!(${o.map(({name:y})=>y).join(" && ")})`:""}
241
+ const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${t}(${n}) : null);`,d=`AxiosError<${i.definition.errors||"unknown"}>`;return s&&(d=s.hasErrorType?`ErrorType<${i.definition.errors||"unknown"}>`:i.definition.errors||"unknown"),`
242
+ export type ${O(e)}QueryResult = NonNullable<Awaited<ReturnType<typeof ${e}>>>
243
+ export type ${O(e)}QueryError = ${d}
244
+
245
+ export const ${w(`use-${e}`)} = <TError = ${d}>(
246
+ ${m} ${Sp({operationName:e,mutator:s,isRequestOptions:a})}
247
+ ) => {
248
+
249
+ ${a?`const {swr: swrOptions${s?s!=null&&s.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options ?? {}`:""}
250
+
251
+ ${f}
252
+ const swrFn = () => ${e}(${l}${l?", ":""}${a?s?s!=null&&s.hasSecondArg?"requestOptions":"":"axiosOptions":""});
253
+
254
+ const query = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${p.options?`{
255
+ ${(u=z(p.options))==null?void 0:u.slice(1,-1)}
256
+ ...swrOptions
257
+ }`:"swrOptions"})
258
+
259
+ return {
260
+ swrKey,
261
+ ...query
262
+ }
263
+ }
264
+ `},wp=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p},{route:c})=>{let m=(a==null?void 0:a.requestOptions)!==!1;if(o!==J.GET)return"";let l=n.map(({name:y,type:g})=>g===U.BODY?r.implementation:y).join(","),f=n.filter(y=>y.type!==U.HEADER).map(({name:y,type:g})=>g===U.BODY?r.implementation:y).join(","),d=w(`get-${t}-key`),u=q(n.filter(y=>y.type!==U.HEADER),"implementation");return`export const ${d} = (${u}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
265
+
266
+ ${Tp({operationName:t,swrKeyFnName:d,swrProperties:l,swrKeyProperties:f,params:s,props:n,mutator:i,isRequestOptions:m,response:p,swrOptions:a.swr})}
267
+ `},So=()=>"",To=({isRequestOptions:e,isMutator:t,hasAwaitedType:r})=>`
268
+ ${r?"":`type AwaitedInput<T> = PromiseLike<T> | T;
269
+
270
+ type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
271
+
272
+ `}
273
+ ${e&&t?`// eslint-disable-next-line
274
+ type SecondParameter<T extends (...args: any) => any> = T extends (
275
+ config: any,
276
+ args: infer P,
277
+ ) => any
278
+ ? P
279
+ : never;
280
+
281
+ `:""}`,wo=()=>"",jo=(e,t)=>{let r=ue(e),n=xp(e,t),o=wp(e,t);return{implementation:`${n}
282
+
283
+ ${o}`,imports:r}};var Ke=W.AXIOS,Ro={axios:{client:Yt,header:Kt,dependencies:zt,footer:Lt,title:_t},"axios-functions":{client:oo,header:e=>Kt({...e,noFunction:!0}),dependencies:zt,footer:e=>Lt({...e,noFunction:!0}),title:_t},angular:{client:no,header:to,dependencies:Zn,footer:ro,title:eo},"react-query":{client:xt,header:bt,dependencies:Oo,footer:$t,title:Ot},"svelte-query":{client:xt,header:bt,dependencies:ho,footer:$t,title:Ot},"vue-query":{client:xt,header:bt,dependencies:bo,footer:$t,title:Ot},swr:{client:jo,header:To,dependencies:xo,footer:wo,title:So}},Le=e=>{let t=N(e)?e(Ro):Ro[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},$e=({client:e=Ke,implementation:t,imports:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s,hasGlobalMutator:a,packageJson:i})=>{let{dependencies:p}=Le(e);return lt(t,[...p(a,i),...r],n,o,s)},St=({outputClient:e=Ke,isRequestOptions:t,isGlobalMutator:r,isMutator:n,provideIn:o,hasAwaitedType:s,titles:a})=>{let{header:i}=Le(e);return{implementation:i({title:a.implementation,isRequestOptions:t,isGlobalMutator:r,isMutator:n,provideIn:o,hasAwaitedType:s}),implementationMSW:`export const ${a.implementationMSW} = () => [
284
+ `}},Tt=({outputClient:e=Ke,operationNames:t,hasMutator:r,hasAwaitedType:n,titles:o})=>{let{footer:s}=Le(e),a;try{N(e)?(a=s(t),console.warn("[WARN] Passing an array of strings for operations names to the footer function is deprecated and will be removed in a future major release. Please pass them in an object instead: { operationNames: string[] }.")):a=s({operationNames:t,title:o.implementation,hasMutator:r,hasAwaitedType:n})}catch (e6){a=s({operationNames:t,title:o.implementation,hasMutator:r,hasAwaitedType:n})}return{implementation:a,implementationMSW:`]
285
+ `}},wt=({outputClient:e=Ke,title:t,customTitleFunc:r})=>{let{title:n}=Le(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`}},jp=(e,t)=>t.mock?N(t.mock)?t.mock(e,t):yo(e,t):{implementation:{function:"",handler:""},imports:[]},Po=(e=Ke,t,r)=>t.reduce((n,o)=>{let{client:s}=Le(e),a=s(o,r,e),i=jp(o,r);return n[o.operationId]={implementation:o.doc+a.implementation,imports:a.imports,implementationMSW:i.implementation,importsMSW:i.imports,tags:o.tags,mutator:o.mutator,formData:o.formData,formUrlEncoded:o.formUrlEncoded,operationName:o.operationName,types:a.types},n},{});var Rp="\\*/",Zt="*\\/",er=new RegExp(Rp,"g");function H({description:e,deprecated:t,summary:r},n=!1){var c;let o=(Array.isArray(e)?e.filter(m=>!m.includes("eslint-disable")):[e||""]).map(m=>m.replace(er,Zt)),s=[e,t,r].reduce((m,l)=>l?m+1:m,0);if(!s)return"";let a=s===1&&n,i=Array.isArray(e)?(c=e.find(m=>m.includes("eslint-disable")))==null?void 0:c.replace(er,Zt):void 0,p=`${i?`/* ${i} */
286
+ `:""}/**`;return e&&(a||(p+=`
287
+ ${n?" ":""} *`),p+=` ${o.join(`
288
+ * `)}`),t&&(a||(p+=`
289
+ ${n?" ":""} *`),p+=" @deprecated"),r&&(a||(p+=`
290
+ ${n?" ":""} *`),p+=` @summary ${r.replace(er,Zt)}`),p+=a?" ":`
291
+ ${n?" ":""}`,p+=`*/
292
+ `,p}var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Ye=(e,t,r,n)=>{let{schema:o,imports:s}=B(t,r),a=M(t)?s[0].name:e,i=n?"formUrlEncoded":"formData",p=n?`const ${i} = new URLSearchParams();
293
+ `:`const ${i} = new FormData();
294
+ `;if(o.type==="object"&&o.properties){let c=Object.entries(o.properties).reduce((m,[l,f])=>{var y;let{schema:d}=B(f,r),u="";return d.type==="object"?u=`${i}.append('${l}', JSON.stringify(${w(a)}${l.includes("-")?`['${l}']`:`.${l}`}));
295
+ `:d.type==="array"?u=`${w(a)}${l.includes("-")?`['${l}']`:`.${l}`}.forEach(value => ${i}.append('${l}', value));
296
+ `:d.type==="number"||d.type==="integer"||d.type==="boolean"?u=`${i}.append('${l}', ${w(a)}${l.includes("-")?`['${l}']`:`.${l}`}.toString())
297
+ `:u=`${i}.append('${l}', ${w(a)}${l.includes("-")?`['${l}']`:`.${l}`})
298
+ `,(y=o.required)!=null&&y.includes(l)?m+u:m+`if(${w(a)}${l.includes("-")?`['${l}']`:`.${l}`} !== undefined) {
299
+ ${u} }
300
+ `},"");return`${p}${c}`}return o.type==="array"?`${p}${w(a)}.forEach(value => ${i}.append('data', value))
301
+ `:o.type==="number"||o.type==="boolean"?`${p}${i}.append('data', ${w(a)}.toString())
302
+ `:`${p}${i}.append('data', ${w(a)})
303
+ `};var Ie=(e,t,r)=>{let n=`export type ${r} = typeof ${r}[keyof typeof ${r}];
304
+ `,o=jt(e,t);return n+=`
305
+
306
+ `,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
307
+ `,n+=`export const ${r} = {
308
+ ${o}} as const;
309
+ `,n},jt=(e,t)=>[...new Set(e.split(" | "))].reduce((r,n)=>{if(n==="null")return r;let o=n.startsWith("'")?n.slice(1,-1):n;return!Number.isNaN(Number(o))?o=Ep(o):o=C(n,{underscore:"_",whitespace:"_",dash:!0}),r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${n},
310
+ `},""),Ep=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var Eo=({schema:e,name:t,context:r})=>{if(e.items){let n=oe({schema:e.items,propName:t+"Item",context:r});return{value:n.value.includes("|")?`(${n.value})[]`:`${n.value}[]`,imports:n.imports,schemas:n.schemas,isEnum:!1,type:"array",isRef:!1}}else throw new Error("All arrays must have an `items` key define")};var Mp=({resolvedData:e,resolvedValue:t,separator:r})=>e.isEnum.every(o=>o)?`${e.values.join(" | ")}${t?` | ${t.value}`:""}`:r==="allOf"?`${e.values.join(" & ")}${t?` & ${t.value}`:""}`:t?`(${e.values.join(` & ${t.value}) | (`)} & ${t.value})`:e.values.join(" | "),vo=({name:e,schema:t,separator:r,context:n,nullable:o})=>{var m;let s=(m=t[r])!=null?m:[],a=s.reduce((l,f)=>{let d=e?e+O(r):void 0;d&&l.schemas.length&&(d=d+O(mt(l.schemas.length+1)));let u=oe({schema:f,propName:d,combined:!0,context:n});return l.values.push(u.value),l.imports.push(...u.imports),l.schemas.push(...u.schemas),l.isEnum.push(u.isEnum),l.types.push(u.type),l.isRef.push(u.isRef),l},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[]}),i=a.isEnum.every(l=>l),p;t.properties&&(p=De({item:_lodashomit2.default.call(void 0, t,r),name:e,context:n}));let c=Mp({resolvedData:a,separator:r,resolvedValue:p});if(i&&e&&s.length>1){let l=`
311
+
312
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
313
+ export const ${O(e)} = ${Cp(a)}`;return{value:`typeof ${O(e)}[keyof typeof ${O(e)}] ${o};`+l,imports:a.imports.map(f=>({...f,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:c+o,imports:p?[...a.imports,...p.imports]:a.imports,schemas:p?[...a.schemas,...p.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1}},Cp=({values:e,isRef:t,types:r})=>e.length===1?t[0]?e[0]:`{${jt(e[0],r[0])}} as const`:`{${e.map((o,s)=>t[s]?`...${o},`:jt(o,r[s])).join("")}} as const`;var Mo=({item:e,name:t,context:r,nullable:n})=>{var o,s;if(M(e)){let{name:a,specKey:i}=Oe(e.$ref,r);return{value:a+n,imports:[{name:a,specKey:i}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf||e.oneOf||e.anyOf){let a=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return vo({schema:e,name:t,separator:a,context:r,nullable:n})}if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).reduce((a,[i,p],c,m)=>{var $,h,b;let l=(Array.isArray(e.required)?e.required:[]).includes(i),f=t?O(t)+O(i):void 0;!!((b=(h=($=r.specs[r.target])==null?void 0:$.components)==null?void 0:h.schemas)!=null&&b[f||""])&&(f=f+"Property");let u=oe({schema:p,propName:f,context:r}),y=e.readOnly||p.readOnly;c||(a.value+="{");let g=H(p,!0);if(a.imports.push(...u.imports),a.value+=`
314
+ ${g?`${g} `:""}${y?"readonly ":""}${ke(i)}${l?"":"?"}: ${u.value};`,a.schemas.push(...u.schemas),m.length-1===c){if(e.additionalProperties)if(K(e.additionalProperties))a.value+=`
315
+ [key: string]: any;
316
+ }`;else{let x=te({schema:e.additionalProperties,name:t,context:r});a.value+=`
317
+ [key: string]: ${x.value};
318
+ }`}else a.value+=`
319
+ }`;a.value+=n}return a},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(K(e.additionalProperties))return{value:"{ [key: string]: any }"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let a=te({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${a.value}}`+n,imports:(o=a.imports)!=null?o:[],schemas:(s=a.schemas)!=null?s:[],isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var De=({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 o="number",s=!1;return e.enum&&(o=e.enum.join(" | "),s=!0),{value:o+n,isEnum:s,type:"number",schemas:[],imports:[],isRef:!1}}case"boolean":return{value:"boolean"+n,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1};case"array":{let{value:o,...s}=Eo({schema:e,name:t,context:r});return{value:o+n,...s}}case"string":{let o="string",s=!1;return e.enum&&(o=`'${e.enum.map(a=>I(a)?ct(a):a).filter(Boolean).join("' | '")}'`,s=!0),e.format==="binary"&&(o="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(o="Date"),{value:o+n,isEnum:s,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let{value:o,...s}=Mo({item:e,name:t,context:r,nullable:n});return{value:o,...s}}}};var te=({schema:e,name:t,context:r})=>{if(M(e)){let{schema:o,imports:s}=B(e,r),{name:a,specKey:i,schemaName:p}=s[0],c=i||(r.specKey!==r.target?r.specKey:void 0);return{value:a,imports:[{name:a,specKey:c,schemaName:p}],type:(o==null?void 0:o.type)||"object",schemas:[],isEnum:!!(o!=null&&o.enum),originalSchema:o,isRef:!0}}return{...De({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var oe=({schema:e,propName:t,combined:r=!1,context:n})=>{var a;let o=te({schema:e,name:t,context:n}),s=H((a=o.originalSchema)!=null?a:{});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};
320
+ `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let i=Ie(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 Co=["multipart/form-data"],Ao=["application/x-www-form-urlencoded"],kp=({mediaType:e,propName:t,context:r})=>e.schema?oe({schema:e.schema,propName:t,context:r}):void 0,Ge=(e,t,r,n="unknown")=>{let o=e.filter(([s,a])=>Boolean(a)).map(([s,a])=>{var i,p;if(M(a)){let{schema:c,imports:[{name:m,specKey:l,schemaName:f}]}=B(a,r),[d,u]=(p=Object.entries((i=c.content)!=null?i:{})[0])!=null?p:[],y=Co.includes(d),g=Ao.includes(d);if(!y&&!g||!(u!=null&&u.schema))return[{value:m,imports:[{name:m,specKey:l,schemaName:f}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s,contentType:d}];let $=y?Ye(m,u==null?void 0:u.schema,{...r,specKey:l||r.specKey}):void 0,h=g?Ye(m,u==null?void 0:u.schema,{...r,specKey:l||r.specKey},!0):void 0;return[{value:m,imports:[{name:m,specKey:l,schemaName:f}],schemas:[],type:"unknown",isEnum:!1,formData:$,formUrlEncoded:h,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s,contentType:d}]}return a.content?Object.entries(a.content).map(([m,l],f,d)=>{let u=s?O(t)+O(s):void 0;u&&d.length>1&&(u=u+O(mt(f+1)));let y=kp({mediaType:l,propName:u,context:r});if(!y)return;let g=Co.includes(m),$=Ao.includes(m);if(!g&&!$||!u)return{...y,contentType:m};let h=g?Ye(u,l.schema,r):void 0,b=$?Ye(u,l.schema,r,!0):void 0;return{...y,formData:h,formUrlEncoded:b,contentType:m}}).filter(m=>m).map(m=>({...m,key:s})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:s,isRef:!1,contentType:"application/json"}]});return _lodashuniqby2.default.call(void 0, o.flatMap(s=>s),"value")};var ko=({requestBody:e,operationName:t,context:r,contentType:n})=>{let o=Ge([[r.override.components.requestBodies.suffix,e]],t,r),s=n?o.filter(m=>{let l=!0,f=!1;return n.include&&(l=n.include.includes(m.contentType)),n.exclude&&(f=n.exclude.includes(m.contentType)),l&&!f}):o,a=s.flatMap(({imports:m})=>m),i=s.flatMap(({schemas:m})=>m),p=s.map(({value:m})=>m).join(" | "),c=ve.includes(p.toLowerCase())||s.length>1?w(t)+r.override.components.requestBodies.suffix:w(p);return{definition:p,implementation:c,imports:a,schemas:i,...s.length===1?{formData:s[0].formData,formUrlEncoded:s[0].formUrlEncoded,contentType:s[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var Io=(e,t,r)=>e.operationId?e.operationId:O([r,...t.split("/").map(n=>C(n,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var Do=({parameters:e=[],context:t})=>e.reduce((r,n)=>{if(M(n)){let{schema:o,imports:s}=B(n,t);(o.in==="path"||o.in==="query"||o.in==="header")&&r[o.in].push({parameter:o,imports:s})}else(n.in==="query"||n.in==="path"||n.in==="header")&&r[n.in].push({parameter:n,imports:[]});return r},{path:[],query:[],header:[]});var Ip=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Go=({route:e,pathParams:t=[],operationId:r,context:n})=>Ip(e).map(s=>{let a=t.find(({parameter:u})=>C(w(u.name),{es5keyword:!0,underscore:!0,dash:!0})===s);if(!a)throw new Error(`The path params ${s} can't be found in parameters (${r})`);let{name:i,required:p=!1,schema:c}=a.parameter,m=C(w(i),{es5keyword:!0});if(!c)return{name:m,definition:`${m}${p?"":"?"}: unknown`,implementation:`${m}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let l=te({schema:c,context:{...n,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),f=`${m}${!p||l.originalSchema.default?"?":""}: ${l.value}`,d=`${m}${!p&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${z(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:m,definition:f,implementation:d,default:l.originalSchema.default,required:p,imports:l.imports}});var qo=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var Fo=({body:e,queryParams:t,params:r,headers:n})=>{let o={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:U.BODY},s={name:"params",definition:`params${t!=null&&t.isOptional?"?":""}: ${t==null?void 0:t.schema.name}`,implementation:`params${t!=null&&t.isOptional?"?":""}: ${t==null?void 0:t.schema.name}`,default:!1,required:Se(t==null?void 0:t.isOptional)?!1:!(t!=null&&t.isOptional),type:U.QUERY_PARAM},a={name:"headers",definition:`headers${n!=null&&n.isOptional?"?":""}: ${n==null?void 0:n.schema.name}`,implementation:`headers${n!=null&&n.isOptional?"?":""}: ${n==null?void 0:n.schema.name}`,default:!1,required:Se(n==null?void 0:n.isOptional)?!1:!(n!=null&&n.isOptional),type:U.HEADER},i=[...r.map(c=>({...c,type:U.PARAM})),...e.definition?[o]:[],...t?[s]:[],...n?[a]:[]];return qo(i)};var Dp=(e,t,r)=>e.map(({parameter:n,imports:o})=>{let{name:s,required:a,schema:i,content:p}=n,c=C(`${O(t)}${O(s)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{value:m,imports:l,isEnum:f,type:d,schemas:u,isRef:y}=te({schema:i||p["application/json"].schema,context:r,name:c}),g=ke(s);if(o.length)return{definition:`${g}${!a||i.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(f&&!y){let h=c,b=Ie(m,d,h);return{definition:`${g}${!a||i.default?"?":""}: ${h}`,imports:[{name:h}],schemas:[...u,{name:h,model:b,imports:l}]}}return{definition:`${g}${!a||i.default?"?":""}: ${m}`,imports:l,schemas:u}}),tr=({queryParams:e=[],operationName:t,context:r,suffix:n="params"})=>{if(!e.length)return;let o=Dp(e,t,r),s=o.flatMap(({imports:l})=>l),a=o.flatMap(({schemas:l})=>l),i=`${O(t)}${O(n)}`,p=o.map(({definition:l})=>l).join("; "),c=e.every(({parameter:l})=>!l.required);return{schema:{name:i,model:`export type ${i} = { ${p} };
321
+ `,imports:s},deps:a,isOptional:c}};var No=({responses:e,operationName:t,context:r,contentType:n})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let o=Ge(Object.entries(e),t,r,"void"),s=n?o.filter(f=>{let d=!0,u=!1;return n.include&&(d=n.include.includes(f.contentType)),n.exclude&&(u=n.exclude.includes(f.contentType)),d&&!u}):o,a=s.reduce((f,d)=>(d.key.startsWith("2")?f.success.push(d):f.errors.push(d),f),{success:[],errors:[]}),i=s.flatMap(({imports:f})=>f),p=s.flatMap(({schemas:f})=>f),c=[...new Set(s.map(({contentType:f})=>f))],m=a.success.map(({value:f,formData:d})=>d?"Blob":f).join(" | "),l=a.errors.map(({value:f})=>f).join(" | ");return{imports:i,definition:{success:m||"unknown",errors:l||"unknown"},isBlob:m==="Blob",types:a,contentTypes:c,schemas:p}};var _acorn = require('acorn');var rr=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var Z=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},Rt=(e,t)=>{if(he(e)){let r=new URL(t);return e.replace(r.origin,"").replace(v(r.pathname).dirname,"").replace(`.${rr(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, v(t).dirname,e)).split("../").join("").replace(`.${rr(e)}`,"")};var Pt="BodyType",Vo=(e,t)=>{let r=v(e),n=v(t.path),{pathWithoutExtension:o}=v(Z(r.dirname,n.path));return o},vt=async({output:e,mutator:t,name:r,workspace:n,tsconfig:o})=>{if(!t||!e)return;let s=t.default,a=t.name?t.name:`${r}Mutator`,i=t.path,p=await _fsextra.readFile.call(void 0, i,"utf8"),c=p.includes("export type ErrorType")||p.includes("export interface ErrorType"),m=p.includes(`export type ${Pt}`)||p.includes(`export interface ${Pt}`),l=t.default?`${O(r)}ErrorType`:"ErrorType",f=t.default?`${O(r)}${Pt}`:Pt,{file:d,cached:u}=await ut(i,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(d){let y=s?"default":t.name,g=Up(d,y);g||(L().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let $=Vo(e,t),h=t.name?!!t.name.startsWith("use")&&!g.numberOfParams:!g.numberOfParams;return{name:t.name||!h?a:`use${O(a)}`,path:$,default:s,hasErrorType:c,errorTypeName:l,hasSecondArg:h?g.returnNumberOfParams>1:g.numberOfParams>1,hasThirdArg:g.numberOfParams>2,isHook:h,...m?{bodyTypeName:f}:{}}}else{let y=Vo(e,t);return u||L().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:y,default:s,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:c,errorTypeName:l,...m?{bodyTypeName:f}:{}}}},Up=(e,t)=>{var r,n;try{let o=_acorn.Parser.parse(e,{ecmaVersion:6}),s=(r=o==null?void 0:o.body)==null?void 0:r.find(i=>{var p,c,m,l,f,d,u;if(i.type==="ExpressionStatement")return(m=(c=(p=i.expression.arguments)==null?void 0:p[1])==null?void 0:c.properties)!=null&&m.some(y=>{var g;return((g=y.key)==null?void 0:g.name)===t})||((f=(l=i.expression.left)==null?void 0:l.property)==null?void 0:f.name)===t?!0:(u=(d=i.expression.right)==null?void 0:d.properties)==null?void 0:u.some(y=>y.key.name===t)});if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Et(o,s.expression.right.name);let i=(n=s.expression.right)==null?void 0:n.properties.find(p=>p.key.name===t);return i.value.name?Et(o,i.value.name):i.value.type==="FunctionExpression"||i.value.type==="ArrowFunctionExpression"?{numberOfParams:i.value.params.length}:void 0}let a=s.expression.arguments[1].properties.find(i=>{var p;return((p=i.key)==null?void 0:p.name)===t});return Et(o,a.value.body.name)}catch (e7){return}},Et=(e,t)=>{var s,a,i,p,c,m,l;let r=(s=e==null?void 0:e.body)==null?void 0:s.find(f=>{if(f.type==="VariableDeclaration")return f.declarations.find(d=>d.id.name===t);if(f.type==="FunctionDeclaration"&&f.id.name===t)return f});if(!r)return;if(r.type==="FunctionDeclaration"){let f=(i=(a=r.body)==null?void 0:a.body)==null?void 0:i.find(d=>d.type==="ReturnStatement");return(p=f==null?void 0:f.argument)!=null&&p.params?{numberOfParams:r.params.length,returnNumberOfParams:f.argument.params.length}:{numberOfParams:r.params.length}}let n=r.declarations.find(f=>f.id.name===t);if(n.init.name)return Et(e,n.init.name);let o=(m=(c=n.init.body)==null?void 0:c.body)==null?void 0:m.find(f=>f.type==="ReturnStatement");return(l=o==null?void 0:o.argument)!=null&&l.params?{numberOfParams:n.init.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:n.init.params.length}};var Vp=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var Ve;let{responses:a,requestBody:i,parameters:p,tags:c=[],deprecated:m,description:l,summary:f}=r,d=Io(r,n,e),u=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((We,[nt,ot])=>c.includes(nt)?je(We,ot):We,{}),g={...t.override,...y,...u},$=(u==null?void 0:u.operationName)||((Ve=t.override)==null?void 0:Ve.operationName),h=$?$(r,n,e):w(d),b=C(h,{es5keyword:!0}),x=No({responses:a,operationName:b,context:s,contentType:g.contentType}),S=ko({requestBody:i,operationName:b,context:s,contentType:g.contentType}),T=Do({parameters:[...o,...p!=null?p:[]],context:s}),j=tr({queryParams:T.query,operationName:b,context:s}),E=t.headers?await tr({queryParams:T.header,operationName:b,context:s,suffix:"headers"}):void 0,P=Go({route:n,pathParams:T.path,operationId:d,context:s}),k=Fo({body:S,queryParams:j,params:P,headers:E}),D=await vt({output:t.target,name:b,mutator:g==null?void 0:g.mutator,workspace:s.workspace,tsconfig:s.tsconfig}),se=I(g==null?void 0:g.formData)||F(g==null?void 0:g.formData)?await vt({output:t.target,name:b,mutator:g.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Pe=I(g==null?void 0:g.formUrlEncoded)||F(g==null?void 0:g.formUrlEncoded)?await vt({output:t.target,name:b,mutator:g.formUrlEncoded,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,_=H({description:l,deprecated:m,summary:f}),ee={verb:e,tags:c,summary:r.summary,operationId:d,operationName:b,response:x,body:S,headers:E,queryParams:j,params:P,props:k,mutator:D,formData:se,formUrlEncoded:Pe,override:g,doc:_,deprecated:m},Ue=await dt(g==null?void 0:g.transformer,s.workspace);return Ue?Ue(ee):ee},Wo=({verbs:e,output:t,route:r,context:n})=>ae(Object.entries(e),async(o,[s,a])=>{if(yn(s)){let i=await Vp({verb:s,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});o.push(i)}return o},[]);var Qo=async({output:e,context:t})=>ae(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Xn(n),a=o,i=t;if(M(o)){let{schema:l,imports:f}=B(o,t);a=l,i={...t,...f.length?{specKey:f[0].specKey}:{}}}let p=await Wo({verbs:a,output:e,route:s,context:i});e.override.useDeprecatedOperations===!1&&(p=p.filter(l=>!l.deprecated));let c=p.reduce((l,{queryParams:f,headers:d,body:u,response:y})=>(f&&l.push(f.schema,...f.deps),d&&l.push(d.schema,...d.deps),l.push(...u.schemas),l.push(...y.schemas),l),[]),m=Po(e.client,p,{route:s,pathRoute:n,override:e.override,context:i,mock:!!e.mock});return r.schemas.push(...c),r.operations={...r.operations,...m},r},{operations:{},schemas:[]});var yi=ce(hr());var Or=(e={},t,r)=>(0,yi.default)(e)?[]:Object.entries(e).reduce((n,[o,s])=>{let a=Ge([[r,s]],o,t,"void"),i=a.flatMap(({imports:d})=>d),p=a.flatMap(({schemas:d})=>d),c=a.map(({value:d})=>d).join(" | "),m=C(`${O(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),f=`${H(s)}export type ${m} = ${c||"unknown"};
322
+ `;return n.push(...p),m!==c&&n.push({name:m,model:f,imports:i}),n},[]);var hi=(e={},t,r)=>Object.entries(e).reduce((n,[o,s])=>{let a=C(`${O(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:i,imports:p}=B(s,t);if(i.in!=="query")return n;if(!i.schema||p.length)return n.push({name:a,imports:p.length?[{name:p[0].name,specKey:p[0].specKey,schemaName:p[0].schemaName}]:[],model:`export type ${a} = ${p.length?p[0].name:"unknown"};
323
+ `}),n;let c=oe({schema:i.schema,propName:a,context:t}),l=`${H(s)}export type ${a} = ${c.value||"unknown"};
324
+ `;return n.push(...c.schemas),a!==c.value&&n.push({name:a,model:l,imports:c.imports}),n},[]);var $i=ce(hr());var Oi=(e,t)=>{var n,o;let r={...e};for(let s of Object.values(r))if((n=s.discriminator)!=null&&n.mapping){let{mapping:a,propertyName:i}=s.discriminator;for(let[p,c]of Object.entries(a)){let m;try{let{name:l}=Oe(c,t);m=r[l]}catch (e8){m=r[c]}!m||(m.properties={...m.properties,[i]:{type:"string",enum:[p]}},m.required=[...(o=m.required)!=null?o:[],i])}}return r};var bi=({name:e,schema:t,context:r,suffix:n})=>{var p;let o=De({item:t,name:e,context:r}),s=o.value==="{}",a="";a+=H(t),s&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
325
+ `:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
326
+ `),!ve.includes(o.value)&&!((p=r==null?void 0:r.override)!=null&&p.useTypeOverInterfaces)?a+=`export interface ${e} ${o.value}
327
+ `:a+=`export type ${e} = ${o.value};
328
+ `;let i=o.imports.filter(c=>c.name!==e);return[...o.schemas,{name:e,model:a,imports:i}]};var xi=(e={},t,r)=>{if((0,$i.default)(e))return[];let n=Oi(e,t);return Object.entries(n).reduce((s,[a,i])=>{let p=C(`${O(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!i.type||i.type==="object")&&!i.allOf&&!i.oneOf&&!i.anyOf&&!M(i)&&!i.nullable)return s.push(...bi({name:p,schema:i,context:t,suffix:r})),s;{let c=te({schema:i,name:p,context:t}),m="",l=c.imports;if(m+=H(i),c.isEnum&&!c.isRef)m+=Ie(c.value,c.type,p);else if(p===c.value&&c.isRef){let f=c.imports.find(d=>d.name===p);if(!f)m+=`export type ${p} = ${c.value};
329
+ `;else{let d=f!=null&&f.specKey?`${O(Rt(f.specKey,t.specKey))}${c.value}`:`${c.value}Bis`;m+=`export type ${p} = ${d};
330
+ `,l=l.map(u=>u.name===p?{...u,alias:d}:u)}}else m+=`export type ${p} = ${c.value};
331
+ `;return s.push(...c.schemas,{name:p,model:m,imports:l}),s}},[])};var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var Si=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&Sn(r),t.length&&Tn(t)};var Ml=async({specs:e,input:t,workspace:r})=>{var o;let n=(o=t.override)!=null&&o.transformer?await dt(t.override.transformer,r):void 0;return ae(Object.entries(e),async(s,[a,i])=>{let p=await Ln(i,t.converterOptions,a),c=n?n(p):p;return t.validation&&await Si(c),s[a]=c,s},{})},br=async({data:e,input:t,output:r,target:n,workspace:o})=>{var p;let s=await Ml({specs:e,input:t,workspace:o}),a=Object.entries(s).reduce((c,[m,l])=>{var h,b,x,S,T,j;let f={specKey:m,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig,packageJson:r.packageJson},d=xi(l.openapi?(x=l.components)==null?void 0:x.schemas:{..._lodashomit2.default.call(void 0, l,["openapi","info","servers","paths","components","security","tags","externalDocs"]),...(b=(h=l.components)==null?void 0:h.schemas)!=null?b:{}},f,r.override.components.schemas.suffix),u=Or((S=l.components)==null?void 0:S.responses,f,r.override.components.responses.suffix),y=Or((T=l.components)==null?void 0:T.requestBodies,f,r.override.components.requestBodies.suffix),g=hi((j=l.components)==null?void 0:j.parameters,f,r.override.components.parameters.suffix),$=[...d,...u,...y,...g];return $.length&&(c[m]=$),c},{}),i=await Qo({output:r,context:{specKey:n,target:n,workspace:o,specs:s,override:r.override,tslint:r.tslint,tsconfig:r.tsconfig,packageJson:r.packageJson}});return{...i,schemas:{...a,[n]:[...(p=a[n])!=null?p:[],...i.schemas]},target:n,info:s[n].info}};var Il=async(e,{validate:t,...r},n)=>{if(t)try{await _swaggerparser2.default.validate(e)}catch(s){if((s==null?void 0:s.name)==="ParserError")throw s;_console.log.call(void 0, `\u26A0\uFE0F ${_chalk2.default.yellow(s)}`)}let o=(await _swaggerparser2.default.resolve(e,r)).values();return n?o:Object.fromEntries(Object.entries(o).map(([s,a])=>[_upath.resolve.call(void 0, s),a]))},wi=async(e,t)=>{let{input:r,output:n}=t;if(F(r.target))return br({data:{[e]:r.target},input:r,output:n,target:e,workspace:e});let o=he(r.target),s=await Il(r.target,r.parserOptions,o);return br({data:s,input:r,output:n,target:r.target,workspace:e})};var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa);var _stringargv = require('string-argv');var Ri=async(e,t=[],r=[])=>{G(_chalk2.default.white(`Running ${e} hook...`));for(let n of t)if(I(n)){let[o,...s]=[..._stringargv.parseArgsStringToArgv.call(void 0, n),...r];try{await _execa2.default.call(void 0, o,s)}catch(a){G(_chalk2.default.red(`\u{1F6D1} Failed to run ${e} hook: ${a}`))}}else N(n)&&await n(r)};var Bl=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let a=s;return a+=Mn({imports:e,target:r,isRootKey:n,specsName:o}),a+=e.length?`
332
+
333
+ `:`
334
+ `,a+=t,a},Ul=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var Vl=async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:s})=>{let a=w(t.name);try{await _fsextra.outputFile.call(void 0, Ul(e,a),Bl({schema:t,target:r,isRootKey:n,specsName:o,header:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${i}`}},Ei=async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>{let a=_upath.join.call(void 0, e,"/index.ts");await _fsextra.ensureFile.call(void 0, a),await Promise.all(t.map(i=>Vl({path:e,schema:i,target:r,isRootKey:n,specsName:o,header:s})));try{await _fsextra.writeFile.call(void 0, a,Cn({schemas:t}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${a} => ${i}`}};var Wl=(e,t)=>e+`${t}
335
+ `,xe=e=>Object.values(e).flatMap(r=>r).sort((r,n)=>r.imports.some(o=>o.name===n.name)?1:-1).reduce((r,{model:n})=>Wl(r,n),"");var _compareversions = require('compare-versions');var Ct=(e,t,r)=>{let n=Object.values(e).map(({operationName:i})=>i),o=(r==null?void 0:r.client)===W.ANGULAR,s=wt({outputClient:r.client,title:O(t.title),customTitleFunc:r.override.title}),a=Object.values(e).reduce((i,p,c,m)=>{var l,f,d,u,y,g;if(i.imports.push(...p.imports),i.importsMSW.push(...p.importsMSW),i.implementation+=p.implementation+`
336
+ `,i.implementationMSW.function+=p.implementationMSW.function,i.implementationMSW.handler+=p.implementationMSW.handler,p.mutator&&i.mutators.push(p.mutator),p.formData&&i.formData.push(p.formData),p.formUrlEncoded&&i.formUrlEncoded.push(p.formUrlEncoded),c===m.length-1){let $=i.mutators.some(T=>o?T.hasThirdArg:T.hasSecondArg),h=(g=(y=(f=(l=r.packageJson)==null?void 0:l.dependencies)==null?void 0:f.typescript)!=null?y:(u=(d=r.packageJson)==null?void 0:d.devDependencies)==null?void 0:u.typescript)!=null?g:"4.4.0",b=_compareversions.compare.call(void 0, h.replace(/(\s(.*))/,""),"4.5.0",">="),x=St({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:$,isGlobalMutator:!!r.override.mutator,provideIn:r.override.angular.provideIn,hasAwaitedType:b,titles:s});i.implementation=x.implementation+i.implementation,i.implementationMSW.handler=x.implementationMSW+i.implementationMSW.handler;let S=Tt({outputClient:r==null?void 0:r.client,operationNames:n,hasMutator:!!i.mutators.length,hasAwaitedType:b,titles:s});i.implementation+=S.implementation,i.implementationMSW.handler+=S.implementationMSW}return i},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[],formUrlEncoded:[]});return{...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler}};var vi=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{path:a,dirname:i}=v(n.target,{backupFilename:w(r.title)}),{imports:p,importsMSW:c,implementation:m,implementationMSW:l,mutators:f,formData:d,formUrlEncoded:u}=Ct(e,r,n),y=s,g=n.schemas?Z(i,v(n.schemas).dirname):void 0,$=Y(n.tsconfig);return y+=$e({client:n.client,implementation:m,imports:g?[{exports:p.filter(h=>!c.some(b=>h.name===b.name)),dependency:g}]:[],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:$,hasGlobalMutator:!!n.override.mutator,packageJson:n.packageJson}),n.mock&&(y+=be({implementation:l,imports:g?[{exports:c,dependency:g}]:[],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:$})),f&&(y+=Q({mutators:f,implementation:m})),d&&(y+=Q({mutators:d})),u&&(y+=Q({mutators:u})),n.schemas||(y+=xe(t)),y+=`
337
+
338
+ ${m}`,n.mock&&(y+=`
339
+
340
+ `,y+=l),await _fsextra.outputFile.call(void 0, a,y),[a]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${a}`}};var Mi=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{try{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:w(r.title)}),{imports:c,implementation:m,implementationMSW:l,importsMSW:f,mutators:d,formData:u,formUrlEncoded:y}=Ct(e,r,n),g=s,$=s,h=n.schemas?Z(i,v(n.schemas).dirname):"./"+a+".schemas",b=Y(n.tsconfig);g+=$e({client:n.client,implementation:m,imports:[{exports:c,dependency:h}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:b,hasGlobalMutator:!!n.override.mutator,packageJson:n.packageJson}),$+=be({implementation:l,imports:[{exports:f,dependency:h}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:b});let x=n.schemas?void 0:_upath.join.call(void 0, i,a+".schemas"+p);if(x){let E=s+xe(t);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, i,a+".schemas"+p),E)}d&&(g+=Q({mutators:d,implementation:m})),u&&(g+=Q({mutators:u})),y&&(g+=Q({mutators:y})),g+=`
341
+ ${m}`,$+=`
342
+ ${l}`;let S=a+(W.ANGULAR===n.client?".service":"")+p,T=_upath.join.call(void 0, i,S);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, i,S),g);let j=n.mock?_upath.join.call(void 0, i,a+".msw"+p):void 0;return j&&await _fsextra.outputFile.call(void 0, j,$),[T,...x?[x]:[],...j?[j]:[]]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${a}`}};var _l=e=>({...e,tags:e.tags.length?e.tags:["default"]}),Kl=(e,t)=>t.tags.map(pt).reduce((r,n)=>{var s,a,i;let o=r[n];return r[n]=o?{implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[...(s=o.mutators)!=null?s:[],t.mutator]:o.mutators,formData:t.formData?[...(a=o.formData)!=null?a:[],t.formData]:o.formData,formUrlEncoded:t.formUrlEncoded?[...(i=o.formUrlEncoded)!=null?i:[],t.formUrlEncoded]:o.formUrlEncoded}:{imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}},r},e),At=(e,t)=>{let r=t.client===W.ANGULAR,n=Object.values(e).map(_l).reduce((o,s,a,i)=>{let p=Kl(o,s);return a===i.length-1?Object.entries(p).reduce((c,[m,l])=>{var b,x,S,T,j,E,P,k;let f=!!((b=l.mutators)!=null&&b.some(D=>r?D.hasThirdArg:D.hasSecondArg)),d=Object.values(e).filter(({tags:D})=>D.includes(m)).map(({operationName:D})=>D),u=(P=(E=(S=(x=t.packageJson)==null?void 0:x.dependencies)==null?void 0:S.typescript)!=null?E:(j=(T=t.packageJson)==null?void 0:T.devDependencies)==null?void 0:j.typescript)!=null?P:"4.4.0",y=_compareversions.compare.call(void 0, u.replace(/(\s(.*))/,""),"4.5.0",">="),g=wt({outputClient:t.client,title:O(m),customTitleFunc:t.override.title}),$=Tt({outputClient:t==null?void 0:t.client,operationNames:d,hasMutator:!!((k=l.mutators)!=null&&k.length),hasAwaitedType:y,titles:g}),h=St({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:f,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:y,titles:g});return c[m]={implementation:h.implementation+l.implementation+$.implementation,implementationMSW:{function:l.implementationMSW.function,handler:h.implementationMSW+l.implementationMSW.handler+$.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},c},{}):p},{});return Object.entries(n).reduce((o,[s,a])=>(o[s]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},o),{})};var Ci=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:w(r.title)}),c=At(e,n),m=Y(n.tsconfig);return(await Promise.all(Object.entries(c).map(async([f,d])=>{try{let{imports:u,implementation:y,implementationMSW:g,importsMSW:$,mutators:h,formData:b,formUrlEncoded:x}=d,S=s,T=s,j=n.schemas?"../"+Z(i,v(n.schemas).dirname):"../"+a+".schemas";S+=$e({client:n.client,implementation:y,imports:[{exports:u,dependency:j}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:m,hasGlobalMutator:!!n.override.mutator,packageJson:n.packageJson}),T+=be({implementation:g,imports:[{exports:$,dependency:j}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:m});let E=n.schemas?void 0:_upath.join.call(void 0, i,a+".schemas"+p);if(E){let se=s+xe(t);await _fsextra.outputFile.call(void 0, E,se)}h&&(S+=Q({mutators:h,implementation:y,oneMore:!0})),b&&(S+=Q({mutators:b,oneMore:!0})),x&&(S+=Q({mutators:x,oneMore:!0})),S+=`
343
+ ${y}`,T+=`
344
+ ${g}`;let P=f+(W.ANGULAR===n.client?".service":"")+p,k=_upath.join.call(void 0, i,f,P);await _fsextra.outputFile.call(void 0, k,S);let D=n.mock?_upath.join.call(void 0, i,f,f+".msw"+p):void 0;return D&&await _fsextra.outputFile.call(void 0, D,T),[k,...E?[E]:[],...D?[D]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${f} => ${u}`}}))).flatMap(f=>f)};var Ii=async({operations:e,schemas:t,info:r,output:n,specsName:o,header:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:w(r.title)}),c=At(e,n),m=Y(n.tsconfig);return(await Promise.all(Object.entries(c).map(async([f,d])=>{try{let{imports:u,implementation:y,implementationMSW:g,importsMSW:$,mutators:h,formData:b,formUrlEncoded:x}=d,S=s,T=n.schemas?Z(i,v(n.schemas).dirname):"./"+a+".schemas";S+=$e({client:n.client,implementation:y,imports:[{exports:u.filter(P=>!$.some(k=>P.name===k.name)),dependency:T}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:m,hasGlobalMutator:!!n.override.mutator,packageJson:n.packageJson}),n.mock&&(S+=be({implementation:g,imports:[{exports:$,dependency:T}],specsName:o,hasSchemaDir:!!n.schemas,isAllowSyntheticDefaultImports:m}));let j=n.schemas?void 0:_upath.join.call(void 0, i,a+".schemas"+p);if(j){let P=s+xe(t);await _fsextra.outputFile.call(void 0, j,P)}h&&(S+=Q({mutators:h,implementation:y})),b&&(S+=Q({mutators:b})),x&&(S+=Q({mutators:x})),S+=`
345
+
346
+ `,S+=y,n.mock&&(S+=`
347
+
348
+ `,S+=g);let E=_upath.join.call(void 0, i,`${pt(f)}${p}`);return await _fsextra.outputFile.call(void 0, E,S),[E,...j?[j]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${f} => ${u}`}}))).flatMap(f=>f)};var ru=(e,t)=>{if(!e)return"";let r=e(t);return Array.isArray(r)?H({description:r}):r},qi=async({operations:e,schemas:t,target:r,info:n},o,s,a)=>{let{output:i}=s,p=a||n.title,c=Object.keys(t).reduce((d,u)=>{let g=Rt(u,r).slice(1).split("/").join("-");return d[u]=g,d},{}),m=ru(i.override.header,n);if(i.schemas){let d=i.schemas;await Promise.all(Object.entries(t).map(([u,y])=>{let g=Ee(u,r)?d:_upath.join.call(void 0, d,c[u]);return Ei({schemaPath:g,schemas:y,target:r,specsName:c,isRootKey:Ee(u,r),header:m})}))}let l=[];if(i.target)switch(i.mode){case ie.SPLIT:l=await Mi({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.TAGS:l=await Ii({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.TAGS_SPLIT:l=await Ci({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.SINGLE:default:l=await vi({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break}if(i.workspace){let d=i.workspace,u=l.filter(g=>!g.endsWith(".msw.ts")).map(g=>Z(d,v(g).pathWithoutExtension));i.schemas&&u.push(Z(d,v(i.schemas).dirname));let y=_upath.join.call(void 0, d,"/index.ts");if(await _fsextra.pathExists.call(void 0, y)){let g=await _fsextra.readFile.call(void 0, y,"utf8"),$=u.filter(h=>!g.includes(h));await _fsextra.appendFile.call(void 0, y,_lodashuniq2.default.call(void 0, $).map(h=>`export * from '${h}';`).join(`
349
+ `)+`
350
+ `)}else await _fsextra.outputFile.call(void 0, y,_lodashuniq2.default.call(void 0, u).map(g=>`export * from '${g}';`).join(`
351
+ `)+`
352
+ `);l=[y,...l]}let f=[...i.schemas?[v(i.schemas).dirname]:[],...l];if(s.hooks.afterAllFilesWrite&&await Ri("afterAllFilesWrite",s.hooks.afterAllFilesWrite,f),i.prettier)try{await _execa2.default.call(void 0, "prettier",["--write",...f])}catch (e9){_console.log.call(void 0, _chalk2.default.yellow(`\u26A0\uFE0F ${p?`${p} - `:""}Prettier not found`))}xn(p)};var Fi=e=>{$n(e),process.exit(1)};var Bi=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Vt(["**/*","!**/*.d.ts",...o],v(t.output.target).dirname),t.output.schemas&&await Vt(["**/*","!**/*.d.ts",...o],v(t.output.schemas).dirname),G(`${r?`${r}: `:""}Cleaning output folder`)}let n=await wi(e,t);await qi(n,e,t,r)},Ui=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await Bi(t,n,r)}catch(o){G(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else Fi("Project not found");return}return ae(Object.entries(e),async(n,[o,s])=>{try{n.push(await Bi(t,s,o))}catch(a){G(_chalk2.default.red(`\u{1F6D1} ${o?`${o} - `:""}${a}`))}return n},[])},Nx= exports.M =async(e,t)=>{let{path:r,file:n,error:o}=await ut(e,{defaultFileName:"orval.config"});if(!n)throw`failed to load from ${r} => ${o}`;let s=_upath.dirname.call(void 0, r),a=await(N(n)?n():n),i=await ae(Object.entries(a),async(c,[m,l])=>(c[m]=await _n(l,s,t),c),{}),p=Object.entries(i).filter(([c])=>(t==null?void 0:t.projectName)===void 0||c===(t==null?void 0:t.projectName)).map(([,{input:c}])=>c.target).filter(c=>I(c));(t==null?void 0:t.watch)&&p.length?Kn(t==null?void 0:t.watch,()=>Ui(i,s,t==null?void 0:t.projectName),p):await Ui(i,s,t==null?void 0:t.projectName)};exports.a = kt; exports.b = I; exports.c = G; exports.d = uu; exports.e = O; exports.f = w; exports.g = du; exports.h = pt; exports.i = gu; exports.j = z; exports.k = C; exports.l = q; exports.m = mt; exports.n = ct; exports.o = na; exports.p = ve; exports.q = re; exports.r = Su; exports.s = Mn; exports.t = Cn; exports.u = Q; exports.v = sa; exports.w = lt; exports.x = ue; exports.y = ia; exports.z = aa; exports.A = fe; exports.B = pa; exports.C = ma; exports.D = de; exports.E = ge; exports.F = ye; exports.G = Yf; exports.H = _n; exports.I = Hn; exports.J = Y; exports.K = Kn; exports.L = Bi; exports.M = Nx;