orval 6.10.3 → 6.11.0-alpha
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 +1 -1
- package/dist/chunk-FPHCB44U.js +15 -0
- package/dist/index.d.ts +3 -605
- package/dist/index.js +1 -1
- package/package.json +19 -70
- package/LICENSE +0 -21
- package/dist/chunk-PMC5SXPB.js +0 -352
package/dist/chunk-PMC5SXPB.js
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var Wi=Object.create;var dn=Object.defineProperty;var Qi=Object.getOwnPropertyDescriptor;var Hi=Object.getOwnPropertyNames;var zi=Object.getPrototypeOf,_i=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 P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ki=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Hi(t))!_i.call(e,o)&&o!==r&&dn(e,o,{get:()=>t[o],enumerable:!(n=Qi(t,o))||n.enumerable});return e};var ce=(e,t,r)=>(r=e!=null?Wi(zi(e)):{},Ki(t||!e||!e.__esModule?dn(r,"default",{value:e,enumerable:!0}):r,e));var sr=P((dO,Ho)=>{var Hp=Object.prototype;function zp(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Hp;return e===r}Ho.exports=zp});var _o=P((gO,zo)=>{function _p(e,t){return function(r){return e(t(r))}}zo.exports=_p});var Lo=P((yO,Ko)=>{var Kp=_o(),Lp=Kp(Object.keys,Object);Ko.exports=Lp});var Jo=P((hO,Yo)=>{var Yp=sr(),Jp=Lo(),Xp=Object.prototype,Zp=Xp.hasOwnProperty;function em(e){if(!Yp(e))return Jp(e);var t=[];for(var r in Object(e))Zp.call(e,r)&&r!="constructor"&&t.push(r);return t}Yo.exports=em});var ir=P((OO,Xo)=>{var tm=typeof global=="object"&&global&&global.Object===Object&&global;Xo.exports=tm});var me=P((bO,Zo)=>{var rm=ir(),nm=typeof self=="object"&&self&&self.Object===Object&&self,om=rm||nm||Function("return this")();Zo.exports=om});var ar=P(($O,es)=>{var sm=me(),im=sm.Symbol;es.exports=im});var os=P((xO,ns)=>{var ts=ar(),rs=Object.prototype,am=rs.hasOwnProperty,pm=rs.toString,Xe=ts?ts.toStringTag:void 0;function mm(e){var t=am.call(e,Xe),r=e[Xe];try{e[Xe]=void 0;var n=!0}catch (e2){}var o=pm.call(e);return n&&(t?e[Xe]=r:delete e[Xe]),o}ns.exports=mm});var is=P((SO,ss)=>{var cm=Object.prototype,lm=cm.toString;function um(e){return lm.call(e)}ss.exports=um});var Ze=P((TO,ms)=>{var as=ar(),fm=os(),dm=is(),gm="[object Null]",ym="[object Undefined]",ps=as?as.toStringTag:void 0;function hm(e){return e==null?e===void 0?ym:gm:ps&&ps in Object(e)?fm(e):dm(e)}ms.exports=hm});var pr=P((wO,cs)=>{function Om(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}cs.exports=Om});var mr=P((jO,ls)=>{var bm=Ze(),$m=pr(),xm="[object AsyncFunction]",Sm="[object Function]",Tm="[object GeneratorFunction]",wm="[object Proxy]";function jm(e){if(!$m(e))return!1;var t=bm(e);return t==Sm||t==Tm||t==xm||t==wm}ls.exports=jm});var fs=P((RO,us)=>{var Rm=me(),Pm=Rm["__core-js_shared__"];us.exports=Pm});var ys=P((PO,gs)=>{var cr=fs(),ds=function(){var e=/[^.]+$/.exec(cr&&cr.keys&&cr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Em(e){return!!ds&&ds in e}gs.exports=Em});var lr=P((EO,hs)=>{var vm=Function.prototype,Mm=vm.toString;function Cm(e){if(e!=null){try{return Mm.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}hs.exports=Cm});var bs=P((vO,Os)=>{var km=mr(),Am=ys(),Im=pr(),Dm=lr(),Gm=/[\\^$.*+?()[\]{}|]/g,qm=/^\[object .+?Constructor\]$/,Fm=Function.prototype,Nm=Object.prototype,Bm=Fm.toString,Um=Nm.hasOwnProperty,Vm=RegExp("^"+Bm.call(Um).replace(Gm,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wm(e){if(!Im(e)||Am(e))return!1;var t=km(e)?Vm:qm;return t.test(Dm(e))}Os.exports=Wm});var xs=P((MO,$s)=>{function Qm(e,t){return e==null?void 0:e[t]}$s.exports=Qm});var qe=P((CO,Ss)=>{var Hm=bs(),zm=xs();function _m(e,t){var r=zm(e,t);return Hm(r)?r:void 0}Ss.exports=_m});var ws=P((kO,Ts)=>{var Km=qe(),Lm=me(),Ym=Km(Lm,"DataView");Ts.exports=Ym});var Rs=P((AO,js)=>{var Jm=qe(),Xm=me(),Zm=Jm(Xm,"Map");js.exports=Zm});var Es=P((IO,Ps)=>{var ec=qe(),tc=me(),rc=ec(tc,"Promise");Ps.exports=rc});var Ms=P((DO,vs)=>{var nc=qe(),oc=me(),sc=nc(oc,"Set");vs.exports=sc});var ks=P((GO,Cs)=>{var ic=qe(),ac=me(),pc=ic(ac,"WeakMap");Cs.exports=pc});var Bs=P((qO,Ns)=>{var ur=ws(),fr=Rs(),dr=Es(),gr=Ms(),yr=ks(),Fs=Ze(),Fe=lr(),As="[object Map]",mc="[object Object]",Is="[object Promise]",Ds="[object Set]",Gs="[object WeakMap]",qs="[object DataView]",cc=Fe(ur),lc=Fe(fr),uc=Fe(dr),fc=Fe(gr),dc=Fe(yr),Re=Fs;(ur&&Re(new ur(new ArrayBuffer(1)))!=qs||fr&&Re(new fr)!=As||dr&&Re(dr.resolve())!=Is||gr&&Re(new gr)!=Ds||yr&&Re(new yr)!=Gs)&&(Re=function(e){var t=Fs(e),r=t==mc?e.constructor:void 0,n=r?Fe(r):"";if(n)switch(n){case cc:return qs;case lc:return As;case uc:return Is;case fc:return Ds;case dc:return Gs}return t});Ns.exports=Re});var Ct=P((FO,Us)=>{function gc(e){return e!=null&&typeof e=="object"}Us.exports=gc});var Ws=P((NO,Vs)=>{var yc=Ze(),hc=Ct(),Oc="[object Arguments]";function bc(e){return hc(e)&&yc(e)==Oc}Vs.exports=bc});var _s=P((BO,zs)=>{var Qs=Ws(),$c=Ct(),Hs=Object.prototype,xc=Hs.hasOwnProperty,Sc=Hs.propertyIsEnumerable,Tc=Qs(function(){return arguments}())?Qs:function(e){return $c(e)&&xc.call(e,"callee")&&!Sc.call(e,"callee")};zs.exports=Tc});var Ls=P((UO,Ks)=>{var wc=Array.isArray;Ks.exports=wc});var hr=P((VO,Ys)=>{var jc=9007199254740991;function Rc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jc}Ys.exports=Rc});var Xs=P((WO,Js)=>{var Pc=mr(),Ec=hr();function vc(e){return e!=null&&Ec(e.length)&&!Pc(e)}Js.exports=vc});var ei=P((QO,Zs)=>{function Mc(){return!1}Zs.exports=Mc});var oi=P((et,Ne)=>{var Cc=me(),kc=ei(),ni=typeof et=="object"&&et&&!et.nodeType&&et,ti=ni&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Ac=ti&&ti.exports===ni,ri=Ac?Cc.Buffer:void 0,Ic=ri?ri.isBuffer:void 0,Dc=Ic||kc;Ne.exports=Dc});var ii=P((HO,si)=>{var Gc=Ze(),qc=hr(),Fc=Ct(),Nc="[object Arguments]",Bc="[object Array]",Uc="[object Boolean]",Vc="[object Date]",Wc="[object Error]",Qc="[object Function]",Hc="[object Map]",zc="[object Number]",_c="[object Object]",Kc="[object RegExp]",Lc="[object Set]",Yc="[object String]",Jc="[object WeakMap]",Xc="[object ArrayBuffer]",Zc="[object DataView]",el="[object Float32Array]",tl="[object Float64Array]",rl="[object Int8Array]",nl="[object Int16Array]",ol="[object Int32Array]",sl="[object Uint8Array]",il="[object Uint8ClampedArray]",al="[object Uint16Array]",pl="[object Uint32Array]",k={};k[el]=k[tl]=k[rl]=k[nl]=k[ol]=k[sl]=k[il]=k[al]=k[pl]=!0;k[Nc]=k[Bc]=k[Xc]=k[Uc]=k[Zc]=k[Vc]=k[Wc]=k[Qc]=k[Hc]=k[zc]=k[_c]=k[Kc]=k[Lc]=k[Yc]=k[Jc]=!1;function ml(e){return Fc(e)&&qc(e.length)&&!!k[Gc(e)]}si.exports=ml});var pi=P((zO,ai)=>{function cl(e){return function(t){return e(t)}}ai.exports=cl});var ci=P((tt,Be)=>{var ll=ir(),mi=typeof tt=="object"&&tt&&!tt.nodeType&&tt,rt=mi&&typeof Be=="object"&&Be&&!Be.nodeType&&Be,ul=rt&&rt.exports===mi,Or=ul&&ll.process,fl=function(){try{var e=rt&&rt.require&&rt.require("util").types;return e||Or&&Or.binding&&Or.binding("util")}catch (e5){}}();Be.exports=fl});var di=P((_O,fi)=>{var dl=ii(),gl=pi(),li=ci(),ui=li&&li.isTypedArray,yl=ui?gl(ui):dl;fi.exports=yl});var br=P((KO,gi)=>{var hl=Jo(),Ol=Bs(),bl=_s(),$l=Ls(),xl=Xs(),Sl=oi(),Tl=sr(),wl=di(),jl="[object Map]",Rl="[object Set]",Pl=Object.prototype,El=Pl.hasOwnProperty;function vl(e){if(e==null)return!0;if(xl(e)&&($l(e)||typeof e=="string"||typeof e.splice=="function"||Sl(e)||wl(e)||bl(e)))return!e.length;var t=Ol(e);if(t==jl||t==Rl)return!e.size;if(Tl(e))return!hl(e).length;for(var r in e)if(El.call(e,r))return!1;return!0}gi.exports=vl});var Dt={name:"orval",description:"A swagger client generator for typescript",version:"6.10.3",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),gn=e=>!_upath.extname.call(void 0, e);function G(e){return Object.prototype.toString.call(e)==="[object Object]"}function I(e){return typeof e=="string"}function yn(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 hn(e){return typeof e===null}var On=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 q=console.log,du= exports.d =({name:e,version:t,description:r})=>q(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Sn=e=>q(_chalk2.default.red(e));var Tn=e=>q(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),wn=e=>{q(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>q(_chalk2.default.yellow(`Message : ${t.message}
|
|
2
|
-
Path : ${t.path}`)))},jn=e=>{q(_chalk2.default.red("(!) Errors")),e.forEach(t=>q(_chalk2.default.red(`Message : ${t.message}
|
|
3
|
-
Path : ${t.path}`)))},Gt={silent:0,error:1,warn:2,info:3},$n,xn,qt=0;function Ji(){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=Gt[e],s=n&&process.stdout.isTTY&&!process.env.CI?Ji:()=>{};function a(c,m,l={}){if(o>=Gt[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===$n&&m===xn?(qt++,s(),console[f](d(),_chalk2.default.yellow(`(x${qt+1})`))):(qt=0,xn=m,$n=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>=Gt[c]&&s()}};return p}var Ft=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},it=Ft("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),at="a-z"+Ft("DF-F6,F8-FF","00"),Qe="A-Z"+Ft("C0-D6,D8-DE","00"),Xi="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",le={capitalize:new RegExp("(^|["+it+"])(["+at+"])","g"),pascal:new RegExp("(^|["+it+"])+(["+at+Qe+"])","g"),fill:new RegExp("["+it+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+at+"])","g"),improper:new RegExp("\\b("+Xi+")\\b","g"),relax:new RegExp("([^"+Qe+"])(["+Qe+"]*)(["+Qe+"])(?=[^"+Qe+"]|$)","g"),upper:new RegExp("^[^"+at+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+it+"]")},Zi=e=>e.replace(le.apostrophe,""),Rn=String.prototype.toUpperCase,Nt=String.prototype.toLowerCase,pt=(e,t,r=!1)=>(t!=null&&(e=e.replace(le.fill,function(n,o){return o?t+o:""})),r&&(e=Zi(e)),e),ea=e=>Nt.call(e.charAt(0))+e.slice(1),ta=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Bt=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&le.upper.test(e)&&(e=Nt.call(e)),!t&&!le.hole.test(e)){var o=pt(e," ");le.hole.test(o)&&(e=o)}return!r&&!le.room.test(e)&&(e=e.replace(le.relax,ta)),e},Pn=(e,t,r)=>pt(Nt.call(Bt(e,!!t)),t,r),O= exports.e =e=>pt(Bt(e,!1,!0).replace(le.pascal,(t,r,n)=>Rn.call(n)),"",!0),w= exports.f =e=>ea(O(e)),yu= exports.g =e=>Pn(e,"_",!0),mt= exports.h =e=>Pn(e,"-",!0),hu= exports.i =(e,t,r)=>pt(Rn.call(Bt(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)||hn(e)))return I(e)?`'${e}'`:yn(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},F= exports.l =(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
|
|
5
|
-
`)+",":"",na={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},ct= exports.m =e=>e.toString().split("").reduce((r,n)=>r+na[n],""),lt= exports.n =(e,t="'")=>e.replace(t,`\\${t}`);var oa=["number","string","null","unknown","undefined","object","blob"],ve= exports.p =oa.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),ne= exports.q =[J.POST,J.PUT,J.PATCH,J.DELETE],wu= 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 kn=({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
|
-
`):"",Q= exports.t =({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+=`
|
|
7
|
-
`,i+=`import type { ${p}${p&&c?", ":""}${c} } from '${s}'`)}return i}).join(`
|
|
8
|
-
`);return n?n+`
|
|
9
|
-
`:""},Mn=({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(`,
|
|
10
|
-
`),c="",m=i?`import * as ${i.name} from '${r}';`:"";if(m){if(e.length===1)return m;c+=`${m}
|
|
11
|
-
`}return c+=`import ${s?"type ":""}${a?`${a.name}${p?",":""}`:""}${p?`{
|
|
12
|
-
${p}
|
|
13
|
-
}`:""} from '${r}${o!=="default"&&n[o]?`/${n[o]}`:""}'`,c},ia= exports.u =({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+=Mn({deps:c,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:p,onlyTypes:!1})),m&&(c&&(l+=`
|
|
14
|
-
`),l+=Mn({deps:m,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:p,onlyTypes:!0})),l}).join(`
|
|
15
|
-
`)},ut= exports.v =(e,t,r,n,o)=>{let s=t.map(a=>ia({...a,implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})).filter(Boolean).join(`
|
|
16
|
-
`);return s?s+`
|
|
17
|
-
`:""},ue= exports.w =({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 aa=(e,t,r)=>t&&e.formData?`
|
|
18
|
-
formData,`:r&&e.formUrlEncoded?`
|
|
19
|
-
formUrlEncoded,`:e.implementation?`
|
|
20
|
-
${e.implementation},`:"",pa= exports.y =({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+=`
|
|
21
|
-
params,`),n&&(i+=`
|
|
22
|
-
headers,`),s&&(i+=t?`
|
|
23
|
-
...(signal ? { signal } : {}),`:`
|
|
24
|
-
signal,`)),e.isBlob&&(!G(o)||!o.hasOwnProperty("responseType"))&&(i+=`
|
|
25
|
-
responseType: 'blob',`),G(o)&&(i+=`
|
|
26
|
-
${(p=z(o))==null?void 0:p.slice(1,-1)}`),a&&(i+=`
|
|
27
|
-
...options,`,r&&(i+=`
|
|
28
|
-
params: {...params, ...options?.params},`),n&&(i+=`
|
|
29
|
-
headers: {...headers, ...options?.headers},`)),i},fe= exports.z =({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=ne.includes(s),d=f?aa(t,i,p):"",u=pa({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?`
|
|
30
|
-
\`${e}\`,{${c?"body":"data"}:${d} ${u==="options"?`...${u}`:u}}
|
|
31
|
-
`:`
|
|
32
|
-
\`${e}\`,${u==="options"?u:y}
|
|
33
|
-
`:`
|
|
34
|
-
\`${e}\`,${f?d||"undefined,":""}${u==="options"?u:y}
|
|
35
|
-
`},ma= exports.A =(e,t,r)=>t&&e.formData?`,
|
|
36
|
-
data: formData`:r&&e.formUrlEncoded?`,
|
|
37
|
-
data: formUrlEncoded`:e.implementation?`,
|
|
38
|
-
data: ${e.implementation}`:"",ca= exports.B =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
|
|
39
|
-
params`),e.isBlob&&(r+=`,
|
|
40
|
-
responseType: 'blob'`),r},de= exports.C =({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?ma(t,a,i):"",f=ca(o,n),d=t.contentType?`,
|
|
41
|
-
headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
|
|
42
|
-
headers`:"";return`{url: \`${e}\`, method: '${s}'${d}${l}${f}${!p&&c?`, ${m?"...(signal ? { signal }: {})":"signal"}`:""}
|
|
43
|
-
}`},ge= exports.D =(e,t)=>{var r,n;return t?G(e)?`{${(n=z(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":G(e)?(r=z(e))==null?void 0:r.slice(1,-1):""},ye= exports.E =({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 He=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";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,Ut=process.env.DEBUG;function In(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&&!(Ut!=null&&Ut.includes(o))||r(s,...a)}}var v=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=gn(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}},Fn=In("orval:file-load"),Wt=new Map;async function ft(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=Wt.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),Fn(`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 ha(m,f,r||_upath.dirname.call(void 0, d),a,i==null?void 0:i.compilerOptions);p?y=await Oa(m,g,n):y=g,Fn(`bundled file loaded in ${Date.now()-c}ms`)}return Wt.set(m,{file:y}),{path:d,file:y}}catch(y){return Wt.set(m,{error:y}),{path:d,error:y}}}async function ha(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 Oa(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 Qt(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(n=>_fs2.default.promises.unlink(n)))}var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var $a=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,he=e=>_isURL2.default.call(void 0, e)||$a.test(e);var ze={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},wa=new RegExp("~1","g"),Oe=(e,t)=>{let[r,n]=e.split("#"),o=n==null?void 0:n.slice(1).split("/").map(p=>p.replace(wa,"/")),s=o?_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""):"",a=n?o[o.length-1]:r.replace(`.${He(r)}`,"").slice(r.lastIndexOf("/")+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 Bn=(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 Ma=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let s=JSON.stringify({query:`query {
|
|
44
|
-
repository(name: "${t}", owner: "${r}") {
|
|
45
|
-
object(expression: "${n}:${o}") {
|
|
46
|
-
... on Blob {
|
|
47
|
-
text
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}`});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]},Ca=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}},ka=async e=>{var c,m,l,f;let t=_upath.join.call(void 0, __dirname,".githubToken"),r=await Ca(t),[n]=e.split("github.com/").slice(-1),[o,s,,a,...i]=n.split("/"),p=i.join("/");try{let{body:d}=await Bn(...Ma({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}`}},Vn={order:199,canRead(e){return e.url.includes("github.com")},read(e){return ka(e.url)}};var dt=e=>e&&typeof e=="object";function je(e,t){return!dt(t)||!dt(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:dt(s)&&dt(o)?r[n]=je(s,o):r[n]=o,r},e)}var Wn=({title:e,description:t,version:r})=>[`Generated by ${Dt.name} v${Dt.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 Qn=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=te(e,t);if(_fsextra.existsSync.call(void 0, r))return await Promise.resolve().then(()=>ce(V(r)))};var _tsconfck = require('tsconfck');var zn=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=te(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(G(e))return e},Y= exports.I =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 ed(e){return e}var Ln=async(e,t=process.cwd(),r={})=>{var g,$,h,b,x,S,T,j,E,R,A,D,se,Pe,_,ee,Ue,Ve,We,ot,st,jr,Rr,Pr,Er,vr,Mr,Cr,kr,Ar,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,un,fn;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=te(s.workspace||"",t),{clean:i,prettier:p,client:c,mode:m,mock:l,tslint:f}=r,d=await zn(s.tsconfig||r.tsconfig,t),u=await Qn(s.packageJson||r.packageJson,t),y={input:{target:r.input?_n(r.input,process.cwd()):_n(o.target,t),validation:o.validation||!1,override:{transformer:te((g=o.override)==null?void 0:g.transformer,t)},converterOptions:($=o.converterOptions)!=null?$:{},parserOptions:je(qa,(h=o.parserOptions)!=null?h:{})},output:{target:r.output?te(r.output,process.cwd()):te(s.target,a),schemas:te(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:(R=(E=s.clean)!=null?E:i)!=null?R:!1,prettier:(D=(A=s.prettier)!=null?A: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:(st=(ot=(We=s.override)==null?void 0:We.mock)==null?void 0:ot.arrayMax)!=null?st:10,...(Rr=(jr=s.override)==null?void 0:jr.mock)!=null?Rr:{}},operations:Kn((Er=(Pr=s.override)==null?void 0:Pr.operations)!=null?Er:{},a),tags:Kn((Mr=(vr=s.override)==null?void 0:vr.tags)!=null?Mr:{},a),mutator:ke(a,(Cr=s.override)==null?void 0:Cr.mutator),formData:(Dr=K((kr=s.override)==null?void 0:kr.formData)?(Ir=s.override)==null?void 0:Ir.formData:ke(a,(Ar=s.override)==null?void 0:Ar.formData))!=null?Dr:!0,formUrlEncoded:(Nr=K((Gr=s.override)==null?void 0:Gr.formUrlEncoded)?(Fr=s.override)==null?void 0:Fr.formUrlEncoded:ke(a,(qr=s.override)==null?void 0:qr.formUrlEncoded))!=null?Nr:!0,header:((Br=s.override)==null?void 0:Br.header)===!1?!1:N((Ur=s.override)==null?void 0:Ur.header)?(Vr=s.override)==null?void 0:Vr.header:Wn,requestOptions:(Qr=(Wr=s.override)==null?void 0:Wr.requestOptions)!=null?Qr:!0,components:{schemas:{suffix:ze.schemas,...(_r=(zr=(Hr=s.override)==null?void 0:Hr.components)==null?void 0:zr.schemas)!=null?_r:{}},responses:{suffix:ze.responses,...(Yr=(Lr=(Kr=s.override)==null?void 0:Kr.components)==null?void 0:Lr.responses)!=null?Yr:{}},parameters:{suffix:ze.parameters,...(Zr=(Xr=(Jr=s.override)==null?void 0:Jr.components)==null?void 0:Xr.parameters)!=null?Zr:{}},requestBodies:{suffix:ze.requestBodies,...(rn=(tn=(en=s.override)==null?void 0:en.components)==null?void 0:tn.requestBodies)!=null?rn:{}}},query:{useQuery:!0,signal:!0,...(on=(nn=s.override)==null?void 0:nn.query)!=null?on:{}},swr:{...(an=(sn=s.override)==null?void 0:sn.swr)!=null?an:{}},angular:{provideIn:(cn=(mn=(pn=s.override)==null?void 0:pn.angular)==null?void 0:mn.provideIn)!=null?cn:"root"},useDates:((ln=s.override)==null?void 0:ln.useDates)||!1,useDeprecatedOperations:(fn=(un=s.override)==null?void 0:un.useDeprecatedOperations)!=null?fn:!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},qa={validate:!0,resolve:{github:Vn}},ke=(e,t)=>{var r;return G(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},_n=(e,t)=>I(e)&&!he(e)?te(e,t):e,te=(e,t)=>I(e)?_upath.resolve.call(void 0, t,e):e,Kn=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,{transformer:n,mutator:o,formData:s,formUrlEncoded:a,requestOptions:i,...p}])=>[r,{...p,...n?{transformer:te(n,t)}:{},...o?{mutator:ke(t,o)}:{},...s?{formData:K(s)?s:ke(t,s)}:{},...a?{formUrlEncoded:K(a)?a:ke(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 Yn=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;q(`Watching for changes in ${Array.isArray(s)?s.map(i=>'"'+i+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(i,p)=>{q(`Change detected: ${i} ${p}`);try{await t()}catch(c){q(_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 Jn=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(q(_chalk2.default.yellow(`${r}
|
|
52
|
-
=> ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
|
|
53
|
-
Path: ${r}
|
|
54
|
-
Parsing Error: ${n}`}};var gt=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&&G(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var Xn=e=>/[^{]*{[\w*_-]*}.*/.test(e),Zn=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=Xn(t[3])?Zn(t[3]):t[3];return Xn(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},eo=e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${Zn(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=a?_lodashget2.default.call(void 0, t.specs[s||t.specKey],a):t.specs[s||t.specKey];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"}],_t=new Map,to=()=>Ha,ro=e=>{let t=C(e);return`${O(t)}Service`},no=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideIn:o})=>`
|
|
55
|
-
${t&&!n?`type HttpClientOptions = {
|
|
56
|
-
headers?: HttpHeaders | {
|
|
57
|
-
[header: string]: string | string[];
|
|
58
|
-
};
|
|
59
|
-
context?: HttpContext;
|
|
60
|
-
observe?: any;
|
|
61
|
-
params?: HttpParams | {
|
|
62
|
-
[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
|
|
63
|
-
};
|
|
64
|
-
reportProgress?: boolean;
|
|
65
|
-
responseType?: any;
|
|
66
|
-
withCredentials?: boolean;
|
|
67
|
-
};`:""}
|
|
68
|
-
|
|
69
|
-
${t&&r?`// eslint-disable-next-line
|
|
70
|
-
type ThirdParameter<T extends (...args: any) => any> = T extends (
|
|
71
|
-
config: any,
|
|
72
|
-
httpClient: any,
|
|
73
|
-
args: infer P,
|
|
74
|
-
) => any
|
|
75
|
-
? P
|
|
76
|
-
: never;`:""}
|
|
77
|
-
|
|
78
|
-
@Injectable(${o?`{ providedIn: '${K(o)?"root":o}' }`:""})
|
|
79
|
-
export class ${e} {
|
|
80
|
-
constructor(
|
|
81
|
-
private http: HttpClient,
|
|
82
|
-
) {}`,oo=({operationNames:e})=>{let t=`};
|
|
83
|
-
|
|
84
|
-
`;return e.forEach(r=>{_t.has(r)&&(t+=_t.get(r)+`
|
|
85
|
-
`)}),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),$=ne.includes(i),h=ye({formData:c,formUrlEncoded:m,body:s,isFormData:u,isFormUrlEncoded:y}),b=n.definition.success||"unknown";if(_t.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):"",R=o.bodyTypeName&&s.definition?F(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):F(a,"implementation");return` ${r}<TData = ${b}>(
|
|
86
|
-
${R}
|
|
87
|
-
${d&&o.hasThirdArg?`options?: ThirdParameter<typeof ${o.name}>`:""}) {${h}
|
|
88
|
-
return ${o.name}<TData>(
|
|
89
|
-
${j},
|
|
90
|
-
this.http,
|
|
91
|
-
${E});
|
|
92
|
-
}
|
|
93
|
-
`}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}>(
|
|
94
|
-
${F(a,"implementation")} ${d?`options?: HttpClientOptions
|
|
95
|
-
`:""} ): Observable<TData> {${h}
|
|
96
|
-
return this.http.${i}<TData>(${x});
|
|
97
|
-
}
|
|
98
|
-
`},so=(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"}],yt=new Map,Kt=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=ne.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):"";yt.set(r,A=>`export type ${O(r)}Result = NonNullable<Awaited<ReturnType<${A?`ReturnType<typeof ${A}>['${r}']`:`typeof ${r}`}>>>`);let R=o.bodyTypeName&&s.definition?F(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):F(a,"implementation");return`const ${r} = (
|
|
99
|
-
${R}
|
|
100
|
-
${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>,`:""}) => {${h}
|
|
101
|
-
return ${o.name}<${n.definition.success||"unknown"}>(
|
|
102
|
-
${j},
|
|
103
|
-
${E});
|
|
104
|
-
}
|
|
105
|
-
`}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 yt.set(r,()=>`export type ${O(r)}Result = AxiosResponse<${n.definition.success||"unknown"}>`),`const ${r} = <TData = AxiosResponse<${n.definition.success||"unknown"}>>(
|
|
106
|
-
${F(a,"implementation")} ${d?`options?: AxiosRequestConfig
|
|
107
|
-
`:""} ): Promise<TData> => {${h}
|
|
108
|
-
return axios${$?"":".default"}.${i}(${x});
|
|
109
|
-
}
|
|
110
|
-
`},Lt=e=>{let t=C(e);return`get${O(t)}`},Yt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`
|
|
111
|
-
${t&&r?`// eslint-disable-next-line
|
|
112
|
-
type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
113
|
-
config: any,
|
|
114
|
-
args: infer P,
|
|
115
|
-
) => any
|
|
116
|
-
? P
|
|
117
|
-
: never;
|
|
118
|
-
|
|
119
|
-
`:""}
|
|
120
|
-
${n?"":`export const ${e} = () => {
|
|
121
|
-
`}`,Jt=({operationNames:e,title:t,noFunction:r,hasMutator:n,hasAwaitedType:o})=>{let s="";return r||(s+=`return {${e.join(",")}}};
|
|
122
|
-
`),n&&!o&&(s+=`
|
|
123
|
-
type AwaitedInput<T> = PromiseLike<T> | T;
|
|
124
|
-
|
|
125
|
-
type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
|
|
126
|
-
|
|
127
|
-
`),e.forEach(a=>{yt.has(a)&&(s+=yt.get(a)(r?void 0:t)+`
|
|
128
|
-
`)}),s},Xt=(e,t)=>{let r=ue(e);return{implementation:Ka(e,t),imports:r}},io=(e,t,r)=>{let{implementation:n,imports:o}=Xt(e,t,r);return{implementation:"export "+n,imports:o}};var ao=e=>/[^{]*{[\w*_-]*}.*/.test(e),po=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=ao(t[3])?po(t[3]):t[3];return ao(e)?`${r}:${n}${o}`:`${r}${n}${o}`},mo=(e,t="*")=>e.split("/").reduce((n,o,s)=>!o&&!s?n:o.includes("{")?`${n}/${po(o)}`:`${n}/${o}`,t);var co={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 Ya=e=>e[0]==="/"&&e[e.length-1]==="/",ht=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Ya(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:Ke(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},Ke=(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,refPaths:m}=Oe(e.$ref,s),f={..._lodashget2.default.call(void 0, s.specs[c],m),name:p,path:e.path,isRef:!0};return{..._e({item:f,mockOptions:t,operationId:r,tags:n,combine:o,context:{...s,specKey:c},imports:a}),type:f.type}}return{..._e({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 lo=(e="",t)=>{var r;return e?((r=e.match(new RegExp(t,"g")))!=null?r:[]).length:0};var uo=({item:e,separator:t,mockOptions:r,operationId:n,tags:o,combine:s,context:a,imports:i})=>{var f,d,u,y;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:[]),p.push(...(u=m==null?void 0:m.imports)!=null?u:[]),{value:((y=e[t])!=null?y:[]).reduce((g,$,h,b)=>{var E,R;let x=pe({schema:{...$,name:e.name,path:e.path?e.path:"#"},combine:{separator:t,includedProperties:t!=="oneOf"?c:(E=m==null?void 0:m.includedProperties)!=null?E:[]},mockOptions:r,operationId:n,tags:o,context:a,imports:i});p.push(...x.imports),c.push(...(R=x.includedProperties)!=null?R:[]);let S=h===b.length-1,T=x.value;(m==null?void 0:m.value)&&t==="oneOf"&&(T=`${x.value.slice(0,-1)},${m.value}}`),(m==null?void 0:m.value)&&t!=="oneOf"&&S&&(T=`${T}${m!=null&&m.value?`,${m.value}`:""}`);let j=!s||s.separator==="oneOf"&&t==="allOf";return!h&&j?x.enums||t==="oneOf"?b.length===1?`faker.helpers.arrayElement([${T}])`:`faker.helpers.arrayElement([${T},`:b.length===1?x.type!=="object"?T:`{${T}}`:`{${T},`:S?x.enums||t==="oneOf"?`${g}${T}${s?"":"])"}`:`${g}${T}${j?"}":""}`:T?`${g}${T},`:g},""),imports:p,name:e.name,includedProperties:c}};var Ae=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var fo=({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 uo({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(lo(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=Ae(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:`{
|
|
129
|
-
'${_cuid2.default.call(void 0, )}': ${i.value}
|
|
130
|
-
}`}}return{value:"{}",imports:[],name:e.name}};var _e=({item:e,imports:t,mockOptions:r,operationId:n,tags:o,combine:s,context:a})=>{var f,d,u,y;let i=ht((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=ht(p==null?void 0:p.properties,e);if(c)return c;let m=ht(r==null?void 0:r.properties,e);if(m)return m;let l={...co,...(y=r==null?void 0:r.format)!=null?y:{}};if(e.format&&l[e.format])return{value:Ke(l[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:Ke(`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=>lt(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:Ke(g,e.nullable),enums:e.enum,name:e.name,imports:$}}case"object":default:return fo({item:e,mockOptions:r,operationId:n,tags:o,combine:s,context:a,imports:t})}};var Ot=(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},{}),ep=(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:Ot(t.mock.properties,e)}:{},...(a=t==null?void 0:t.mock)!=null&&a.format?{format:Ot(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:Ot(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:Ot(c.mock.properties,e)}),i},{})}:{}}},tp=(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"}},rp=({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=tp(i,n);return a.definitions.push(o?o(y,r.definition.success):y),a}if(!p)return a;let l=B(p,s),f=_e({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:[]}),go=({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let a=ep(s.specs[s.specKey],n),{definitions:i,imports:p}=rp({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:a,transformer:o,context:s});return{definition:"["+i.join(", ")+"]",definitions:i,imports:p}},yo=(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 np=[{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})=>ut(e,[...np,...t],r,n,o),ho=({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}=go({operationId:e,tags:n,response:t,override:s,context:a}),m=mo(o,(u=s==null?void 0:s.mock)==null?void 0:u.baseUrl),l=yo(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})
|
|
131
|
-
|
|
132
|
-
`:"",handler:`rest.${r}('${m}', (_req, res, ctx) => {
|
|
133
|
-
return res(
|
|
134
|
-
ctx.delay(${(g=(y=s==null?void 0:s.mock)==null?void 0:y.delay)!=null?g:1e3}),
|
|
135
|
-
ctx.status(200, 'Mocked status'),${f&&f!=="undefined"?`
|
|
136
|
-
ctx.${d}(get${O(e)}Mock()),`:""}
|
|
137
|
-
)
|
|
138
|
-
}),`},imports:c}};var _lodashomitby = require('lodash.omitby'); var _lodashomitby2 = _interopRequireDefault(_lodashomitby);var U={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"};var er=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],sp=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryStoreResult"},{name:"UseInfiniteQueryStoreResult"},{name:"QueryKey"}],dependency:"@sveltestack/svelte-query"}],Oo=e=>[...e?[]:er,...sp],ip=[{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"},{name:"QueryFunction"},{name:"MutationFunction"},{name:"UseQueryResult"},{name:"UseInfiniteQueryResult"},{name:"QueryKey"}],dependency:"react-query"}],ap=[{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"}],bo=(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?[]:er,...r&&!n?ip:ap]},pp=[{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"}],$o=e=>[...e?[]:er,...pp],mp=({isRequestOptions:e,hasSignal:t})=>e?`options?: AxiosRequestConfig
|
|
139
|
-
`:t?`signal?: AbortSignal
|
|
140
|
-
`:"",cp=({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=ne.includes(i),x=ye({formData:p,formUrlEncoded:c,body:s,isFormData:u,isFormUrlEncoded:y});if(o){let R=de({route:l,body:s,headers:e,queryParams:t,response:n,verb:i,isFormData:u,isFormUrlEncoded:y,isBodyVerb:b,hasSignal:g,isExactOptionalPropertyTypes:h}),A=(o==null?void 0:o.bodyTypeName)&&s.definition?F(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):F(a,"implementation"),D=d?ge(m.requestOptions,o.hasSecondArg):"";return o.isHook?`export const use${O(r)}Hook = () => {
|
|
141
|
-
const ${r} = ${o.name}<${n.definition.success||"unknown"}>();
|
|
142
|
-
|
|
143
|
-
return (
|
|
144
|
-
${A}
|
|
145
|
-
${d&&o.hasSecondArg?`options?: SecondParameter<ReturnType<typeof ${o.name}>>,`:""}${!b&&g?`signal?: AbortSignal
|
|
146
|
-
`:""}) => {${x}
|
|
147
|
-
return ${r}(
|
|
148
|
-
${R},
|
|
149
|
-
${D});
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
`:`export const ${r} = (
|
|
153
|
-
${A}
|
|
154
|
-
${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>,`:""}${!b&&g?`signal?: AbortSignal
|
|
155
|
-
`:""}) => {${x}
|
|
156
|
-
return ${o.name}<${n.definition.success||"unknown"}>(
|
|
157
|
-
${R},
|
|
158
|
-
${D});
|
|
159
|
-
}
|
|
160
|
-
`}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=mp({isRequestOptions:d,hasSignal:g});return`export const ${r} = (
|
|
161
|
-
${F(a,"implementation")} ${T} ): Promise<AxiosResponse<${n.definition.success||"unknown"}>> => {${x}
|
|
162
|
-
return axios${$?"":".default"}.${i}(${S});
|
|
163
|
-
}
|
|
164
|
-
`},Zt={INFINITE:"infiniteQuery",QUERY:"query"},lp=["getNextPageParam","getPreviousPageParam"],up=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=G(t)?` ${(o=z(_lodashomitby2.default.call(void 0, t,(s,a)=>!!(r!==Zt.INFINITE&&lp.includes(a)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!G(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},fp=e=>e?e.hasSecondArg&&!e.isHook?`request?: SecondParameter<typeof ${e.name}>`:e.hasSecondArg&&e.isHook?`request?: SecondParameter<ReturnType<typeof ${e.name}>>`:"":"axios?: AxiosRequestConfig",xo=({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=fp(r);return`options?: { ${o?"query":"mutation"}?:${a}, ${i}}
|
|
165
|
-
`},dp=({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>`}},gp=({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":"",yp=({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},hp=({hasQueryParam:e,hasSignal:t})=>!e&&!t?"":e?t?"{ signal, pageParam }":"{ pageParam }":"{ signal }",Op=({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=F(c,"implementation"),$=t?c.map(({name:R})=>R==="params"?`{ ${t}: pageParam, ...params }`:R).join(","):a,h=dp({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=xo({operationName:o,definitions:"",mutator:m,isRequestOptions:l,type:n}),T=gp({isRequestOptions:l,isExactOptionalPropertyTypes:u,mutator:m,hasSignal:y}),j=yp({isRequestOptions:l,mutator:m}),E=hp({hasQueryParam:!!t&&c.some(({type:R})=>R==="queryParam"),hasSignal:y});return`
|
|
166
|
-
export type ${O(e)}QueryResult = NonNullable<Awaited<ReturnType<${x}>>>
|
|
167
|
-
export type ${O(e)}QueryError = ${b}
|
|
168
|
-
|
|
169
|
-
export const ${w(`use-${e}`)} = <TData = Awaited<ReturnType<${x}>>, TError = ${b}>(
|
|
170
|
-
${g} ${S}
|
|
171
|
-
): ${h} & { queryKey: QueryKey } => {
|
|
172
|
-
|
|
173
|
-
${j}
|
|
174
|
-
|
|
175
|
-
const queryKey = queryOptions?.queryKey ?? ${s}(${i});
|
|
176
|
-
|
|
177
|
-
${m!=null&&m.isHook?`const ${o} = use${O(o)}Hook();`:""}
|
|
178
|
-
|
|
179
|
-
const queryFn: QueryFunction<Awaited<ReturnType<${m!=null&&m.isHook?`ReturnType<typeof use${O(o)}Hook>`:`typeof ${o}`}>>> = (${E}) => ${o}(${$}${$?", ":""}${T});
|
|
180
|
-
|
|
181
|
-
const query = ${w(`use-${n}`)}<Awaited<ReturnType<${m!=null&&m.isHook?`ReturnType<typeof use${O(o)}Hook>`:`typeof ${o}`}>>, TError, TData>(queryKey, queryFn, ${up({params:p,options:r,type:n})}) as ${h} & { queryKey: QueryKey };
|
|
182
|
-
|
|
183
|
-
query.queryKey = queryKey;
|
|
184
|
-
|
|
185
|
-
return query;
|
|
186
|
-
}
|
|
187
|
-
`},bp=({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 R=n.map(({name:_,type:ee})=>ee===U.BODY?r.implementation:_).join(","),A=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:Zt.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:Zt.QUERY}]:[]],se=w(`get-${t}-queryKey`),Pe=F(n.filter(_=>_.type!==U.HEADER),"implementation");return`export const ${se} = (${Pe}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
188
|
-
|
|
189
|
-
${D.reduce((_,ee)=>_+Op({queryOption:ee,operationName:t,queryKeyFnName:se,queryProperties:R,queryKeyProperties:A,params:s,props:n,mutator:i,isRequestOptions:y,response:p,outputClient:d,isExactOptionalPropertyTypes:$,hasSignal:!!u.signal}),"")}
|
|
190
|
-
`}let h=n.map(({definition:R,type:A})=>A===U.BODY?i!=null&&i.bodyTypeName?`data: ${i.bodyTypeName}<${r.definition}>`:`data: ${r.definition}`:R).join(";"),b=n.map(({name:R,type:A})=>A===U.BODY?"data":R).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`
|
|
191
|
-
export type ${O(t)}MutationResult = NonNullable<Awaited<ReturnType<${S}>>>
|
|
192
|
-
${r.definition?`export type ${O(t)}MutationBody = ${i!=null&&i.bodyTypeName?`${i.bodyTypeName}<${r.definition}>`:r.definition}`:""}
|
|
193
|
-
export type ${O(t)}MutationError = ${x}
|
|
194
|
-
|
|
195
|
-
export const ${w(`use-${t}`)} = <TError = ${x},
|
|
196
|
-
${h?"":"TVariables = void,"}
|
|
197
|
-
TContext = unknown>(${xo({operationName:t,definitions:h,mutator:i,isRequestOptions:y})}) => {
|
|
198
|
-
${y?`const {mutation: mutationOptions${i?i!=null&&i.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options ?? {};`:""}
|
|
199
|
-
|
|
200
|
-
${i!=null&&i.isHook?`const ${t} = use${O(t)}Hook()`:""}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const mutationFn: MutationFunction<Awaited<ReturnType<${S}>>, ${h?`{${h}}`:"TVariables"}> = (${b?"props":""}) => {
|
|
204
|
-
${b?`const {${b}} = props ?? {};`:""}
|
|
205
|
-
|
|
206
|
-
return ${t}(${b}${b?",":""}${y?i?i!=null&&i.hasSecondArg?"requestOptions":"":"axiosOptions":""})
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
return useMutation<Awaited<ReturnType<typeof ${t}>>, TError, ${h?`{${h}}`:"TVariables"}, TContext>(mutationFn, mutationOptions)
|
|
210
|
-
}
|
|
211
|
-
`},bt=()=>"",$t=({isRequestOptions:e,isMutator:t,hasAwaitedType:r})=>`${r?"":`type AwaitedInput<T> = PromiseLike<T> | T;
|
|
212
|
-
|
|
213
|
-
type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
|
|
214
|
-
|
|
215
|
-
`}
|
|
216
|
-
${e&&t?`// eslint-disable-next-line
|
|
217
|
-
type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
218
|
-
config: any,
|
|
219
|
-
args: infer P,
|
|
220
|
-
) => any
|
|
221
|
-
? P
|
|
222
|
-
: never;
|
|
223
|
-
|
|
224
|
-
`:""}`,xt=()=>"",St=(e,t,r)=>{let n=ue(e),o=cp(e,t),s=bp(e,t,r);return{implementation:`${o}
|
|
225
|
-
|
|
226
|
-
${s}`,imports:n}};var $p=[{exports:[{name:"axios",default:!0,values:!0,syntheticDefaultImport:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"},{name:"AxiosError"}],dependency:"axios"}],xp=[{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],So=e=>[...e?[]:$p,...xp],Sp=({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),$=ne.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?F(a,"implementation").replace(new RegExp(`(\\w*):\\s?${s.definition}`),`$1: ${o.bodyTypeName}<${s.definition}>`):F(a,"implementation"),R=d?ge(m==null?void 0:m.requestOptions,o.hasSecondArg):"";return`export const ${r} = (
|
|
227
|
-
${E}
|
|
228
|
-
${d&&o.hasSecondArg?`options?: SecondParameter<typeof ${o.name}>`:""}) => {${b}
|
|
229
|
-
return ${o.name}<${n.definition.success||"unknown"}>(
|
|
230
|
-
${j},
|
|
231
|
-
${R});
|
|
232
|
-
}
|
|
233
|
-
`}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} = (
|
|
234
|
-
${F(a,"implementation")} ${d?`options?: AxiosRequestConfig
|
|
235
|
-
`:""} ): Promise<AxiosResponse<${n.definition.success||"unknown"}>> => {${b}
|
|
236
|
-
return axios${h?"":".default"}.${i}(${x});
|
|
237
|
-
}
|
|
238
|
-
`},Tp=({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"} }
|
|
239
|
-
`:`swrOptions?: ${n}`},wp=({operationName:e,swrKeyFnName:t,swrProperties:r,swrKeyProperties:n,params:o,mutator:s,isRequestOptions:a,response:i,swrOptions:p,props:c})=>{var u;let m=F(c,"implementation"),l=r,f=`const isEnabled = swrOptions?.enabled !== false${o.length?` && !!(${o.map(({name:y})=>y).join(" && ")})`:""}
|
|
240
|
-
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"),`
|
|
241
|
-
export type ${O(e)}QueryResult = NonNullable<Awaited<ReturnType<typeof ${e}>>>
|
|
242
|
-
export type ${O(e)}QueryError = ${d}
|
|
243
|
-
|
|
244
|
-
export const ${w(`use-${e}`)} = <TError = ${d}>(
|
|
245
|
-
${m} ${Tp({operationName:e,mutator:s,isRequestOptions:a})}
|
|
246
|
-
) => {
|
|
247
|
-
|
|
248
|
-
${a?`const {swr: swrOptions${s?s!=null&&s.hasSecondArg?", request: requestOptions":"":", axios: axiosOptions"}} = options ?? {}`:""}
|
|
249
|
-
|
|
250
|
-
${f}
|
|
251
|
-
const swrFn = () => ${e}(${l}${l?", ":""}${a?s?s!=null&&s.hasSecondArg?"requestOptions":"":"axiosOptions":""});
|
|
252
|
-
|
|
253
|
-
const query = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${p.options?`{
|
|
254
|
-
${(u=z(p.options))==null?void 0:u.slice(1,-1)}
|
|
255
|
-
...swrOptions
|
|
256
|
-
}`:"swrOptions"})
|
|
257
|
-
|
|
258
|
-
return {
|
|
259
|
-
swrKey,
|
|
260
|
-
...query
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
`},jp=({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=F(n.filter(y=>y.type!==U.HEADER),"implementation");return`export const ${d} = (${u}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
264
|
-
|
|
265
|
-
${wp({operationName:t,swrKeyFnName:d,swrProperties:l,swrKeyProperties:f,params:s,props:n,mutator:i,isRequestOptions:m,response:p,swrOptions:a.swr})}
|
|
266
|
-
`},To=()=>"",wo=({isRequestOptions:e,isMutator:t,hasAwaitedType:r})=>`
|
|
267
|
-
${r?"":`type AwaitedInput<T> = PromiseLike<T> | T;
|
|
268
|
-
|
|
269
|
-
type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
|
|
270
|
-
|
|
271
|
-
`}
|
|
272
|
-
${e&&t?`// eslint-disable-next-line
|
|
273
|
-
type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
274
|
-
config: any,
|
|
275
|
-
args: infer P,
|
|
276
|
-
) => any
|
|
277
|
-
? P
|
|
278
|
-
: never;
|
|
279
|
-
|
|
280
|
-
`:""}`,jo=()=>"",Ro=(e,t)=>{let r=ue(e),n=Sp(e,t),o=jp(e,t);return{implementation:`${n}
|
|
281
|
-
|
|
282
|
-
${o}`,imports:r}};var Le=W.AXIOS,Po={axios:{client:Xt,header:Yt,dependencies:Kt,footer:Jt,title:Lt},"axios-functions":{client:io,header:e=>Yt({...e,noFunction:!0}),dependencies:Kt,footer:e=>Jt({...e,noFunction:!0}),title:Lt},angular:{client:so,header:no,dependencies:to,footer:oo,title:ro},"react-query":{client:St,header:$t,dependencies:bo,footer:xt,title:bt},"svelte-query":{client:St,header:$t,dependencies:Oo,footer:xt,title:bt},"vue-query":{client:St,header:$t,dependencies:$o,footer:xt,title:bt},swr:{client:Ro,header:wo,dependencies:So,footer:jo,title:To}},Ye=e=>{let t=N(e)?e(Po):Po[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},$e=({client:e=Le,implementation:t,imports:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s,hasGlobalMutator:a,packageJson:i})=>{let{dependencies:p}=Ye(e);return ut(t,[...p(a,i),...r],n,o,s)},Tt=({outputClient:e=Le,isRequestOptions:t,isGlobalMutator:r,isMutator:n,provideIn:o,hasAwaitedType:s,titles:a})=>{let{header:i}=Ye(e);return{implementation:i({title:a.implementation,isRequestOptions:t,isGlobalMutator:r,isMutator:n,provideIn:o,hasAwaitedType:s}),implementationMSW:`export const ${a.implementationMSW} = () => [
|
|
283
|
-
`}},wt=({outputClient:e=Le,operationNames:t,hasMutator:r,hasAwaitedType:n,titles:o})=>{let{footer:s}=Ye(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:`]
|
|
284
|
-
`}},jt=({outputClient:e=Le,title:t,customTitleFunc:r})=>{let{title:n}=Ye(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`}},Rp=(e,t)=>t.mock?N(t.mock)?t.mock(e,t):ho(e,t):{implementation:{function:"",handler:""},imports:[]},Eo=(e=Le,t,r)=>t.reduce((n,o)=>{let{client:s}=Ye(e),a=s(o,r,e),i=Rp(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 Pp="\\*/",tr="*\\/",rr=new RegExp(Pp,"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(rr,tr)),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(rr,tr):void 0,p=`${i?`/* ${i} */
|
|
285
|
-
`:""}/**`;return e&&(a||(p+=`
|
|
286
|
-
${n?" ":""} *`),p+=` ${o.join(`
|
|
287
|
-
* `)}`),t&&(a||(p+=`
|
|
288
|
-
${n?" ":""} *`),p+=" @deprecated"),r&&(a||(p+=`
|
|
289
|
-
${n?" ":""} *`),p+=` @summary ${r.replace(rr,tr)}`),p+=a?" ":`
|
|
290
|
-
${n?" ":""}`,p+=`*/
|
|
291
|
-
`,p}var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Je=({name:e,schemaObject:t,context:r,isUrlEncoded:n,isRef:o})=>{let{schema:s,imports:a}=B(t,r),i=!o&&M(t)?a[0].name:e,p=n?"formUrlEncoded":"formData",c=n?`const ${p} = new URLSearchParams();
|
|
292
|
-
`:`const ${p} = new FormData();
|
|
293
|
-
`;if(s.type==="object"&&s.properties){let m=Object.entries(s.properties).reduce((l,[f,d])=>{var $;let{schema:u}=B(d,r),y="",g=_esutils.keyword.isIdentifierNameES5(f)?`.${f}`:`['${f}']`;return u.type==="object"?y=`${p}.append('${f}', JSON.stringify(${w(i)}${g}));
|
|
294
|
-
`:u.type==="array"?y=`${w(i)}${g}.forEach(value => ${p}.append('${f}', value));
|
|
295
|
-
`:u.type==="number"||u.type==="integer"||u.type==="boolean"?y=`${p}.append('${f}', ${w(i)}${g}.toString())
|
|
296
|
-
`:y=`${p}.append('${f}', ${w(i)}${g})
|
|
297
|
-
`,($=s.required)!=null&&$.includes(f)?l+y:l+`if(${w(i)}${g} !== undefined) {
|
|
298
|
-
${y} }
|
|
299
|
-
`},"");return`${c}${m}`}return s.type==="array"?`${c}${w(i)}.forEach(value => ${p}.append('data', value))
|
|
300
|
-
`:s.type==="number"||s.type==="boolean"?`${c}${p}.append('data', ${w(i)}.toString())
|
|
301
|
-
`:`${c}${p}.append('data', ${w(i)})
|
|
302
|
-
`};var Ie=(e,t,r)=>{let n=`export type ${r} = typeof ${r}[keyof typeof ${r}];
|
|
303
|
-
`,o=Rt(e,t);return n+=`
|
|
304
|
-
|
|
305
|
-
`,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
306
|
-
`,n+=`export const ${r} = {
|
|
307
|
-
${o}} as const;
|
|
308
|
-
`,n},Rt=(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=Mp(o)),o.length>1&&(o=C(n,{underscore:"_",whitespace:"_",dash:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${n},
|
|
309
|
-
`},""),Mp=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var vo=({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 kp=({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(" | "),nr=({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(ct(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=kp({resolvedData:a,separator:r,resolvedValue:p});if(i&&e&&s.length>1){let l=`
|
|
310
|
-
|
|
311
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
312
|
-
export const ${O(e)} = ${Ap(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}},Ap=({values:e,isRef:t,types:r})=>e.length===1?t[0]?e[0]:`{${Rt(e[0],r[0])}} as const`:`{${e.map((o,s)=>t[s]?`...${o},`:Rt(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 nr({schema:e,name:t,separator:a,context:r,nullable:n})}if(e.type instanceof Array)return nr({schema:{anyOf:e.type.map(a=>({type:a}))},name:t,separator:"anyOf",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+=`
|
|
313
|
-
${g?`${g} `:""}${y?"readonly ":""}${Ae(i)}${l?"":"?"}: ${u.value};`,a.schemas.push(...u.schemas),m.length-1===c){if(e.additionalProperties)if(K(e.additionalProperties))a.value+=`
|
|
314
|
-
[key: string]: any;
|
|
315
|
-
}`;else{let x=re({schema:e.additionalProperties,name:t,context:r});a.value+=`
|
|
316
|
-
[key: string]: ${x.value};
|
|
317
|
-
}`}else a.value+=`
|
|
318
|
-
}`;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=re({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}=vo({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)?lt(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"null":return{value:"null",isEnum:!1,type:"null",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 re=({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=re({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};
|
|
319
|
-
`,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"],ko=["application/x-www-form-urlencoded"],Dp=({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=ko.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?Je({name:m,schemaObject:u==null?void 0:u.schema,context:{...r,specKey:l||r.specKey},isRef:!0}):void 0,h=g?Je({name:m,schemaObject:u==null?void 0:u.schema,context:{...r,specKey:l||r.specKey},isUrlEncoded:!0,isRef:!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(ct(f+1)));let y=Dp({mediaType:l,propName:u,context:r});if(!y)return;let g=Co.includes(m),$=ko.includes(m);if(!g&&!$||!u)return{...y,contentType:m};let h=g?Je({name:u,schemaObject:l.schema,context:r}):void 0,b=$?Je({name:u,schemaObject:l.schema,context:r,isUrlEncoded:!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 Ao=({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 Gp=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})=>Gp(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=re({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 qp=(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}=re({schema:i||p["application/json"].schema,context:r,name:c}),g=Ae(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}}),or=({queryParams:e=[],operationName:t,context:r,suffix:n="params"})=>{if(!e.length)return;let o=qp(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} };
|
|
320
|
-
`,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 Z=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},Pt=(e,t)=>{if(he(e)){let r=new URL(t);return e.replace(r.origin,"").replace(v(r.pathname).dirname,"").replace(`.${He(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, v(t).dirname,e)).split("../").join("").replace(`.${He(e)}`,"")};var Et="BodyType",Vo=(e,t)=>{let r=v(e),n=v(t.path),{pathWithoutExtension:o}=v(Z(r.dirname,n.path));return o},Mt=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 ${Et}`)||p.includes(`export interface ${Et}`),l=t.default?`${O(r)}ErrorType`:"ErrorType",f=t.default?`${O(r)}${Et}`:Et,{file:d,cached:u}=await ft(i,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(d){let y=s?"default":t.name,g=Wp(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}:{}}}},Wp=(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 vt(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?vt(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 vt(o,a.value.body.name)}catch (e7){return}},vt=(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 vt(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 Qp=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,[ot,st])=>c.includes(ot)?je(We,st):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=Ao({requestBody:i,operationName:b,context:s,contentType:g.contentType}),T=Do({parameters:[...o,...p!=null?p:[]],context:s}),j=or({queryParams:T.query,operationName:b,context:s}),E=t.headers?await or({queryParams:T.header,operationName:b,context:s,suffix:"headers"}):void 0,R=Go({route:n,pathParams:T.path,operationId:d,context:s}),A=Fo({body:S,queryParams:j,params:R,headers:E}),D=await Mt({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)||G(g==null?void 0:g.formData)?await Mt({output:t.target,name:b,mutator:g.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Pe=I(g==null?void 0:g.formUrlEncoded)||G(g==null?void 0:g.formUrlEncoded)?await Mt({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:R,props:A,mutator:D,formData:se,formUrlEncoded:Pe,override:g,doc:_,deprecated:m},Ue=await gt(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(On(s)){let i=await Qp({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=eo(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=Eo(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(br());var $r=(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"};
|
|
321
|
-
`;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"};
|
|
322
|
-
`}),n;let c=oe({schema:i.schema,propName:a,context:t}),l=`${H(s)}export type ${a} = ${c.value||"unknown"};
|
|
323
|
-
`;return n.push(...c.schemas),a!==c.value&&n.push({name:a,model:l,imports:c.imports}),n},[]);var $i=ce(br());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
|
|
324
|
-
`:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
325
|
-
`),!ve.includes(o.value)&&!((p=r==null?void 0:r.override)!=null&&p.useTypeOverInterfaces)?a+=`export interface ${e} ${o.value}
|
|
326
|
-
`:a+=`export type ${e} = ${o.value};
|
|
327
|
-
`;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=re({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};
|
|
328
|
-
`;else{let d=f!=null&&f.specKey?`${O(Pt(f.specKey,t.specKey))}${c.value}`:`${c.value}Bis`;m+=`export type ${p} = ${d};
|
|
329
|
-
`,l=l.map(u=>u.name===p?{...u,alias:d}:u)}}else m+=`export type ${p} = ${c.value};
|
|
330
|
-
`;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&&wn(r),t.length&&jn(t)};var kl=async({specs:e,input:t,workspace:r})=>{var o;let n=(o=t.override)!=null&&o.transformer?await gt(t.override.transformer,r):void 0;return ae(Object.entries(e),async(s,[a,i])=>{let p=await Jn(i,t.converterOptions,a),c=n?n(p):p;return t.validation&&await Si(c),s[a]=c,s},{})},xr=async({data:e,input:t,output:r,target:n,workspace:o})=>{var p;let s=await kl({specs:e,input:t,workspace:o}),a=Object.entries(s).reduce((c,[m,l])=>{var h,b,x,S;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?(h=l.components)==null?void 0:h.schemas:Ti(l),f,r.override.components.schemas.suffix),u=$r((b=l.components)==null?void 0:b.responses,f,r.override.components.responses.suffix),y=$r((x=l.components)==null?void 0:x.requestBodies,f,r.override.components.requestBodies.suffix),g=hi((S=l.components)==null?void 0:S.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}},Ti=e=>{var n;let t=_lodashomit2.default.call(void 0, e,["openapi","info","servers","paths","components","security","tags","externalDocs"]);return{...Object.entries(t).reduce((o,[s,a])=>G(a)?!a.type&&!M(a)?{...o,...Ti(a)}:(o[s]=a,o):o,{}),...(n=e==null?void 0:e.components)==null?void 0:n.schemas}};var Gl=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]))},ji=async(e,t)=>{let{input:r,output:n}=t;if(G(r.target))return xr({data:{[e]:r.target},input:r,output:n,target:e,workspace:e});let o=he(r.target),s=await Gl(r.target,r.parserOptions,o);return xr({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 Pi=async(e,t=[],r=[])=>{q(_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){q(_chalk2.default.red(`\u{1F6D1} Failed to run ${e} hook: ${a}`))}}else N(n)&&await n(r)};var Wl=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let a=s;return a+=kn({imports:e.filter(i=>!t.includes(`type ${i.alias||i.name} =`)&&!t.includes(`interface ${i.alias||i.name} {`)),target:r,isRootKey:n,specsName:o}),a+=e.length?`
|
|
331
|
-
|
|
332
|
-
`:`
|
|
333
|
-
`,a+=t,a},Ql=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`);var Hl=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, Ql(e,a),Wl({schema:t,target:r,isRootKey:n,specsName:o,header:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${i}`}},vi=async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>{var i,p;let a=_upath.join.call(void 0, e,"/index.ts");await _fsextra.ensureFile.call(void 0, a),await Promise.all(t.map(c=>Hl({path:e,schema:c,target:r,isRootKey:n,specsName:o,header:s})));try{let m=(await _fsextra.readFile.call(void 0, a)).toString(),l=t.filter(u=>!m.includes(`export * from './${w(u.name)}'`)&&!m.includes(`export * from "./${w(u.name)}"`)).map(u=>`export * from './${w(u.name)}';`),d=[...(p=(i=m.match(/export \* from(.*)('|")/g))==null?void 0:i.map(u=>u+";"))!=null?p:[],...l].sort().join(`
|
|
334
|
-
`);await _fsextra.writeFile.call(void 0, a,d)}catch(c){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${a} => ${c}`}};var zl=(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})=>zl(r,n),"");var _compareversions = require('compare-versions');var kt=(e,t,r=">=")=>e==="latest"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var At=(e,t,r)=>{let n=Object.values(e).map(({operationName:i})=>i),o=(r==null?void 0:r.client)===W.ANGULAR,s=jt({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=kt(h,"4.5.0"),x=Tt({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=wt({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 Mi=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}=At(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 Ci=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}=At(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 Ll=e=>({...e,tags:e.tags.length?e.tags:["default"]}),Yl=(e,t)=>t.tags.map(mt).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),It=(e,t)=>{let r=t.client===W.ANGULAR,n=Object.values(e).map(Ll).reduce((o,s,a,i)=>{let p=Yl(o,s);return a===i.length-1?Object.entries(p).reduce((c,[m,l])=>{var b,x,S,T,j,E,R,A;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=(R=(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?R:"4.4.0",y=kt(u,"4.5.0"),g=jt({outputClient:t.client,title:O(m),customTitleFunc:t.override.title}),$=wt({outputClient:t==null?void 0:t.client,operationNames:d,hasMutator:!!((A=l.mutators)!=null&&A.length),hasAwaitedType:y,titles:g}),h=Tt({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 ki=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=It(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 R=f+(W.ANGULAR===n.client?".service":"")+p,A=_upath.join.call(void 0, i,f,R);await _fsextra.outputFile.call(void 0, A,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),[A,...E?[E]:[],...D?[D]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${f} => ${u}`}}))).flatMap(f=>f)};var Di=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=It(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(R=>!$.some(A=>R.name===A.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 R=s+xe(t);await _fsextra.outputFile.call(void 0, j,R)}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,`${mt(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 ou=(e,t)=>{if(!e)return"";let r=e(t);return Array.isArray(r)?H({description:r}):r},Fi=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=Pt(u,r).slice(1).split("/").join("-");return d[u]=g,d},{}),m=ou(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 vi({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 Ci({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.TAGS:l=await Di({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.TAGS_SPLIT:l=await ki({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:c,header:m});break;case ie.SINGLE:default:l=await Mi({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 Pi("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`))}Tn(p)};var Ni=e=>{Sn(e),process.exit(1)};var Ui=async(e,t,r)=>{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Qt(["**/*","!**/*.d.ts",...o],v(t.output.target).dirname),t.output.schemas&&await Qt(["**/*","!**/*.d.ts",...o],v(t.output.schemas).dirname),q(`${r?`${r}: `:""}Cleaning output folder`)}let n=await ji(e,t);await Fi(n,e,t,r)},Vi=async(e,t,r)=>{if(r){let n=e[r];if(n)try{await Ui(t,n,r)}catch(o){q(_chalk2.default.red(`\u{1F6D1} ${r?`${r} - `:""}${o}`))}else Ni("Project not found");return}return ae(Object.entries(e),async(n,[o,s])=>{try{n.push(await Ui(t,s,o))}catch(a){q(_chalk2.default.red(`\u{1F6D1} ${o?`${o} - `:""}${a}`))}return n},[])},Hx= exports.L =async(e,t)=>{let{path:r,file:n,error:o}=await ft(e,{defaultFileName:"orval.config"});if(!n)throw`failed to load from ${r} => ${o}`;let s=_upath.dirname.call(void 0, r),a=await(N(n)?n():n),i=await ae(Object.entries(a),async(c,[m,l])=>(c[m]=await Ln(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?Yn(t==null?void 0:t.watch,()=>Vi(i,s,t==null?void 0:t.projectName),p):await Vi(i,s,t==null?void 0:t.projectName)};exports.a = Dt; exports.b = I; exports.c = q; exports.d = du; exports.e = O; exports.f = w; exports.g = yu; exports.h = mt; exports.i = hu; exports.j = z; exports.k = C; exports.l = F; exports.m = ct; exports.n = lt; exports.o = oa; exports.p = ve; exports.q = ne; exports.r = wu; exports.s = kn; exports.t = Q; exports.u = ia; exports.v = ut; exports.w = ue; exports.x = aa; exports.y = pa; exports.z = fe; exports.A = ma; exports.B = ca; exports.C = de; exports.D = ge; exports.E = ye; exports.F = ed; exports.G = Ln; exports.H = zn; exports.I = Y; exports.J = Yn; exports.K = Ui; exports.L = Hx;
|