@orval/core 6.11.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/index.d.ts +1097 -0
- package/dist/index.js +111 -0
- package/package.json +53 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var en=Object.create;var $t=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var rn=Object.getOwnPropertyNames;var on=Object.getPrototypeOf,nn=Object.prototype.hasOwnProperty;var I=(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 O=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var sn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of rn(t))!nn.call(e,o)&&o!==r&&$t(e,o,{get:()=>t[o],enumerable:!(n=tn(t,o))||n.enumerable});return e};var $e=(e,t,r)=>(r=e!=null?en(on(e)):{},sn(t||!e||!e.__esModule?$t(r,"default",{value:e,enumerable:!0}):r,e));var We=O((cp,Tt)=>{var pn=Object.prototype;function mn(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||pn;return e===r}Tt.exports=mn});var wt=O((lp,Rt)=>{function cn(e,t){return function(r){return e(t(r))}}Rt.exports=cn});var Mt=O((up,Gt)=>{var ln=wt(),un=ln(Object.keys,Object);Gt.exports=un});var Et=O((fp,Pt)=>{var fn=We(),dn=Mt(),gn=Object.prototype,yn=gn.hasOwnProperty;function bn(e){if(!fn(e))return dn(e);var t=[];for(var r in Object(e))yn.call(e,r)&&r!="constructor"&&t.push(r);return t}Pt.exports=bn});var Ue=O((dp,Ct)=>{var hn=typeof global=="object"&&global&&global.Object===Object&&global;Ct.exports=hn});var L=O((gp,It)=>{var On=Ue(),xn=typeof self=="object"&&self&&self.Object===Object&&self,Sn=On||xn||Function("return this")();It.exports=Sn});var Le=O((yp,At)=>{var jn=L(),$n=jn.Symbol;At.exports=$n});var Ft=O((bp,Nt)=>{var Dt=Le(),kt=Object.prototype,vn=kt.hasOwnProperty,Tn=kt.toString,fe=Dt?Dt.toStringTag:void 0;function Rn(e){var t=vn.call(e,fe),r=e[fe];try{e[fe]=void 0;var n=!0}catch (e2){}var o=Tn.call(e);return n&&(t?e[fe]=r:delete e[fe]),o}Nt.exports=Rn});var Vt=O((hp,qt)=>{var wn=Object.prototype,Gn=wn.toString;function Mn(e){return Gn.call(e)}qt.exports=Mn});var de=O((Op,Ut)=>{var Bt=Le(),Pn=Ft(),En=Vt(),Cn="[object Null]",In="[object Undefined]",Wt=Bt?Bt.toStringTag:void 0;function An(e){return e==null?e===void 0?In:Cn:Wt&&Wt in Object(e)?Pn(e):En(e)}Ut.exports=An});var ze=O((xp,Lt)=>{function Dn(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Lt.exports=Dn});var _e=O((Sp,zt)=>{var kn=de(),Nn=ze(),Fn="[object AsyncFunction]",qn="[object Function]",Vn="[object GeneratorFunction]",Bn="[object Proxy]";function Wn(e){if(!Nn(e))return!1;var t=kn(e);return t==qn||t==Vn||t==Fn||t==Bn}zt.exports=Wn});var Kt=O((jp,_t)=>{var Un=L(),Ln=Un["__core-js_shared__"];_t.exports=Ln});var Qt=O(($p,Jt)=>{var Ke=Kt(),Ht=function(){var e=/[^.]+$/.exec(Ke&&Ke.keys&&Ke.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zn(e){return!!Ht&&Ht in e}Jt.exports=zn});var He=O((vp,Yt)=>{var _n=Function.prototype,Kn=_n.toString;function Hn(e){if(e!=null){try{return Kn.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}Yt.exports=Hn});var Zt=O((Tp,Xt)=>{var Jn=_e(),Qn=Qt(),Yn=ze(),Xn=He(),Zn=/[\\^$.*+?()[\]{}|]/g,es=/^\[object .+?Constructor\]$/,ts=Function.prototype,rs=Object.prototype,os=ts.toString,ns=rs.hasOwnProperty,ss=RegExp("^"+os.call(ns).replace(Zn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function as(e){if(!Yn(e)||Qn(e))return!1;var t=Jn(e)?ss:es;return t.test(Xn(e))}Xt.exports=as});var tr=O((Rp,er)=>{function is(e,t){return e==null?void 0:e[t]}er.exports=is});var oe=O((wp,rr)=>{var ps=Zt(),ms=tr();function cs(e,t){var r=ms(e,t);return ps(r)?r:void 0}rr.exports=cs});var nr=O((Gp,or)=>{var ls=oe(),us=L(),fs=ls(us,"DataView");or.exports=fs});var ar=O((Mp,sr)=>{var ds=oe(),gs=L(),ys=ds(gs,"Map");sr.exports=ys});var pr=O((Pp,ir)=>{var bs=oe(),hs=L(),Os=bs(hs,"Promise");ir.exports=Os});var cr=O((Ep,mr)=>{var xs=oe(),Ss=L(),js=xs(Ss,"Set");mr.exports=js});var ur=O((Cp,lr)=>{var $s=oe(),vs=L(),Ts=$s(vs,"WeakMap");lr.exports=Ts});var xr=O((Ip,Or)=>{var Je=nr(),Qe=ar(),Ye=pr(),Xe=cr(),Ze=ur(),hr=de(),ne=He(),fr="[object Map]",Rs="[object Object]",dr="[object Promise]",gr="[object Set]",yr="[object WeakMap]",br="[object DataView]",ws=ne(Je),Gs=ne(Qe),Ms=ne(Ye),Ps=ne(Xe),Es=ne(Ze),X=hr;(Je&&X(new Je(new ArrayBuffer(1)))!=br||Qe&&X(new Qe)!=fr||Ye&&X(Ye.resolve())!=dr||Xe&&X(new Xe)!=gr||Ze&&X(new Ze)!=yr)&&(X=function(e){var t=hr(e),r=t==Rs?e.constructor:void 0,n=r?ne(r):"";if(n)switch(n){case ws:return br;case Gs:return fr;case Ms:return dr;case Ps:return gr;case Es:return yr}return t});Or.exports=X});var Te=O((Ap,Sr)=>{function Cs(e){return e!=null&&typeof e=="object"}Sr.exports=Cs});var $r=O((Dp,jr)=>{var Is=de(),As=Te(),Ds="[object Arguments]";function ks(e){return As(e)&&Is(e)==Ds}jr.exports=ks});var wr=O((kp,Rr)=>{var vr=$r(),Ns=Te(),Tr=Object.prototype,Fs=Tr.hasOwnProperty,qs=Tr.propertyIsEnumerable,Vs=vr(function(){return arguments}())?vr:function(e){return Ns(e)&&Fs.call(e,"callee")&&!qs.call(e,"callee")};Rr.exports=Vs});var Mr=O((Np,Gr)=>{var Bs=Array.isArray;Gr.exports=Bs});var et=O((Fp,Pr)=>{var Ws=9007199254740991;function Us(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ws}Pr.exports=Us});var Cr=O((qp,Er)=>{var Ls=_e(),zs=et();function _s(e){return e!=null&&zs(e.length)&&!Ls(e)}Er.exports=_s});var Ar=O((Vp,Ir)=>{function Ks(){return!1}Ir.exports=Ks});var Fr=O((ge,se)=>{var Hs=L(),Js=Ar(),Nr=typeof ge=="object"&&ge&&!ge.nodeType&&ge,Dr=Nr&&typeof se=="object"&&se&&!se.nodeType&&se,Qs=Dr&&Dr.exports===Nr,kr=Qs?Hs.Buffer:void 0,Ys=kr?kr.isBuffer:void 0,Xs=Ys||Js;se.exports=Xs});var Vr=O((Bp,qr)=>{var Zs=de(),ea=et(),ta=Te(),ra="[object Arguments]",oa="[object Array]",na="[object Boolean]",sa="[object Date]",aa="[object Error]",ia="[object Function]",pa="[object Map]",ma="[object Number]",ca="[object Object]",la="[object RegExp]",ua="[object Set]",fa="[object String]",da="[object WeakMap]",ga="[object ArrayBuffer]",ya="[object DataView]",ba="[object Float32Array]",ha="[object Float64Array]",Oa="[object Int8Array]",xa="[object Int16Array]",Sa="[object Int32Array]",ja="[object Uint8Array]",$a="[object Uint8ClampedArray]",va="[object Uint16Array]",Ta="[object Uint32Array]",$={};$[ba]=$[ha]=$[Oa]=$[xa]=$[Sa]=$[ja]=$[$a]=$[va]=$[Ta]=!0;$[ra]=$[oa]=$[ga]=$[na]=$[ya]=$[sa]=$[aa]=$[ia]=$[pa]=$[ma]=$[ca]=$[la]=$[ua]=$[fa]=$[da]=!1;function Ra(e){return ta(e)&&ea(e.length)&&!!$[Zs(e)]}qr.exports=Ra});var Wr=O((Wp,Br)=>{function wa(e){return function(t){return e(t)}}Br.exports=wa});var Lr=O((ye,ae)=>{var Ga=Ue(),Ur=typeof ye=="object"&&ye&&!ye.nodeType&&ye,be=Ur&&typeof ae=="object"&&ae&&!ae.nodeType&&ae,Ma=be&&be.exports===Ur,tt=Ma&&Ga.process,Pa=function(){try{var e=be&&be.require&&be.require("util").types;return e||tt&&tt.binding&&tt.binding("util")}catch (e5){}}();ae.exports=Pa});var Hr=O((Up,Kr)=>{var Ea=Vr(),Ca=Wr(),zr=Lr(),_r=zr&&zr.isTypedArray,Ia=_r?Ca(_r):Ea;Kr.exports=Ia});var rt=O((Lp,Jr)=>{var Aa=Et(),Da=xr(),ka=wr(),Na=Mr(),Fa=Cr(),qa=Fr(),Va=We(),Ba=Hr(),Wa="[object Map]",Ua="[object Set]",La=Object.prototype,za=La.hasOwnProperty;function _a(e){if(e==null)return!0;if(Fa(e)&&(Na(e)||typeof e=="string"||typeof e.splice=="function"||qa(e)||Ba(e)||ka(e)))return!e.length;var t=Da(e);if(t==Wa||t==Ua)return!e.size;if(Va(e))return!Aa(e).length;for(var r in e)if(za.call(e,r))return!1;return!0}Jr.exports=_a});var K={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},sp= exports.OutputMode ={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},U= exports.Verbs ={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"},ue= exports.GetterPropType ={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"};var an=["number","string","null","unknown","undefined","object","blob"],ve= exports.generalJSTypesWithArray =an.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),vt= exports.VERBS_WITH_BODY =[U.POST,U.PUT,U.PATCH,U.DELETE],pp= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var No=$e(rt());var _esutils = require('esutils');var _upath = require('upath');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var C=e=>Boolean(e.$ref),Qr= exports.isDirectory =e=>!_upath.extname.call(void 0, e);function q(e){return Object.prototype.toString.call(e)==="[object Object]"}function z(e){return typeof e=="string"}function Yr(e){return typeof e=="number"}function he(e){return typeof e=="boolean"}function Xr(e){return typeof e=="function"}function Oe(e){return typeof e>"u"}function Zr(e){return typeof e===null}var eo=e=>Object.values(U).includes(e),Hp= exports.isRootKey =(e,t)=>e===t,Ja=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,Re= exports.isUrl =e=>_isURL2.default.call(void 0, e)||Ja.test(e);async function to(e,t,r){let n=typeof r=="object"?Object.create(r):r;for(let o of e)n=await t(n,o);return n}var ot=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},we=ot("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),Ge="a-z"+ot("DF-F6,F8-FF","00"),xe="A-Z"+ot("C0-D6,D8-DE","00"),Qa="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",H={capitalize:new RegExp("(^|["+we+"])(["+Ge+"])","g"),pascal:new RegExp("(^|["+we+"])+(["+Ge+xe+"])","g"),fill:new RegExp("["+we+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+Ge+"])","g"),improper:new RegExp("\\b("+Qa+")\\b","g"),relax:new RegExp("([^"+xe+"])(["+xe+"]*)(["+xe+"])(?=[^"+xe+"]|$)","g"),upper:new RegExp("^[^"+Ge+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+we+"]")},Ya=e=>e.replace(H.apostrophe,""),ro=String.prototype.toUpperCase,nt=String.prototype.toLowerCase,Me=(e,t,r=!1)=>(t!=null&&(e=e.replace(H.fill,function(n,o){return o?t+o:""})),r&&(e=Ya(e)),e),Xa=e=>nt.call(e.charAt(0))+e.slice(1),Za=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,st=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&H.upper.test(e)&&(e=nt.call(e)),!t&&!H.hole.test(e)){var o=Me(e," ");H.hole.test(o)&&(e=o)}return!r&&!H.room.test(e)&&(e=e.replace(H.relax,Za)),e},oo=(e,t,r)=>Me(nt.call(st(e,!!t)),t,r),h= exports.pascal =e=>Me(st(e,!1,!0).replace(H.pascal,(t,r,n)=>ro.call(n)),"",!0),x= exports.camel =e=>Xa(h(e)),Yp= exports.snake =e=>oo(e,"_",!0),Pe= exports.kebab =e=>oo(e,"-",!0),Xp= exports.upper =(e,t,r)=>Me(ro.call(st(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var Ee=(e,t,r=">=")=>e==="latest"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var no=process.env.ORVAL_DEBUG_FILTER,at=process.env.DEBUG;function so(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{no&&!s.includes(no)||n&&!(at!=null&&at.includes(o))||r(s,...a)}}var ri="\\*/",it="*\\/",pt=new RegExp(ri,"g");function P({description:e,deprecated:t,summary:r},n=!1){var m;let o=(Array.isArray(e)?e.filter(c=>!c.includes("eslint-disable")):[e||""]).map(c=>c.replace(pt,it)),s=[e,t,r].reduce((c,l)=>l?c+1:c,0);if(!s)return"";let a=s===1&&n,p=Array.isArray(e)?(m=e.find(c=>c.includes("eslint-disable")))==null?void 0:m.replace(pt,it):void 0,i=`${p?`/* ${p} */
|
|
2
|
+
`:""}/**`;return e&&(a||(i+=`
|
|
3
|
+
${n?" ":""} *`),i+=` ${o.join(`
|
|
4
|
+
* `)}`),t&&(a||(i+=`
|
|
5
|
+
${n?" ":""} *`),i+=" @deprecated"),r&&(a||(i+=`
|
|
6
|
+
${n?" ":""} *`),i+=` @summary ${r.replace(pt,it)}`),i+=a?" ":`
|
|
7
|
+
${n?" ":""}`,i+=`*/
|
|
8
|
+
`,i}var ao=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(z(e)){let n=_upath.resolve.call(void 0, t,e),o=await Promise.resolve().then(()=>$e(I(n)));return r&&q(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var Se=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);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 _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var V=console.log,um= exports.startMessage =({name:e,version:t,description:r})=>V(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),fm= exports.errorMessage =e=>V(_chalk2.default.red(e)),dm= exports.mismatchArgsMessage =e=>V(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),gm= exports.createSuccessMessage =e=>V(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),co= exports.ibmOpenapiValidatorWarnings =e=>{V(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>V(_chalk2.default.yellow(`Message : ${t.message}
|
|
9
|
+
Path : ${t.path}`)))},lo= exports.ibmOpenapiValidatorErrors =e=>{V(_chalk2.default.red("(!) Errors")),e.forEach(t=>V(_chalk2.default.red(`Message : ${t.message}
|
|
10
|
+
Path : ${t.path}`)))},mt= exports.LogLevels ={silent:0,error:1,warn:2,info:3},po,mo,ct=0;function ni(){let e=process.stdout.rows-2,t=e>0?`
|
|
11
|
+
`.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function Z(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=mt[e],s=n&&process.stdout.isTTY&&!process.env.CI?ni:()=>{};function a(m,c,l={}){if(o>=mt[m]){let u=m==="info"?"log":m,d=()=>{if(l.timestamp){let f=m==="info"?_chalk2.default.cyan.bold(r):m==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${f} ${c}`}else return c};m===po&&c===mo?(ct++,s(),console[u](d(),_chalk2.default.yellow(`(x${ct+1})`))):(ct=0,mo=c,po=m,l.clear&&s(),console[u](d()))}}let p=new Set,i={hasWarned:!1,info(m,c){a("info",m,c)},warn(m,c){i.hasWarned=!0,a("warn",m,c)},warnOnce(m,c){p.has(m)||(i.hasWarned=!0,a("warn",m,c),p.add(m))},error(m,c){i.hasWarned=!0,a("error",m,c)},clearScreen(m){o>=mt[m]&&s()}};return i}var T=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Qr(e),o=n?_upath.join.call(void 0, e,t+r):e,s=o.replace(/\.[^/.]+$/,""),a=_upath.dirname.call(void 0, o),p=_upath.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:a,filename:p}},yo=so("orval:file-load"),ut=new Map;async function ho(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s,alias:a,tsconfig:p,load:i=!0}=t!=null?t:{},m=Date.now(),c,l=!1,u=!1;if(e)c=_path2.default.resolve(e),l=e.endsWith(".ts");else if(o){let y=_path2.default.resolve(r,`${o}.js`);if(_fs2.default.existsSync(y)&&(c=y),!c){let g=_path2.default.resolve(r,`${o}.mjs`);_fs2.default.existsSync(g)&&(c=g,u=!0)}if(!c){let g=_path2.default.resolve(r,`${o}.ts`);_fs2.default.existsSync(g)&&(c=g,l=!0)}}c||(e?Z(s).error(_chalk2.default.red(`File not found => ${e}`)):o?Z(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):Z(s).error(_chalk2.default.red("File not found")),process.exit(1));let d=_upath.normalizeSafe.call(void 0, c),f=ut.get(c);if(f)return{path:d,...f,cached:!0};try{let y;if(!y&&!l&&!u)try{delete I.cache[I.resolve(c)],y=I(c),yo(`cjs loaded in ${Date.now()-m}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 ci(c,u,r||_upath.dirname.call(void 0, d),a,p==null?void 0:p.compilerOptions);i?y=await li(c,g,n):y=g,yo(`bundled file loaded in ${Date.now()-m}ms`)}return ut.set(c,{file:y}),{path:d,file:y}}catch(y){return ut.set(c,{error:y}),{path:d,error:y}}}async function ci(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(p){p.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(n){let m=Object.keys(n),c=m.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,m));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(n[c]),d=_upath.resolve.call(void 0, r,u.base),f=l.base?i.replace(l.base,d):_upath.joinSafe.call(void 0, d,i),g=_upath.extname.call(void 0, f)?f:`${f}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}if(o!=null&&o.paths){let m=Object.keys(o==null?void 0:o.paths),c=m.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,m));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(o==null?void 0:o.paths[c][0]),d=_upath.resolve.call(void 0, r,u.base),f=l.base?i.replace(l.base,d):_upath.joinSafe.call(void 0, d,i),g=_upath.extname.call(void 0, f)?f:`${f}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}})}}]:[],{name:"externalize-deps",setup(p){p.onResolve({filter:/.*/},i=>{let m=i.path;if(m[0]!=="."&&!_path2.default.isAbsolute(m))return{external:!0}})}},{name:"replace-import-meta",setup(p){p.onLoad({filter:/\.[jt]s$/},async i=>{let m=await _fs2.default.promises.readFile(i.path,"utf8");return{loader:i.path.endsWith(".ts")?"ts":"js",contents:m.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${i.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path2.default.dirname(i.path))).replace(/\b__filename\b/g,JSON.stringify(i.path))}})}}]}),{text:a}=s.outputFiles[0];return{code:a,dependencies:s.metafile?Object.keys(s.metafile.inputs):[]}}async function li(e,t,r){let n=_path2.default.extname(e),o=I.extensions[n];I.extensions[n]=(p,i)=>{i===e?p._compile(t,i):o(p,i)},delete I.cache[I.resolve(e)];let s=I(e),a=r&&s.__esModule?s.default:s;return I.extensions[n]=o,a}async function Mm(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 Ce=e=>e&&typeof e=="object";function ft(e,t){return!Ce(t)||!Ce(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:Ce(s)&&Ce(o)?r[n]=ft(s,o):r[n]=o,r},e)}var Cm=(e="",t)=>{var r;return e?((r=e.match(new RegExp(t,"g")))!=null?r:[]).length:0};var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Nm=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(V(_chalk2.default.yellow(`${r}
|
|
12
|
+
=> ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
|
|
13
|
+
Path: ${r}
|
|
14
|
+
Parsing Error: ${n}`}};var B=(e,t)=>{let r=_upath.relative.call(void 0, e,t);return _upath.normalizeSafe.call(void 0, `.${_upath.sep}${r}`)},xo= exports.getSpecName =(e,t)=>{if(Re(e)){let r=new URL(t);return e.replace(r.origin,"").replace(T(r.pathname).dirname,"").replace(`.${Se(e)}`,"")}return"/"+_upath.normalize.call(void 0, _upath.relative.call(void 0, T(t).dirname,e)).split("../").join("").replace(`.${Se(e)}`,"")};var So=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var J=e=>{if(!(Oe(e)||Zr(e)))return z(e)?`'${e}'`:Yr(e)||he(e)||Xr(e)?`${e}`:Array.isArray(e)?`[${e.map(J).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let a=J(n);return s.length===1?`{ ${r}: ${a}, }`:o?s.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},R= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:n="",dot:o="",dash:s="",es5keyword:a=!1,es5IdentifierName:p=!1,special:i=!1}=t!=null?t:{},m=e;return i!==!0&&(m=m.replace(/[!"`'#%&,:;<>=@{}~\$\(\)\*\+\/\\\?\[\]\^\|]/g,"")),r!==!0&&(m=m.replace(/[\s]/g,r)),n!==!0&&(m=m.replace(/['_']/g,n)),o!==!0&&(m=m.replace(/[.]/g,o)),s!==!0&&(m=m.replace(/[-]/g,s)),a&&(m=_esutils.keyword.isKeywordES5(m,!0)?`_${m}`:m),p&&(m.match(/^[0-9]/)?m=`N${m}`:m=_esutils.keyword.isIdentifierNameES5(m)?m:`_${m}`),m},Hm= exports.toObjectString =(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
|
|
15
|
+
`)+",":"",hi={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},Ie= exports.getNumberWord =e=>e.toString().split("").reduce((r,n)=>r+hi[n],""),$o= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var Q=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};var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var Zm=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&co(r),t.length&&lo(t)};var pe=(e,t)=>{let r=`export type ${t} = typeof ${t}[keyof typeof ${t}];
|
|
16
|
+
`,n=Ae(e);return r+=`
|
|
17
|
+
|
|
18
|
+
`,r+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
19
|
+
`,r+=`export const ${t} = {
|
|
20
|
+
${n}} as const;
|
|
21
|
+
`,r},Ae= exports.getEnumImplementation =e=>[...new Set(e.split(" | "))].reduce((t,r)=>{if(r==="null")return t;let n=r.startsWith("'")?r.slice(1,-1):r;return!Number.isNaN(Number(n))&&(n=Si(n)),n.length>1&&(n=R(n,{whitespace:"_",underscore:!0,dash:!0,special:!0})),t+` ${_esutils.keyword.isIdentifierNameES5(n)?n:`'${n}'`}: ${r},
|
|
22
|
+
`},""),Si=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var _url = require('url'); var _url2 = _interopRequireDefault(_url);var wc={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Ti=new RegExp("~1","g"),me= exports.getRefInfo =(e,t)=>{let[r,n]=e.split("#"),o=n==null?void 0:n.slice(1).split("/").map(i=>i.replace(Ti,"/")),s=o?_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""):"",a=n?o[o.length-1]:r.replace(`.${Se(r)}`,"").slice(r.lastIndexOf("/")+1);if(!r)return{name:h(a)+s,originalName:a,refPaths:o};let p=Re(t.specKey)?_url2.default.resolve(t.specKey,r):_upath.resolve.call(void 0, T(t.specKey).dirname,r);return{name:h(a)+s,originalName:a,specKey:p,refPaths:o}};var A=(e,t,r=[])=>{var i;if((i=e==null?void 0:e.schema)!=null&&i.$ref){let m=A(e==null?void 0:e.schema,t,r);return{schema:{...e,schema:m.schema},imports:r}}if(!C(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,refPaths:a}=me(e.$ref,t),p=a?_lodashget2.default.call(void 0, t.specs[s||t.specKey],a):t.specs[s||t.specKey];if(!p)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return A(p,{...t,specKey:s||t.specKey},[...r,{name:n,specKey:s,schemaName:o}])};var k=({schema:e,name:t,context:r})=>{if(C(e)){let{schema:o,imports:s}=A(e,r),{name:a,specKey:p,schemaName:i}=s[0],m=p||(r.specKey!==r.target?r.specKey:void 0);return{value:a,imports:[{name:a,specKey:m,schemaName:i}],type:(o==null?void 0:o.type)||"object",schemas:[],isEnum:!!(o!=null&&o.enum),originalSchema:o,isRef:!0}}return{...ce({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var W=({schema:e,propName:t,combined:r=!1,context:n})=>{var a;let o=k({schema:e,name:t,context:n}),s=P((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};
|
|
23
|
+
`,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let p=pe(o.value,t);return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:s+p,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var vo=({schema:e,name:t,context:r})=>{if(e.items){let n=W({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 _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var To=["multipart/form-data"],Ro=["application/x-www-form-urlencoded"],Mi=({mediaType:e,propName:t,context:r})=>e.schema?W({schema:e.schema,propName:t,context:r}):void 0,le= exports.getResReqTypes =(e,t,r,n="unknown")=>{let o=e.filter(([s,a])=>Boolean(a)).map(([s,a])=>{var p,i;if(C(a)){let{schema:m,imports:[{name:c,specKey:l,schemaName:u}]}=A(a,r),[d,f]=(i=Object.entries((p=m.content)!=null?p:{})[0])!=null?i:[],y=To.includes(d),g=Ro.includes(d);if(!y&&!g||!(f!=null&&f.schema))return[{value:c,imports:[{name:c,specKey:l,schemaName:u}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:d}];let S=y?De({name:c,schemaObject:f==null?void 0:f.schema,context:{...r,specKey:l||r.specKey},isRef:!0}):void 0,j=g?De({name:c,schemaObject:f==null?void 0:f.schema,context:{...r,specKey:l||r.specKey},isUrlEncoded:!0,isRef:!0}):void 0;return[{value:c,imports:[{name:c,specKey:l,schemaName:u}],schemas:[],type:"unknown",isEnum:!1,formData:S,formUrlEncoded:j,isRef:!0,originalSchema:f==null?void 0:f.schema,key:s,contentType:d}]}return a.content?Object.entries(a.content).map(([c,l],u,d)=>{let f=s?h(t)+h(s):void 0;f&&d.length>1&&(f=f+h(Ie(u+1)));let y=Mi({mediaType:l,propName:f,context:r});if(!y)return;let g=To.includes(c),S=Ro.includes(c);if(!g&&!S||!f)return{...y,contentType:c};let j=g?De({name:f,schemaObject:l.schema,context:r}):void 0,b=S?De({name:f,schemaObject:l.schema,context:r,isUrlEncoded:!0}):void 0;return{...y,formData:j,formUrlEncoded:b,contentType:c}}).filter(c=>c).map(c=>({...c,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")},De=({name:e,schemaObject:t,context:r,isUrlEncoded:n,isRef:o})=>{let{schema:s,imports:a}=A(t,r),p=!o&&C(t)?a[0].name:e,i=n?"formUrlEncoded":"formData",m=n?`const ${i} = new URLSearchParams();
|
|
24
|
+
`:`const ${i} = new FormData();
|
|
25
|
+
`;if(s.type==="object"&&s.properties){let c=Object.entries(s.properties).reduce((l,[u,d])=>{var S;let{schema:f}=A(d,r),y="",g=_esutils.keyword.isIdentifierNameES5(u)?`.${u}`:`['${u}']`;return f.type==="object"?y=`${i}.append('${u}', JSON.stringify(${x(p)}${g}));
|
|
26
|
+
`:f.type==="array"?y=`${x(p)}${g}.forEach(value => ${i}.append('${u}', value));
|
|
27
|
+
`:f.type==="number"||f.type==="integer"||f.type==="boolean"?y=`${i}.append('${u}', ${x(p)}${g}.toString())
|
|
28
|
+
`:y=`${i}.append('${u}', ${x(p)}${g})
|
|
29
|
+
`,(S=s.required)!=null&&S.includes(u)?l+y:l+`if(${x(p)}${g} !== undefined) {
|
|
30
|
+
${y} }
|
|
31
|
+
`},"");return`${m}${c}`}return s.type==="array"?`${m}${x(p)}.forEach(value => ${i}.append('data', value))
|
|
32
|
+
`:s.type==="number"||s.type==="boolean"?`${m}${i}.append('data', ${x(p)}.toString())
|
|
33
|
+
`:`${m}${i}.append('data', ${x(p)})
|
|
34
|
+
`};var wo=({requestBody:e,operationName:t,context:r,contentType:n})=>{let o=le([[r.override.components.requestBodies.suffix,e]],t,r),s=n?o.filter(c=>{let l=!0,u=!1;return n.include&&(l=n.include.includes(c.contentType)),n.exclude&&(u=n.exclude.includes(c.contentType)),l&&!u}):o,a=s.flatMap(({imports:c})=>c),p=s.flatMap(({schemas:c})=>c),i=s.map(({value:c})=>c).join(" | "),m=ve.includes(i.toLowerCase())||s.length>1?x(t)+r.override.components.requestBodies.suffix:x(i);return{definition:i,implementation:m,imports:a,schemas:p,...s.length===1?{formData:s[0].formData,formUrlEncoded:s[0].formUrlEncoded,contentType:s[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var ke=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Go=({item:e,name:t,context:r,nullable:n})=>{var o,s;if(C(e)){let{name:a,specKey:p}=me(e.$ref,r);return{value:a+n,imports:[{name:a,specKey:p}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf||e.oneOf||e.anyOf){let a=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return dt({schema:e,name:t,separator:a,context:r,nullable:n})}if(e.type instanceof Array)return dt({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,[p,i],m,c)=>{var S,j,b;let l=(Array.isArray(e.required)?e.required:[]).includes(p),u=t?h(t)+h(p):void 0;!!((b=(j=(S=r.specs[r.target])==null?void 0:S.components)==null?void 0:j.schemas)!=null&&b[u||""])&&(u=u+"Property");let f=W({schema:i,propName:u,context:r}),y=e.readOnly||i.readOnly;m||(a.value+="{");let g=P(i,!0);if(a.imports.push(...f.imports),a.value+=`
|
|
35
|
+
${g?`${g} `:""}${y?"readonly ":""}${ke(p)}${l?"":"?"}: ${f.value};`,a.schemas.push(...f.schemas),c.length-1===m){if(e.additionalProperties)if(he(e.additionalProperties))a.value+=`
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}`;else{let w=k({schema:e.additionalProperties,name:t,context:r});a.value+=`
|
|
38
|
+
[key: string]: ${w.value};
|
|
39
|
+
}`}else a.value+=`
|
|
40
|
+
}`;a.value+=n}return a},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(he(e.additionalProperties))return{value:"{ [key: string]: any }"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let a=k({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 ce=({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=>z(a)?$o(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}=Go({item:e,name:t,context:r,nullable:n});return{value:o,...s}}}};var Ci=({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(" | "),dt= exports.combineSchemas =({name:e,schema:t,separator:r,context:n,nullable:o})=>{var c;let s=(c=t[r])!=null?c:[],a=s.reduce((l,u)=>{let d=e?e+h(r):void 0;d&&l.schemas.length&&(d=d+h(Ie(l.schemas.length+1)));let f=W({schema:u,propName:d,combined:!0,context:n});return l.values.push(f.value),l.imports.push(...f.imports),l.schemas.push(...f.schemas),l.isEnum.push(f.isEnum),l.types.push(f.type),l.isRef.push(f.isRef),l},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[]}),p=a.isEnum.every(l=>l),i;t.properties&&(i=ce({item:_lodashomit2.default.call(void 0, t,r),name:e,context:n}));let m=Ci({resolvedData:a,separator:r,resolvedValue:i});if(p&&e&&s.length>1){let l=`
|
|
41
|
+
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
43
|
+
export const ${h(e)} = ${Ii(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${o};`+l,imports:a.imports.map(u=>({...u,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:m+o,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1}},Ii=({values:e,isRef:t,types:r})=>e.length===1?t[0]?e[0]:`{${Ae(e[0])}} as const`:`{${e.map((o,s)=>t[s]?`...${o},`:Ae(o)).join("")}} as const`;var Mo=(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:p}=s.discriminator;for(let[i,m]of Object.entries(a)){let c;try{let{name:l}=me(m,t);c=r[l]}catch (e6){c=r[m]}!c||(c.properties={...c.properties,[p]:{type:"string",enum:[i]}},c.required=[...(o=c.required)!=null?o:[],p])}}return r};var Po=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(n=>R(n,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var Eo=({parameters:e=[],context:t})=>e.reduce((r,n)=>{if(C(n)){let{schema:o,imports:s}=A(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 Ai=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Co= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:n})=>Ai(e).map(s=>{let a=t.find(({parameter:f})=>R(x(f.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:p,required:i=!1,schema:m}=a.parameter,c=R(x(p),{es5keyword:!0});if(!m)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=k({schema:m,context:{...n,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,d=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${J(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:d,default:l.originalSchema.default,required:i,imports:l.imports}});var Io=({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:ue.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:Oe(t==null?void 0:t.isOptional)?!1:!(t!=null&&t.isOptional),type:ue.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:Oe(n==null?void 0:n.isOptional)?!1:!(n!=null&&n.isOptional),type:ue.HEADER},p=[...r.map(m=>({...m,type:ue.PARAM})),...e.definition?[o]:[],...t?[s]:[],...n?[a]:[]];return So(p)};var Di=(e,t,r)=>e.map(({parameter:n,imports:o})=>{let{name:s,required:a,schema:p,content:i}=n,m=R(`${h(t)}${h(s)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{value:c,imports:l,isEnum:u,type:d,schemas:f,isRef:y}=k({schema:p||i["application/json"].schema,context:r,name:m}),g=ke(s);if(o.length)return{definition:`${g}${!a||p.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(u&&!y){let j=m,b=pe(c,j);return{definition:`${g}${!a||p.default?"?":""}: ${j}`,imports:[{name:j}],schemas:[...f,{name:j,model:b,imports:l}]}}return{definition:`${g}${!a||p.default?"?":""}: ${c}`,imports:l,schemas:f}}),gt= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:n="params"})=>{if(!e.length)return;let o=Di(e,t,r),s=o.flatMap(({imports:l})=>l),a=o.flatMap(({schemas:l})=>l),p=`${h(t)}${h(n)}`,i=o.map(({definition:l})=>l).join("; "),m=e.every(({parameter:l})=>!l.required);return{schema:{name:p,model:`export type ${p} = { ${i} };
|
|
44
|
+
`,imports:s},deps:a,isOptional:m}};var Ao=({responses:e,operationName:t,context:r,contentType:n})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let o=le(Object.entries(e),t,r,"void"),s=n?o.filter(u=>{let d=!0,f=!1;return n.include&&(d=n.include.includes(u.contentType)),n.exclude&&(f=n.exclude.includes(u.contentType)),d&&!f}):o,a=s.reduce((u,d)=>(d.key.startsWith("2")?u.success.push(d):u.errors.push(d),u),{success:[],errors:[]}),p=s.flatMap(({imports:u})=>u),i=s.flatMap(({schemas:u})=>u),m=[...new Set(s.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:d})=>d?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:p,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:m,schemas:i}};var Do=e=>/[^{]*{[\w*_-]*}.*/.test(e),ko=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!(t!=null&&t.length))return e;let r=t[1],n=R(x(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),o=Do(t[3])?ko(t[3]):t[3];return Do(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},Ql= exports.getRoute =e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${ko(n)}`:`${r}/${n}`,"");var hu=(e={},t,r)=>(0,No.default)(e)?[]:Object.entries(e).reduce((n,[o,s])=>{let a=le([[r,s]],o,t,"void"),p=a.flatMap(({imports:d})=>d),i=a.flatMap(({schemas:d})=>d),m=a.map(({value:d})=>d).join(" | "),c=R(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${P(s)}export type ${c} = ${m||"unknown"};
|
|
45
|
+
`;return n.push(...i),c!==m&&n.push({name:c,model:u,imports:p}),n},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Bo=({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:p})=>{if(o){let i=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${s}${p?` as ${p}`:""} } from '../${_upath.join.call(void 0, i,x(s))}';`:`import ${a?"":"type "}{ ${s}${p?` as ${p}`:""} } from './${_upath.join.call(void 0, i,x(s))}';`}return`import ${a?"":"type "}{ ${s}${p?` as ${p}`:""} } from './${x(s)}';`}).join(`
|
|
46
|
+
`):"",M= exports.generateMutatorImports =({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}`,p=`import ${o.default?o.name:`{ ${o.name} }`} from '${s}'`;if(t&&(o.hasErrorType||o.bodyTypeName)){let i="";o.hasErrorType&&t.includes(o.errorTypeName)&&(i=o.default?`ErrorType as ${o.errorTypeName}`:o.errorTypeName);let m="";o.bodyTypeName&&t.includes(o.bodyTypeName)&&(m=o.default?`BodyType as ${o.bodyTypeName}`:o.bodyTypeName),(m||i)&&(p+=`
|
|
47
|
+
`,p+=`import type { ${i}${i&&m?", ":""}${m} } from '${s}'`)}return p}).join(`
|
|
48
|
+
`);return n?n+`
|
|
49
|
+
`:""},qo=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:n,key:o,onlyTypes:s})=>{let a=e.find(l=>l.default&&(t||!l.syntheticDefaultImport)),p=t?void 0:e.find(l=>l.syntheticDefaultImport),i=_lodashuniq2.default.call(void 0, e.filter(l=>!l.default&&!l.syntheticDefaultImport).map(({name:l,alias:u})=>u?`${l} as ${u}`:l)).join(`,
|
|
50
|
+
`),m="",c=p?`import * as ${p.name} from '${r}';`:"";if(c){if(e.length===1)return c;m+=`${c}
|
|
51
|
+
`}return m+=`import ${s?"type ":""}${a?`${a.name}${i?",":""}`:""}${i?`{
|
|
52
|
+
${i}
|
|
53
|
+
}`:""} from '${r}${o!=="default"&&n[o]?`/${n[o]}`:""}'`,m},Ni= exports.addDependency =({implementation:e,exports:t,dependency:r,specsName:n,hasSchemaDir:o,isAllowSyntheticDefaultImports:s})=>{let a=t.filter(i=>e.includes(i.alias||i.name));if(!a.length)return;let p=a.reduce((i,m)=>{var l,u,d,f;let c=o&&m.specKey?m.specKey:"default";return m.values&&(s||!m.syntheticDefaultImport)?(i[c]={...i[c],values:[...(u=(l=i[c])==null?void 0:l.values)!=null?u:[],m]},i):(i[c]={...i[c],types:[...(f=(d=i[c])==null?void 0:d.types)!=null?f:[],m]},i)},{});return Object.entries(p).map(([i,{values:m,types:c}])=>{let l="";return m&&(l+=qo({deps:m,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:i,onlyTypes:!1})),c&&(m&&(l+=`
|
|
54
|
+
`),l+=qo({deps:c,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:i,onlyTypes:!0})),l}).join(`
|
|
55
|
+
`)},vu= exports.generateDependencyImports =(e,t,r,n,o)=>{let s=t.map(a=>Ni({...a,implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})).filter(Boolean).join(`
|
|
56
|
+
`);return s?s+`
|
|
57
|
+
`:""},Tu= exports.generateVerbImports =({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 Fi=(e,t)=>e+`${t}
|
|
58
|
+
`,Y= exports.generateModelsInline =e=>Object.values(e).flatMap(r=>r).sort((r,n)=>r.imports.some(o=>o.name===n.name)?1:-1).reduce((r,{model:n})=>Fi(r,n),"");var _acorn = require('acorn');var _fsextra = require('fs-extra');var Ne="BodyType",Uo=(e,t)=>{let r=T(e),n=T(t.path),{pathWithoutExtension:o}=T(B(r.dirname,n.path));return o},qe= exports.generateMutator =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`,p=t.path,i=await _fsextra.readFile.call(void 0, p,"utf8"),m=i.includes("export type ErrorType")||i.includes("export interface ErrorType"),c=i.includes(`export type ${Ne}`)||i.includes(`export interface ${Ne}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${Ne}`:Ne,{file:d,cached:f}=await ho(p,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(d){let y=s?"default":t.name,g=Bi(d,y);g||(Z().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let S=Uo(e,t),j=t.name?!!t.name.startsWith("use")&&!g.numberOfParams:!g.numberOfParams;return{name:t.name||!j?a:`use${h(a)}`,path:S,default:s,hasErrorType:m,errorTypeName:l,hasSecondArg:j?g.returnNumberOfParams>1:g.numberOfParams>1,hasThirdArg:g.numberOfParams>2,isHook:j,...c?{bodyTypeName:u}:{}}}else{let y=Uo(e,t);return f||Z().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:y,default:s,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:m,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},Bi=(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(p=>{var i,m,c,l,u,d,f;if(p.type==="ExpressionStatement")return(c=(m=(i=p.expression.arguments)==null?void 0:i[1])==null?void 0:m.properties)!=null&&c.some(y=>{var g;return((g=y.key)==null?void 0:g.name)===t})||((u=(l=p.expression.left)==null?void 0:l.property)==null?void 0:u.name)===t?!0:(f=(d=p.expression.right)==null?void 0:d.properties)==null?void 0:f.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 Fe(o,s.expression.right.name);let p=(n=s.expression.right)==null?void 0:n.properties.find(i=>i.key.name===t);return p.value.name?Fe(o,p.value.name):p.value.type==="FunctionExpression"||p.value.type==="ArrowFunctionExpression"?{numberOfParams:p.value.params.length}:void 0}let a=s.expression.arguments[1].properties.find(p=>{var i;return((i=p.key)==null?void 0:i.name)===t});return Fe(o,a.value.body.name)}catch (e7){return}},Fe=(e,t)=>{var s,a,p,i,m,c,l;let r=(s=e==null?void 0:e.body)==null?void 0:s.find(u=>{if(u.type==="VariableDeclaration")return u.declarations.find(d=>d.id.name===t);if(u.type==="FunctionDeclaration"&&u.id.name===t)return u});if(!r)return;if(r.type==="FunctionDeclaration"){let u=(p=(a=r.body)==null?void 0:a.body)==null?void 0:p.find(d=>d.type==="ReturnStatement");return(i=u==null?void 0:u.argument)!=null&&i.params?{numberOfParams:r.params.length,returnNumberOfParams:u.argument.params.length}:{numberOfParams:r.params.length}}let n=r.declarations.find(u=>u.id.name===t);if(n.init.name)return Fe(e,n.init.name);let o=(c=(m=n.init.body)==null?void 0:m.body)==null?void 0:c.find(u=>u.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 Wi=(e,t,r)=>t&&e.formData?`
|
|
59
|
+
formData,`:r&&e.formUrlEncoded?`
|
|
60
|
+
formUrlEncoded,`:e.implementation?`
|
|
61
|
+
${e.implementation},`:"",Ui= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:n,requestOptions:o,hasSignal:s})=>{var i;let a=o!==!1;if(!r&&!n&&!e.isBlob)return a?"options":s?t?"...(signal ? { signal } : {})":"signal":"";let p="";return a||(r&&(p+=`
|
|
62
|
+
params,`),n&&(p+=`
|
|
63
|
+
headers,`),s&&(p+=t?`
|
|
64
|
+
...(signal ? { signal } : {}),`:`
|
|
65
|
+
signal,`)),e.isBlob&&(!q(o)||!o.hasOwnProperty("responseType"))&&(p+=`
|
|
66
|
+
responseType: 'blob',`),q(o)&&(p+=`
|
|
67
|
+
${(i=J(o))==null?void 0:i.slice(1,-1)}`),a&&(p+=`
|
|
68
|
+
...options,`,r&&(p+=`
|
|
69
|
+
params: {...params, ...options?.params},`),n&&(p+=`
|
|
70
|
+
headers: {...headers, ...options?.headers},`)),p},Bu= exports.generateOptions =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,requestOptions:a,isFormData:p,isFormUrlEncoded:i,isAngular:m,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let u=vt.includes(s),d=u?Wi(t,p,i):"",f=Ui({response:o,queryParams:n==null?void 0:n.schema,headers:r==null?void 0:r.schema,requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),y=f?`{${f}}`:"";return s===U.DELETE?d?`
|
|
71
|
+
\`${e}\`,{${m?"body":"data"}:${d} ${f==="options"?`...${f}`:f}}
|
|
72
|
+
`:`
|
|
73
|
+
\`${e}\`,${f==="options"?f:y}
|
|
74
|
+
`:`
|
|
75
|
+
\`${e}\`,${u?d||"undefined,":""}${f==="options"?f:y}
|
|
76
|
+
`},Li= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
|
|
77
|
+
data: formData`:r&&e.formUrlEncoded?`,
|
|
78
|
+
data: formUrlEncoded`:e.implementation?`,
|
|
79
|
+
data: ${e.implementation}`:"",zi= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
|
|
80
|
+
params`),e.isBlob&&(r+=`,
|
|
81
|
+
responseType: 'blob'`),r},Wu= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,isFormData:a,isFormUrlEncoded:p,isBodyVerb:i,hasSignal:m,isExactOptionalPropertyTypes:c})=>{let l=i?Li(t,a,p):"",u=zi(o,n),d=t.contentType?`,
|
|
82
|
+
headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
|
|
83
|
+
headers`:"";return`{url: \`${e}\`, method: '${s}'${d}${l}${u}${!i&&m?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
|
|
84
|
+
}`},Uu= exports.generateMutatorRequestOptions =(e,t)=>{var r,n;return t?q(e)?`{${(n=J(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":q(e)?(r=J(e))==null?void 0:r.slice(1,-1):""},Lu= exports.generateFormDataAndUrlEncodedFunction =({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 Hu=(e={},t,r)=>Object.entries(e).reduce((n,[o,s])=>{let a=R(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:p,imports:i}=A(s,t);if(p.in!=="query")return n;if(!p.schema||i.length)return n.push({name:a,imports:i.length?[{name:i[0].name,specKey:i[0].specKey,schemaName:i[0].schemaName}]:[],model:`export type ${a} = ${i.length?i[0].name:"unknown"};
|
|
85
|
+
`}),n;let m=W({schema:p.schema,propName:a,context:t}),l=`${P(s)}export type ${a} = ${m.value||"unknown"};
|
|
86
|
+
`;return n.push(...m.schemas),a!==m.value&&n.push({name:a,model:l,imports:m.imports}),n},[]);var zo=$e(rt());var Lo=({name:e,schema:t,context:r,suffix:n})=>{var i;let o=ce({item:t,name:e,context:r}),s=o.value==="{}",a="";a+=P(t),s&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
|
|
87
|
+
`:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
88
|
+
`),!ve.includes(o.value)&&!((i=r==null?void 0:r.override)!=null&&i.useTypeOverInterfaces)?a+=`export interface ${e} ${o.value}
|
|
89
|
+
`:a+=`export type ${e} = ${o.value};
|
|
90
|
+
`;let p=o.imports.filter(m=>m.name!==e);return[...o.schemas,{name:e,model:a,imports:p}]};var nf=(e={},t,r)=>{if((0,zo.default)(e))return[];let n=Mo(e,t);return Object.entries(n).reduce((s,[a,p])=>{let i=R(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!p.type||p.type==="object")&&!p.allOf&&!p.oneOf&&!p.anyOf&&!C(p)&&!p.nullable)return s.push(...Lo({name:i,schema:p,context:t,suffix:r})),s;{let m=k({schema:p,name:i,context:t}),c="",l=m.imports;if(c+=P(p),m.isEnum&&!m.isRef)c+=pe(m.value,i);else if(i===m.value&&m.isRef){let u=m.imports.find(d=>d.name===i);if(!u)c+=`export type ${i} = ${m.value};
|
|
91
|
+
`;else{let d=u!=null&&u.specKey?`${h(xo(u.specKey,t.specKey))}${m.value}`:`${m.value}Bis`;c+=`export type ${i} = ${d};
|
|
92
|
+
`,l=l.map(f=>f.name===i?{...f,alias:d}:f)}}else c+=`export type ${i} = ${m.value};
|
|
93
|
+
`;return s.push(...m.schemas,{name:i,model:c,imports:l}),s}},[])};var _i=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var St;let{responses:a,requestBody:p,parameters:i,tags:m=[],deprecated:c,description:l,summary:u}=r,d=Po(r,n,e),f=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((jt,[Xo,Zo])=>m.includes(Xo)?ft(jt,Zo):jt,{}),g={...t.override,...y,...f},S=(f==null?void 0:f.operationName)||((St=t.override)==null?void 0:St.operationName),j=S?S(r,n,e):x(d),b=R(j,{es5keyword:!0}),w=Ao({responses:a,operationName:b,context:s,contentType:g.contentType}),v=wo({requestBody:p,operationName:b,context:s,contentType:g.contentType}),G=Eo({parameters:[...o,...i!=null?i:[]],context:s}),D=gt({queryParams:G.query,operationName:b,context:s}),N=t.headers?await gt({queryParams:G.header,operationName:b,context:s,suffix:"headers"}):void 0,F=Co({route:n,pathParams:G.path,operationId:d,context:s}),re=Io({body:v,queryParams:D,params:F,headers:N}),_=await qe({output:t.target,name:b,mutator:g==null?void 0:g.mutator,workspace:s.workspace,tsconfig:s.tsconfig}),Jo=z(g==null?void 0:g.formData)||q(g==null?void 0:g.formData)?await qe({output:t.target,name:b,mutator:g.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Qo=z(g==null?void 0:g.formUrlEncoded)||q(g==null?void 0:g.formUrlEncoded)?await qe({output:t.target,name:b,mutator:g.formUrlEncoded,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Yo=P({description:l,deprecated:c,summary:u}),Ot={verb:e,tags:m,summary:r.summary,operationId:d,operationName:b,response:w,body:v,headers:N,queryParams:D,params:F,props:re,mutator:_,formData:Jo,formUrlEncoded:Qo,override:g,doc:Yo,deprecated:c},xt=await ao(g==null?void 0:g.transformer,s.workspace);return xt?xt(Ot):Ot},cf= exports.generateVerbsOptions =({verbs:e,output:t,route:r,context:n})=>to(Object.entries(e),async(o,[s,a])=>{if(eo(s)){let p=await _i({verb:s,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});o.push(p)}return o},[]);var Yi=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let a=s;return a+=Bo({imports:e.filter(p=>!t.includes(`type ${p.alias||p.name} =`)&&!t.includes(`interface ${p.alias||p.name} {`)),target:r,isRootKey:n,specsName:o}),a+=e.length?`
|
|
94
|
+
|
|
95
|
+
`:`
|
|
96
|
+
`,a+=t,a},Xi=(e,t)=>_upath.join.call(void 0, e,`/${t}.ts`),Zi= exports.writeModelInline =(e,t)=>e+`${t}
|
|
97
|
+
`,Tf= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>Zi(t,r),""),ep= exports.writeSchema =async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:s})=>{let a=x(t.name);try{await _fsextra.outputFile.call(void 0, Xi(e,a),Yi({schema:t,target:r,isRootKey:n,specsName:o,header:s}))}catch(p){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${p}`}},Rf= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>{var p,i;let a=_upath.join.call(void 0, e,"/index.ts");await _fsextra.ensureFile.call(void 0, a),await Promise.all(t.map(m=>ep({path:e,schema:m,target:r,isRootKey:n,specsName:o,header:s})));try{let c=(await _fsextra.readFile.call(void 0, a)).toString(),l=t.filter(f=>!c.includes(`export * from './${x(f.name)}'`)&&!c.includes(`export * from "./${x(f.name)}"`)).map(f=>`export * from './${x(f.name)}';`),d=[...(i=(p=c.match(/export \* from(.*)('|")/g))==null?void 0:p.map(f=>f+";"))!=null?i:[],...l].sort().join(`
|
|
98
|
+
`);await _fsextra.writeFile.call(void 0, a,d)}catch(m){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${a} => ${m}`}};var Ve=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),n=(t==null?void 0:t.client)===K.ANGULAR,o=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),s=Object.values(e.operations).reduce((a,p,i,m)=>{var c,l,u,d,f,y;if(a.imports.push(...p.imports),a.importsMSW.push(...p.importsMSW),a.implementation+=p.implementation+`
|
|
99
|
+
`,a.implementationMSW.function+=p.implementationMSW.function,a.implementationMSW.handler+=p.implementationMSW.handler,p.mutator&&a.mutators.push(p.mutator),p.formData&&a.formData.push(p.formData),p.formUrlEncoded&&a.formUrlEncoded.push(p.formUrlEncoded),i===m.length-1){let g=a.mutators.some(v=>n?v.hasThirdArg:v.hasSecondArg),S=(y=(f=(l=(c=t.packageJson)==null?void 0:c.dependencies)==null?void 0:l.typescript)!=null?f:(d=(u=t.packageJson)==null?void 0:u.devDependencies)==null?void 0:d.typescript)!=null?y:"4.4.0",j=Ee(S,"4.5.0"),b=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:g,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:j,titles:o});a.implementation=b.implementation+a.implementation,a.implementationMSW.handler=b.implementationMSW+a.implementationMSW.handler;let w=e.footer({outputClient:t==null?void 0:t.client,operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:j,titles:o});a.implementation+=w.implementation,a.implementationMSW.handler+=w.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[],formUrlEncoded:[]});return{...s,implementationMSW:s.implementationMSW.function+s.implementationMSW.handler}};var qf=async({builder:e,output:t,specsName:r,header:n})=>{try{let{path:o,dirname:s}=T(t.target,{backupFilename:x(e.info.title)}),{imports:a,importsMSW:p,implementation:i,implementationMSW:m,mutators:c,formData:l,formUrlEncoded:u}=Ve(e,t),d=n,f=t.schemas?B(s,T(t.schemas).dirname):void 0,y=Q(t.tsconfig);return d+=e.imports({client:t.client,implementation:i,imports:f?[{exports:a.filter(g=>!p.some(S=>g.name===S.name)),dependency:f}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:y,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(d+=e.importsMock({implementation:m,imports:f?[{exports:p,dependency:f}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:y})),c&&(d+=M({mutators:c,implementation:i})),l&&(d+=M({mutators:l})),u&&(d+=M({mutators:u})),t.schemas||(d+=Y(e.schemas)),d+=`
|
|
100
|
+
|
|
101
|
+
${i}`,t.mock&&(d+=`
|
|
102
|
+
|
|
103
|
+
`,d+=m),await _fsextra.outputFile.call(void 0, o,d),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var Hf=async({builder:e,output:t,specsName:r,header:n})=>{try{let{filename:o,dirname:s,extension:a}=T(t.target,{backupFilename:x(e.info.title)}),{imports:p,implementation:i,implementationMSW:m,importsMSW:c,mutators:l,formData:u,formUrlEncoded:d}=Ve(e,t),f=n,y=n,g=t.schemas?B(s,T(t.schemas).dirname):"./"+o+".schemas",S=Q(t.tsconfig);f+=e.imports({client:t.client,implementation:i,imports:[{exports:p,dependency:g}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),y+=e.importsMock({implementation:m,imports:[{exports:c,dependency:g}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S});let j=t.schemas?void 0:_upath.join.call(void 0, s,o+".schemas"+a);if(j){let G=n+Y(e.schemas);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, s,o+".schemas"+a),G)}l&&(f+=M({mutators:l,implementation:i})),u&&(f+=M({mutators:u})),d&&(f+=M({mutators:d})),f+=`
|
|
104
|
+
${i}`,y+=`
|
|
105
|
+
${m}`;let b=o+(K.ANGULAR===t.client?".service":"")+a,w=_upath.join.call(void 0, s,b);await _fsextra.outputFile.call(void 0, _upath.join.call(void 0, s,b),f);let v=t.mock?_upath.join.call(void 0, s,o+".msw"+a):void 0;return v&&await _fsextra.outputFile.call(void 0, v,y),[w,...j?[j]:[],...v?[v]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var rp=e=>({...e,tags:e.tags.length?e.tags:["default"]}),op=(e,t)=>t.tags.map(Pe).reduce((r,n)=>{var s,a,p;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?[...(p=o.formUrlEncoded)!=null?p:[],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),Be= exports.generateTargetForTags =(e,t)=>{let r=t.client===K.ANGULAR,n=Object.values(e.operations).map(rp).reduce((o,s,a,p)=>{let i=op(o,s);return a===p.length-1?Object.entries(i).reduce((m,[c,l])=>{var b,w,v,G,D,N,F,re;let u=!!((b=l.mutators)!=null&&b.some(_=>r?_.hasThirdArg:_.hasSecondArg)),d=Object.values(e.operations).filter(({tags:_})=>_.includes(c)).map(({operationName:_})=>_),f=(F=(N=(v=(w=t.packageJson)==null?void 0:w.dependencies)==null?void 0:v.typescript)!=null?N:(D=(G=t.packageJson)==null?void 0:G.devDependencies)==null?void 0:D.typescript)!=null?F:"4.4.0",y=Ee(f,"4.5.0"),g=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),S=e.footer({outputClient:t==null?void 0:t.client,operationNames:d,hasMutator:!!((re=l.mutators)!=null&&re.length),hasAwaitedType:y,titles:g}),j=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:y,titles:g});return m[c]={implementation:j.implementation+l.implementation+S.implementation,implementationMSW:{function:l.implementationMSW.function,handler:j.implementationMSW+l.implementationMSW.handler+S.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},m},{}):i},{});return Object.entries(n).reduce((o,[s,a])=>(o[s]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},o),{})};var ld=async({builder:e,output:t,specsName:r,header:n})=>{let{filename:o,dirname:s,extension:a}=T(t.target,{backupFilename:x(e.info.title)}),p=Be(e,t),i=Q(t.tsconfig);return(await Promise.all(Object.entries(p).map(async([c,l])=>{try{let{imports:u,implementation:d,implementationMSW:f,importsMSW:y,mutators:g,formData:S,formUrlEncoded:j}=l,b=n,w=n,v=t.schemas?"../"+B(s,T(t.schemas).dirname):"../"+o+".schemas";b+=e.imports({client:t.client,implementation:d,imports:[{exports:u,dependency:v}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),w+=e.importsMock({implementation:f,imports:[{exports:y,dependency:v}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i});let G=t.schemas?void 0:_upath.join.call(void 0, s,o+".schemas"+a);if(G){let re=n+Y(e.schemas);await _fsextra.outputFile.call(void 0, G,re)}g&&(b+=M({mutators:g,implementation:d,oneMore:!0})),S&&(b+=M({mutators:S,oneMore:!0})),j&&(b+=M({mutators:j,oneMore:!0})),b+=`
|
|
106
|
+
${d}`,w+=`
|
|
107
|
+
${f}`;let D=c+(K.ANGULAR===t.client?".service":"")+a,N=_upath.join.call(void 0, s,c,D);await _fsextra.outputFile.call(void 0, N,b);let F=t.mock?_upath.join.call(void 0, s,c,c+".msw"+a):void 0;return F&&await _fsextra.outputFile.call(void 0, F,w),[N,...G?[G]:[],...F?[F]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${c} => ${u}`}}))).flatMap(c=>c)};var hd=async({builder:e,output:t,specsName:r,header:n})=>{let{filename:o,dirname:s,extension:a}=T(t.target,{backupFilename:x(e.info.title)}),p=Be(e,t),i=Q(t.tsconfig);return(await Promise.all(Object.entries(p).map(async([c,l])=>{try{let{imports:u,implementation:d,implementationMSW:f,importsMSW:y,mutators:g,formData:S,formUrlEncoded:j}=l,b=n,w=t.schemas?B(s,T(t.schemas).dirname):"./"+o+".schemas";b+=e.imports({client:t.client,implementation:d,imports:[{exports:u.filter(D=>!y.some(N=>D.name===N.name)),dependency:w}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(b+=e.importsMock({implementation:f,imports:[{exports:y,dependency:w}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i}));let v=t.schemas?void 0:_upath.join.call(void 0, s,o+".schemas"+a);if(v){let D=n+Y(e.schemas);await _fsextra.outputFile.call(void 0, v,D)}g&&(b+=M({mutators:g,implementation:d})),S&&(b+=M({mutators:S})),j&&(b+=M({mutators:j})),b+=`
|
|
108
|
+
|
|
109
|
+
`,b+=d,t.mock&&(b+=`
|
|
110
|
+
|
|
111
|
+
`,b+=f);let G=_upath.join.call(void 0, s,`${Pe(c)}${a}`);return await _fsextra.outputFile.call(void 0, G,b),[G,...v?[v]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${c} => ${u}`}}))).flatMap(c=>c)};exports.BODY_TYPE_NAME = Ne; exports.GetterPropType = ue; exports.LogLevels = mt; exports.OutputClient = K; exports.OutputMode = sp; exports.RefComponentSuffix = wc; exports.URL_REGEX = pp; exports.VERBS_WITH_BODY = vt; exports.Verbs = U; exports.addDependency = Ni; exports.asyncReduce = to; exports.camel = x; exports.combineSchemas = dt; exports.compareVersions = Ee; exports.count = Cm; exports.createDebugger = so; exports.createLogger = Z; exports.createSuccessMessage = gm; exports.dynamicImport = ao; exports.errorMessage = fm; exports.escape = $o; exports.generalJSTypes = an; exports.generalJSTypesWithArray = ve; exports.generateAxiosOptions = Ui; exports.generateBodyMutatorConfig = Li; exports.generateBodyOptions = Wi; exports.generateComponentDefinition = hu; exports.generateDependencyImports = vu; exports.generateFormDataAndUrlEncodedFunction = Lu; exports.generateImports = Bo; exports.generateModelInline = Fi; exports.generateModelsInline = Y; exports.generateMutator = qe; exports.generateMutatorConfig = Wu; exports.generateMutatorImports = M; exports.generateMutatorRequestOptions = Uu; exports.generateOptions = Bu; exports.generateParameterDefinition = Hu; exports.generateQueryParamsAxiosConfig = zi; exports.generateSchemasDefinition = nf; exports.generateTarget = Ve; exports.generateTargetForTags = Be; exports.generateVerbImports = Tu; exports.generateVerbsOptions = cf; exports.getArray = vo; exports.getBody = wo; exports.getEnum = pe; exports.getEnumImplementation = Ae; exports.getExtension = Se; exports.getFileInfo = T; exports.getKey = ke; exports.getNumberWord = Ie; exports.getObject = Go; exports.getOperationId = Po; exports.getParameters = Eo; exports.getParams = Co; exports.getParamsInPath = Ai; exports.getProps = Io; exports.getQueryParams = gt; exports.getRefInfo = me; exports.getResReqTypes = le; exports.getResponse = Ao; exports.getRoute = Ql; exports.getScalar = ce; exports.getSpecName = xo; exports.ibmOpenapiValidator = Zm; exports.ibmOpenapiValidatorErrors = lo; exports.ibmOpenapiValidatorWarnings = co; exports.isBoolean = he; exports.isDirectory = Qr; exports.isFunction = Xr; exports.isNull = Zr; exports.isNumber = Yr; exports.isObject = q; exports.isReference = C; exports.isRootKey = Hp; exports.isString = z; exports.isSyntheticDefaultImportsAllow = Q; exports.isUndefined = Oe; exports.isUrl = Re; exports.isVerb = eo; exports.jsDoc = P; exports.kebab = Pe; exports.loadFile = ho; exports.log = V; exports.mergeDeep = ft; exports.mismatchArgsMessage = dm; exports.openApiConverter = Nm; exports.pascal = h; exports.relativeSafe = B; exports.removeFiles = Mm; exports.resolveDiscriminators = Mo; exports.resolveObject = W; exports.resolveRef = A; exports.resolveValue = k; exports.sanitize = R; exports.snake = Yp; exports.sortByPriority = So; exports.startMessage = um; exports.stringify = J; exports.toObjectString = Hm; exports.upper = Xp; exports.writeModelInline = Zi; exports.writeModelsInline = Tf; exports.writeSchema = ep; exports.writeSchemas = Rf; exports.writeSingleMode = qf; exports.writeSplitMode = Hf; exports.writeSplitTagsMode = ld; exports.writeTagsMode = hd;
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@orval/core",
|
|
3
|
+
"version": "6.11.0-alpha.1",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsup ./src/index.ts --target node12 --minify --clean --dts --splitting",
|
|
12
|
+
"dev": "tsup ./src/index.ts --target node12 --clean --watch src",
|
|
13
|
+
"lint": "eslint src/**/*.ts",
|
|
14
|
+
"test": "vitest --global test.ts"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/chalk": "^2.2.0",
|
|
18
|
+
"@types/debug": "^4.1.7",
|
|
19
|
+
"@types/fs-extra": "^9.0.13",
|
|
20
|
+
"@types/inquirer": "^8.2.2",
|
|
21
|
+
"@types/lodash.get": "^4.4.7",
|
|
22
|
+
"@types/lodash.omit": "^4.5.7",
|
|
23
|
+
"@types/lodash.uniq": "^4.5.7",
|
|
24
|
+
"@types/lodash.uniqby": "^4.7.7",
|
|
25
|
+
"@types/lodash.uniqwith": "^4.5.7",
|
|
26
|
+
"@types/micromatch": "^4.0.2",
|
|
27
|
+
"@types/validator": "^13.7.5"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@apidevtools/swagger-parser": "^10.1.0",
|
|
31
|
+
"acorn": "^8.8.0",
|
|
32
|
+
"ajv": "^8.11.0",
|
|
33
|
+
"chalk": "^4.1.2",
|
|
34
|
+
"compare-versions": "^4.1.3",
|
|
35
|
+
"debug": "^4.3.4",
|
|
36
|
+
"esbuild": "^0.15.3",
|
|
37
|
+
"esutils": "2.0.3",
|
|
38
|
+
"fs-extra": "^10.1.0",
|
|
39
|
+
"globby": "11.1.0",
|
|
40
|
+
"ibm-openapi-validator": "^0.88.0",
|
|
41
|
+
"lodash.get": "^4.4.2",
|
|
42
|
+
"lodash.omit": "^4.5.0",
|
|
43
|
+
"lodash.uniq": "^4.5.0",
|
|
44
|
+
"lodash.uniqby": "^4.7.0",
|
|
45
|
+
"lodash.uniqwith": "^4.5.0",
|
|
46
|
+
"micromatch": "^4.0.5",
|
|
47
|
+
"openapi3-ts": "^3.0.0",
|
|
48
|
+
"swagger2openapi": "^7.0.8",
|
|
49
|
+
"upath": "^2.0.1",
|
|
50
|
+
"url": "^0.11.0",
|
|
51
|
+
"validator": "^13.7.0"
|
|
52
|
+
}
|
|
53
|
+
}
|