@orval/core 6.11.0-alpha.4 → 6.11.0-alpha.5
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/index.d.ts +5 -1
- package/dist/index.js +77 -77
- package/package.json +5 -4
package/dist/index.d.ts
CHANGED
|
@@ -923,6 +923,7 @@ declare const resolveValue: ({ schema, name, context, }: {
|
|
|
923
923
|
declare const isReference: (property: any) => property is ReferenceObject;
|
|
924
924
|
declare const isDirectory: (path: string) => boolean;
|
|
925
925
|
declare function isObject(x: any): x is Record<string, unknown>;
|
|
926
|
+
declare function isModule(x: any): x is Record<string, unknown>;
|
|
926
927
|
declare function isString(x: any): x is string;
|
|
927
928
|
declare function isNumber(x: any): x is number;
|
|
928
929
|
declare function isNumeric(x: any): x is number;
|
|
@@ -1038,6 +1039,9 @@ declare const openApiConverter: (schema: any, options: swagger2openapi.Options |
|
|
|
1038
1039
|
*/
|
|
1039
1040
|
declare const relativeSafe: (from: string, to: string) => string;
|
|
1040
1041
|
declare const getSpecName: (specKey: string, target: string) => string;
|
|
1042
|
+
declare const separator = "/";
|
|
1043
|
+
declare const normalizeSafe: (value: string) => string;
|
|
1044
|
+
declare const joinSafe: (...values: string[]) => string;
|
|
1041
1045
|
|
|
1042
1046
|
declare const sortByPriority: <T>(arr: (T & {
|
|
1043
1047
|
default?: boolean | undefined;
|
|
@@ -1103,4 +1107,4 @@ declare const generateTarget: (builder: WriteSpecsBuilder, options: NormalizedOu
|
|
|
1103
1107
|
|
|
1104
1108
|
declare const generateTargetForTags: (builder: WriteSpecsBuilder, options: NormalizedOutputOptions) => Record<string, GeneratorTarget>;
|
|
1105
1109
|
|
|
1106
|
-
export { AngularOptions, BODY_TYPE_NAME, ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContextSpecs, GenerateMockImports, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalOptions, Hook, HookCommand, HookFunction, HooksOptions, ImportOpenApi, InputOptions, InputTransformerFn, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockOptions, MockProperties, Mutator, MutatorObject, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedQueryOptions, NormizaledConfig, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputMode, OutputOptions, OverrideInput, OverrideOutput, OverrideOutputContentType, PackageJson, QueryOptions, RefComponentSuffix, ResReqTypesValue, ResolverValue, SchemaType, SwaggerParserOptions, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecsBuilder, addDependency, asyncReduce, camel, combineSchemas, compareVersions, count, createDebugger, createLogger, createSuccessMessage, dynamicImport, errorMessage, escape, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbsOptions, getArray, getBody, getEnum, getEnumImplementation, getExtension, getFileInfo, getKey, getNumberWord, getObject, getOperationId, getParameters, getParams, getParamsInPath, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getRoute, getScalar, getSpecName, ibmOpenapiValidator, ibmOpenapiValidatorErrors, ibmOpenapiValidatorWarnings, isBoolean, isDirectory, isFunction, isNull, isNumber, isNumeric, isObject, isReference, isRootKey, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, jsDoc, kebab, loadFile, log, mergeDeep, mismatchArgsMessage, openApiConverter, pascal, relativeSafe, removeFiles, resolveDiscriminators, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, startMessage, stringify, toObjectString, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
|
|
1110
|
+
export { AngularOptions, BODY_TYPE_NAME, ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContextSpecs, GenerateMockImports, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalOptions, Hook, HookCommand, HookFunction, HooksOptions, ImportOpenApi, InputOptions, InputTransformerFn, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockOptions, MockProperties, Mutator, MutatorObject, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedQueryOptions, NormizaledConfig, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputMode, OutputOptions, OverrideInput, OverrideOutput, OverrideOutputContentType, PackageJson, QueryOptions, RefComponentSuffix, ResReqTypesValue, ResolverValue, SchemaType, SwaggerParserOptions, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecsBuilder, addDependency, asyncReduce, camel, combineSchemas, compareVersions, count, createDebugger, createLogger, createSuccessMessage, dynamicImport, errorMessage, escape, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbsOptions, getArray, getBody, getEnum, getEnumImplementation, getExtension, getFileInfo, getKey, getNumberWord, getObject, getOperationId, getParameters, getParams, getParamsInPath, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getRoute, getScalar, getSpecName, ibmOpenapiValidator, ibmOpenapiValidatorErrors, ibmOpenapiValidatorWarnings, isBoolean, isDirectory, isFunction, isModule, isNull, isNumber, isNumeric, isObject, isReference, isRootKey, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, joinSafe, jsDoc, kebab, loadFile, log, mergeDeep, mismatchArgsMessage, normalizeSafe, openApiConverter, pascal, relativeSafe, removeFiles, resolveDiscriminators, resolveObject, resolveRef, resolveValue, sanitize, separator, snake, sortByPriority, startMessage, stringify, toObjectString, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
|
package/dist/index.js
CHANGED
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var rn=Object.create;var $t=Object.defineProperty;var on=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var sn=Object.getPrototypeOf,an=Object.prototype.hasOwnProperty;var A=(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 h=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var pn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nn(t))!an.call(e,o)&&o!==r&&$t(e,o,{get:()=>t[o],enumerable:!(n=on(t,o))||n.enumerable});return e};var $e=(e,t,r)=>(r=e!=null?rn(sn(e)):{},pn(t||!e||!e.__esModule?$t(r,"default",{value:e,enumerable:!0}):r,e));var We=h((lp,Tt)=>{var cn=Object.prototype;function ln(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||cn;return e===r}Tt.exports=ln});var Mt=h((up,Rt)=>{function un(e,t){return function(r){return e(t(r))}}Rt.exports=un});var Gt=h((fp,wt)=>{var fn=Mt(),dn=fn(Object.keys,Object);wt.exports=dn});var Et=h((dp,Pt)=>{var gn=We(),yn=Gt(),bn=Object.prototype,hn=bn.hasOwnProperty;function On(e){if(!gn(e))return yn(e);var t=[];for(var r in Object(e))hn.call(e,r)&&r!="constructor"&&t.push(r);return t}Pt.exports=On});var Ue=h((gp,Ct)=>{var xn=typeof global=="object"&&global&&global.Object===Object&&global;Ct.exports=xn});var _=h((yp,It)=>{var Sn=Ue(),jn=typeof self=="object"&&self&&self.Object===Object&&self,$n=Sn||jn||Function("return this")();It.exports=$n});var ze=h((bp,At)=>{var vn=_(),Tn=vn.Symbol;At.exports=Tn});var Ft=h((hp,Nt)=>{var Dt=ze(),kt=Object.prototype,Rn=kt.hasOwnProperty,Mn=kt.toString,fe=Dt?Dt.toStringTag:void 0;function wn(e){var t=Rn.call(e,fe),r=e[fe];try{e[fe]=void 0;var n=!0}catch (e2){}var o=Mn.call(e);return n&&(t?e[fe]=r:delete e[fe]),o}Nt.exports=wn});var Vt=h((Op,qt)=>{var Gn=Object.prototype,Pn=Gn.toString;function En(e){return Pn.call(e)}qt.exports=En});var de=h((xp,Ut)=>{var Bt=ze(),Cn=Ft(),In=Vt(),An="[object Null]",Dn="[object Undefined]",Wt=Bt?Bt.toStringTag:void 0;function kn(e){return e==null?e===void 0?Dn:An:Wt&&Wt in Object(e)?Cn(e):In(e)}Ut.exports=kn});var Le=h((Sp,zt)=>{function Nn(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}zt.exports=Nn});var _e=h((jp,Lt)=>{var Fn=de(),qn=Le(),Vn="[object AsyncFunction]",Bn="[object Function]",Wn="[object GeneratorFunction]",Un="[object Proxy]";function zn(e){if(!qn(e))return!1;var t=Fn(e);return t==Bn||t==Wn||t==Vn||t==Un}Lt.exports=zn});var Kt=h(($p,_t)=>{var Ln=_(),_n=Ln["__core-js_shared__"];_t.exports=_n});var Jt=h((vp,Ht)=>{var Ke=Kt(),Qt=function(){var e=/[^.]+$/.exec(Ke&&Ke.keys&&Ke.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Kn(e){return!!Qt&&Qt in e}Ht.exports=Kn});var Qe=h((Tp,Yt)=>{var Qn=Function.prototype,Hn=Qn.toString;function Jn(e){if(e!=null){try{return Hn.call(e)}catch (e3){}try{return e+""}catch (e4){}}return""}Yt.exports=Jn});var Zt=h((Rp,Xt)=>{var Yn=_e(),Xn=Jt(),Zn=Le(),es=Qe(),ts=/[\\^$.*+?()[\]{}|]/g,rs=/^\[object .+?Constructor\]$/,os=Function.prototype,ns=Object.prototype,ss=os.toString,as=ns.hasOwnProperty,is=RegExp("^"+ss.call(as).replace(ts,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ps(e){if(!Zn(e)||Xn(e))return!1;var t=Yn(e)?is:rs;return t.test(es(e))}Xt.exports=ps});var tr=h((Mp,er)=>{function ms(e,t){return e==null?void 0:e[t]}er.exports=ms});var oe=h((wp,rr)=>{var cs=Zt(),ls=tr();function us(e,t){var r=ls(e,t);return cs(r)?r:void 0}rr.exports=us});var nr=h((Gp,or)=>{var fs=oe(),ds=_(),gs=fs(ds,"DataView");or.exports=gs});var ar=h((Pp,sr)=>{var ys=oe(),bs=_(),hs=ys(bs,"Map");sr.exports=hs});var pr=h((Ep,ir)=>{var Os=oe(),xs=_(),Ss=Os(xs,"Promise");ir.exports=Ss});var cr=h((Cp,mr)=>{var js=oe(),$s=_(),vs=js($s,"Set");mr.exports=vs});var ur=h((Ip,lr)=>{var Ts=oe(),Rs=_(),Ms=Ts(Rs,"WeakMap");lr.exports=Ms});var xr=h((Ap,Or)=>{var He=nr(),Je=ar(),Ye=pr(),Xe=cr(),Ze=ur(),hr=de(),ne=Qe(),fr="[object Map]",ws="[object Object]",dr="[object Promise]",gr="[object Set]",yr="[object WeakMap]",br="[object DataView]",Gs=ne(He),Ps=ne(Je),Es=ne(Ye),Cs=ne(Xe),Is=ne(Ze),Z=hr;(He&&Z(new He(new ArrayBuffer(1)))!=br||Je&&Z(new Je)!=fr||Ye&&Z(Ye.resolve())!=dr||Xe&&Z(new Xe)!=gr||Ze&&Z(new Ze)!=yr)&&(Z=function(e){var t=hr(e),r=t==ws?e.constructor:void 0,n=r?ne(r):"";if(n)switch(n){case Gs:return br;case Ps:return fr;case Es:return dr;case Cs:return gr;case Is:return yr}return t});Or.exports=Z});var Te=h((Dp,Sr)=>{function As(e){return e!=null&&typeof e=="object"}Sr.exports=As});var $r=h((kp,jr)=>{var Ds=de(),ks=Te(),Ns="[object Arguments]";function Fs(e){return ks(e)&&Ds(e)==Ns}jr.exports=Fs});var Mr=h((Np,Rr)=>{var vr=$r(),qs=Te(),Tr=Object.prototype,Vs=Tr.hasOwnProperty,Bs=Tr.propertyIsEnumerable,Ws=vr(function(){return arguments}())?vr:function(e){return qs(e)&&Vs.call(e,"callee")&&!Bs.call(e,"callee")};Rr.exports=Ws});var Gr=h((Fp,wr)=>{var Us=Array.isArray;wr.exports=Us});var et=h((qp,Pr)=>{var zs=9007199254740991;function Ls(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=zs}Pr.exports=Ls});var Cr=h((Vp,Er)=>{var _s=_e(),Ks=et();function Qs(e){return e!=null&&Ks(e.length)&&!_s(e)}Er.exports=Qs});var Ar=h((Bp,Ir)=>{function Hs(){return!1}Ir.exports=Hs});var Fr=h((ge,se)=>{var Js=_(),Ys=Ar(),Nr=typeof ge=="object"&&ge&&!ge.nodeType&&ge,Dr=Nr&&typeof se=="object"&&se&&!se.nodeType&&se,Xs=Dr&&Dr.exports===Nr,kr=Xs?Js.Buffer:void 0,Zs=kr?kr.isBuffer:void 0,ea=Zs||Ys;se.exports=ea});var Vr=h((Wp,qr)=>{var ta=de(),ra=et(),oa=Te(),na="[object Arguments]",sa="[object Array]",aa="[object Boolean]",ia="[object Date]",pa="[object Error]",ma="[object Function]",ca="[object Map]",la="[object Number]",ua="[object Object]",fa="[object RegExp]",da="[object Set]",ga="[object String]",ya="[object WeakMap]",ba="[object ArrayBuffer]",ha="[object DataView]",Oa="[object Float32Array]",xa="[object Float64Array]",Sa="[object Int8Array]",ja="[object Int16Array]",$a="[object Int32Array]",va="[object Uint8Array]",Ta="[object Uint8ClampedArray]",Ra="[object Uint16Array]",Ma="[object Uint32Array]",v={};v[Oa]=v[xa]=v[Sa]=v[ja]=v[$a]=v[va]=v[Ta]=v[Ra]=v[Ma]=!0;v[na]=v[sa]=v[ba]=v[aa]=v[ha]=v[ia]=v[pa]=v[ma]=v[ca]=v[la]=v[ua]=v[fa]=v[da]=v[ga]=v[ya]=!1;function wa(e){return oa(e)&&ra(e.length)&&!!v[ta(e)]}qr.exports=wa});var Wr=h((Up,Br)=>{function Ga(e){return function(t){return e(t)}}Br.exports=Ga});var zr=h((ye,ae)=>{var Pa=Ue(),Ur=typeof ye=="object"&&ye&&!ye.nodeType&&ye,be=Ur&&typeof ae=="object"&&ae&&!ae.nodeType&&ae,Ea=be&&be.exports===Ur,tt=Ea&&Pa.process,Ca=function(){try{var e=be&&be.require&&be.require("util").types;return e||tt&&tt.binding&&tt.binding("util")}catch (e5){}}();ae.exports=Ca});var Qr=h((zp,Kr)=>{var Ia=Vr(),Aa=Wr(),Lr=zr(),_r=Lr&&Lr.isTypedArray,Da=_r?Aa(_r):Ia;Kr.exports=Da});var rt=h((Lp,Hr)=>{var ka=Et(),Na=xr(),Fa=Mr(),qa=Gr(),Va=Cr(),Ba=Fr(),Wa=We(),Ua=Qr(),za="[object Map]",La="[object Set]",_a=Object.prototype,Ka=_a.hasOwnProperty;function Qa(e){if(e==null)return!0;if(Va(e)&&(qa(e)||typeof e=="string"||typeof e.splice=="function"||Ba(e)||Ua(e)||Fa(e)))return!e.length;var t=Na(e);if(t==za||t==La)return!e.size;if(Wa(e))return!ka(e).length;for(var r in e)if(Ka.call(e,r))return!1;return!0}Hr.exports=Qa});var Q={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},ap= exports.OutputMode ={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},L= 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 mn=["number","string","null","unknown","undefined","object","blob"],ve= exports.generalJSTypesWithArray =mn.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),vt= exports.VERBS_WITH_BODY =[L.POST,L.PUT,L.PATCH,L.DELETE],mp= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var qo=$e(rt());var _esutils = require('esutils');var _upath = require('upath');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var I=e=>Boolean(e.$ref),Jr= exports.isDirectory =e=>!_upath.extname.call(void 0, e);function V(e){return Object.prototype.toString.call(e)==="[object Object]"}function K(e){return typeof e=="string"}function Yr(e){return typeof e=="number"}function Xr(e){return/^-?\d+$/.test(e)}function he(e){return typeof e=="boolean"}function Zr(e){return typeof e=="function"}function Oe(e){return typeof e>"u"}function eo(e){return typeof e===null}var to=e=>Object.values(L).includes(e),Hp= exports.isRootKey =(e,t)=>e===t,Ya=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,Re= exports.isUrl =e=>_isURL2.default.call(void 0, e)||Ya.test(e);async function ro(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)},Me=ot("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),we="a-z"+ot("DF-F6,F8-FF","00"),xe="A-Z"+ot("C0-D6,D8-DE","00"),Xa="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",H={capitalize:new RegExp("(^|["+Me+"])(["+we+"])","g"),pascal:new RegExp("(^|["+Me+"])+(["+we+xe+"])","g"),fill:new RegExp("["+Me+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+we+"])","g"),improper:new RegExp("\\b("+Xa+")\\b","g"),relax:new RegExp("([^"+xe+"])(["+xe+"]*)(["+xe+"])(?=[^"+xe+"]|$)","g"),upper:new RegExp("^[^"+we+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+Me+"]")},Za=e=>e.replace(H.apostrophe,""),oo=String.prototype.toUpperCase,nt=String.prototype.toLowerCase,Ge=(e,t,r=!1)=>(t!=null&&(e=e.replace(H.fill,function(n,o){return o?t+o:""})),r&&(e=Za(e)),e),ei=e=>nt.call(e.charAt(0))+e.slice(1),ti=(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=Ge(e," ");H.hole.test(o)&&(e=o)}return!r&&!H.room.test(e)&&(e=e.replace(H.relax,ti)),e},no=(e,t,r)=>Ge(nt.call(st(e,!!t)),t,r),b= exports.pascal =e=>Ge(st(e,!1,!0).replace(H.pascal,(t,r,n)=>oo.call(n)),"",!0),O= exports.camel =e=>ei(b(e)),Xp= exports.snake =e=>no(e,"_",!0),Pe= exports.kebab =e=>no(e,"-",!0),Zp= exports.upper =(e,t,r)=>Ge(oo.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 so=process.env.ORVAL_DEBUG_FILTER,at=process.env.DEBUG;function ao(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{so&&!s.includes(so)||n&&!(at!=null&&at.includes(o))||r(s,...a)}}var ni="\\*/",it="*\\/",pt=new RegExp(ni,"g");function E({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(pt,it)),s=[e,t,r].reduce((m,l)=>l?m+1:m,0);if(!s)return"";let a=s===1&&n,p=Array.isArray(e)?(c=e.find(m=>m.includes("eslint-disable")))==null?void 0:c.replace(pt,it):void 0,i=`${p?`/* ${p} */
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var D=(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 q={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},io= exports.OutputMode ={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},V= exports.Verbs ={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"},oe= exports.GetterPropType ={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"};var Xt=["number","string","null","unknown","undefined","object","blob"],ce= exports.generalJSTypesWithArray =Xt.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),Ye= exports.VERBS_WITH_BODY =[V.POST,V.PUT,V.PATCH,V.DELETE],co= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashisempty = require('lodash.isempty'); var _lodashisempty2 = _interopRequireDefault(_lodashisempty);var _esutils = require('esutils');var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var P=e=>Boolean(e.$ref),Xe= exports.isDirectory =e=>!_path.extname.call(void 0, e);function k(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ze(e){return Object.prototype.toString.call(e)==="[object Module]"}function W(e){return typeof e=="string"}function et(e){return typeof e=="number"}function tt(e){return/^-?\d+$/.test(e)}function ne(e){return typeof e=="boolean"}function rt(e){return typeof e=="function"}function se(e){return typeof e>"u"}function ot(e){return typeof e===null}var nt=e=>Object.values(V).includes(e),yo= exports.isRootKey =(e,t)=>e===t,tr=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,le= exports.isUrl =e=>_isURL2.default.call(void 0, e)||tr.test(e);async function st(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 Pe=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ue=Pe("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),fe="a-z"+Pe("DF-F6,F8-FF","00"),ae="A-Z"+Pe("C0-D6,D8-DE","00"),rr="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",U={capitalize:new RegExp("(^|["+ue+"])(["+fe+"])","g"),pascal:new RegExp("(^|["+ue+"])+(["+fe+ae+"])","g"),fill:new RegExp("["+ue+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+fe+"])","g"),improper:new RegExp("\\b("+rr+")\\b","g"),relax:new RegExp("([^"+ae+"])(["+ae+"]*)(["+ae+"])(?=[^"+ae+"]|$)","g"),upper:new RegExp("^[^"+fe+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ue+"]")},or=e=>e.replace(U.apostrophe,""),at=String.prototype.toUpperCase,Te=String.prototype.toLowerCase,de=(e,t,r=!1)=>(t!=null&&(e=e.replace(U.fill,function(n,o){return o?t+o:""})),r&&(e=or(e)),e),nr=e=>Te.call(e.charAt(0))+e.slice(1),sr=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Ee=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&U.upper.test(e)&&(e=Te.call(e)),!t&&!U.hole.test(e)){var o=de(e," ");U.hole.test(o)&&(e=o)}return!r&&!U.room.test(e)&&(e=e.replace(U.relax,sr)),e},it=(e,t,r)=>de(Te.call(Ee(e,!!t)),t,r),h= exports.pascal =e=>de(Ee(e,!1,!0).replace(U.pascal,(t,r,n)=>at.call(n)),"",!0),b= exports.camel =e=>nr(h(e)),Oo= exports.snake =e=>it(e,"_",!0),ge= exports.kebab =e=>it(e,"-",!0),xo= exports.upper =(e,t,r)=>de(at.call(Ee(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var ye=(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 pt=process.env.ORVAL_DEBUG_FILTER,pr=process.env.DEBUG;function mt(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{pt&&!s.includes(pt)||n&&!_optionalChain([pr, 'optionalAccess', _2 => _2.includes, 'call', _3 => _3(o)])||r(s,...a)}}var mr="\\*/",Ce="*\\/",Ie=new RegExp(mr,"g");function G({description:e,deprecated:t,summary:r},n=!1){let o=(Array.isArray(e)?e.filter(p=>!p.includes("eslint-disable")):[e||""]).map(p=>p.replace(Ie,Ce)),s=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!s)return"";let a=s===1&&n,m=Array.isArray(e)?_optionalChain([e, 'access', _4 => _4.find, 'call', _5 => _5(p=>p.includes("eslint-disable")), 'optionalAccess', _6 => _6.replace, 'call', _7 => _7(Ie,Ce)]):void 0,i=`${m?`/* ${m} */
|
|
2
2
|
`:""}/**`;return e&&(a||(i+=`
|
|
3
3
|
${n?" ":""} *`),i+=` ${o.join(`
|
|
4
4
|
* `)}`),t&&(a||(i+=`
|
|
5
5
|
${n?" ":""} *`),i+=" @deprecated"),r&&(a||(i+=`
|
|
6
|
-
${n?" ":""} *`),i+=` @summary ${r.replace(
|
|
6
|
+
${n?" ":""} *`),i+=` @summary ${r.replace(Ie,Ce)}`),i+=a?" ":`
|
|
7
7
|
${n?" ":""}`,i+=`*/
|
|
8
|
-
`,i}var
|
|
9
|
-
Path : ${t.path}`)))},
|
|
10
|
-
Path : ${t.path}`)))},
|
|
11
|
-
`.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function
|
|
8
|
+
`,i}var ct=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(W(e)){let o=await Promise.resolve().then(() => require(_path.resolve.call(void 0, t,e)));return r&&(k(o)||Ze(o))&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var ie=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 _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var N=console.log,Do= exports.startMessage =({name:e,version:t,description:r})=>N(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),ko= exports.errorMessage =e=>N(_chalk2.default.red(e)),No= exports.mismatchArgsMessage =e=>N(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),Ao= exports.createSuccessMessage =e=>N(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),dt= exports.ibmOpenapiValidatorWarnings =e=>{N(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>N(_chalk2.default.yellow(`Message : ${t.message}
|
|
9
|
+
Path : ${t.path}`)))},gt= exports.ibmOpenapiValidatorErrors =e=>{N(_chalk2.default.red("(!) Errors")),e.forEach(t=>N(_chalk2.default.red(`Message : ${t.message}
|
|
10
|
+
Path : ${t.path}`)))},De= exports.LogLevels ={silent:0,error:1,warn:2,info:3},ut,ft,ke=0;function lr(){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 Q(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=De[e],s=n&&process.stdout.isTTY&&!process.env.CI?lr:()=>{};function a(p,c,l={}){if(o>=De[p]){let u=p==="info"?"log":p,f=()=>{if(l.timestamp){let d=p==="info"?_chalk2.default.cyan.bold(r):p==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${d} ${c}`}else return c};p===ut&&c===ft?(ke++,s(),console[u](f(),_chalk2.default.yellow(`(x${ke+1})`))):(ke=0,ft=c,ut=p,l.clear&&s(),console[u](f()))}}let m=new Set,i={hasWarned:!1,info(p,c){a("info",p,c)},warn(p,c){i.hasWarned=!0,a("warn",p,c)},warnOnce(p,c){m.has(p)||(i.hasWarned=!0,a("warn",p,c),m.add(p))},error(p,c){i.hasWarned=!0,a("error",p,c)},clearScreen(p){o>=De[p]&&s()}};return i}var A=(e,t)=>{let r=_path2.default.relative(e,t);return Ne(`.${ur}${r}`)},yt= exports.getSpecName =(e,t)=>{if(le(e)){let r=new URL(t);return e.replace(r.origin,"").replace($(r.pathname).dirname,"").replace(`.${ie(e)}`,"")}return"/"+_path2.default.normalize(_path2.default.relative($(t).dirname,e)).split("../").join("").replace(`.${ie(e)}`,"")},ur= exports.separator ="/",ht=function(e){return e=e.replace(/\\/g,"/"),e=e.replace(/(?<!^)\/+/g,"/"),e},Ne= exports.normalizeSafe =e=>{let t;return e=ht(e),t=_path2.default.normalize(e),e.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:e.startsWith("//")&&!t.startsWith("//")&&(e.startsWith("//./")?t="//."+t:t="/"+t),t},Ae= exports.joinSafe =function(...e){let t=_path2.default.join(...e);if(e.length>0){let r=ht(e[0]);r.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:r.startsWith("//")&&!t.startsWith("//")&&(r.startsWith("//./")?t="//."+t:t="/"+t)}return t};var $=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Xe(e),o=n?_path.join.call(void 0, e,t+r):e,s=o.replace(/\.[^/.]+$/,""),a=_path.dirname.call(void 0, o),m=_path.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:a,filename:m}},bt=mt("orval:file-load"),Ve=new Map;async function Ot(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s,alias:a,tsconfig:m,load:i=!0}=_nullishCoalesce(t, () => ({})),p=Date.now(),c,l=!1,u=!1;if(e)c=_path.resolve.call(void 0, e),l=e.endsWith(".ts");else if(o){let g=_path.resolve.call(void 0, r,`${o}.js`);if(_fs2.default.existsSync(g)&&(c=g),!c){let y=_path.resolve.call(void 0, r,`${o}.mjs`);_fs2.default.existsSync(y)&&(c=y,u=!0)}if(!c){let y=_path.resolve.call(void 0, r,`${o}.ts`);_fs2.default.existsSync(y)&&(c=y,l=!0)}}c||(e?Q(s).error(_chalk2.default.red(`File not found => ${e}`)):o?Q(s).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):Q(s).error(_chalk2.default.red("File not found")),process.exit(1));let f=Ne(c),d=Ve.get(c);if(d)return{path:f,...d,cached:!0};try{let g;if(!g&&!l&&!u)try{delete D.cache[D.resolve(c)],g=D(c),bt(`cjs loaded in ${Date.now()-p}ms`)}catch(y){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(y.message))throw y}if(!g){let{code:y}=await br(c,u,r||_path.dirname.call(void 0, f),a,_optionalChain([m, 'optionalAccess', _8 => _8.compilerOptions]));i?g=await Or(c,y,n):g=y,bt(`bundled file loaded in ${Date.now()-p}ms`)}return Ve.set(c,{file:g}),{path:f,file:g}}catch(g){return Ve.set(c,{error:g}),{path:f,error:g}}}async function br(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||_optionalChain([o, 'optionalAccess', _9 => _9.paths])?[{name:"aliasing",setup(m){m.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(n){let p=Object.keys(n),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(n[c]),f=_path.resolve.call(void 0, r,u.base),d=l.base?i.replace(l.base,f):Ae(f,i),y=_path.extname.call(void 0, d)?d:`${d}.ts`;return _fs2.default.existsSync(y)?{path:y}:void 0}}if(_optionalChain([o, 'optionalAccess', _10 => _10.paths])){let p=Object.keys(_optionalChain([o, 'optionalAccess', _11 => _11.paths])),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(_optionalChain([o, 'optionalAccess', _12 => _12.paths, 'access', _13 => _13[c], 'access', _14 => _14[0]])),f=_path.resolve.call(void 0, r,u.base),d=l.base?i.replace(l.base,f):Ae(f,i),y=_path.extname.call(void 0, d)?d:`${d}.ts`;return _fs2.default.existsSync(y)?{path:y}:void 0}}})}}]:[],{name:"externalize-deps",setup(m){m.onResolve({filter:/.*/},i=>{let p=i.path;if(p[0]!=="."&&!_path.isAbsolute.call(void 0, p))return{external:!0}})}},{name:"replace-import-meta",setup(m){m.onLoad({filter:/\.[jt]s$/},async i=>{let p=await _fs2.default.promises.readFile(i.path,"utf8");return{loader:i.path.endsWith(".ts")?"ts":"js",contents:p.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${i.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path.dirname.call(void 0, 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 Or(e,t,r){let n=_path.extname.call(void 0, e),o=D.extensions[n];D.extensions[n]=(m,i)=>{i===e?m._compile(t,i):o(m,i)},delete D.cache[D.resolve(e)];let s=D(e),a=r&&s.__esModule?s.default:s;return D.extensions[n]=o,a}async function rn(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 he=e=>e&&typeof e=="object";function qe(e,t){return!he(t)||!he(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?r[n]=[...s,...o]:he(s)&&he(o)?r[n]=qe(s,o):r[n]=o,r},Object.assign({},e))}var sn=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var ln=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,s)=>{o?(N(_chalk2.default.yellow(`${r}
|
|
12
12
|
=> ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
|
|
13
13
|
Path: ${r}
|
|
14
|
-
Parsing Error: ${n}`}};var
|
|
15
|
-
`)+",":"",
|
|
16
|
-
`,o=
|
|
14
|
+
Parsing Error: ${n}`}};var xt=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 z=e=>{if(!(se(e)||ot(e)))return W(e)?`'${e}'`:et(e)||ne(e)||rt(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}, `},"")},M= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:n="",dot:o="",dash:s="",es5keyword:a=!1,es5IdentifierName:m=!1,special:i=!1}=_nullishCoalesce(t, () => ({})),p=e;return i!==!0&&(p=p.replace(/[!"`'#%&,:;<>=@{}~\$\(\)\*\+\/\\\?\[\]\^\|]/g,"")),r!==!0&&(p=p.replace(/[\s]/g,r)),n!==!0&&(p=p.replace(/['_']/g,n)),o!==!0&&(p=p.replace(/[.]/g,o)),s!==!0&&(p=p.replace(/[-]/g,s)),a&&(p=_esutils.keyword.isKeywordES5(p,!0)?`_${p}`:p),m&&(p.match(/^[0-9]/)?p=`N${p}`:p=_esutils.keyword.isIdentifierNameES5(p)?p:`_${p}`),p},hn= exports.toObjectString =(e,t)=>e.length?(t?e.map(n=>_lodashget2.default.call(void 0, n,t)):e).join(`,
|
|
15
|
+
`)+",":"",jr={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},be= exports.getNumberWord =e=>e.toString().split("").reduce((r,n)=>r+jr[n],""),$t= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var L=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _15 => _15.compilerOptions, 'optionalAccess', _16 => _16.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _17 => _17.compilerOptions, 'optionalAccess', _18 => _18.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var $n=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&dt(r),t.length&>(t)};var Z=(e,t,r)=>{let n=`export type ${t} = typeof ${t}[keyof typeof ${t}];
|
|
16
|
+
`,o=Oe(e,r);return n+=`
|
|
17
17
|
|
|
18
18
|
`,n+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
19
19
|
`,n+=`export const ${t} = {
|
|
20
20
|
${o}} as const;
|
|
21
|
-
`,n},
|
|
22
|
-
`;let a=n.startsWith("'")?n.slice(1,-1):n;return
|
|
23
|
-
`},""),
|
|
24
|
-
`,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let
|
|
21
|
+
`,n},Oe= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,n,o)=>{if(n==="null")return r;let s=_optionalChain([t, 'optionalAccess', _19 => _19[o]]);if(s)return r+` ${_esutils.keyword.isIdentifierNameES5(s)?s:`'${s}'`}: ${n},
|
|
22
|
+
`;let a=n.startsWith("'")?n.slice(1,-1):n;return tt(a)&&(a=Mr(a)),a.length>1&&(a=M(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${n},
|
|
23
|
+
`},""),Mr=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 Jn={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Pr=new RegExp("~1","g"),ee= exports.getRefInfo =(e,t)=>{let[r,n]=e.split("#"),o=_optionalChain([n, 'optionalAccess', _20 => _20.slice, 'call', _21 => _21(1), 'access', _22 => _22.split, 'call', _23 => _23("/"), 'access', _24 => _24.map, 'call', _25 => _25(i=>i.replace(Pr,"/"))]),s=o?_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""):"",a=n?o[o.length-1]:r.replace(`.${ie(r)}`,"").slice(r.lastIndexOf("/")+1);if(!r)return{name:h(a)+s,originalName:a,refPaths:o};let m=le(t.specKey)?_url2.default.resolve(t.specKey,r):_path.resolve.call(void 0, $(t.specKey).dirname,r);return{name:h(a)+s,originalName:a,specKey:m,refPaths:o}};var E=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _26 => _26.schema, 'optionalAccess', _27 => _27.$ref])){let i=E(_optionalChain([e, 'optionalAccess', _28 => _28.schema]),t,r);return{schema:{...e,schema:i.schema},imports:r}}if(!P(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,refPaths:a}=ee(e.$ref,t),m=a?_lodashget2.default.call(void 0, t.specs[s||t.specKey],a):t.specs[s||t.specKey];if(!m)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return E(m,{...t,specKey:s||t.specKey},[...r,{name:n,specKey:s,schemaName:o}])};var I=({schema:e,name:t,context:r})=>{if(P(e)){let{schema:o,imports:s}=E(e,r),{name:a,specKey:m,schemaName:i}=s[0],p=m||(r.specKey!==r.target?r.specKey:void 0);return{value:a,imports:[{name:a,specKey:p,schemaName:i}],type:_optionalChain([o, 'optionalAccess', _29 => _29.type])||"object",schemas:[],isEnum:!!_optionalChain([o, 'optionalAccess', _30 => _30.enum]),originalSchema:o,isRef:!0}}return{...te({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var F=({schema:e,propName:t,combined:r=!1,context:n})=>{let o=I({schema:e,name:t,context:n}),s=G(_nullishCoalesce(o.originalSchema, () => ({})));if(t&&!o.isEnum&&_optionalChain([o, 'optionalAccess', _31 => _31.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};
|
|
24
|
+
`,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let a=Z(o.value,t,_optionalChain([o, 'access', _32 => _32.originalSchema, 'optionalAccess', _33 => _33["x-enumNames"]]));return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:s+a,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var Rt=({schema:e,name:t,context:r})=>{if(e.items){let n=F({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 Mt=["multipart/form-data"],vt=["application/x-www-form-urlencoded"],Ir=({mediaType:e,propName:t,context:r})=>e.schema?F({schema:e.schema,propName:t,context:r}):void 0,re= exports.getResReqTypes =(e,t,r,n="unknown")=>{let o=e.filter(([s,a])=>Boolean(a)).map(([s,a])=>{if(P(a)){let{schema:m,imports:[{name:i,specKey:p,schemaName:c}]}=E(a,r),[l,u]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),f=Mt.includes(l),d=vt.includes(l);if(!f&&!d||!_optionalChain([u, 'optionalAccess', _34 => _34.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _35 => _35.schema]),key:s,contentType:l}];let g=f?xe({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _36 => _36.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,y=d?xe({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _37 => _37.schema]),context:{...r,specKey:p||r.specKey},isUrlEncoded:!0,isRef:!0}):void 0;return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,formData:g,formUrlEncoded:y,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _38 => _38.schema]),key:s,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let u=s?h(t)+h(s):void 0;u&&l.length>1&&(u=u+h(be(c+1)));let f=Ir({mediaType:p,propName:u,context:r});if(!f)return;let d=Mt.includes(i),g=vt.includes(i);if(!d&&!g||!u)return{...f,contentType:i};let y=d?xe({name:u,schemaObject:p.schema,context:r}):void 0,S=g?xe({name:u,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...f,formData:y,formUrlEncoded:S,contentType:i}}).filter(i=>i).map(i=>({...i,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")},xe=({name:e,schemaObject:t,context:r,isUrlEncoded:n,isRef:o})=>{let{schema:s,imports:a}=E(t,r),m=!o&&P(t)?a[0].name:e,i=n?"formUrlEncoded":"formData",p=n?`const ${i} = new URLSearchParams();
|
|
25
25
|
`:`const ${i} = new FormData();
|
|
26
|
-
`;if(s.type==="object"&&s.properties){let
|
|
27
|
-
`:
|
|
28
|
-
`:
|
|
29
|
-
`:
|
|
30
|
-
`,(
|
|
31
|
-
${
|
|
32
|
-
`},"");return`${
|
|
33
|
-
`:s.type==="number"||s.type==="boolean"?`${
|
|
34
|
-
`:`${
|
|
35
|
-
`};var
|
|
36
|
-
${
|
|
26
|
+
`;if(s.type==="object"&&s.properties){let c=Object.entries(s.properties).reduce((l,[u,f])=>{let{schema:d}=E(f,r),g="",y=_esutils.keyword.isIdentifierNameES5(u)?`.${u}`:`['${u}']`;return d.type==="object"?g=`${i}.append('${u}', JSON.stringify(${b(m)}${y}));
|
|
27
|
+
`:d.type==="array"?g=`${b(m)}${y}.forEach(value => ${i}.append('${u}', value));
|
|
28
|
+
`:d.type==="number"||d.type==="integer"||d.type==="boolean"?g=`${i}.append('${u}', ${b(m)}${y}.toString())
|
|
29
|
+
`:g=`${i}.append('${u}', ${b(m)}${y})
|
|
30
|
+
`,_optionalChain([s, 'access', _39 => _39.required, 'optionalAccess', _40 => _40.includes, 'call', _41 => _41(u)])?l+g:l+`if(${b(m)}${y} !== undefined) {
|
|
31
|
+
${g} }
|
|
32
|
+
`},"");return`${p}${c}`}return s.type==="array"?`${p}${b(m)}.forEach(value => ${i}.append('data', value))
|
|
33
|
+
`:s.type==="number"||s.type==="boolean"?`${p}${i}.append('data', ${b(m)}.toString())
|
|
34
|
+
`:`${p}${i}.append('data', ${b(m)})
|
|
35
|
+
`};var Gt=({requestBody:e,operationName:t,context:r,contentType:n})=>{let o=re([[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),m=s.flatMap(({schemas:c})=>c),i=s.map(({value:c})=>c).join(" | "),p=ce.includes(i.toLowerCase())||s.length>1?b(t)+r.override.components.requestBodies.suffix:b(i);return{definition:i,implementation:p,imports:a,schemas:m,...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 Se=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var wt=({item:e,name:t,context:r,nullable:n})=>{if(P(e)){let{name:o,specKey:s}=ee(e.$ref,r);return{value:o+n,imports:[{name:o,specKey:s}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf||e.oneOf||e.anyOf){let o=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return Ue({schema:e,name:t,separator:o,context:r,nullable:n})}if(e.type instanceof Array)return Ue({schema:{anyOf:e.type.map(o=>({type:o}))},name:t,separator:"anyOf",context:r,nullable:n});if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).reduce((o,[s,a],m,i)=>{let p=(Array.isArray(e.required)?e.required:[]).includes(s),c=t?h(t)+h(s):void 0;!!_optionalChain([r, 'access', _42 => _42.specs, 'access', _43 => _43[r.target], 'optionalAccess', _44 => _44.components, 'optionalAccess', _45 => _45.schemas, 'optionalAccess', _46 => _46[c||""]])&&(c=c+"Property");let u=F({schema:a,propName:c,context:r}),f=e.readOnly||a.readOnly;m||(o.value+="{");let d=G(a,!0);if(o.imports.push(...u.imports),o.value+=`
|
|
36
|
+
${d?`${d} `:""}${f?"readonly ":""}${Se(s)}${p?"":"?"}: ${u.value};`,o.schemas.push(...u.schemas),i.length-1===m){if(e.additionalProperties)if(ne(e.additionalProperties))o.value+=`
|
|
37
37
|
[key: string]: any;
|
|
38
|
-
}`;else{let
|
|
39
|
-
[key: string]: ${
|
|
40
|
-
}`}else
|
|
41
|
-
}`;
|
|
38
|
+
}`;else{let g=I({schema:e.additionalProperties,name:t,context:r});o.value+=`
|
|
39
|
+
[key: string]: ${g.value};
|
|
40
|
+
}`}else o.value+=`
|
|
41
|
+
}`;o.value+=n}return o},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(ne(e.additionalProperties))return{value:"{ [key: string]: any }"+n,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let o=I({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${o.value}}`+n,imports:_nullishCoalesce(o.imports, () => ([])),schemas:_nullishCoalesce(o.schemas, () => ([])),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 te=({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}=Rt({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=>W(a)?$t(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}=wt({item:e,name:t,context:r,nullable:n});return{value:o,...s}}}};var Nr=({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(" | "),Ue= exports.combineSchemas =({name:e,schema:t,separator:r,context:n,nullable:o})=>{let s=_nullishCoalesce(t[r], () => ([])),a=s.reduce((c,l)=>{let u=e?e+h(r):void 0;u&&c.schemas.length&&(u=u+h(be(c.schemas.length+1)));let f=F({schema:l,propName:u,combined:!0,context:n});return c.values.push(f.value),c.imports.push(...f.imports),c.schemas.push(...f.schemas),c.isEnum.push(f.isEnum),c.types.push(f.type),c.isRef.push(f.isRef),c.originalSchema.push(f.originalSchema),c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[]}),m=a.isEnum.every(c=>c),i;t.properties&&(i=te({item:_lodashomit2.default.call(void 0, t,r),name:e,context:n}));let p=Nr({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&s.length>1){let c=`
|
|
42
42
|
|
|
43
43
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
44
|
-
export const ${
|
|
45
|
-
`,imports:s},deps:a,isOptional:
|
|
46
|
-
`;return n.push(...i),
|
|
47
|
-
`):"",
|
|
48
|
-
`,
|
|
44
|
+
export const ${h(e)} = ${Ar(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${o};`+c,imports:a.imports.map(l=>({...l,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:p+o,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1}},Ar=({values:e,isRef:t,originalSchema:r})=>e.length===1?t[0]?e[0]:`{${Oe(e[0])}} as const`:`{${e.map((o,s)=>{if(t[s])return`...${o},`;let a=_optionalChain([r, 'access', _47 => _47[s], 'optionalAccess', _48 => _48["x-enumNames"]]);return Oe(o,a)}).join("")}} as const`;var Pt=(e,t)=>{let r={...e};for(let n of Object.values(r))if(_optionalChain([n, 'access', _49 => _49.discriminator, 'optionalAccess', _50 => _50.mapping])){let{mapping:o,propertyName:s}=n.discriminator;for(let[a,m]of Object.entries(o)){let i;try{let{name:p}=ee(m,t);i=r[p]}catch (e2){i=r[m]}!i||(i.properties={...i.properties,[s]:{type:"string",enum:[a]}},i.required=[..._nullishCoalesce(i.required, () => ([])),s])}}return r};var Tt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(n=>M(n,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var Et=({parameters:e=[],context:t})=>e.reduce((r,n)=>{if(P(n)){let{schema:o,imports:s}=E(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 Fr=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Ct= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:n})=>Fr(e).map(s=>{let a=t.find(({parameter:d})=>M(b(d.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:m,required:i=!1,schema:p}=a.parameter,c=M(b(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=I({schema:p,context:{...n,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${z(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:i,imports:l.imports}});var It=({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:oe.BODY},s={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _51 => _51.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _52 => _52.schema, 'access', _53 => _53.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _54 => _54.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _55 => _55.schema, 'access', _56 => _56.name])}`,default:!1,required:se(_optionalChain([t, 'optionalAccess', _57 => _57.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _58 => _58.isOptional]),type:oe.QUERY_PARAM},a={name:"headers",definition:`headers${_optionalChain([n, 'optionalAccess', _59 => _59.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _60 => _60.schema, 'access', _61 => _61.name])}`,implementation:`headers${_optionalChain([n, 'optionalAccess', _62 => _62.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _63 => _63.schema, 'access', _64 => _64.name])}`,default:!1,required:se(_optionalChain([n, 'optionalAccess', _65 => _65.isOptional]))?!1:!_optionalChain([n, 'optionalAccess', _66 => _66.isOptional]),type:oe.HEADER},m=[...r.map(p=>({...p,type:oe.PARAM})),...e.definition?[o]:[],...t?[s]:[],...n?[a]:[]];return xt(m)};var Vr=(e,t,r)=>e.map(({parameter:n,imports:o})=>{let{name:s,required:a,schema:m,content:i}=n,p=M(`${h(t)}${h(s)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=I({schema:m||i["application/json"].schema,context:r,name:p}),l=Se(s);if(o.length)return{definition:`${l}${!a||m.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(c.isEnum&&!c.isRef){let f=p,d=Z(c.value,f,_optionalChain([c, 'access', _67 => _67.originalSchema, 'optionalAccess', _68 => _68["x-enumNames"]]));return{definition:`${l}${!a||m.default?"?":""}: ${f}`,imports:[{name:f}],schemas:[...c.schemas,{name:f,model:d,imports:c.imports}]}}return{definition:`${l}${!a||m.default?"?":""}: ${c.value}`,imports:c.imports,schemas:c.schemas}}),ze= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:n="params"})=>{if(!e.length)return;let o=Vr(e,t,r),s=o.flatMap(({imports:l})=>l),a=o.flatMap(({schemas:l})=>l),m=`${h(t)}${h(n)}`,i=o.map(({definition:l})=>l).join("; "),p=e.every(({parameter:l})=>!l.required);return{schema:{name:m,model:`export type ${m} = { ${i} };
|
|
45
|
+
`,imports:s},deps:a,isOptional:p}};var Dt=({responses:e,operationName:t,context:r,contentType:n})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let o=re(Object.entries(e),t,r,"void"),s=n?o.filter(u=>{let f=!0,d=!1;return n.include&&(f=n.include.includes(u.contentType)),n.exclude&&(d=n.exclude.includes(u.contentType)),f&&!d}):o,a=s.reduce((u,f)=>(f.key.startsWith("2")?u.success.push(f):u.errors.push(f),u),{success:[],errors:[]}),m=s.flatMap(({imports:u})=>u),i=s.flatMap(({schemas:u})=>u),p=[...new Set(s.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:f})=>f?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:m,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:p,schemas:i}};var kt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Nt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _69 => _69.length]))return e;let r=t[1],n=M(b(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),o=kt(t[3])?Nt(t[3]):t[3];return kt(e)?`${r}\${${n}}${o}`:`${r}${n}${o}`},Oa= exports.getRoute =e=>e.split("/").reduce((r,n,o)=>!n&&!o?r:n.includes("{")?`${r}/${Nt(n)}`:`${r}/${n}`,"");var qa=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((n,[o,s])=>{let a=re([[r,s]],o,t,"void"),m=a.flatMap(({imports:f})=>f),i=a.flatMap(({schemas:f})=>f),p=a.map(({value:f})=>f).join(" | "),c=M(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${G(s)}export type ${c} = ${p||"unknown"};
|
|
46
|
+
`;return n.push(...i),c!==p&&n.push({name:c,model:u,imports:m}),n},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Wt=({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:m})=>{if(o){let i=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${s}${m?` as ${m}`:""} } from '../${_path.join.call(void 0, i,b(s))}';`:`import ${a?"":"type "}{ ${s}${m?` as ${m}`:""} } from './${_path.join.call(void 0, i,b(s))}';`}return`import ${a?"":"type "}{ ${s}${m?` as ${m}`:""} } from './${b(s)}';`}).join(`
|
|
47
|
+
`):"",j= 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}`,m=`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 p="";o.bodyTypeName&&t.includes(o.bodyTypeName)&&(p=o.default?`BodyType as ${o.bodyTypeName}`:o.bodyTypeName),(p||i)&&(m+=`
|
|
48
|
+
`,m+=`import type { ${i}${i&&p?", ":""}${p} } from '${s}'`)}return m}).join(`
|
|
49
49
|
`);return n?n+`
|
|
50
|
-
`:""},
|
|
51
|
-
`),
|
|
52
|
-
`}return
|
|
50
|
+
`:""},Ft=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:n,key:o,onlyTypes:s})=>{let a=e.find(l=>l.default&&(t||!l.syntheticDefaultImport)),m=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(`,
|
|
51
|
+
`),p="",c=m?`import * as ${m.name} from '${r}';`:"";if(c){if(e.length===1)return c;p+=`${c}
|
|
52
|
+
`}return p+=`import ${s?"type ":""}${a?`${a.name}${i?",":""}`:""}${i?`{
|
|
53
53
|
${i}
|
|
54
|
-
}`:""} from '${r}${o!=="default"&&n[o]?`/${n[o]}`:""}'`,
|
|
55
|
-
`),l+=
|
|
56
|
-
`)},
|
|
54
|
+
}`:""} from '${r}${o!=="default"&&n[o]?`/${n[o]}`:""}'`,p},qr= 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 m=a.reduce((i,p)=>{let c=o&&p.specKey?p.specKey:"default";return p.values&&(s||!p.syntheticDefaultImport)?(i[c]={...i[c],values:[..._nullishCoalesce(_optionalChain([i, 'access', _70 => _70[c], 'optionalAccess', _71 => _71.values]), () => ([])),p]},i):(i[c]={...i[c],types:[..._nullishCoalesce(_optionalChain([i, 'access', _72 => _72[c], 'optionalAccess', _73 => _73.types]), () => ([])),p]},i)},{});return Object.entries(m).map(([i,{values:p,types:c}])=>{let l="";return p&&(l+=Ft({deps:p,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:i,onlyTypes:!1})),c&&(p&&(l+=`
|
|
55
|
+
`),l+=Ft({deps:c,isAllowSyntheticDefaultImports:s,dependency:r,specsName:n,key:i,onlyTypes:!0})),l}).join(`
|
|
56
|
+
`)},Qa= exports.generateDependencyImports =(e,t,r,n,o)=>{let s=t.map(a=>qr({...a,implementation:e,specsName:r,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})).filter(Boolean).join(`
|
|
57
57
|
`);return s?s+`
|
|
58
|
-
`:""},
|
|
59
|
-
`,
|
|
58
|
+
`:""},Ha= 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 Ur=(e,t)=>e+`${t}
|
|
59
|
+
`,_= 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})=>Ur(r,n),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var $e="BodyType",qt=(e,t)=>{let r=$(e),n=$(t.path),{pathWithoutExtension:o}=$(A(r.dirname,n.path));return o},Re= 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`,m=t.path,i=await _fsextra2.default.readFile(m,"utf8"),p=i.includes("export type ErrorType")||i.includes("export interface ErrorType"),c=i.includes(`export type ${$e}`)||i.includes(`export interface ${$e}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${$e}`:$e,{file:f,cached:d}=await Ot(m,{isDefault:!1,root:n,alias:t.alias,tsconfig:o,load:!1});if(f){let g=s?"default":t.name,y=_r(f,g);y||(Q().error(_chalk2.default.red(`Your mutator file doesn't have the ${g} exported function`)),process.exit(1));let S=qt(e,t),R=t.name?!!t.name.startsWith("use")&&!y.numberOfParams:!y.numberOfParams;return{name:t.name||!R?a:`use${h(a)}`,path:S,default:s,hasErrorType:p,errorTypeName:l,hasSecondArg:R?y.returnNumberOfParams>1:y.numberOfParams>1,hasThirdArg:y.numberOfParams>2,isHook:R,...c?{bodyTypeName:u}:{}}}else{let g=qt(e,t);return d||Q().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:g,default:s,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},_r=(e,t)=>{try{let r=_acorn.Parser.parse(e,{ecmaVersion:6}),n=_optionalChain([r, 'optionalAccess', _74 => _74.body, 'optionalAccess', _75 => _75.find, 'call', _76 => _76(s=>{if(s.type==="ExpressionStatement")return _optionalChain([s, 'access', _77 => _77.expression, 'access', _78 => _78.arguments, 'optionalAccess', _79 => _79[1], 'optionalAccess', _80 => _80.properties, 'optionalAccess', _81 => _81.some, 'call', _82 => _82(a=>_optionalChain([a, 'access', _83 => _83.key, 'optionalAccess', _84 => _84.name])===t)])||_optionalChain([s, 'access', _85 => _85.expression, 'access', _86 => _86.left, 'optionalAccess', _87 => _87.property, 'optionalAccess', _88 => _88.name])===t?!0:_optionalChain([s, 'access', _89 => _89.expression, 'access', _90 => _90.right, 'optionalAccess', _91 => _91.properties, 'optionalAccess', _92 => _92.some, 'call', _93 => _93(a=>a.key.name===t)])})]);if(!n)return;if(n.expression.type==="AssignmentExpression"){if(n.expression.right.type==="FunctionExpression"||n.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:n.expression.right.params.length};if(n.expression.right.name)return je(r,n.expression.right.name);let s=_optionalChain([n, 'access', _94 => _94.expression, 'access', _95 => _95.right, 'optionalAccess', _96 => _96.properties, 'access', _97 => _97.find, 'call', _98 => _98(a=>a.key.name===t)]);return s.value.name?je(r,s.value.name):s.value.type==="FunctionExpression"||s.value.type==="ArrowFunctionExpression"?{numberOfParams:s.value.params.length}:void 0}let o=n.expression.arguments[1].properties.find(s=>_optionalChain([s, 'access', _99 => _99.key, 'optionalAccess', _100 => _100.name])===t);return je(r,o.value.body.name)}catch (e3){return}},je=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _101 => _101.body, 'optionalAccess', _102 => _102.find, 'call', _103 => _103(s=>{if(s.type==="VariableDeclaration")return s.declarations.find(a=>a.id.name===t);if(s.type==="FunctionDeclaration"&&s.id.name===t)return s})]);if(!r)return;if(r.type==="FunctionDeclaration"){let s=_optionalChain([r, 'access', _104 => _104.body, 'optionalAccess', _105 => _105.body, 'optionalAccess', _106 => _106.find, 'call', _107 => _107(a=>a.type==="ReturnStatement")]);return _optionalChain([s, 'optionalAccess', _108 => _108.argument, 'optionalAccess', _109 => _109.params])?{numberOfParams:r.params.length,returnNumberOfParams:s.argument.params.length}:{numberOfParams:r.params.length}}let n=r.declarations.find(s=>s.id.name===t);if(n.init.name)return je(e,n.init.name);let o=_optionalChain([n, 'access', _110 => _110.init, 'access', _111 => _111.body, 'optionalAccess', _112 => _112.body, 'optionalAccess', _113 => _113.find, 'call', _114 => _114(s=>s.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _115 => _115.argument, 'optionalAccess', _116 => _116.params])?{numberOfParams:n.init.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:n.init.params.length}};var Kr=(e,t,r)=>t&&e.formData?`
|
|
60
60
|
formData,`:r&&e.formUrlEncoded?`
|
|
61
61
|
formUrlEncoded,`:e.implementation?`
|
|
62
|
-
${e.implementation},`:"",
|
|
63
|
-
params,`),n&&(
|
|
64
|
-
headers,`),s&&(
|
|
62
|
+
${e.implementation},`:"",Qr= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:n,requestOptions:o,hasSignal:s})=>{let a=o!==!1;if(!r&&!n&&!e.isBlob)return a?"options":s?t?"...(signal ? { signal } : {})":"signal":"";let m="";return a||(r&&(m+=`
|
|
63
|
+
params,`),n&&(m+=`
|
|
64
|
+
headers,`),s&&(m+=t?`
|
|
65
65
|
...(signal ? { signal } : {}),`:`
|
|
66
|
-
signal,`)),e.isBlob&&(!
|
|
67
|
-
responseType: 'blob',`),
|
|
68
|
-
${(
|
|
69
|
-
...options,`,r&&(
|
|
70
|
-
params: {...params, ...options?.params},`),n&&(
|
|
71
|
-
headers: {...headers, ...options?.headers},`)),
|
|
72
|
-
\`${e}\`,{${
|
|
66
|
+
signal,`)),e.isBlob&&(!k(o)||!o.hasOwnProperty("responseType"))&&(m+=`
|
|
67
|
+
responseType: 'blob',`),k(o)&&(m+=`
|
|
68
|
+
${_optionalChain([z, 'call', _117 => _117(o), 'optionalAccess', _118 => _118.slice, 'call', _119 => _119(1,-1)])}`),a&&(m+=`
|
|
69
|
+
...options,`,r&&(m+=`
|
|
70
|
+
params: {...params, ...options?.params},`),n&&(m+=`
|
|
71
|
+
headers: {...headers, ...options?.headers},`)),m},li= exports.generateOptions =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,requestOptions:a,isFormData:m,isFormUrlEncoded:i,isAngular:p,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let u=Ye.includes(s),f=u?Kr(t,m,i):"",d=Qr({response:o,queryParams:_optionalChain([n, 'optionalAccess', _120 => _120.schema]),headers:_optionalChain([r, 'optionalAccess', _121 => _121.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),g=d?`{${d}}`:"";return s===V.DELETE?f?`
|
|
72
|
+
\`${e}\`,{${p?"body":"data"}:${f} ${d==="options"?`...${d}`:d}}
|
|
73
73
|
`:`
|
|
74
|
-
\`${e}\`,${
|
|
74
|
+
\`${e}\`,${d==="options"?d:g}
|
|
75
75
|
`:`
|
|
76
|
-
\`${e}\`,${f
|
|
77
|
-
`},
|
|
76
|
+
\`${e}\`,${u?f||"undefined,":""}${d==="options"?d:g}
|
|
77
|
+
`},Hr= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
|
|
78
78
|
data: formData`:r&&e.formUrlEncoded?`,
|
|
79
79
|
data: formUrlEncoded`:e.implementation?`,
|
|
80
|
-
data: ${e.implementation}`:"",
|
|
80
|
+
data: ${e.implementation}`:"",Jr= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
|
|
81
81
|
params`),e.isBlob&&(r+=`,
|
|
82
|
-
responseType: 'blob'`),r},
|
|
82
|
+
responseType: 'blob'`),r},ui= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:n,response:o,verb:s,isFormData:a,isFormUrlEncoded:m,isBodyVerb:i,hasSignal:p,isExactOptionalPropertyTypes:c})=>{let l=i?Hr(t,a,m):"",u=Jr(o,n),f=t.contentType?`,
|
|
83
83
|
headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
|
|
84
|
-
headers`:"";return`{url: \`${e}\`, method: '${s}'${
|
|
85
|
-
}`},
|
|
86
|
-
`}),n;let
|
|
87
|
-
`;return n.push(...
|
|
84
|
+
headers`:"";return`{url: \`${e}\`, method: '${s}'${f}${l}${u}${!i&&p?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
|
|
85
|
+
}`},fi= exports.generateMutatorRequestOptions =(e,t)=>t?k(e)?`{${_optionalChain([z, 'call', _122 => _122(e), 'optionalAccess', _123 => _123.slice, 'call', _124 => _124(1,-1)])} ...options}`:"options":k(e)?_optionalChain([z, 'call', _125 => _125(e), 'optionalAccess', _126 => _126.slice, 'call', _127 => _127(1,-1)]):"",di= 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 bi=(e={},t,r)=>Object.entries(e).reduce((n,[o,s])=>{let a=M(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=E(s,t);if(m.in!=="query")return n;if(!m.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"};
|
|
86
|
+
`}),n;let p=F({schema:m.schema,propName:a,context:t}),l=`${G(s)}export type ${a} = ${p.value||"unknown"};
|
|
87
|
+
`;return n.push(...p.schemas),a!==p.value&&n.push({name:a,model:l,imports:p.imports}),n},[]);var Ut=({name:e,schema:t,context:r,suffix:n})=>{let o=te({item:t,name:e,context:r}),s=o.value==="{}",a="";a+=G(t),s&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
|
|
88
88
|
`:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
89
|
-
`),!
|
|
89
|
+
`),!ce.includes(o.value)&&!_optionalChain([r, 'optionalAccess', _128 => _128.override, 'optionalAccess', _129 => _129.useTypeOverInterfaces])?a+=`export interface ${e} ${o.value}
|
|
90
90
|
`:a+=`export type ${e} = ${o.value};
|
|
91
|
-
`;let
|
|
92
|
-
`;else{let u
|
|
93
|
-
`,
|
|
94
|
-
`;return s.push(...
|
|
91
|
+
`;let m=o.imports.filter(i=>i.name!==e);return[...o.schemas,{name:e,model:a,imports:m}]};var Pi=(e={},t,r)=>{if(_lodashisempty2.default.call(void 0, e))return[];let n=Pt(e,t);return Object.entries(n).reduce((s,[a,m])=>{let i=M(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!m.type||m.type==="object")&&!m.allOf&&!m.oneOf&&!m.anyOf&&!P(m)&&!m.nullable)return s.push(...Ut({name:i,schema:m,context:t,suffix:r})),s;{let p=I({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=G(m),p.isEnum&&!p.isRef)c+=Z(p.value,i,_optionalChain([p, 'access', _130 => _130.originalSchema, 'optionalAccess', _131 => _131["x-enumNames"]]));else if(i===p.value&&p.isRef){let u=p.imports.find(f=>f.name===i);if(!u)c+=`export type ${i} = ${p.value};
|
|
92
|
+
`;else{let f=_optionalChain([u, 'optionalAccess', _132 => _132.specKey])?`${h(yt(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${f};
|
|
93
|
+
`,l=l.map(d=>d.name===i?{...d,alias:f}:d)}}else c+=`export type ${i} = ${p.value};
|
|
94
|
+
`;return s.push(...p.schemas,{name:i,model:c,imports:l}),s}},[])};var Xr=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{let{responses:a,requestBody:m,parameters:i,tags:p=[],deprecated:c,description:l,summary:u}=r,f=Tt(r,n,e),d=t.override.operations[r.operationId],g=Object.entries(t.override.tags).reduce((Je,[Jt,Yt])=>p.includes(Jt)?qe(Je,Yt):Je,{}),y={...t.override,...g,...d},S=_optionalChain([d, 'optionalAccess', _133 => _133.operationName])||_optionalChain([t, 'access', _134 => _134.override, 'optionalAccess', _135 => _135.operationName]),R=S?S(r,n,e):b(f),O=M(R,{es5keyword:!0}),x=Dt({responses:a,operationName:O,context:s,contentType:y.contentType}),C=Gt({requestBody:m,operationName:O,context:s,contentType:y.contentType}),v=Et({parameters:[...o,..._nullishCoalesce(i, () => ([]))],context:s}),T=ze({queryParams:v.query,operationName:O,context:s}),B=t.headers?await ze({queryParams:v.header,operationName:O,context:s,suffix:"headers"}):void 0,K=Ct({route:n,pathParams:v.path,operationId:f,context:s}),J=It({body:C,queryParams:T,params:K,headers:B}),we=await Re({output:t.target,name:O,mutator:_optionalChain([y, 'optionalAccess', _136 => _136.mutator]),workspace:s.workspace,tsconfig:s.tsconfig}),Kt=W(_optionalChain([y, 'optionalAccess', _137 => _137.formData]))||k(_optionalChain([y, 'optionalAccess', _138 => _138.formData]))?await Re({output:t.target,name:O,mutator:y.formData,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Qt=W(_optionalChain([y, 'optionalAccess', _139 => _139.formUrlEncoded]))||k(_optionalChain([y, 'optionalAccess', _140 => _140.formUrlEncoded]))?await Re({output:t.target,name:O,mutator:y.formUrlEncoded,workspace:s.workspace,tsconfig:s.tsconfig}):void 0,Ht=G({description:l,deprecated:c,summary:u}),Qe={verb:e,tags:p,summary:r.summary,operationId:f,operationName:O,response:x,body:C,headers:B,queryParams:T,params:K,props:J,mutator:we,formData:Kt,formUrlEncoded:Qt,override:y,doc:Ht,deprecated:c},He=await ct(_optionalChain([y, 'optionalAccess', _141 => _141.transformer]),s.workspace);return He?He(Qe):Qe},Di= exports.generateVerbsOptions =({verbs:e,output:t,route:r,context:n})=>st(Object.entries(e),async(o,[s,a])=>{if(nt(s)){let m=await Xr({verb:s,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});o.push(m)}return o},[]);var Zr=({schema:{imports:e,model:t},target:r,isRootKey:n,specsName:o,header:s})=>{let a=s;return a+=Wt({imports:e.filter(m=>!t.includes(`type ${m.alias||m.name} =`)&&!t.includes(`interface ${m.alias||m.name} {`)),target:r,isRootKey:n,specsName:o}),a+=e.length?`
|
|
95
95
|
|
|
96
96
|
`:`
|
|
97
|
-
`,a+=t,a},
|
|
98
|
-
`,
|
|
99
|
-
`);await
|
|
100
|
-
`,a.implementationMSW.function+=
|
|
97
|
+
`,a+=t,a},eo=(e,t)=>_path.join.call(void 0, e,`/${t}.ts`),to= exports.writeModelInline =(e,t)=>e+`${t}
|
|
98
|
+
`,Hi= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>to(t,r),""),ro= exports.writeSchema =async({path:e,schema:t,target:r,isRootKey:n,specsName:o,header:s})=>{let a=b(t.name);try{await _fsextra2.default.outputFile(eo(e,a),Zr({schema:t,target:r,isRootKey:n,specsName:o,header:s}))}catch(m){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${m}`}},Ji= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,isRootKey:n,specsName:o,header:s})=>{let a=_path.join.call(void 0, e,"/index.ts");await _fsextra2.default.ensureFile(a),await Promise.all(t.map(m=>ro({path:e,schema:m,target:r,isRootKey:n,specsName:o,header:s})));try{let i=(await _fsextra2.default.readFile(a)).toString(),p=t.filter(u=>!i.includes(`export * from './${b(u.name)}'`)&&!i.includes(`export * from "./${b(u.name)}"`)).map(u=>`export * from './${b(u.name)}';`),l=[..._nullishCoalesce(_optionalChain([i, 'access', _142 => _142.match, 'call', _143 => _143(/export \* from(.*)('|")/g), 'optionalAccess', _144 => _144.map, 'call', _145 => _145(u=>u+";")]), () => ([])),...p].sort().join(`
|
|
99
|
+
`);await _fsextra2.default.writeFile(a,l)}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=_optionalChain([t, 'optionalAccess', _146 => _146.client])===q.ANGULAR,o=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),s=Object.values(e.operations).reduce((a,m,i,p)=>{if(a.imports.push(...m.imports),a.importsMSW.push(...m.importsMSW),a.implementation+=m.implementation+`
|
|
100
|
+
`,a.implementationMSW.function+=m.implementationMSW.function,a.implementationMSW.handler+=m.implementationMSW.handler,m.mutator&&a.mutators.push(m.mutator),m.formData&&a.formData.push(m.formData),m.formUrlEncoded&&a.formUrlEncoded.push(m.formUrlEncoded),m.clientMutators&&a.clientMutators.push(...m.clientMutators),i===p.length-1){let c=a.mutators.some(g=>n?g.hasThirdArg:g.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _147 => _147.packageJson, 'optionalAccess', _148 => _148.dependencies, 'optionalAccess', _149 => _149.typescript]), () => (_optionalChain([t, 'access', _150 => _150.packageJson, 'optionalAccess', _151 => _151.devDependencies, 'optionalAccess', _152 => _152.typescript]))), () => ("4.4.0")),u=ye(l,"4.5.0"),f=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:u,titles:o});a.implementation=f.implementation+a.implementation,a.implementationMSW.handler=f.implementationMSW+a.implementationMSW.handler;let d=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _153 => _153.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:u,titles:o});a.implementation+=d.implementation,a.implementationMSW.handler+=d.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...s,implementationMSW:s.implementationMSW.function+s.implementationMSW.handler}};var mp=async({builder:e,output:t,specsName:r,header:n})=>{try{let{path:o,dirname:s}=$(t.target,{backupFilename:b(e.info.title)}),{imports:a,importsMSW:m,implementation:i,implementationMSW:p,mutators:c,clientMutators:l,formData:u,formUrlEncoded:f}=ve(e,t),d=n,g=t.schemas?A(s,$(t.schemas).dirname):void 0,y=L(t.tsconfig);return d+=e.imports({client:t.client,implementation:i,imports:g?[{exports:a.filter(S=>!m.some(R=>S.name===R.name)),dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:y,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(d+=e.importsMock({implementation:p,imports:g?[{exports:m,dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:y})),c&&(d+=j({mutators:c,implementation:i})),l&&(d+=j({mutators:l})),u&&(d+=j({mutators:u})),f&&(d+=j({mutators:f})),t.schemas||(d+=_(e.schemas)),d+=`
|
|
101
101
|
|
|
102
|
-
${i}`,t.mock&&(
|
|
102
|
+
${i}`,t.mock&&(d+=`
|
|
103
103
|
|
|
104
|
-
`,
|
|
105
|
-
${i}`,
|
|
106
|
-
${
|
|
107
|
-
${
|
|
108
|
-
${
|
|
104
|
+
`,d+=p),await _fsextra2.default.outputFile(o,d),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var bp=async({builder:e,output:t,specsName:r,header:n})=>{try{let{filename:o,dirname:s,extension:a}=$(t.target,{backupFilename:b(e.info.title)}),{imports:m,implementation:i,implementationMSW:p,importsMSW:c,mutators:l,clientMutators:u,formData:f,formUrlEncoded:d}=ve(e,t),g=n,y=n,S=t.schemas?A(s,$(t.schemas).dirname):"./"+o+".schemas",R=L(t.tsconfig);g+=e.imports({client:t.client,implementation:i,imports:[{exports:m,dependency:S}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),y+=e.importsMock({implementation:p,imports:[{exports:c,dependency:S}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R});let O=t.schemas?void 0:_path2.default.join(s,o+".schemas"+a);if(O){let T=n+_(e.schemas);await _fsextra2.default.outputFile(_path2.default.join(s,o+".schemas"+a),T)}l&&(g+=j({mutators:l,implementation:i})),u&&(g+=j({mutators:u})),f&&(g+=j({mutators:f})),d&&(g+=j({mutators:d})),g+=`
|
|
105
|
+
${i}`,y+=`
|
|
106
|
+
${p}`;let x=o+(q.ANGULAR===t.client?".service":"")+a,C=_path2.default.join(s,x);await _fsextra2.default.outputFile(_path2.default.join(s,x),g);let v=t.mock?_path2.default.join(s,o+".msw"+a):void 0;return v&&await _fsextra2.default.outputFile(v,y),[C,...O?[O]:[],...v?[v]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var no=e=>({...e,tags:e.tags.length?e.tags:["default"]}),so=(e,t)=>t.tags.map(ge).reduce((r,n)=>{let o=r[n];return o?(r[n]={implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[..._nullishCoalesce(o.mutators, () => ([])),t.mutator]:o.mutators,clientMutators:t.clientMutators?[..._nullishCoalesce(o.clientMutators, () => ([])),...t.clientMutators]:o.clientMutators,formData:t.formData?[..._nullishCoalesce(o.formData, () => ([])),t.formData]:o.formData,formUrlEncoded:t.formUrlEncoded?[..._nullishCoalesce(o.formUrlEncoded, () => ([])),t.formUrlEncoded]:o.formUrlEncoded},r):(r[n]={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),Ge= exports.generateTargetForTags =(e,t)=>{let r=t.client===q.ANGULAR,n=Object.values(e.operations).map(no).reduce((o,s,a,m)=>{let i=so(o,s);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let u=!!_optionalChain([l, 'access', _154 => _154.mutators, 'optionalAccess', _155 => _155.some, 'call', _156 => _156(O=>r?O.hasThirdArg:O.hasSecondArg)]),f=Object.values(e.operations).filter(({tags:O})=>O.includes(c)).map(({operationName:O})=>O),d=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _157 => _157.packageJson, 'optionalAccess', _158 => _158.dependencies, 'optionalAccess', _159 => _159.typescript]), () => (_optionalChain([t, 'access', _160 => _160.packageJson, 'optionalAccess', _161 => _161.devDependencies, 'optionalAccess', _162 => _162.typescript]))), () => ("4.4.0")),g=ye(d,"4.5.0"),y=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),S=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _163 => _163.client]),operationNames:f,hasMutator:!!_optionalChain([l, 'access', _164 => _164.mutators, 'optionalAccess', _165 => _165.length]),hasAwaitedType:g,titles:y}),R=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:g,titles:y});return p[c]={implementation:R.implementation+l.implementation+S.implementation,implementationMSW:{function:l.implementationMSW.function,handler:R.implementationMSW+l.implementationMSW.handler+S.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(n).reduce((o,[s,a])=>(o[s]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},o),{})};var kp=async({builder:e,output:t,specsName:r,header:n})=>{let{filename:o,dirname:s,extension:a}=$(t.target,{backupFilename:b(e.info.title)}),m=Ge(e,t),i=L(t.tsconfig);return(await Promise.all(Object.entries(m).map(async([c,l])=>{try{let{imports:u,implementation:f,implementationMSW:d,importsMSW:g,mutators:y,clientMutators:S,formData:R,formUrlEncoded:O}=l,x=n,C=n,v=t.schemas?"../"+A(s,$(t.schemas).dirname):"../"+o+".schemas";x+=e.imports({client:t.client,implementation:f,imports:[{exports:u,dependency:v}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),C+=e.importsMock({implementation:d,imports:[{exports:g,dependency:v}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i});let T=t.schemas?void 0:_path2.default.join(s,o+".schemas"+a);if(T){let we=n+_(e.schemas);await _fsextra2.default.outputFile(T,we)}y&&(x+=j({mutators:y,implementation:f,oneMore:!0})),S&&(x+=j({mutators:S,oneMore:!0})),R&&(x+=j({mutators:R,oneMore:!0})),O&&(x+=j({mutators:O,oneMore:!0})),x+=`
|
|
107
|
+
${f}`,C+=`
|
|
108
|
+
${d}`;let B=c+(q.ANGULAR===t.client?".service":"")+a,K=_path2.default.join(s,c,B);await _fsextra2.default.outputFile(K,x);let J=t.mock?_path2.default.join(s,c,c+".msw"+a):void 0;return J&&await _fsextra2.default.outputFile(J,C),[K,...T?[T]:[],...J?[J]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${c} => ${u}`}}))).flatMap(c=>c)};var qp=async({builder:e,output:t,specsName:r,header:n})=>{let{filename:o,dirname:s,extension:a}=$(t.target,{backupFilename:b(e.info.title)}),m=Ge(e,t),i=L(t.tsconfig);return(await Promise.all(Object.entries(m).map(async([c,l])=>{try{let{imports:u,implementation:f,implementationMSW:d,importsMSW:g,mutators:y,clientMutators:S,formData:R,formUrlEncoded:O}=l,x=n,C=t.schemas?A(s,$(t.schemas).dirname):"./"+o+".schemas";x+=e.imports({client:t.client,implementation:f,imports:[{exports:u.filter(B=>!g.some(K=>B.name===K.name)),dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(x+=e.importsMock({implementation:d,imports:[{exports:g,dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:i}));let v=t.schemas?void 0:_path2.default.join(s,o+".schemas"+a);if(v){let B=n+_(e.schemas);await _fsextra2.default.outputFile(v,B)}y&&(x+=j({mutators:y,implementation:f})),S&&(x+=j({mutators:S})),R&&(x+=j({mutators:R})),O&&(x+=j({mutators:O})),x+=`
|
|
109
109
|
|
|
110
|
-
`,
|
|
110
|
+
`,x+=f,t.mock&&(x+=`
|
|
111
111
|
|
|
112
|
-
`,
|
|
112
|
+
`,x+=d);let T=_path2.default.join(s,`${ge(c)}${a}`);return await _fsextra2.default.outputFile(T,x),[T,...v?[v]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${c} => ${u}`}}))).flatMap(c=>c)};exports.BODY_TYPE_NAME = $e; exports.GetterPropType = oe; exports.LogLevels = De; exports.OutputClient = q; exports.OutputMode = io; exports.RefComponentSuffix = Jn; exports.URL_REGEX = co; exports.VERBS_WITH_BODY = Ye; exports.Verbs = V; exports.addDependency = qr; exports.asyncReduce = st; exports.camel = b; exports.combineSchemas = Ue; exports.compareVersions = ye; exports.count = sn; exports.createDebugger = mt; exports.createLogger = Q; exports.createSuccessMessage = Ao; exports.dynamicImport = ct; exports.errorMessage = ko; exports.escape = $t; exports.generalJSTypes = Xt; exports.generalJSTypesWithArray = ce; exports.generateAxiosOptions = Qr; exports.generateBodyMutatorConfig = Hr; exports.generateBodyOptions = Kr; exports.generateComponentDefinition = qa; exports.generateDependencyImports = Qa; exports.generateFormDataAndUrlEncodedFunction = di; exports.generateImports = Wt; exports.generateModelInline = Ur; exports.generateModelsInline = _; exports.generateMutator = Re; exports.generateMutatorConfig = ui; exports.generateMutatorImports = j; exports.generateMutatorRequestOptions = fi; exports.generateOptions = li; exports.generateParameterDefinition = bi; exports.generateQueryParamsAxiosConfig = Jr; exports.generateSchemasDefinition = Pi; exports.generateTarget = ve; exports.generateTargetForTags = Ge; exports.generateVerbImports = Ha; exports.generateVerbsOptions = Di; exports.getArray = Rt; exports.getBody = Gt; exports.getEnum = Z; exports.getEnumImplementation = Oe; exports.getExtension = ie; exports.getFileInfo = $; exports.getKey = Se; exports.getNumberWord = be; exports.getObject = wt; exports.getOperationId = Tt; exports.getParameters = Et; exports.getParams = Ct; exports.getParamsInPath = Fr; exports.getProps = It; exports.getQueryParams = ze; exports.getRefInfo = ee; exports.getResReqTypes = re; exports.getResponse = Dt; exports.getRoute = Oa; exports.getScalar = te; exports.getSpecName = yt; exports.ibmOpenapiValidator = $n; exports.ibmOpenapiValidatorErrors = gt; exports.ibmOpenapiValidatorWarnings = dt; exports.isBoolean = ne; exports.isDirectory = Xe; exports.isFunction = rt; exports.isModule = Ze; exports.isNull = ot; exports.isNumber = et; exports.isNumeric = tt; exports.isObject = k; exports.isReference = P; exports.isRootKey = yo; exports.isString = W; exports.isSyntheticDefaultImportsAllow = L; exports.isUndefined = se; exports.isUrl = le; exports.isVerb = nt; exports.joinSafe = Ae; exports.jsDoc = G; exports.kebab = ge; exports.loadFile = Ot; exports.log = N; exports.mergeDeep = qe; exports.mismatchArgsMessage = No; exports.normalizeSafe = Ne; exports.openApiConverter = ln; exports.pascal = h; exports.relativeSafe = A; exports.removeFiles = rn; exports.resolveDiscriminators = Pt; exports.resolveObject = F; exports.resolveRef = E; exports.resolveValue = I; exports.sanitize = M; exports.separator = ur; exports.snake = Oo; exports.sortByPriority = xt; exports.startMessage = Do; exports.stringify = z; exports.toObjectString = hn; exports.upper = xo; exports.writeModelInline = to; exports.writeModelsInline = Hi; exports.writeSchema = ro; exports.writeSchemas = Ji; exports.writeSingleMode = mp; exports.writeSplitMode = bp; exports.writeSplitTagsMode = kp; exports.writeTagsMode = qp;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orval/core",
|
|
3
|
-
"version": "6.11.0-alpha.
|
|
3
|
+
"version": "6.11.0-alpha.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"dist"
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
|
-
"build": "tsup ./src/index.ts --
|
|
12
|
-
"dev": "tsup ./src/index.ts --
|
|
11
|
+
"build": "tsup ./src/index.ts --minify --clean --dts --splitting",
|
|
12
|
+
"dev": "tsup ./src/index.ts --clean --watch src",
|
|
13
13
|
"lint": "eslint src/**/*.ts",
|
|
14
14
|
"test": "vitest --global test.ts"
|
|
15
15
|
},
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"@types/fs-extra": "^9.0.13",
|
|
20
20
|
"@types/inquirer": "^8.2.2",
|
|
21
21
|
"@types/lodash.get": "^4.4.7",
|
|
22
|
+
"@types/lodash.isempty": "^4.4.7",
|
|
22
23
|
"@types/lodash.omit": "^4.5.7",
|
|
23
24
|
"@types/lodash.uniq": "^4.5.7",
|
|
24
25
|
"@types/lodash.uniqby": "^4.7.7",
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
"globby": "11.1.0",
|
|
40
41
|
"ibm-openapi-validator": "^0.88.0",
|
|
41
42
|
"lodash.get": "^4.4.2",
|
|
43
|
+
"lodash.isempty": "^4.4.0",
|
|
42
44
|
"lodash.omit": "^4.5.0",
|
|
43
45
|
"lodash.uniq": "^4.5.0",
|
|
44
46
|
"lodash.uniqby": "^4.7.0",
|
|
@@ -46,7 +48,6 @@
|
|
|
46
48
|
"micromatch": "^4.0.5",
|
|
47
49
|
"openapi3-ts": "^3.0.0",
|
|
48
50
|
"swagger2openapi": "^7.0.8",
|
|
49
|
-
"upath": "^2.0.1",
|
|
50
51
|
"url": "^0.11.0",
|
|
51
52
|
"validator": "^13.7.0"
|
|
52
53
|
}
|