@orval/core 6.18.1 → 6.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -40,6 +40,7 @@ declare type NormalizedOutputOptions = {
40
40
  packageJson?: PackageJson;
41
41
  headers: boolean;
42
42
  indexFiles: boolean;
43
+ baseUrl?: string;
43
44
  };
44
45
  declare type NormalizedOverrideOutput = {
45
46
  title?: (title: string) => string;
@@ -143,6 +144,7 @@ declare type OutputOptions = {
143
144
  packageJson?: string;
144
145
  headers?: boolean;
145
146
  indexFiles?: boolean;
147
+ baseUrl?: string;
146
148
  };
147
149
  declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
148
150
  validate?: boolean;
@@ -258,8 +260,10 @@ declare type OverrideOutputContentType = {
258
260
  };
259
261
  declare type NormalizedQueryOptions = {
260
262
  useQuery?: boolean;
263
+ useSuspenseQuery?: boolean;
261
264
  useMutation?: boolean;
262
265
  useInfinite?: boolean;
266
+ useSuspenseInfiniteQuery?: boolean;
263
267
  useInfiniteQueryParam?: string;
264
268
  options?: any;
265
269
  queryKey?: NormalizedMutator;
@@ -270,8 +274,10 @@ declare type NormalizedQueryOptions = {
270
274
  };
271
275
  declare type QueryOptions = {
272
276
  useQuery?: boolean;
277
+ useSuspenseQuery?: boolean;
273
278
  useMutation?: boolean;
274
279
  useInfinite?: boolean;
280
+ useSuspenseInfiniteQuery?: boolean;
275
281
  useInfiniteQueryParam?: string;
276
282
  options?: any;
277
283
  queryKey?: Mutator;
@@ -886,11 +892,11 @@ declare const getParams: ({ route, pathParams, operationId, context, }: {
886
892
  context: ContextSpecs;
887
893
  }) => GetterParams;
888
894
 
889
- declare const getProps: ({ body, queryParams, params, operationId, headers, context, }: {
895
+ declare const getProps: ({ body, queryParams, params, operationName, headers, context, }: {
890
896
  body: GetterBody;
891
897
  queryParams?: GetterQueryParam | undefined;
892
898
  params: GetterParams;
893
- operationId: string;
899
+ operationName: string;
894
900
  headers?: GetterQueryParam | undefined;
895
901
  context: ContextSpecs;
896
902
  }) => GetterProps;
package/dist/index.js CHANGED
@@ -1,34 +1,34 @@
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 er=Object.defineProperty;var F=(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 tr=(e,t)=>{for(var r in t)er(e,r,{get:t[r],enumerable:!0})};var U={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},Sn= 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"},z= exports.GetterPropType ={PARAM:"param",NAMED_PATH_PARAMS:"namedPathParams",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"},et= exports.SchemaType ={integer:"integer",number:"number",string:"string",boolean:"boolean",object:"object",null:"null",array:"array",enum:"enum",unknown:"unknown"};var rr=["number","string","null","unknown","undefined","object","blob"],ce= exports.generalJSTypesWithArray =rr.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),tt= exports.VERBS_WITH_BODY =[V.POST,V.PUT,V.PATCH,V.DELETE],jn= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashisempty = require('lodash.isempty'); var _lodashisempty2 = _interopRequireDefault(_lodashisempty);var _esutils = require('esutils');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var b={};tr(b,{basename:()=>yr,dirname:()=>gr,extname:()=>Be,getSchemaFileName:()=>xr,getSpecName:()=>Or,isAbsolute:()=>hr,join:()=>dr,joinSafe:()=>ue,normalizeSafe:()=>fe,relativeSafe:()=>br,resolve:()=>We,separator:()=>dt});var _path = require('path'); var _path2 = _interopRequireDefault(_path);var le=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 _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var rt=process.env.ORVAL_DEBUG_FILTER,or=process.env.DEBUG;function nt(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:s}=t,n=typeof s=="string"?s:e;return(o,...a)=>{rt&&!o.includes(rt)||s&&!_optionalChain([or, 'optionalAccess', _2 => _2.includes, 'call', _3 => _3(n)])||r(o,...a)}}var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var W=console.log,En= exports.startMessage =({name:e,version:t,description:r})=>W(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Cn= exports.errorMessage =e=>W(_chalk2.default.red(e)),In= exports.mismatchArgsMessage =e=>W(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),Dn= exports.createSuccessMessage =e=>W(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),it= exports.ibmOpenapiValidatorWarnings =e=>{W(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>W(_chalk2.default.yellow(`Message : ${t.message}
2
- Path : ${t.path}`)))},pt= exports.ibmOpenapiValidatorErrors =e=>{W(_chalk2.default.red("(!) Errors")),e.forEach(t=>W(_chalk2.default.red(`Message : ${t.message}
3
- Path : ${t.path}`)))},Ie= exports.LogLevels ={silent:0,error:1,warn:2,info:3},st,at,De=0;function sr(){let e=process.stdout.rows-2,t=e>0?`
4
- `.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function Y(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:s=!0}=t,n=Ie[e],o=s&&process.stdout.isTTY&&!process.env.CI?sr:()=>{};function a(p,c,l={}){if(n>=Ie[p]){let f=p==="info"?"log":p,u=()=>{if(l.timestamp){let g=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())} ${g} ${c}`}else return c};p===st&&c===at?(De++,o(),console[f](u(),_chalk2.default.yellow(`(x${De+1})`))):(De=0,at=c,st=p,l.clear&&o(),console[f](u()))}}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){n>=Ie[p]&&o()}};return i}var j=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let s=lt(e),n=s?_path.join.call(void 0, e,t+r):e,o=n.replace(/\.[^/.]+$/,""),a=_path.dirname.call(void 0, n),m=_path.basename.call(void 0, n,r[0]!=="."?`.${r}`:r);return{path:n,pathWithoutExtension:o,extension:r,isDirectory:s,dirname:a,filename:m}},mt=nt("orval:file-load"),Ae=new Map;async function ct(e,t){let{root:r=process.cwd(),isDefault:s=!0,defaultFileName:n,logLevel:o,alias:a,tsconfig:m,load:i=!0}=_nullishCoalesce(t, () => ({})),p=Date.now(),c,l=!1,f=!1;if(e)c=_path.resolve.call(void 0, e),l=e.endsWith(".ts");else if(n){let d=_path.resolve.call(void 0, r,`${n}.js`);if(_fs2.default.existsSync(d)&&(c=d),!c){let y=_path.resolve.call(void 0, r,`${n}.mjs`);_fs2.default.existsSync(y)&&(c=y,f=!0)}if(!c){let y=_path.resolve.call(void 0, r,`${n}.ts`);_fs2.default.existsSync(y)&&(c=y,l=!0)}}c||(e?Y(o).error(_chalk2.default.red(`File not found => ${e}`)):n?Y(o).error(_chalk2.default.red(`File not found => ${n}.{js,mjs,ts}`)):Y(o).error(_chalk2.default.red("File not found")),process.exit(1));let u=fe(c),g=Ae.get(c);if(g)return{path:u,...g,cached:!0};try{let d;if(!d&&!l&&!f)try{delete F.cache[F.resolve(c)],d=F(c),mt(`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(!d){let{code:y}=await lr(c,f,r||_path.dirname.call(void 0, u),a,_optionalChain([m, 'optionalAccess', _4 => _4.compilerOptions]));i?d=await ur(c,y,s):d=y,mt(`bundled file loaded in ${Date.now()-p}ms`)}return Ae.set(c,{file:d}),{path:u,file:d}}catch(d){return Ae.set(c,{error:d}),{path:u,error:d}}}async function lr(e,t=!1,r,s,n){let o=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:_optionalChain([n, 'optionalAccess', _5 => _5.target])||"es6",minify:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,treeShaking:!1,keepNames:!1,plugins:[...s||_optionalChain([n, 'optionalAccess', _6 => _6.paths])?[{name:"aliasing",setup(m){m.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(s){let p=Object.keys(s),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),f=_micromatch2.default.scan(s[c]),u=_path.resolve.call(void 0, r,f.base),g=l.base?i.replace(l.base,u):ue(u,i),y=_path.extname.call(void 0, g)?g:`${g}.ts`;return _fs2.default.existsSync(y)?{path:y}:void 0}}if(_optionalChain([n, 'optionalAccess', _7 => _7.paths])){let p=Object.keys(_optionalChain([n, 'optionalAccess', _8 => _8.paths])),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),f=_micromatch2.default.scan(_optionalChain([n, 'optionalAccess', _9 => _9.paths, 'access', _10 => _10[c], 'access', _11 => _11[0]])),u=_path.resolve.call(void 0, r,f.base),g=l.base?i.replace(l.base,u):ue(u,i),y=_path.extname.call(void 0, g)?g:`${g}.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}=o.outputFiles[0];return{code:a,dependencies:o.metafile?Object.keys(o.metafile.inputs):[]}}async function ur(e,t,r){let s=_path.extname.call(void 0, e),n=F.extensions[s];F.extensions[s]=(m,i)=>{i===e?m._compile(t,i):n(m,i)},delete F.cache[F.resolve(e)];let o=F(e),a=r&&o.__esModule?o.default:o;return F.extensions[s]=n,a}async function Qn(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(s=>_fs2.default.promises.unlink(s)))}var _={},fr=e=>typeof e=="function",ft=e=>typeof e=="string"?!0:typeof e=="object"&&e!==null?Object.toString.call(e)=="[object String]":!1;Object.entries(_path2.default).forEach(([e,t])=>{fr(t)?_[e]=(r=>(...s)=>{s=s.map(o=>ft(o)?de(o):o);let n=_path2.default[r](...s);return ft(n)?de(n):n})(e):_[e]=t});var{join:dr,resolve:We,extname:Be,dirname:gr,basename:yr,isAbsolute:hr}=_;var br=(e,t)=>{let r=_.relative(e,t);return fe(`.${dt}${r}`)},Or=(e,t)=>{if(ge(e)){let r=new URL(t);return e.replace(r.origin,"").replace(j(r.pathname).dirname,"").replace(`.${le(e)}`,"")}return"/"+_.normalize(_.relative(j(t).dirname,e)).split("../").join("").replace(`.${le(e)}`,"")},xr=e=>e.replace(`.${le(e)}`,"").slice(e.lastIndexOf("/")+1),dt="/",de=function(e){return e=e.replace(/\\/g,"/"),e=e.replace(/(?<!^)\/+/g,"/"),e},fe=e=>{let t;return e=de(e),t=_.normalize(e),e.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:e.startsWith("//")&&!t.startsWith("//")&&(e.startsWith("//./")?t="//."+t:t="/"+t),t},ue=function(...e){let t=_.join(...e);if(e.length>0){let r=de(e[0]);r.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:r.startsWith("//")&&!t.startsWith("//")&&(r.startsWith("//./")?t="//."+t:t="/"+t)}return t};var w=e=>Boolean(e.$ref),lt= exports.isDirectory =e=>!Be(e);function D(e){return Object.prototype.toString.call(e)==="[object Object]"}function gt(e){return Object.prototype.toString.call(e)==="[object Module]"}function A(e){return typeof e=="string"}function yt(e){return typeof e=="number"}function ht(e){return/^-?\d+$/.test(e)}function ie(e){return typeof e=="boolean"}function bt(e){return typeof e=="function"}function pe(e){return typeof e>"u"}function Ot(e){return typeof e===null}function no(e){if(!D(e))return!1;if(A(e.type)&&Object.values(et).includes(e.type))return!0;let t=e.allOf||e.anyOf||e.oneOf;return!!(Array.isArray(t)||D(e.properties))}var xt=e=>Object.values(V).includes(e),oo= exports.isRootKey =(e,t)=>e===t,$r=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,ge= exports.isUrl =e=>_isURL2.default.call(void 0, e)||$r.test(e);async function St(e,t,r){let s=typeof r=="object"?Object.create(r):r;for(let n of e)s=await t(s,n);return s}var Ve=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ye=Ve("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),he="a-z"+Ve("DF-F6,F8-FF","00"),me="A-Z"+Ve("C0-D6,D8-DE","00"),Rr="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",L={capitalize:new RegExp("(^|["+ye+"])(["+he+"])","g"),pascal:new RegExp("(^|["+ye+"])+(["+he+me+"])","g"),fill:new RegExp("["+ye+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+he+"])","g"),improper:new RegExp("\\b("+Rr+")\\b","g"),relax:new RegExp("([^"+me+"])(["+me+"]*)(["+me+"])(?=[^"+me+"]|$)","g"),upper:new RegExp("^[^"+he+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ye+"]")},jr=e=>e.replace(L.apostrophe,""),Pr=String.prototype.toUpperCase,be=String.prototype.toLowerCase,qe=(e,t,r=!1)=>(e=e.replace(L.fill,function(s,n){return n?t+n:""}),r&&(e=jr(e)),e),Tr=(e,t=0)=>be.call(e.charAt(t))+e.slice(t+1),vr=(e,t,r,s)=>t+" "+(r?r+" ":"")+s,$t=(e,t=!1,r=!1,s=!1)=>{if(e=e==null?"":e+"",!s&&L.upper.test(e)&&(e=be.call(e)),!t&&!L.hole.test(e)){var n=qe(e," ");L.hole.test(n)&&(e=n)}return!r&&!L.room.test(e)&&(e=e.replace(L.relax,vr)),e},Rt=(e,t,r)=>qe(be.call($t(e,!!t)),t,r),h= exports.pascal =e=>{let t=_optionalChain([e, 'optionalAccess', _12 => _12.startsWith, 'call', _13 => _13("_")]);L.upper.test(e)&&(e=be.call(e));let r=(e.match(/[a-zA-Z0-9]+/g)||[]).map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join("");return t?`_${r}`:r},S= exports.camel =e=>{let t=_optionalChain([e, 'optionalAccess', _14 => _14.startsWith, 'call', _15 => _15("_")]),r=Tr(h(e),t?1:0);return t?`_${r}`:r},io= exports.snake =e=>Rt(e,"_",!0),Oe= exports.kebab =e=>Rt(e,"-",!0),po= exports.upper =(e,t,r)=>qe(Pr.call($t(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var xe=(e,t,r=">=")=>e==="latest"||e==="*"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var Gr="\\*/",Ue="*\\/",ze=new RegExp(Gr,"g");function v({description:e,deprecated:t,summary:r},s=!1){let n=(Array.isArray(e)?e.filter(p=>!p.includes("eslint-disable")):[e||""]).map(p=>p.replace(ze,Ue)),o=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!o)return"";let a=o===1&&s,m=Array.isArray(e)?_optionalChain([e, 'access', _16 => _16.find, 'call', _17 => _17(p=>p.includes("eslint-disable")), 'optionalAccess', _18 => _18.replace, 'call', _19 => _19(ze,Ue)]):void 0,i=`${m?`/* ${m} */
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 rr=Object.defineProperty;var F=(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 nr=(e,t)=>{for(var r in t)rr(e,r,{get:t[r],enumerable:!0})};var U={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},Rn= 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"},z= exports.GetterPropType ={PARAM:"param",NAMED_PATH_PARAMS:"namedPathParams",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"},tt= exports.SchemaType ={integer:"integer",number:"number",string:"string",boolean:"boolean",object:"object",null:"null",array:"array",enum:"enum",unknown:"unknown"};var or=["number","string","null","unknown","undefined","object","blob"],ce= exports.generalJSTypesWithArray =or.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),rt= exports.VERBS_WITH_BODY =[V.POST,V.PUT,V.PATCH,V.DELETE],Tn= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashisempty = require('lodash.isempty'); var _lodashisempty2 = _interopRequireDefault(_lodashisempty);var _esutils = require('esutils');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var b={};nr(b,{basename:()=>br,dirname:()=>hr,extname:()=>Be,getSchemaFileName:()=>$r,getSpecName:()=>Sr,isAbsolute:()=>Or,join:()=>yr,joinSafe:()=>ue,normalizeSafe:()=>fe,relativeSafe:()=>xr,resolve:()=>We,separator:()=>gt});var _path = require('path'); var _path2 = _interopRequireDefault(_path);var le=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 _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var nt=process.env.ORVAL_DEBUG_FILTER,ar=process.env.DEBUG;function ot(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:s}=t,n=typeof s=="string"?s:e;return(o,...a)=>{nt&&!o.includes(nt)||s&&!_optionalChain([ar, 'optionalAccess', _2 => _2.includes, 'call', _3 => _3(n)])||r(o,...a)}}var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var W=console.log,In= exports.startMessage =({name:e,version:t,description:r})=>W(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Dn= exports.errorMessage =e=>W(_chalk2.default.red(e)),Nn= exports.mismatchArgsMessage =e=>W(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),An= exports.createSuccessMessage =e=>W(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),pt= exports.ibmOpenapiValidatorWarnings =e=>{W(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>W(_chalk2.default.yellow(`Message : ${t.message}
2
+ Path : ${t.path}`)))},mt= exports.ibmOpenapiValidatorErrors =e=>{W(_chalk2.default.red("(!) Errors")),e.forEach(t=>W(_chalk2.default.red(`Message : ${t.message}
3
+ Path : ${t.path}`)))},Ie= exports.LogLevels ={silent:0,error:1,warn:2,info:3},at,it,De=0;function ir(){let e=process.stdout.rows-2,t=e>0?`
4
+ `.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function Y(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:s=!0}=t,n=Ie[e],o=s&&process.stdout.isTTY&&!process.env.CI?ir:()=>{};function a(p,c,l={}){if(n>=Ie[p]){let f=p==="info"?"log":p,u=()=>{if(l.timestamp){let g=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())} ${g} ${c}`}else return c};p===at&&c===it?(De++,o(),console[f](u(),_chalk2.default.yellow(`(x${De+1})`))):(De=0,it=c,at=p,l.clear&&o(),console[f](u()))}}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){n>=Ie[p]&&o()}};return i}var j=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let s=ut(e),n=s?_path.join.call(void 0, e,t+r):e,o=n.replace(/\.[^/.]+$/,""),a=_path.dirname.call(void 0, n),m=_path.basename.call(void 0, n,r[0]!=="."?`.${r}`:r);return{path:n,pathWithoutExtension:o,extension:r,isDirectory:s,dirname:a,filename:m}},ct=ot("orval:file-load"),Ae=new Map;async function lt(e,t){let{root:r=process.cwd(),isDefault:s=!0,defaultFileName:n,logLevel:o,alias:a,tsconfig:m,load:i=!0}=_nullishCoalesce(t, () => ({})),p=Date.now(),c,l=!1,f=!1;if(e)c=_path.resolve.call(void 0, e),l=e.endsWith(".ts");else if(n){let d=_path.resolve.call(void 0, r,`${n}.js`);if(_fs2.default.existsSync(d)&&(c=d),!c){let y=_path.resolve.call(void 0, r,`${n}.mjs`);_fs2.default.existsSync(y)&&(c=y,f=!0)}if(!c){let y=_path.resolve.call(void 0, r,`${n}.ts`);_fs2.default.existsSync(y)&&(c=y,l=!0)}}c||(e?Y(o).error(_chalk2.default.red(`File not found => ${e}`)):n?Y(o).error(_chalk2.default.red(`File not found => ${n}.{js,mjs,ts}`)):Y(o).error(_chalk2.default.red("File not found")),process.exit(1));let u=fe(c),g=Ae.get(c);if(g)return{path:u,...g,cached:!0};try{let d;if(!d&&!l&&!f)try{delete F.cache[F.resolve(c)],d=F(c),ct(`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(!d){let{code:y}=await fr(c,f,r||_path.dirname.call(void 0, u),a,_optionalChain([m, 'optionalAccess', _4 => _4.compilerOptions]));i?d=await dr(c,y,s):d=y,ct(`bundled file loaded in ${Date.now()-p}ms`)}return Ae.set(c,{file:d}),{path:u,file:d}}catch(d){return Ae.set(c,{error:d}),{path:u,error:d}}}async function fr(e,t=!1,r,s,n){let o=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:_optionalChain([n, 'optionalAccess', _5 => _5.target])||"es6",minify:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,treeShaking:!1,keepNames:!1,plugins:[...s||_optionalChain([n, 'optionalAccess', _6 => _6.paths])?[{name:"aliasing",setup(m){m.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(s){let p=Object.keys(s),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),f=_micromatch2.default.scan(s[c]),u=_path.resolve.call(void 0, r,f.base),g=l.base?i.replace(l.base,u):ue(u,i),y=_path.extname.call(void 0, g)?g:`${g}.ts`;return _fs2.default.existsSync(y)?{path:y}:void 0}}if(_optionalChain([n, 'optionalAccess', _7 => _7.paths])){let p=Object.keys(_optionalChain([n, 'optionalAccess', _8 => _8.paths])),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),f=_micromatch2.default.scan(_optionalChain([n, 'optionalAccess', _9 => _9.paths, 'access', _10 => _10[c], 'access', _11 => _11[0]])),u=_path.resolve.call(void 0, r,f.base),g=l.base?i.replace(l.base,u):ue(u,i),y=_path.extname.call(void 0, g)?g:`${g}.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}=o.outputFiles[0];return{code:a,dependencies:o.metafile?Object.keys(o.metafile.inputs):[]}}async function dr(e,t,r){let s=_path.extname.call(void 0, e),n=F.extensions[s];F.extensions[s]=(m,i)=>{i===e?m._compile(t,i):n(m,i)},delete F.cache[F.resolve(e)];let o=F(e),a=r&&o.__esModule?o.default:o;return F.extensions[s]=n,a}async function Jn(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(s=>_fs2.default.promises.unlink(s)))}var _={},gr=e=>typeof e=="function",dt=e=>typeof e=="string"?!0:typeof e=="object"&&e!==null?Object.toString.call(e)=="[object String]":!1;Object.entries(_path2.default).forEach(([e,t])=>{gr(t)?_[e]=(r=>(...s)=>{s=s.map(o=>dt(o)?de(o):o);let n=_path2.default[r](...s);return dt(n)?de(n):n})(e):_[e]=t});var{join:yr,resolve:We,extname:Be,dirname:hr,basename:br,isAbsolute:Or}=_;var xr=(e,t)=>{let r=_.relative(e,t);return fe(`.${gt}${r}`)},Sr=(e,t)=>{if(ge(e)){let r=new URL(t);return e.replace(r.origin,"").replace(j(r.pathname).dirname,"").replace(`.${le(e)}`,"")}return"/"+_.normalize(_.relative(j(t).dirname,e)).split("../").join("").replace(`.${le(e)}`,"")},$r=e=>e.replace(`.${le(e)}`,"").slice(e.lastIndexOf("/")+1),gt="/",de=function(e){return e=e.replace(/\\/g,"/"),e=e.replace(/(?<!^)\/+/g,"/"),e},fe=e=>{let t;return e=de(e),t=_.normalize(e),e.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:e.startsWith("//")&&!t.startsWith("//")&&(e.startsWith("//./")?t="//."+t:t="/"+t),t},ue=function(...e){let t=_.join(...e);if(e.length>0){let r=de(e[0]);r.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:r.startsWith("//")&&!t.startsWith("//")&&(r.startsWith("//./")?t="//."+t:t="/"+t)}return t};var w=e=>Boolean(_optionalChain([e, 'optionalAccess', _12 => _12.$ref])),ut= exports.isDirectory =e=>!Be(e);function D(e){return Object.prototype.toString.call(e)==="[object Object]"}function yt(e){return Object.prototype.toString.call(e)==="[object Module]"}function A(e){return typeof e=="string"}function ht(e){return typeof e=="number"}function bt(e){return/^-?\d+$/.test(e)}function ie(e){return typeof e=="boolean"}function Ot(e){return typeof e=="function"}function pe(e){return typeof e>"u"}function xt(e){return typeof e===null}function so(e){if(!D(e))return!1;if(A(e.type)&&Object.values(tt).includes(e.type))return!0;let t=e.allOf||e.anyOf||e.oneOf;return!!(Array.isArray(t)||D(e.properties))}var St=e=>Object.values(V).includes(e),ao= exports.isRootKey =(e,t)=>e===t,jr=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,ge= exports.isUrl =e=>_isURL2.default.call(void 0, e)||jr.test(e);async function $t(e,t,r){let s=typeof r=="object"?Object.create(r):r;for(let n of e)s=await t(s,n);return s}var qe=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ye=qe("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),he="a-z"+qe("DF-F6,F8-FF","00"),me="A-Z"+qe("C0-D6,D8-DE","00"),Pr="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",L={capitalize:new RegExp("(^|["+ye+"])(["+he+"])","g"),pascal:new RegExp("(^|["+ye+"])+(["+he+me+"])","g"),fill:new RegExp("["+ye+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+he+"])","g"),improper:new RegExp("\\b("+Pr+")\\b","g"),relax:new RegExp("([^"+me+"])(["+me+"]*)(["+me+"])(?=[^"+me+"]|$)","g"),upper:new RegExp("^[^"+he+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ye+"]")},Tr=e=>e.replace(L.apostrophe,""),vr=String.prototype.toUpperCase,be=String.prototype.toLowerCase,Ue=(e,t,r=!1)=>(e=e.replace(L.fill,function(s,n){return n?t+n:""}),r&&(e=Tr(e)),e),Mr=(e,t=0)=>be.call(e.charAt(t))+e.slice(t+1),Gr=(e,t,r,s)=>t+" "+(r?r+" ":"")+s,Rt=(e,t=!1,r=!1,s=!1)=>{if(e=e==null?"":e+"",!s&&L.upper.test(e)&&(e=be.call(e)),!t&&!L.hole.test(e)){var n=Ue(e," ");L.hole.test(n)&&(e=n)}return!r&&!L.room.test(e)&&(e=e.replace(L.relax,Gr)),e},jt=(e,t,r)=>Ue(be.call(Rt(e,!!t)),t,r),Ve={},h= exports.pascal =e=>{if(Ve[e])return Ve[e];let t=_optionalChain([e, 'optionalAccess', _13 => _13.startsWith, 'call', _14 => _14("_")]);L.upper.test(e)&&(e=be.call(e));let r=(e.match(/[a-zA-Z0-9]+/g)||[]).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(""),s=t?`_${r}`:r;return Ve[e]=s,s},S= exports.camel =e=>{let t=_optionalChain([e, 'optionalAccess', _15 => _15.startsWith, 'call', _16 => _16("_")]),r=Mr(h(e),t?1:0);return t?`_${r}`:r},mo= exports.snake =e=>jt(e,"_",!0),Oe= exports.kebab =e=>jt(e,"-",!0),co= exports.upper =(e,t,r)=>Ue(vr.call(Rt(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var xe=(e,t,r=">=")=>e==="latest"||e==="*"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var Er="\\*/",ze="*\\/",_e=new RegExp(Er,"g");function v({description:e,deprecated:t,summary:r},s=!1){let n=(Array.isArray(e)?e.filter(p=>!p.includes("eslint-disable")):[e||""]).map(p=>p.replace(_e,ze)),o=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!o)return"";let a=o===1&&s,m=Array.isArray(e)?_optionalChain([e, 'access', _17 => _17.find, 'call', _18 => _18(p=>p.includes("eslint-disable")), 'optionalAccess', _19 => _19.replace, 'call', _20 => _20(_e,ze)]):void 0,i=`${m?`/* ${m} */
5
5
  `:""}/**`;return e&&(a||(i+=`
6
6
  ${s?" ":""} *`),i+=` ${n.join(`
7
7
  * `)}`),t&&(a||(i+=`
8
8
  ${s?" ":""} *`),i+=" @deprecated"),r&&(a||(i+=`
9
- ${s?" ":""} *`),i+=` @summary ${r.replace(ze,Ue)}`),i+=a?" ":`
9
+ ${s?" ":""} *`),i+=` @summary ${r.replace(_e,ze)}`),i+=a?" ":`
10
10
  ${s?" ":""}`,i+=`*/
11
- `,i}var jt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=await Promise.resolve().then(() => require(We(t,e)));return r&&(D(n)||gt(n))&&n.default?n.default:n}return Promise.resolve(e)}catch(s){throw`Oups... \u{1F37B}. Path: ${e} => ${s}`}};var Se=e=>e&&typeof e=="object";function _e(e,t){return!Se(t)||!Se(e)?e:Object.entries(t).reduce((r,[s,n])=>{let o=r[s];return Array.isArray(o)&&Array.isArray(n)?r[s]=[...o,...n]:Se(o)&&Se(n)?r[s]=_e(o,n):r[s]=n,r},Object.assign({},e))}var Oo=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var jo=async(e,t={},r)=>{try{return new Promise(s=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(n,o)=>{n?(W(_chalk2.default.yellow(`${r}
11
+ `,i}var Pt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=await Promise.resolve().then(() => require(We(t,e)));return r&&(D(n)||yt(n))&&n.default?n.default:n}return Promise.resolve(e)}catch(s){throw`Oups... \u{1F37B}. Path: ${e} => ${s}`}};var Se=e=>e&&typeof e=="object";function Le(e,t){return!Se(t)||!Se(e)?e:Object.entries(t).reduce((r,[s,n])=>{let o=r[s];return Array.isArray(o)&&Array.isArray(n)?r[s]=[...o,...n]:Se(o)&&Se(n)?r[s]=Le(o,n):r[s]=n,r},Object.assign({},e))}var So=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var To=async(e,t={},r)=>{try{return new Promise(s=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(n,o)=>{n?(W(_chalk2.default.yellow(`${r}
12
12
  => ${n}`)),s(e)):s(o.openapi)}):s(e)})}catch(s){throw`Oups... \u{1F37B}.
13
13
  Path: ${r}
14
- Parsing Error: ${s}`}};var Pt=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 K=e=>{if(!(pe(e)||Ot(e)))return A(e)?`'${e}'`:yt(e)||ie(e)||bt(e)?`${e}`:Array.isArray(e)?`[${e.map(K).join(", ")}]`:Object.entries(e).reduce((t,[r,s],n,o)=>{let a=K(s);return o.length===1?`{ ${r}: ${a}, }`:n?o.length-1===n?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},T= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:s="",dot:n="",dash:o="",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)),s!==!0&&(p=p.replace(/['_']/g,s)),n!==!0&&(p=p.replace(/[.]/g,n)),o!==!0&&(p=p.replace(/[-]/g,o)),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},wo= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
- `)+",":"",Ir={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},$e= exports.getNumberWord =e=>e.toString().split("").reduce((r,s)=>r+Ir[s],""),Le= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`),Eo= exports.jsStringEscape =e=>e.replace(/["'\\\n\r\u2028\u2029]/g,t=>{switch(t){case'"':case"'":case"\\":return"\\"+t;case`
16
- `:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return""}});var Q=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _20 => _20.compilerOptions, 'optionalAccess', _21 => _21.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _22 => _22.compilerOptions, 'optionalAccess', _23 => _23.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var Ao=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&it(r),t.length&&pt(t)};var oe=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
14
+ Parsing Error: ${s}`}};var Tt=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 K=e=>{if(!(pe(e)||xt(e)))return A(e)?`'${e}'`:ht(e)||ie(e)||Ot(e)?`${e}`:Array.isArray(e)?`[${e.map(K).join(", ")}]`:Object.entries(e).reduce((t,[r,s],n,o)=>{let a=K(s);return o.length===1?`{ ${r}: ${a}, }`:n?o.length-1===n?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},T= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:s="",dot:n="",dash:o="",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)),s!==!0&&(p=p.replace(/['_']/g,s)),n!==!0&&(p=p.replace(/[.]/g,n)),o!==!0&&(p=p.replace(/[-]/g,o)),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},Co= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
+ `)+",":"",Nr={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},$e= exports.getNumberWord =e=>e.toString().split("").reduce((r,s)=>r+Nr[s],""),Ke= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`),Io= exports.jsStringEscape =e=>e.replace(/["'\\\n\r\u2028\u2029]/g,t=>{switch(t){case'"':case"'":case"\\":return"\\"+t;case`
16
+ `:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return""}});var Q=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _21 => _21.compilerOptions, 'optionalAccess', _22 => _22.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _23 => _23.compilerOptions, 'optionalAccess', _24 => _24.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var Fo=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&pt(r),t.length&&mt(t)};var oe=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
17
17
  `,n=Re(e,r);return s+=`
18
18
 
19
19
  `,s+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
20
20
  `,s+=`export const ${t} = {
21
21
  ${n}} as const;
22
- `,s},Re= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,s,n)=>{let o=_optionalChain([t, 'optionalAccess', _24 => _24[n]]);if(o)return r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${s},
23
- `;let a=s.startsWith("'")?s.slice(1,-1):s;return ht(a)&&(a=Nr(a)),a.length>1&&(a=T(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${s},
24
- `},""),Nr=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var is={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},kr=new RegExp("~1","g"),Fr=(e,t)=>{let r=new URL(t,new URL(e,"resolve://"));if(r.protocol==="resolve:"){let{pathname:s,search:n,hash:o}=r;return s+n+o}return r.toString()},se= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),n=_optionalChain([s, 'optionalAccess', _25 => _25.slice, 'call', _26 => _26(1), 'access', _27 => _27.split, 'call', _28 => _28("/"), 'access', _29 => _29.map, 'call', _30 => _30(i=>i.replace(kr,"/"))]),o=n?_lodashget2.default.call(void 0, t.override,[...n.slice(0,2),"suffix"],""):"",a=s?n[n.length-1]:b.getSchemaFileName(r);if(!r)return{name:h(a)+o,originalName:a,refPaths:n};let m=ge(t.specKey)?Fr(t.specKey,r):b.resolve(j(t.specKey).dirname,r);return{name:h(a)+o,originalName:a,specKey:m,refPaths:n}};var E=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _31 => _31.schema, 'optionalAccess', _32 => _32.$ref])){let m=E(_optionalChain([e, 'optionalAccess', _33 => _33.schema]),t,r);return{schema:{...e,schema:m.schema},imports:r}}if(!w(e))return{schema:e,imports:r};let{currentSchema:s,refInfo:{specKey:n,name:o,originalName:a}}=Mt(e,t);if(!s)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return E(s,{...t,specKey:n||t.specKey},[...r,{name:o,specKey:n,schemaName:a}])};function Mt(e,t){let r=se(e.$ref,t),{specKey:s,refPaths:n}=r,o=n&&_lodashget2.default.call(void 0, t.specs[s||t.specKey],n);return w(o)?Mt(o,t):{currentSchema:o||t.specs[s||t.specKey],refInfo:r}}var k=({schema:e,name:t,context:r})=>{if(w(e)){let{schema:n,imports:o}=E(e,r),a=o[0],m=a.specKey||(r.specKey!==r.target?r.specKey:void 0),i=!1;return(!t||!_optionalChain([r, 'access', _34 => _34.parents, 'optionalAccess', _35 => _35.includes, 'call', _36 => _36(t)]))&&(i=Z({item:n,name:a.name,context:{...r,specKey:m||r.specKey,...t?{parents:[...r.parents||[],t]}:{}}}).hasReadonlyProps),{value:a.name,imports:[{name:a.name,specKey:m,schemaName:a.schemaName}],type:_optionalChain([n, 'optionalAccess', _37 => _37.type])||"object",schemas:[],isEnum:!!_optionalChain([n, 'optionalAccess', _38 => _38.enum]),originalSchema:n,hasReadonlyProps:i,isRef:!0}}return{...Z({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var B=({schema:e,propName:t,combined:r=!1,context:s})=>{let n=k({schema:e,name:t,context:s}),o=v(_nullishCoalesce(n.originalSchema, () => ({})));if(t&&!n.isEnum&&_optionalChain([n, 'optionalAccess', _39 => _39.type])==="object"&&new RegExp(/{|&|\|/).test(n.value))return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:`${o}export type ${t} = ${n.value};
25
- `,imports:n.imports}],isEnum:!1,type:"object",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps};if(t&&n.isEnum&&!r&&!n.isRef){let a=oe(n.value,t,_optionalChain([n, 'access', _40 => _40.originalSchema, 'optionalAccess', _41 => _41["x-enumNames"]]));return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:o+a,imports:n.imports}],isEnum:!1,type:"enum",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps}}return n};var Gt=({schema:e,name:t,context:r})=>{if(e.items){let s=B({schema:e.items,propName:t+"Item",context:r});return{value:s.value.includes("|")?`(${s.value})[]`:`${s.value}[]`,imports:s.imports,schemas:s.schemas,isEnum:!1,type:"array",isRef:!1,hasReadonlyProps:s.hasReadonlyProps}}else throw new Error("All arrays must have an `items` key define")};var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var wt=["multipart/form-data"],Et=["application/x-www-form-urlencoded"],qr=({mediaType:e,propName:t,context:r})=>e.schema?B({schema:e.schema,propName:t,context:r}):void 0,ae= exports.getResReqTypes =(e,t,r,s="unknown")=>{let n=e.filter(([o,a])=>Boolean(a)).map(([o,a])=>{if(w(a)){let{schema:m,imports:[{name:i,specKey:p,schemaName:c}]}=E(a,r),[l,f]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),u=wt.includes(l),g=Et.includes(l);if(!u&&!g||!_optionalChain([f, 'optionalAccess', _42 => _42.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,hasReadonlyProps:!1,originalSchema:_optionalChain([f, 'optionalAccess', _43 => _43.schema]),key:o,contentType:l}];let d=u?je({name:i,schemaObject:_optionalChain([f, 'optionalAccess', _44 => _44.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,y=g?je({name:i,schemaObject:_optionalChain([f, 'optionalAccess', _45 => _45.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,hasReadonlyProps:!1,formData:d,formUrlEncoded:y,isRef:!0,originalSchema:_optionalChain([f, 'optionalAccess', _46 => _46.schema]),key:o,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let f=o?h(t)+h(o):void 0;f&&l.length>1&&(f=f+h($e(c+1)));let u=qr({mediaType:p,propName:f,context:r});if(!u)return;let g=wt.includes(i),d=Et.includes(i);if(!g&&!d||!f)return{...u,imports:u.imports,contentType:i};let y=g?je({name:f,schemaObject:p.schema,context:r}):void 0,$=d?je({name:f,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...u,imports:u.imports,formData:y,formUrlEncoded:$,contentType:i}}).filter(i=>i).map(i=>({...i,key:o})):[{value:s,imports:[],schemas:[],type:s,isEnum:!1,key:o,isRef:!1,hasReadonlyProps:!1,contentType:"application/json"}]});return _lodashuniqby2.default.call(void 0, n.flatMap(o=>o),"value")},je=({name:e,schemaObject:t,context:r,isUrlEncoded:s,isRef:n})=>{let{schema:o,imports:a}=E(t,r),m=S(!n&&w(t)?a[0].name:e),i=s?"formUrlEncoded":"formData",p=s?`const ${i} = new URLSearchParams();
22
+ `,s},Re= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,s,n)=>{let o=_optionalChain([t, 'optionalAccess', _25 => _25[n]]);if(o)return r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${s},
23
+ `;let a=s.startsWith("'")?s.slice(1,-1):s;return bt(a)&&(a=kr(a)),a.length>1&&(a=T(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${s},
24
+ `},""),kr=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var ms={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Wr=new RegExp("~1","g"),Br=(e,t)=>{let r=new URL(t,new URL(e,"resolve://"));if(r.protocol==="resolve:"){let{pathname:s,search:n,hash:o}=r;return s+n+o}return r.toString()},se= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),n=_optionalChain([s, 'optionalAccess', _26 => _26.slice, 'call', _27 => _27(1), 'access', _28 => _28.split, 'call', _29 => _29("/"), 'access', _30 => _30.map, 'call', _31 => _31(i=>i.replace(Wr,"/"))]),o=n?_lodashget2.default.call(void 0, t.override,[...n.slice(0,2),"suffix"],""):"",a=s?n[n.length-1]:b.getSchemaFileName(r);if(!r)return{name:h(a)+o,originalName:a,refPaths:n};let m=ge(t.specKey)?Br(t.specKey,r):b.resolve(j(t.specKey).dirname,r);return{name:h(a)+o,originalName:a,specKey:m,refPaths:n}};var E=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _32 => _32.schema, 'optionalAccess', _33 => _33.$ref])){let m=E(_optionalChain([e, 'optionalAccess', _34 => _34.schema]),t,r);return{schema:{...e,schema:m.schema},imports:r}}if(!w(e))return{schema:e,imports:r};let{currentSchema:s,refInfo:{specKey:n,name:o,originalName:a}}=Gt(e,t);if(!s)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return E(s,{...t,specKey:n||t.specKey},[...r,{name:o,specKey:n,schemaName:a}])};function Gt(e,t){let r=se(e.$ref,t),{specKey:s,refPaths:n}=r,o=n&&_lodashget2.default.call(void 0, t.specs[s||t.specKey],n);return o||(o=_optionalChain([t, 'access', _35 => _35.specs, 'optionalAccess', _36 => _36[s||t.specKey]])),w(o)?Gt(o,t):{currentSchema:o||t.specs[s||t.specKey],refInfo:r}}var k=({schema:e,name:t,context:r})=>{if(w(e)){let{schema:n,imports:o}=E(e,r),a=o[0],m=a.specKey||(r.specKey!==r.target?r.specKey:void 0),i=!1;return(!t||!_optionalChain([r, 'access', _37 => _37.parents, 'optionalAccess', _38 => _38.includes, 'call', _39 => _39(t)]))&&(i=Z({item:n,name:a.name,context:{...r,specKey:m||r.specKey,...t?{parents:[...r.parents||[],t]}:{}}}).hasReadonlyProps),{value:a.name,imports:[{name:a.name,specKey:m,schemaName:a.schemaName}],type:_optionalChain([n, 'optionalAccess', _40 => _40.type])||"object",schemas:[],isEnum:!!_optionalChain([n, 'optionalAccess', _41 => _41.enum]),originalSchema:n,hasReadonlyProps:i,isRef:!0}}return{...Z({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var B=({schema:e,propName:t,combined:r=!1,context:s})=>{let n=k({schema:e,name:t,context:s}),o=v(_nullishCoalesce(n.originalSchema, () => ({})));if(t&&!n.isEnum&&_optionalChain([n, 'optionalAccess', _42 => _42.type])==="object"&&new RegExp(/{|&|\|/).test(n.value))return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:`${o}export type ${t} = ${n.value};
25
+ `,imports:n.imports}],isEnum:!1,type:"object",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps};if(t&&n.isEnum&&!r&&!n.isRef){let a=oe(n.value,t,_optionalChain([n, 'access', _43 => _43.originalSchema, 'optionalAccess', _44 => _44["x-enumNames"]]));return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:o+a,imports:n.imports}],isEnum:!1,type:"enum",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps}}return n};var wt=({schema:e,name:t,context:r})=>{if(e.items){let s=B({schema:e.items,propName:t+"Item",context:r});return{value:s.value.includes("|")?`(${s.value})[]`:`${s.value}[]`,imports:s.imports,schemas:s.schemas,isEnum:!1,type:"array",isRef:!1,hasReadonlyProps:s.hasReadonlyProps}}else throw new Error("All arrays must have an `items` key define")};var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Et=["multipart/form-data"],Ct=["application/x-www-form-urlencoded"],zr=({mediaType:e,propName:t,context:r})=>e.schema?B({schema:e.schema,propName:t,context:r}):void 0,ae= exports.getResReqTypes =(e,t,r,s="unknown")=>{let n=e.filter(([o,a])=>Boolean(a)).map(([o,a])=>{if(w(a)){let{schema:m,imports:[{name:i,specKey:p,schemaName:c}]}=E(a,r),[l,f]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),u=Et.includes(l),g=Ct.includes(l);if(!u&&!g||!_optionalChain([f, 'optionalAccess', _45 => _45.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,hasReadonlyProps:!1,originalSchema:_optionalChain([f, 'optionalAccess', _46 => _46.schema]),key:o,contentType:l}];let d=u?je({name:i,schemaObject:_optionalChain([f, 'optionalAccess', _47 => _47.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,y=g?je({name:i,schemaObject:_optionalChain([f, 'optionalAccess', _48 => _48.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,hasReadonlyProps:!1,formData:d,formUrlEncoded:y,isRef:!0,originalSchema:_optionalChain([f, 'optionalAccess', _49 => _49.schema]),key:o,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let f=o?h(t)+h(o):void 0;f&&l.length>1&&(f=f+h($e(c+1)));let u=zr({mediaType:p,propName:f,context:r});if(!u)return;let g=Et.includes(i),d=Ct.includes(i);if(!g&&!d||!f)return{...u,imports:u.imports,contentType:i};let y=g?je({name:f,schemaObject:p.schema,context:r}):void 0,$=d?je({name:f,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...u,imports:u.imports,formData:y,formUrlEncoded:$,contentType:i}}).filter(i=>i).map(i=>({...i,key:o})):[{value:s,imports:[],schemas:[],type:s,isEnum:!1,key:o,isRef:!1,hasReadonlyProps:!1,contentType:"application/json"}]});return _lodashuniqby2.default.call(void 0, n.flatMap(o=>o),"value")},je=({name:e,schemaObject:t,context:r,isUrlEncoded:s,isRef:n})=>{let{schema:o,imports:a}=E(t,r),m=S(!n&&w(t)?a[0].name:e),i=s?"formUrlEncoded":"formData",p=s?`const ${i} = new URLSearchParams();
26
26
  `:`const ${i} = new FormData();
27
27
  `;if(o.type==="object"&&o.properties){let c=Object.entries(o.properties).reduce((l,[f,u])=>{let{schema:g}=E(u,r),d="",y=_esutils.keyword.isIdentifierNameES5(f)?`.${f}`:`['${f}']`;g.type==="object"?d=`${i}.append('${f}', JSON.stringify(${m}${y}));
28
28
  `:g.type==="array"?d=`${m}${y}.forEach(value => ${i}.append('${f}', value));
29
29
  `:g.type==="number"||g.type==="integer"||g.type==="boolean"?d=`${i}.append('${f}', ${m}${y}.toString())
30
30
  `:d=`${i}.append('${f}', ${m}${y})
31
- `;let $=_optionalChain([o, 'access', _47 => _47.required, 'optionalAccess', _48 => _48.includes, 'call', _49 => _49(f)]);return g.nullable?$?l+`if(${m}${y} !== null) {
31
+ `;let $=_optionalChain([o, 'access', _50 => _50.required, 'optionalAccess', _51 => _51.includes, 'call', _52 => _52(f)]);return g.nullable?$?l+`if(${m}${y} !== null) {
32
32
  ${d} }
33
33
  `:l+`if(${m}${y} !== undefined && ${m}${y} !== null) {
34
34
  ${d} }
@@ -37,75 +37,75 @@ ${n}} as const;
37
37
  `},"");return`${p}${c}`}return o.type==="array"?`${p}${m}.forEach(value => ${i}.append('data', value))
38
38
  `:o.type==="number"||o.type==="boolean"?`${p}${i}.append('data', ${m}.toString())
39
39
  `:`${p}${i}.append('data', ${m})
40
- `};var Ct=({requestBody:e,operationName:t,context:r,contentType:s})=>{let n=ae([[r.override.components.requestBodies.suffix,e]],t,r),o=s?n.filter(f=>{let u=!0,g=!1;return s.include&&(u=s.include.includes(f.contentType)),s.exclude&&(g=s.exclude.includes(f.contentType)),u&&!g}):n,a=o.flatMap(({imports:f})=>f),m=o.flatMap(({schemas:f})=>f),i=o.map(({value:f})=>f).join(" | "),c=o.some(f=>f.hasReadonlyProps)&&i?`NonReadonly<${i}>`:i,l=ce.includes(i.toLowerCase())||o.length>1?S(t)+r.override.components.requestBodies.suffix:S(i);return{originalSchema:e,definition:c,implementation:l,imports:a,schemas:m,...o.length===1?{formData:o[0].formData,formUrlEncoded:o[0].formUrlEncoded,contentType:o[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var Pe=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var It=({item:e,name:t,context:r,nullable:s})=>{if(w(e)){let{name:n,specKey:o}=se(e.$ref,r);return{value:n+s,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0,hasReadonlyProps:e.readOnly||!1}}if(e.allOf||e.oneOf||e.anyOf){let n=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return Ke({schema:e,name:t,separator:n,context:r,nullable:s})}if(e.type instanceof Array)return Ke({schema:{anyOf:e.type.map(n=>({type:n}))},name:t,separator:"anyOf",context:r,nullable:s});if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).reduce((n,[o,a],m,i)=>{let p=(Array.isArray(e.required)?e.required:[]).includes(o),c="";if(t){let y=o.startsWith("_");c+=h(`${y?"_":""}${t}_${o}`)}let l=_nullishCoalesce(_optionalChain([r, 'access', _50 => _50.specs, 'access', _51 => _51[r.target], 'optionalAccess', _52 => _52.components, 'optionalAccess', _53 => _53.schemas]), () => ({}));Object.keys(l).some(y=>h(y)===c)&&(c=c+"Property");let u=B({schema:a,propName:c,context:r}),g=e.readOnly||a.readOnly;m||(n.value+="{");let d=v(a,!0);if(n.hasReadonlyProps||=g||!1,n.imports.push(...u.imports),n.value+=`
40
+ `};var It=({requestBody:e,operationName:t,context:r,contentType:s})=>{let n=ae([[r.override.components.requestBodies.suffix,e]],t,r),o=s?n.filter(f=>{let u=!0,g=!1;return s.include&&(u=s.include.includes(f.contentType)),s.exclude&&(g=s.exclude.includes(f.contentType)),u&&!g}):n,a=o.flatMap(({imports:f})=>f),m=o.flatMap(({schemas:f})=>f),i=o.map(({value:f})=>f).join(" | "),c=o.some(f=>f.hasReadonlyProps)&&i?`NonReadonly<${i}>`:i,l=ce.includes(i.toLowerCase())||o.length>1?S(t)+r.override.components.requestBodies.suffix:S(i);return{originalSchema:e,definition:c,implementation:l,imports:a,schemas:m,...o.length===1?{formData:o[0].formData,formUrlEncoded:o[0].formUrlEncoded,contentType:o[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var Pe=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Dt=({item:e,name:t,context:r,nullable:s})=>{if(w(e)){let{name:n,specKey:o}=se(e.$ref,r);return{value:n+s,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0,hasReadonlyProps:e.readOnly||!1}}if(e.allOf||e.oneOf||e.anyOf){let n=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return Qe({schema:e,name:t,separator:n,context:r,nullable:s})}if(e.type instanceof Array)return Qe({schema:{anyOf:e.type.map(n=>({type:n}))},name:t,separator:"anyOf",context:r,nullable:s});if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).sort((n,o)=>n[0].localeCompare(o[0])).reduce((n,[o,a],m,i)=>{let p=(Array.isArray(e.required)?e.required:[]).includes(o),c="";if(t){let y=o.startsWith("_");c+=h(`${y?"_":""}${t}_${o}`)}let l=_nullishCoalesce(_optionalChain([r, 'access', _53 => _53.specs, 'access', _54 => _54[r.target], 'optionalAccess', _55 => _55.components, 'optionalAccess', _56 => _56.schemas]), () => ({}));Object.keys(l).some(y=>h(y)===c)&&(c=c+"Property");let u=B({schema:a,propName:c,context:r}),g=e.readOnly||a.readOnly;m||(n.value+="{");let d=v(a,!0);if(n.hasReadonlyProps||=g||!1,n.imports.push(...u.imports),n.value+=`
41
41
  ${d?`${d} `:""}${g?"readonly ":""}${Pe(o)}${p?"":"?"}: ${u.value};`,n.schemas.push(...u.schemas),i.length-1===m){if(e.additionalProperties)if(ie(e.additionalProperties))n.value+=`
42
42
  [key: string]: any;
43
43
  }`;else{let y=k({schema:e.additionalProperties,name:t,context:r});n.value+=`
44
44
  [key: string]: ${y.value};
45
45
  }`}else n.value+=`
46
- }`;n.value+=s}return n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{},hasReadonlyProps:!1});if(e.additionalProperties){if(ie(e.additionalProperties))return{value:"{ [key: string]: any }"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1};let n=k({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${n.value}}`+s,imports:_nullishCoalesce(n.imports, () => ([])),schemas:_nullishCoalesce(n.schemas, () => ([])),isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:n.hasReadonlyProps}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1}};var Z=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"",n=_optionalChain([e, 'access', _54 => _54.enum, 'optionalAccess', _55 => _55.filter, 'call', _56 => _56(o=>o!==null)]);switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let o=e.format==="int64"&&r.override.useBigInt?"bigint":"number",a=!1;return n&&(o=n.map(m=>`${m}`).join(" | "),a=!0),{value:o+s,isEnum:a,type:"number",schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"boolean":return{value:"boolean"+s,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"array":{let{value:o,...a}=Gt({schema:e,name:t,context:r});return{value:o+s,...a}}case"string":{let o="string",a=!1;return n&&(o=`'${n.map(m=>A(m)?Le(m):`${m}`).filter(Boolean).join("' | '")}'`,a=!0),e.format==="binary"&&(o="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(o="Date"),{value:o+s,isEnum:a,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"null":return{value:"null",isEnum:!1,type:"null",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"object":default:{if(n)return{value:`'${n.map(i=>A(i)?Le(i):`${i}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};let{value:o,...a}=It({item:e,name:t,context:r,nullable:s});return{value:o,...a}}}};var _r=({resolvedData:e,resolvedValue:t,separator:r})=>e.isEnum.every(n=>n)?`${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(" | "),Ke= exports.combineSchemas =({name:e,schema:t,separator:r,context:s,nullable:n})=>{let o=_nullishCoalesce(t[r], () => ([])),a=o.reduce((c,l)=>{let f=e?e+h(r):void 0;f&&c.schemas.length&&(f=f+h($e(c.schemas.length+1)));let u=B({schema:l,propName:f,combined:!0,context:s});return c.values.push(u.value),c.imports.push(...u.imports),c.schemas.push(...u.schemas),c.isEnum.push(u.isEnum),c.types.push(u.type),c.isRef.push(u.isRef),c.originalSchema.push(u.originalSchema),c.hasReadonlyProps||=u.hasReadonlyProps,c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[],hasReadonlyProps:!1}),m=a.isEnum.every(c=>c),i;t.properties&&(i=Z({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=_r({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&o.length>1){let c=`
46
+ }`;n.value+=s}return n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{},hasReadonlyProps:!1});if(e.additionalProperties){if(ie(e.additionalProperties))return{value:"{ [key: string]: any }"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1};let n=k({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${n.value}}`+s,imports:_nullishCoalesce(n.imports, () => ([])),schemas:_nullishCoalesce(n.schemas, () => ([])),isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:n.hasReadonlyProps}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1}};var Z=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"",n=_optionalChain([e, 'access', _57 => _57.enum, 'optionalAccess', _58 => _58.filter, 'call', _59 => _59(o=>o!==null)]);switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let o=e.format==="int64"&&r.override.useBigInt?"bigint":"number",a=!1;return n&&(o=n.map(m=>`${m}`).join(" | "),a=!0),{value:o+s,isEnum:a,type:"number",schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"boolean":return{value:"boolean"+s,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"array":{let{value:o,...a}=wt({schema:e,name:t,context:r});return{value:o+s,...a}}case"string":{let o="string",a=!1;return n&&(o=`'${n.map(m=>A(m)?Ke(m):`${m}`).filter(Boolean).join("' | '")}'`,a=!0),e.format==="binary"&&(o="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(o="Date"),{value:o+s,isEnum:a,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"null":return{value:"null",isEnum:!1,type:"null",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"object":default:{if(n)return{value:`'${n.map(i=>A(i)?Ke(i):`${i}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};let{value:o,...a}=Dt({item:e,name:t,context:r,nullable:s});return{value:o,...a}}}};var Kr=({resolvedData:e,resolvedValue:t,separator:r})=>e.isEnum.every(n=>n)?`${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(" | "),Qe= exports.combineSchemas =({name:e,schema:t,separator:r,context:s,nullable:n})=>{let o=_nullishCoalesce(t[r], () => ([])),a=o.reduce((c,l)=>{let f=e?e+h(r):void 0;f&&c.schemas.length&&(f=f+h($e(c.schemas.length+1)));let u=B({schema:l,propName:f,combined:!0,context:s});return c.values.push(u.value),c.imports.push(...u.imports),c.schemas.push(...u.schemas),c.isEnum.push(u.isEnum),c.types.push(u.type),c.isRef.push(u.isRef),c.originalSchema.push(u.originalSchema),c.hasReadonlyProps||=u.hasReadonlyProps,c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[],hasReadonlyProps:!1}),m=a.isEnum.every(c=>c),i;t.properties&&(i=Z({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=Kr({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&o.length>1){let c=`
47
47
 
48
48
  // eslint-disable-next-line @typescript-eslint/no-redeclare
49
- export const ${h(e)} = ${Lr(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${n};`+c,imports:a.imports.map(l=>({...l,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:a.hasReadonlyProps}}return{value:p+n,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:_optionalChain([a, 'optionalAccess', _57 => _57.hasReadonlyProps])||_optionalChain([i, 'optionalAccess', _58 => _58.hasReadonlyProps])||!1}},Lr=({values:e,isRef:t,originalSchema:r})=>e.length===1?t[0]?e[0]:`{${Re(e[0])}} as const`:`{${e.map((n,o)=>{if(t[o])return`...${n},`;let a=_optionalChain([r, 'access', _59 => _59[o], 'optionalAccess', _60 => _60["x-enumNames"]]);return Re(n,a)}).join("")}} as const`;var Dt=(e,t)=>{let r={...e};for(let s of Object.values(r))if(_optionalChain([s, 'access', _61 => _61.discriminator, 'optionalAccess', _62 => _62.mapping])){let{mapping:n,propertyName:o}=s.discriminator;for(let[a,m]of Object.entries(n)){let i;try{let{name:p}=se(m,t);i=r[p]}catch (e2){i=r[m]}!i||(i.properties={...i.properties,[o]:{type:"string",enum:[a]}},i.required=[..._nullishCoalesce(i.required, () => ([])),o])}}return r};var Nt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>T(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var At=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(w(s)){let{schema:n,imports:o}=E(s,t);(n.in==="path"||n.in==="query"||n.in==="header")&&r[n.in].push({parameter:n,imports:o})}else(s.in==="query"||s.in==="path"||s.in==="header")&&r[s.in].push({parameter:s,imports:[]});return r},{path:[],query:[],header:[]});var Kr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},kt= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>Kr(e).map(o=>{let a=t.find(({parameter:g})=>T(S(g.name),{es5keyword:!0,underscore:!0,dash:!0})===o);if(!a)throw new Error(`The path params ${o} can't be found in parameters (${r})`);let{name:m,required:i=!1,schema:p}=a.parameter,c=T(S(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=k({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),f=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,u=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${K(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:f,implementation:u,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var Ft=({body:e,queryParams:t,params:r,operationId:s,headers:n,context:o})=>{let a={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:z.BODY},m={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _63 => _63.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _64 => _64.schema, 'access', _65 => _65.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _66 => _66.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _67 => _67.schema, 'access', _68 => _68.name])}`,default:!1,required:pe(_optionalChain([t, 'optionalAccess', _69 => _69.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _70 => _70.isOptional]),type:z.QUERY_PARAM},i={name:"headers",definition:`headers${_optionalChain([n, 'optionalAccess', _71 => _71.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _72 => _72.schema, 'access', _73 => _73.name])}`,implementation:`headers${_optionalChain([n, 'optionalAccess', _74 => _74.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _75 => _75.schema, 'access', _76 => _76.name])}`,default:!1,required:pe(_optionalChain([n, 'optionalAccess', _77 => _77.isOptional]))?!1:!_optionalChain([n, 'optionalAccess', _78 => _78.isOptional]),type:z.HEADER},p;if(o.override.useNamedParameters&&r.length>0){let f=`${h(s)}PathParameters`,u="pathParams",g=`export type ${f} = {
49
+ export const ${h(e)} = ${Qr(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${n};`+c,imports:a.imports.map(l=>({...l,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:a.hasReadonlyProps}}return{value:p+n,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:_optionalChain([a, 'optionalAccess', _60 => _60.hasReadonlyProps])||_optionalChain([i, 'optionalAccess', _61 => _61.hasReadonlyProps])||!1}},Qr=({values:e,isRef:t,originalSchema:r})=>e.length===1?t[0]?e[0]:`{${Re(e[0])}} as const`:`{${e.map((n,o)=>{if(t[o])return`...${n},`;let a=_optionalChain([r, 'access', _62 => _62[o], 'optionalAccess', _63 => _63["x-enumNames"]]);return Re(n,a)}).join("")}} as const`;var Nt=(e,t)=>{let r={...e};for(let s of Object.values(r))if(_optionalChain([s, 'access', _64 => _64.discriminator, 'optionalAccess', _65 => _65.mapping])){let{mapping:n,propertyName:o}=s.discriminator;for(let[a,m]of Object.entries(n)){let i;try{let{name:p}=se(m,t);i=r[p]}catch (e2){i=r[m]}!i||(i.properties={...i.properties,[o]:{type:"string",enum:[a]}},i.required=[..._nullishCoalesce(i.required, () => ([])),o])}}return r};var At=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>T(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var kt=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(w(s)){let{schema:n,imports:o}=E(s,t);(n.in==="path"||n.in==="query"||n.in==="header")&&r[n.in].push({parameter:n,imports:o})}else(s.in==="query"||s.in==="path"||s.in==="header")&&r[s.in].push({parameter:s,imports:[]});return r},{path:[],query:[],header:[]});var Hr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},Ft= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>Hr(e).map(o=>{let a=t.find(({parameter:g})=>T(S(g.name),{es5keyword:!0,underscore:!0,dash:!0})===o);if(!a)throw new Error(`The path params ${o} can't be found in parameters (${r})`);let{name:m,required:i=!1,schema:p}=a.parameter,c=T(S(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=k({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),f=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,u=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${K(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:f,implementation:u,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var Wt=({body:e,queryParams:t,params:r,operationName:s,headers:n,context:o})=>{let a={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:z.BODY},m={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _66 => _66.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _67 => _67.schema, 'access', _68 => _68.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _69 => _69.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _70 => _70.schema, 'access', _71 => _71.name])}`,default:!1,required:pe(_optionalChain([t, 'optionalAccess', _72 => _72.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _73 => _73.isOptional]),type:z.QUERY_PARAM},i={name:"headers",definition:`headers${_optionalChain([n, 'optionalAccess', _74 => _74.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _75 => _75.schema, 'access', _76 => _76.name])}`,implementation:`headers${_optionalChain([n, 'optionalAccess', _77 => _77.isOptional])?"?":""}: ${_optionalChain([n, 'optionalAccess', _78 => _78.schema, 'access', _79 => _79.name])}`,default:!1,required:pe(_optionalChain([n, 'optionalAccess', _80 => _80.isOptional]))?!1:!_optionalChain([n, 'optionalAccess', _81 => _81.isOptional]),type:z.HEADER},p;if(o.override.useNamedParameters&&r.length>0){let f=`${h(s)}PathParameters`,u="pathParams",g=`export type ${f} = {
50
50
  ${r.map(O=>O.definition).join(`,
51
51
  `)},
52
- }`,d=r.every(O=>O.default),y=`{ ${r.map(O=>O.default?O.implementation:O.name).join(", ")} }: ${f}${d?" = {}":""}`,$=`{ ${r.map(O=>O.name).join(", ")} }`;p=[{type:z.NAMED_PATH_PARAMS,name:u,definition:`${u}: ${f}`,implementation:y,default:!1,destructured:$,required:!0,schema:{name:f,model:g,imports:r.flatMap(O=>O.imports)}}]}else p=r.map(f=>({...f,type:z.PARAM}));let c=[...p,...e.definition?[a]:[],...t?[m]:[],...n?[i]:[]];return Pt(c)};var Qr=(e,t,r)=>e.map(({parameter:s,imports:n})=>{let{name:o,required:a,schema:m,content:i}=s,p=T(`${h(t)}${h(o)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=k({schema:c,context:r,name:p}),f=Pe(o),u=v(s);if(n.length)return{definition:`${u}${f}${!a||c.default?"?":""}: ${n[0].name};`,imports:n,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let d=p,y=oe(l.value,d,_optionalChain([l, 'access', _79 => _79.originalSchema, 'optionalAccess', _80 => _80["x-enumNames"]]));return{definition:`${u}${f}${!a||c.default?"?":""}: ${d};`,imports:[{name:d}],schemas:[...l.schemas,{name:d,model:y,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${u}${f}${!a||c.default?"?":""}: ${l.value};`,imports:l.imports,schemas:l.schemas,originalSchema:l.originalSchema}}),Qe= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:s="params"})=>{if(!e.length)return;let n=Qr(e,t,r),o=n.flatMap(({imports:l})=>l),a=n.flatMap(({schemas:l})=>l),m=`${h(t)}${h(s)}`,i=n.map(({definition:l})=>l).join(`
52
+ }`,d=r.every(O=>O.default),y=`{ ${r.map(O=>O.default?O.implementation:O.name).join(", ")} }: ${f}${d?" = {}":""}`,$=`{ ${r.map(O=>O.name).join(", ")} }`;p=[{type:z.NAMED_PATH_PARAMS,name:u,definition:`${u}: ${f}`,implementation:y,default:!1,destructured:$,required:!0,schema:{name:f,model:g,imports:r.flatMap(O=>O.imports)}}]}else p=r.map(f=>({...f,type:z.PARAM}));let c=[...p,...e.definition?[a]:[],...t?[m]:[],...n?[i]:[]];return Tt(c)};var Jr=(e,t,r)=>e.map(({parameter:s,imports:n})=>{let{name:o,required:a,schema:m,content:i}=s,p=T(`${h(t)}${h(o)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=k({schema:c,context:r,name:p}),f=Pe(o),u=v(s);if(n.length)return{definition:`${u}${f}${!a||c.default?"?":""}: ${n[0].name};`,imports:n,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let d=p,y=oe(l.value,d,_optionalChain([l, 'access', _82 => _82.originalSchema, 'optionalAccess', _83 => _83["x-enumNames"]]));return{definition:`${u}${f}${!a||c.default?"?":""}: ${d};`,imports:[{name:d}],schemas:[...l.schemas,{name:d,model:y,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${u}${f}${!a||c.default?"?":""}: ${l.value};`,imports:l.imports,schemas:l.schemas,originalSchema:l.originalSchema}}),He= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:s="params"})=>{if(!e.length)return;let n=Jr(e,t,r),o=n.flatMap(({imports:l})=>l),a=n.flatMap(({schemas:l})=>l),m=`${h(t)}${h(s)}`,i=n.map(({definition:l})=>l).join(`
53
53
  `),p=e.every(({parameter:l})=>!l.required);return{schema:{name:m,model:`export type ${m} = {
54
54
  ${i}
55
55
  };
56
- `,imports:o},deps:a,isOptional:p}};var Wt=({responses:e,operationName:t,context:r,contentType:s})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=ae(Object.entries(e),t,r,"void"),o=s?n.filter(u=>{let g=!0,d=!1;return s.include&&(g=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),g&&!d}):n,a=o.flatMap(({imports:u})=>u),m=o.flatMap(({schemas:u})=>u),i=[...new Set(o.map(({contentType:u})=>u))],p=o.reduce((u,g)=>(g.key.startsWith("2")?u.success.push(g):u.errors.push(g),u),{success:[],errors:[]}),c=p.success.map(({value:u,formData:g})=>g?"Blob":u).join(" | "),l=p.errors.map(({value:u})=>u).join(" | "),f=_optionalChain([o, 'access', _81 => _81.find, 'call', _82 => _82(({key:u})=>u==="default"), 'optionalAccess', _83 => _83.value]);return{imports:a,definition:{success:c||(_nullishCoalesce(f, () => ("unknown"))),errors:l||(_nullishCoalesce(f, () => ("unknown")))},isBlob:c==="Blob",types:p,contentTypes:i,schemas:m,originalSchema:e}};var Hr=/\${(\w+)}/g,Jr=/\/([\w]+)(?:\$\{)/g,Bt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Vt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _84 => _84.length]))return e;let r=t[1],s=T(S(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),n=Bt(t[3])?Vt(t[3]):t[3];return Bt(e)?`${r}\${${s}}${n}`:`${r}${s}${n}`},Ca= exports.getRoute =e=>e.split("/").reduce((r,s,n)=>!s&&!n?r:s.includes("{")?`${r}/${Vt(s)}`:`${r}/${s}`,""),Ia= exports.getRouteAsArray =e=>e.replace(Jr,"/$1/${").split("/").filter(t=>t!=="").map(t=>t.includes("${")?t.replace(Hr,"$1"):`'${t}'`).join(",").replace(",,","");var ri=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[n,o])=>{let a=ae([[r,o]],n,t,"void"),m=a.flatMap(({imports:u})=>u),i=a.flatMap(({schemas:u})=>u),p=a.map(({value:u})=>u).join(" | "),c=T(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),f=`${v(o)}export type ${c} = ${p||"unknown"};
57
- `;return s.push(...i),c!==p&&s.push({name:c,model:f,imports:m}),s},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var zt=({imports:e=[],target:t,isRootKey:r,specsName:s,specKey:n})=>e.length?_lodashuniqwith2.default.call(void 0, e,(o,a)=>o.name===a.name&&o.default===a.default&&o.specKey===a.specKey).sort().map(({specKey:o,name:a,values:m,alias:i})=>{if(o&&!(n===o)){let c=o!==t?s[o]:"";return!r&&o?`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from '../${b.join(c,S(a))}';`:`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${b.join(c,S(a))}';`}return`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${S(a)}';`}).join(`
56
+ `,imports:o},deps:a,isOptional:p}};var Bt=({responses:e,operationName:t,context:r,contentType:s})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=ae(Object.entries(e),t,r,"void"),o=s?n.filter(u=>{let g=!0,d=!1;return s.include&&(g=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),g&&!d}):n,a=o.flatMap(({imports:u})=>u),m=o.flatMap(({schemas:u})=>u),i=[...new Set(o.map(({contentType:u})=>u))],p=o.reduce((u,g)=>(g.key.startsWith("2")?u.success.push(g):u.errors.push(g),u),{success:[],errors:[]}),c=p.success.map(({value:u,formData:g})=>g?"Blob":u).join(" | "),l=p.errors.map(({value:u})=>u).join(" | "),f=_optionalChain([o, 'access', _84 => _84.find, 'call', _85 => _85(({key:u})=>u==="default"), 'optionalAccess', _86 => _86.value]);return{imports:a,definition:{success:c||(_nullishCoalesce(f, () => ("unknown"))),errors:l||(_nullishCoalesce(f, () => ("unknown")))},isBlob:c==="Blob",types:p,contentTypes:i,schemas:m,originalSchema:e}};var Yr=/\${(\w+)}/g,Xr=/\/([\w]+)(?:\$\{)/g,Vt=e=>/[^{]*{[\w*_-]*}.*/.test(e),qt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _87 => _87.length]))return e;let r=t[1],s=T(S(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),n=Vt(t[3])?qt(t[3]):t[3];return Vt(e)?`${r}\${${s}}${n}`:`${r}${s}${n}`},Da= exports.getRoute =e=>e.split("/").reduce((r,s,n)=>!s&&!n?r:s.includes("{")?`${r}/${qt(s)}`:`${r}/${s}`,""),Na= exports.getRouteAsArray =e=>e.replace(Xr,"/$1/${").split("/").filter(t=>t!=="").map(t=>t.includes("${")?t.replace(Yr,"$1"):`'${t}'`).join(",").replace(",,","");var oi=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[n,o])=>{let a=ae([[r,o]],n,t,"void"),m=a.flatMap(({imports:u})=>u),i=a.flatMap(({schemas:u})=>u),p=a.map(({value:u})=>u).join(" | "),c=T(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),f=`${v(o)}export type ${c} = ${p||"unknown"};
57
+ `;return s.push(...i),c!==p&&s.push({name:c,model:f,imports:m}),s},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Lt=({imports:e=[],target:t,isRootKey:r,specsName:s,specKey:n})=>e.length?_lodashuniqwith2.default.call(void 0, e,(o,a)=>o.name===a.name&&o.default===a.default&&o.specKey===a.specKey).sort().map(({specKey:o,name:a,values:m,alias:i})=>{if(o&&!(n===o)){let c=o!==t?s[o]:"";return!r&&o?`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from '../${b.join(c,S(a))}';`:`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${b.join(c,S(a))}';`}return`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${S(a)}';`}).join(`
58
58
  `):"",P= exports.generateMutatorImports =({mutators:e,implementation:t,oneMore:r})=>_lodashuniqwith2.default.call(void 0, e,(n,o)=>n.name===o.name&&n.default===o.default).reduce((n,o)=>{let a=`${r?"../":""}${o.path}`;if(n+=`import ${o.default?o.name:`{ ${o.name} }`} from '${a}';`,n+=`
59
59
  `,t&&(o.hasErrorType||o.bodyTypeName)){let i="";o.hasErrorType&&t.includes(o.errorTypeName)&&!n.includes(o.errorTypeName)&&(i=o.default?`ErrorType as ${o.errorTypeName}`:o.errorTypeName);let p="";o.bodyTypeName&&t.includes(o.bodyTypeName)&&!n.includes(o.bodyTypeName)&&(p=o.default?`BodyType as ${o.bodyTypeName}`:o.bodyTypeName),(p||i)&&(n+=`import type { ${i}${i&&p?", ":""}${p} } from '${a}';`,n+=`
60
- `)}return n},""),qt=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:s,key:n,onlyTypes:o})=>{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:f})=>f?`${l} as ${f}`:l)).join(`,
60
+ `)}return n},""),Ut=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:s,key:n,onlyTypes:o})=>{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:f})=>f?`${l} as ${f}`:l)).sort().join(`,
61
61
  `),p="",c=m?`import * as ${m.name} from '${r}';`:"";if(c){if(e.length===1)return c;p+=`${c}
62
62
  `}return p+=`import ${o?"type ":""}${a?`${a.name}${i?",":""}`:""}${i?`{
63
63
  ${i}
64
- }`:""} from '${r}${n!=="default"&&s[n]?`/${s[n]}`:""}'`,p},Zr= exports.addDependency =({implementation:e,exports:t,dependency:r,specsName:s,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})=>{let a=t.filter(i=>e.includes(i.alias||i.name));if(!a.length)return;let m=a.reduce((i,p)=>{let c=n&&p.specKey?p.specKey:"default";return p.values&&(o||!p.syntheticDefaultImport)?(i[c]={...i[c],values:[..._nullishCoalesce(_optionalChain([i, 'access', _85 => _85[c], 'optionalAccess', _86 => _86.values]), () => ([])),p]},i):(i[c]={...i[c],types:[..._nullishCoalesce(_optionalChain([i, 'access', _87 => _87[c], 'optionalAccess', _88 => _88.types]), () => ([])),p]},i)},{});return Object.entries(m).map(([i,{values:p,types:c}])=>{let l="";return p&&(l+=qt({deps:p,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!1})),c&&(p&&(l+=`
65
- `),l+=qt({deps:c,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!0})),l}).join(`
66
- `)},li= exports.generateDependencyImports =(e,t,r,s,n)=>{let o=t.map(a=>Zr({...a,implementation:e,specsName:r,hasSchemaDir:s,isAllowSyntheticDefaultImports:n})).filter(Boolean).join(`
64
+ }`:""} from '${r}${n!=="default"&&s[n]?`/${s[n]}`:""}'`,p},tn= exports.addDependency =({implementation:e,exports:t,dependency:r,specsName:s,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})=>{let a=t.filter(i=>e.includes(i.alias||i.name));if(!a.length)return;let m=a.reduce((i,p)=>{let c=n&&p.specKey?p.specKey:"default";return p.values&&(o||!p.syntheticDefaultImport)?(i[c]={...i[c],values:[..._nullishCoalesce(_optionalChain([i, 'access', _88 => _88[c], 'optionalAccess', _89 => _89.values]), () => ([])),p]},i):(i[c]={...i[c],types:[..._nullishCoalesce(_optionalChain([i, 'access', _90 => _90[c], 'optionalAccess', _91 => _91.types]), () => ([])),p]},i)},{});return Object.entries(m).map(([i,{values:p,types:c}])=>{let l="";return p&&(l+=Ut({deps:p,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!1})),c&&(p&&(l+=`
65
+ `),l+=Ut({deps:c,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!0})),l}).join(`
66
+ `)},zt=e=>{let t=e.split(" from ");return t[t.length-1].split(";")[0].trim()},fi= exports.generateDependencyImports =(e,t,r,s,n)=>{let o=t.map(a=>tn({...a,implementation:e,specsName:r,hasSchemaDir:s,isAllowSyntheticDefaultImports:n})).filter(Boolean).sort((a,m)=>{let i=zt(a),p=zt(m);return i===p?0:i.startsWith("'.")&&!p.startsWith("'.")?1:i<p?-1:1}).join(`
67
67
  `);return o?o+`
68
- `:""},ui= exports.generateVerbImports =({response:e,body:t,queryParams:r,props:s,headers:n,params:o})=>[...e.imports,...t.imports,...s.flatMap(a=>a.type===z.NAMED_PATH_PARAMS?[{name:a.schema.name}]:[]),...r?[{name:r.schema.name}]:[],...n?[{name:n.schema.name}]:[],...o.flatMap(({imports:a})=>a)];var en=(e,t)=>e+`${t}
69
- `,H= exports.generateModelsInline =e=>Object.values(e).flatMap(r=>r).sort((r,s)=>r.imports.some(n=>n.name===s.name)?1:-1).reduce((r,{model:s})=>en(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var Te="BodyType",Lt=(e,t)=>{let r=j(e),s=j(t.path),{pathWithoutExtension:n}=j(b.relativeSafe(r.dirname,s.path));return n},Me= exports.generateMutator =async({output:e,mutator:t,name:r,workspace:s,tsconfig:n})=>{if(!t||!e)return;let o=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 ${Te}`)||i.includes(`export interface ${Te}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",f=t.default?`${h(r)}${Te}`:Te,{file:u,cached:g}=await ct(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:n,load:!1});if(u){let d=o?"default":t.name,y=on(u,d,nn(_optionalChain([n, 'optionalAccess', _89 => _89.compilerOptions, 'optionalAccess', _90 => _90.target])));y||(Y().error(_chalk2.default.red(`Your mutator file doesn't have the ${d} exported function`)),process.exit(1));let $=Lt(e,t),O=t.name?!!t.name.startsWith("use")&&!y.numberOfParams:!y.numberOfParams;return{name:t.name||!O?a:`use${h(a)}`,path:$,default:o,hasErrorType:p,errorTypeName:l,hasSecondArg:O?y.returnNumberOfParams>1:y.numberOfParams>1,hasThirdArg:y.numberOfParams>2,isHook:O,...c?{bodyTypeName:f}:{}}}else{let d=Lt(e,t);return g||Y().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:d,default:o,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:f}:{}}}},nn=e=>{if(!!e){if(e.toLowerCase()==="esnext")return"latest";try{return Number(e.toLowerCase().replace("es",""))}catch (e3){return}}},on=(e,t,r=6)=>{try{let s=_acorn.Parser.parse(e,{ecmaVersion:r}),n=_optionalChain([s, 'optionalAccess', _91 => _91.body, 'optionalAccess', _92 => _92.find, 'call', _93 => _93(a=>{if(a.type==="ExpressionStatement")return _optionalChain([a, 'access', _94 => _94.expression, 'access', _95 => _95.arguments, 'optionalAccess', _96 => _96[1], 'optionalAccess', _97 => _97.properties, 'optionalAccess', _98 => _98.some, 'call', _99 => _99(m=>_optionalChain([m, 'access', _100 => _100.key, 'optionalAccess', _101 => _101.name])===t)])||_optionalChain([a, 'access', _102 => _102.expression, 'access', _103 => _103.left, 'optionalAccess', _104 => _104.property, 'optionalAccess', _105 => _105.name])===t?!0:_optionalChain([a, 'access', _106 => _106.expression, 'access', _107 => _107.right, 'optionalAccess', _108 => _108.properties, 'optionalAccess', _109 => _109.some, 'call', _110 => _110(m=>m.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 ve(s,n.expression.right.name);let a=_optionalChain([n, 'access', _111 => _111.expression, 'access', _112 => _112.right, 'optionalAccess', _113 => _113.properties, 'access', _114 => _114.find, 'call', _115 => _115(m=>m.key.name===t)]);return a.value.name?ve(s,a.value.name):a.value.type==="FunctionExpression"||a.value.type==="ArrowFunctionExpression"?{numberOfParams:a.value.params.length}:void 0}let o=n.expression.arguments[1].properties.find(a=>_optionalChain([a, 'access', _116 => _116.key, 'optionalAccess', _117 => _117.name])===t);return ve(s,o.value.body.name)}catch (e4){return}},ve=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _118 => _118.body, 'optionalAccess', _119 => _119.find, 'call', _120 => _120(o=>{if(o.type==="VariableDeclaration")return o.declarations.find(a=>a.id.name===t);if(o.type==="FunctionDeclaration"&&o.id.name===t)return o})]);if(!r)return;if(r.type==="FunctionDeclaration"){let o=_optionalChain([r, 'access', _121 => _121.body, 'optionalAccess', _122 => _122.body, 'optionalAccess', _123 => _123.find, 'call', _124 => _124(a=>a.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _125 => _125.argument, 'optionalAccess', _126 => _126.params])?{numberOfParams:r.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:r.params.length}}let s=r.declarations.find(o=>o.id.name===t);if(s.init.name)return ve(e,s.init.name);if(s.init.body.type==="ArrowFunctionExpression")return{numberOfParams:s.init.params.length,returnNumberOfParams:s.init.body.params.length};let n=_optionalChain([s, 'access', _127 => _127.init, 'access', _128 => _128.body, 'optionalAccess', _129 => _129.body, 'optionalAccess', _130 => _130.find, 'call', _131 => _131(o=>o.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _132 => _132.argument, 'optionalAccess', _133 => _133.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:s.init.params.length}};var sn=(e,t,r)=>t&&e.formData?`
68
+ `:""},di= exports.generateVerbImports =({response:e,body:t,queryParams:r,props:s,headers:n,params:o})=>[...e.imports,...t.imports,...s.flatMap(a=>a.type===z.NAMED_PATH_PARAMS?[{name:a.schema.name}]:[]),...r?[{name:r.schema.name}]:[],...n?[{name:n.schema.name}]:[],...o.flatMap(({imports:a})=>a)];var rn=(e,t)=>e+`${t}
69
+ `,H= exports.generateModelsInline =e=>Object.values(e).flatMap(r=>r).sort((r,s)=>r.imports.some(n=>n.name===s.name)?1:-1).reduce((r,{model:s})=>rn(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var Te="BodyType",Qt=(e,t)=>{let r=j(e),s=j(t.path),{pathWithoutExtension:n}=j(b.relativeSafe(r.dirname,s.path));return n},Me= exports.generateMutator =async({output:e,mutator:t,name:r,workspace:s,tsconfig:n})=>{if(!t||!e)return;let o=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 ${Te}`)||i.includes(`export interface ${Te}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",f=t.default?`${h(r)}${Te}`:Te,{file:u,cached:g}=await lt(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:n,load:!1});if(u){let d=o?"default":t.name,y=an(u,d,sn(_optionalChain([n, 'optionalAccess', _92 => _92.compilerOptions, 'optionalAccess', _93 => _93.target])));y||(Y().error(_chalk2.default.red(`Your mutator file doesn't have the ${d} exported function`)),process.exit(1));let $=Qt(e,t),O=t.name?!!t.name.startsWith("use")&&!y.numberOfParams:!y.numberOfParams;return{name:t.name||!O?a:`use${h(a)}`,path:$,default:o,hasErrorType:p,errorTypeName:l,hasSecondArg:O?y.returnNumberOfParams>1:y.numberOfParams>1,hasThirdArg:y.numberOfParams>2,isHook:O,...c?{bodyTypeName:f}:{}}}else{let d=Qt(e,t);return g||Y().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:d,default:o,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:f}:{}}}},sn=e=>{if(!!e){if(e.toLowerCase()==="esnext")return"latest";try{return Number(e.toLowerCase().replace("es",""))}catch (e3){return}}},an=(e,t,r=6)=>{try{let s=_acorn.Parser.parse(e,{ecmaVersion:r}),n=_optionalChain([s, 'optionalAccess', _94 => _94.body, 'optionalAccess', _95 => _95.find, 'call', _96 => _96(a=>{if(a.type==="ExpressionStatement")return _optionalChain([a, 'access', _97 => _97.expression, 'access', _98 => _98.arguments, 'optionalAccess', _99 => _99[1], 'optionalAccess', _100 => _100.properties, 'optionalAccess', _101 => _101.some, 'call', _102 => _102(m=>_optionalChain([m, 'access', _103 => _103.key, 'optionalAccess', _104 => _104.name])===t)])||_optionalChain([a, 'access', _105 => _105.expression, 'access', _106 => _106.left, 'optionalAccess', _107 => _107.property, 'optionalAccess', _108 => _108.name])===t?!0:_optionalChain([a, 'access', _109 => _109.expression, 'access', _110 => _110.right, 'optionalAccess', _111 => _111.properties, 'optionalAccess', _112 => _112.some, 'call', _113 => _113(m=>m.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 ve(s,n.expression.right.name);let a=_optionalChain([n, 'access', _114 => _114.expression, 'access', _115 => _115.right, 'optionalAccess', _116 => _116.properties, 'access', _117 => _117.find, 'call', _118 => _118(m=>m.key.name===t)]);return a.value.name?ve(s,a.value.name):a.value.type==="FunctionExpression"||a.value.type==="ArrowFunctionExpression"?{numberOfParams:a.value.params.length}:void 0}let o=n.expression.arguments[1].properties.find(a=>_optionalChain([a, 'access', _119 => _119.key, 'optionalAccess', _120 => _120.name])===t);return ve(s,o.value.body.name)}catch (e4){return}},ve=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _121 => _121.body, 'optionalAccess', _122 => _122.find, 'call', _123 => _123(o=>{if(o.type==="VariableDeclaration")return o.declarations.find(a=>a.id.name===t);if(o.type==="FunctionDeclaration"&&o.id.name===t)return o})]);if(!r)return;if(r.type==="FunctionDeclaration"){let o=_optionalChain([r, 'access', _124 => _124.body, 'optionalAccess', _125 => _125.body, 'optionalAccess', _126 => _126.find, 'call', _127 => _127(a=>a.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _128 => _128.argument, 'optionalAccess', _129 => _129.params])?{numberOfParams:r.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:r.params.length}}let s=r.declarations.find(o=>o.id.name===t);if(s.init.name)return ve(e,s.init.name);if(s.init.body.type==="ArrowFunctionExpression")return{numberOfParams:s.init.params.length,returnNumberOfParams:s.init.body.params.length};let n=_optionalChain([s, 'access', _130 => _130.init, 'access', _131 => _131.body, 'optionalAccess', _132 => _132.body, 'optionalAccess', _133 => _133.find, 'call', _134 => _134(o=>o.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _135 => _135.argument, 'optionalAccess', _136 => _136.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:s.init.params.length}};var pn=(e,t,r)=>t&&e.formData?`
70
70
  formData,`:r&&e.formUrlEncoded?`
71
71
  formUrlEncoded,`:e.implementation?`
72
- ${e.implementation},`:"",an= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:s,requestOptions:n,hasSignal:o})=>{let a=n!==!1;if(!r&&!s&&!e.isBlob)return a?"options":o?t?"...(signal ? { signal } : {})":"signal":"";let m="";return a||(r&&(m+=`
72
+ ${e.implementation},`:"",mn= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:s,requestOptions:n,hasSignal:o})=>{let a=n!==!1;if(!r&&!s&&!e.isBlob)return a?"options":o?t?"...(signal ? { signal } : {})":"signal":"";let m="";return a||(r&&(m+=`
73
73
  params,`),s&&(m+=`
74
74
  headers,`),o&&(m+=t?`
75
75
  ...(signal ? { signal } : {}),`:`
76
76
  signal,`)),e.isBlob&&(!D(n)||!n.hasOwnProperty("responseType"))&&(m+=`
77
77
  responseType: 'blob',`),D(n)&&(m+=`
78
- ${_optionalChain([K, 'call', _134 => _134(n), 'optionalAccess', _135 => _135.slice, 'call', _136 => _136(1,-1)])}`),a&&(m+=`
78
+ ${_optionalChain([K, 'call', _137 => _137(n), 'optionalAccess', _138 => _138.slice, 'call', _139 => _139(1,-1)])}`),a&&(m+=`
79
79
  ...options,`,r&&(m+=`
80
80
  params: {...params, ...options?.params},`),s&&(m+=`
81
- headers: {...headers, ...options?.headers},`)),m},Gi= exports.generateOptions =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,requestOptions:a,isFormData:m,isFormUrlEncoded:i,isAngular:p,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let f=tt.includes(o),u=f?sn(t,m,i):"",g=an({response:n,queryParams:_optionalChain([s, 'optionalAccess', _137 => _137.schema]),headers:_optionalChain([r, 'optionalAccess', _138 => _138.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),d=g?`{${g}}`:"";return o===V.DELETE?u?`
81
+ headers: {...headers, ...options?.headers},`)),m},Ei= exports.generateOptions =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,requestOptions:a,isFormData:m,isFormUrlEncoded:i,isAngular:p,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let f=rt.includes(o),u=f?pn(t,m,i):"",g=mn({response:n,queryParams:_optionalChain([s, 'optionalAccess', _140 => _140.schema]),headers:_optionalChain([r, 'optionalAccess', _141 => _141.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),d=g?`{${g}}`:"";return o===V.DELETE?u?`
82
82
  \`${e}\`,{${p?"body":"data"}:${u} ${g==="options"?`...${g}`:g}}
83
83
  `:`
84
84
  \`${e}\`,${g==="options"?g:d}
85
85
  `:`
86
86
  \`${e}\`,${f?u||"undefined,":""}${g==="options"?g:d}
87
- `},pn= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
87
+ `},cn= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
88
88
  data: formData`:r&&e.formUrlEncoded?`,
89
89
  data: formUrlEncoded`:e.implementation?`,
90
- data: ${e.implementation}`:"",mn= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
90
+ data: ${e.implementation}`:"",ln= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
91
91
  params`),e.isBlob&&(r+=`,
92
- responseType: 'blob'`),r},wi= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,isFormData:a,isFormUrlEncoded:m,isBodyVerb:i,hasSignal:p,isExactOptionalPropertyTypes:c})=>{let l=i?pn(t,a,m):"",f=mn(n,s),u=t.contentType?`,
92
+ responseType: 'blob'`),r},Ci= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,isFormData:a,isFormUrlEncoded:m,isBodyVerb:i,hasSignal:p,isExactOptionalPropertyTypes:c})=>{let l=i?cn(t,a,m):"",f=ln(n,s),u=t.contentType?`,
93
93
  headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
94
94
  headers`:"";return`{url: \`${e}\`, method: '${o}'${u}${l}${f}${!i&&p?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
95
- }`},Ei= exports.generateMutatorRequestOptions =(e,t)=>t?D(e)?`{${_optionalChain([K, 'call', _139 => _139(e), 'optionalAccess', _140 => _140.slice, 'call', _141 => _141(1,-1)])} ...options}`:"options":D(e)?`{${_optionalChain([K, 'call', _142 => _142(e), 'optionalAccess', _143 => _143.slice, 'call', _144 => _144(1,-1)])}}`:"",Ci= exports.generateFormDataAndUrlEncodedFunction =({body:e,formData:t,formUrlEncoded:r,isFormData:s,isFormUrlEncoded:n})=>s&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:n&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var Ai=(e={},t,r)=>Object.entries(e).reduce((s,[n,o])=>{let a=T(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=E(o,t);if(m.in!=="query")return s;if(!m.schema||i.length)return s.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"};
95
+ }`},Ii= exports.generateMutatorRequestOptions =(e,t)=>t?D(e)?`{${_optionalChain([K, 'call', _142 => _142(e), 'optionalAccess', _143 => _143.slice, 'call', _144 => _144(1,-1)])} ...options}`:"options":D(e)?`{${_optionalChain([K, 'call', _145 => _145(e), 'optionalAccess', _146 => _146.slice, 'call', _147 => _147(1,-1)])}}`:"",Di= exports.generateFormDataAndUrlEncodedFunction =({body:e,formData:t,formUrlEncoded:r,isFormData:s,isFormUrlEncoded:n})=>s&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:n&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var Fi=(e={},t,r)=>Object.entries(e).reduce((s,[n,o])=>{let a=T(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=E(o,t);if(m.in!=="query")return s;if(!m.schema||i.length)return s.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"};
96
96
  `}),s;let p=B({schema:m.schema,propName:a,context:t}),l=`${v(o)}export type ${a} = ${p.value||"unknown"};
97
- `;return s.push(...p.schemas),a!==p.value&&s.push({name:a,model:l,imports:p.imports}),s},[]);var Kt=({name:e,schema:t,context:r,suffix:s})=>{let n=Z({item:t,name:e,context:r}),o=n.value==="{}",a="";a+=v(t),o&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
97
+ `;return s.push(...p.schemas),a!==p.value&&s.push({name:a,model:l,imports:p.imports}),s},[]);var Ht=({name:e,schema:t,context:r,suffix:s})=>{let n=Z({item:t,name:e,context:r}),o=n.value==="{}",a="";a+=v(t),o&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
98
98
  `:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
99
- `),!ce.includes(n.value)&&!_optionalChain([r, 'optionalAccess', _145 => _145.override, 'optionalAccess', _146 => _146.useTypeOverInterfaces])?a+=`export interface ${e} ${n.value}
99
+ `),!ce.includes(n.value)&&!_optionalChain([r, 'optionalAccess', _148 => _148.override, 'optionalAccess', _149 => _149.useTypeOverInterfaces])?a+=`export interface ${e} ${n.value}
100
100
  `:a+=`export type ${e} = ${n.value};
101
- `;let m=n.imports.filter(i=>i.name!==e);return[...n.schemas,{name:e,model:a,imports:m}]};var Ki=(e={},t,r)=>{if(_lodashisempty2.default.call(void 0, e))return[];let s=Dt(e,t);return Object.entries(s).reduce((o,[a,m])=>{let i=T(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if(Qt(m))return o.push(...Kt({name:i,schema:m,context:t,suffix:r})),o;{let p=k({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=v(m),p.isEnum&&!p.isRef)c+=oe(p.value,i,_optionalChain([p, 'access', _147 => _147.originalSchema, 'optionalAccess', _148 => _148["x-enumNames"]]));else if(i===p.value&&p.isRef){let{schema:f}=E(m,t);if(!Qt(f)){let u=p.imports.find(g=>g.name===i);if(!u)c+=`export type ${i} = ${p.value};
102
- `;else{let g=_optionalChain([u, 'optionalAccess', _149 => _149.specKey])?`${h(b.getSpecName(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${g};
101
+ `;let m=n.imports.filter(i=>i.name!==e);return[...n.schemas,{name:e,model:a,imports:m}]};var Hi=(e={},t,r)=>{if(_lodashisempty2.default.call(void 0, e))return[];let s=Nt(e,t);return Object.entries(s).reduce((o,[a,m])=>{let i=T(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if(Jt(m))return o.push(...Ht({name:i,schema:m,context:t,suffix:r})),o;{let p=k({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=v(m),p.isEnum&&!p.isRef)c+=oe(p.value,i,_optionalChain([p, 'access', _150 => _150.originalSchema, 'optionalAccess', _151 => _151["x-enumNames"]]));else if(i===p.value&&p.isRef){let{schema:f}=E(m,t);if(!Jt(f)){let u=p.imports.find(g=>g.name===i);if(!u)c+=`export type ${i} = ${p.value};
102
+ `;else{let g=_optionalChain([u, 'optionalAccess', _152 => _152.specKey])?`${h(b.getSpecName(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${g};
103
103
  `,l=l.map(d=>d.name===i?{...d,alias:g}:d)}}}else c+=`export type ${i} = ${p.value};
104
- `;return o.push(...p.schemas,{name:i,model:c,imports:l}),o}},[])};function Qt(e){return(!e.type||e.type==="object")&&!e.allOf&&!e.oneOf&&!e.anyOf&&!w(e)&&!e.nullable&&!e.enum}var ln=async({verb:e,output:t,operation:r,route:s,verbParameters:n=[],context:o})=>{let{responses:a,requestBody:m,parameters:i,tags:p=[],deprecated:c,description:l,summary:f}=r,u=Nt(r,s,e),g=t.override.operations[r.operationId],d=Object.entries(t.override.tags).reduce((Ze,[Xt,Zt])=>p.includes(Xt)?_e(Ze,Zt):Ze,{}),y={...t.override,...d,...g},$=_optionalChain([g, 'optionalAccess', _150 => _150.operationName])||_optionalChain([t, 'access', _151 => _151.override, 'optionalAccess', _152 => _152.operationName]),O=$?$(r,s,e):S(u),R=T(O,{es5keyword:!0}),N=Wt({responses:a,operationName:R,context:o,contentType:y.contentType}),x=Ct({requestBody:m,operationName:R,context:o,contentType:y.contentType}),C=At({parameters:[...n,..._nullishCoalesce(i, () => ([]))],context:o}),M=Qe({queryParams:C.query,operationName:R,context:o}),I=t.headers?await Qe({queryParams:C.header,operationName:R,context:o,suffix:"headers"}):void 0,q=kt({route:s,pathParams:C.path,operationId:u,context:o}),ee=Ft({body:x,queryParams:M,params:q,headers:I,operationId:u,context:o}),te=await Me({output:t.target,name:R,mutator:_optionalChain([y, 'optionalAccess', _153 => _153.mutator]),workspace:o.workspace,tsconfig:o.tsconfig}),Ce=A(_optionalChain([y, 'optionalAccess', _154 => _154.formData]))||D(_optionalChain([y, 'optionalAccess', _155 => _155.formData]))?await Me({output:t.target,name:R,mutator:y.formData,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Jt=A(_optionalChain([y, 'optionalAccess', _156 => _156.formUrlEncoded]))||D(_optionalChain([y, 'optionalAccess', _157 => _157.formUrlEncoded]))?await Me({output:t.target,name:R,mutator:y.formUrlEncoded,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Yt=v({description:l,deprecated:c,summary:f}),Ye={verb:e,tags:p,summary:r.summary,operationId:u,operationName:R,response:N,body:x,headers:I,queryParams:M,params:q,props:ee,mutator:te,formData:Ce,formUrlEncoded:Jt,override:y,doc:Yt,deprecated:c,originalOperation:r},Xe=await jt(_optionalChain([y, 'optionalAccess', _158 => _158.transformer]),o.workspace);return Xe?Xe(Ye):Ye},Xi= exports.generateVerbsOptions =({verbs:e,input:t,output:r,route:s,context:n})=>St(un(e,t.filters),async(o,[a,m])=>{if(xt(a)){let i=await ln({verb:a,output:r,verbParameters:e.parameters,route:s,operation:m,context:n});o.push(i)}return o},[]),un= exports._filteredVerbs =(e,t)=>t===void 0||t.tags===void 0?Object.entries(e):Object.entries(e).filter(([r,s])=>{let n=s.tags||[],o=t.tags||[];return n.some(a=>o.some(m=>m instanceof RegExp?m.test(a):m===a))});var fn=({schema:{imports:e,model:t},target:r,isRootKey:s,specsName:n,header:o,specKey:a})=>{let m=o;return m+=zt({imports:e.filter(i=>!t.includes(`type ${i.alias||i.name} =`)&&!t.includes(`interface ${i.alias||i.name} {`)),target:r,isRootKey:s,specsName:n,specKey:a}),m+=e.length?`
104
+ `;return o.push(...p.schemas,{name:i,model:c,imports:l}),o}},[])};function Jt(e){return(!e.type||e.type==="object")&&!e.allOf&&!e.oneOf&&!e.anyOf&&!w(e)&&!e.nullable&&!e.enum}var fn=async({verb:e,output:t,operation:r,route:s,verbParameters:n=[],context:o})=>{let{responses:a,requestBody:m,parameters:i,tags:p=[],deprecated:c,description:l,summary:f}=r,u=At(r,s,e),g=t.override.operations[r.operationId],d=Object.entries(t.override.tags).reduce((et,[er,tr])=>p.includes(er)?Le(et,tr):et,{}),y={...t.override,...d,...g},$=_optionalChain([g, 'optionalAccess', _153 => _153.operationName])||_optionalChain([t, 'access', _154 => _154.override, 'optionalAccess', _155 => _155.operationName]),O=$?$(r,s,e):S(u),R=T(O,{es5keyword:!0}),N=Bt({responses:a,operationName:R,context:o,contentType:y.contentType}),x=It({requestBody:m,operationName:R,context:o,contentType:y.contentType}),C=kt({parameters:[...n,..._nullishCoalesce(i, () => ([]))],context:o}),M=He({queryParams:C.query,operationName:R,context:o}),I=t.headers?await He({queryParams:C.header,operationName:R,context:o,suffix:"headers"}):void 0,q=Ft({route:s,pathParams:C.path,operationId:u,context:o}),ee=Wt({body:x,queryParams:M,params:q,headers:I,operationName:R,context:o}),te=await Me({output:t.target,name:R,mutator:_optionalChain([y, 'optionalAccess', _156 => _156.mutator]),workspace:o.workspace,tsconfig:o.tsconfig}),Ce=A(_optionalChain([y, 'optionalAccess', _157 => _157.formData]))||D(_optionalChain([y, 'optionalAccess', _158 => _158.formData]))?await Me({output:t.target,name:R,mutator:y.formData,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Xt=A(_optionalChain([y, 'optionalAccess', _159 => _159.formUrlEncoded]))||D(_optionalChain([y, 'optionalAccess', _160 => _160.formUrlEncoded]))?await Me({output:t.target,name:R,mutator:y.formUrlEncoded,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Zt=v({description:l,deprecated:c,summary:f}),Xe={verb:e,tags:p,summary:r.summary,operationId:u,operationName:R,response:N,body:x,headers:I,queryParams:M,params:q,props:ee,mutator:te,formData:Ce,formUrlEncoded:Xt,override:y,doc:Zt,deprecated:c,originalOperation:r},Ze=await Pt(_optionalChain([y, 'optionalAccess', _161 => _161.transformer]),o.workspace);return Ze?Ze(Xe):Xe},ep= exports.generateVerbsOptions =({verbs:e,input:t,output:r,route:s,context:n})=>$t(dn(e,t.filters),async(o,[a,m])=>{if(St(a)){let i=await fn({verb:a,output:r,verbParameters:e.parameters,route:s,operation:m,context:n});o.push(i)}return o},[]),dn= exports._filteredVerbs =(e,t)=>t===void 0||t.tags===void 0?Object.entries(e):Object.entries(e).filter(([r,s])=>{let n=s.tags||[],o=t.tags||[];return n.some(a=>o.some(m=>m instanceof RegExp?m.test(a):m===a))});var gn=({schema:{imports:e,model:t},target:r,isRootKey:s,specsName:n,header:o,specKey:a})=>{let m=o;return m+=Lt({imports:e.filter(i=>!t.includes(`type ${i.alias||i.name} =`)&&!t.includes(`interface ${i.alias||i.name} {`)),target:r,isRootKey:s,specsName:n,specKey:a}),m+=e.length?`
105
105
 
106
106
  `:`
107
- `,m+=t,m},dn=(e,t)=>b.join(e,`/${t}.ts`),gn= exports.writeModelInline =(e,t)=>e+`${t}
108
- `,up= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>gn(t,r),""),yn= exports.writeSchema =async({path:e,schema:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a})=>{let m=S(t.name);try{await _fsextra2.default.outputFile(dn(e,m),fn({schema:t,target:r,isRootKey:n,specsName:o,header:a,specKey:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${m} => ${i}`}},fp= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a,indexFiles:m})=>{if(await Promise.all(t.map(i=>yn({path:e,schema:i,target:r,specKey:s,isRootKey:n,specsName:o,header:a}))),m){let i=b.join(e,"/index.ts");await _fsextra2.default.ensureFile(i);try{let c=(await _fsextra2.default.readFile(i)).toString(),l=t.filter(d=>!c.includes(`export * from './${S(d.name)}'`)&&!c.includes(`export * from "./${S(d.name)}"`)).map(d=>`export * from './${S(d.name)}';`),u=[..._nullishCoalesce(_optionalChain([c, 'access', _159 => _159.match, 'call', _160 => _160(/export \* from(.*)('|")/g), 'optionalAccess', _161 => _161.map, 'call', _162 => _162(d=>d+";")]), () => ([])),...l].sort().join(`
107
+ `,m+=t,m},yn=(e,t)=>b.join(e,`/${t}.ts`),hn= exports.writeModelInline =(e,t)=>e+`${t}
108
+ `,dp= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>hn(t,r),""),bn= exports.writeSchema =async({path:e,schema:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a})=>{let m=S(t.name);try{await _fsextra2.default.outputFile(yn(e,m),gn({schema:t,target:r,isRootKey:n,specsName:o,header:a,specKey:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${m} => ${i}`}},gp= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a,indexFiles:m})=>{if(await Promise.all(t.map(i=>bn({path:e,schema:i,target:r,specKey:s,isRootKey:n,specsName:o,header:a}))),m){let i=b.join(e,"/index.ts");await _fsextra2.default.ensureFile(i);try{let c=(await _fsextra2.default.readFile(i)).toString(),l=t.filter(d=>!c.includes(`export * from './${S(d.name)}'`)&&!c.includes(`export * from "./${S(d.name)}"`)).map(d=>`export * from './${S(d.name)}';`),u=[..._nullishCoalesce(_optionalChain([c, 'access', _162 => _162.match, 'call', _163 => _163(/export \* from(.*)('|")/g), 'optionalAccess', _164 => _164.map, 'call', _165 => _165(d=>d+";")]), () => ([])),...l].sort().join(`
109
109
  `),g=`${a}
110
110
  ${u}`;await _fsextra2.default.writeFile(i,g)}catch(p){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${i} => ${p}`}}};var J=()=>`
111
111
  // https://stackoverflow.com/questions/49579094/typescript-conditional-types-filter-out-readonly-properties-pick-only-requir/49579497#49579497
@@ -133,20 +133,20 @@ type NonReadonly<T> = [T] extends [UnionToIntersection<T>] ? {
133
133
  ? NonReadonly<NonNullable<T[P]>>
134
134
  : T[P];
135
135
  } : DistributeReadOnlyOverUnions<T>;
136
- `;var we=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),s=_optionalChain([t, 'optionalAccess', _163 => _163.client])===U.ANGULAR,n=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),o=Object.values(e.operations).reduce((a,m,i,p)=>{if(a.imports.push(...m.imports),a.importsMSW.push(...m.importsMSW),a.implementation+=m.implementation+`
137
- `,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(d=>s?d.hasThirdArg:d.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _164 => _164.packageJson, 'optionalAccess', _165 => _165.dependencies, 'optionalAccess', _166 => _166.typescript]), () => (_optionalChain([t, 'access', _167 => _167.packageJson, 'optionalAccess', _168 => _168.devDependencies, 'optionalAccess', _169 => _169.typescript]))), () => ("4.4.0")),f=xe(l,"4.5.0"),u=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:f,titles:n});a.implementation=u.implementation+a.implementation,a.implementationMSW.handler=u.implementationMSW+a.implementationMSW.handler;let g=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _170 => _170.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:f,titles:n});a.implementation+=g.implementation,a.implementationMSW.handler+=g.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...o,implementationMSW:o.implementationMSW.function+o.implementationMSW.handler}};var Mp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{path:o,dirname:a}=j(t.target,{backupFilename:S(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:f,formData:u,formUrlEncoded:g}=we(e,t),d=s,y=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):void 0,$=Q(t.tsconfig);return d+=e.imports({client:t.client,implementation:p,imports:y?[{exports:m.filter(O=>!i.some(R=>O.name===R.name)),dependency:y}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(d+=e.importsMock({implementation:c,imports:y?[{exports:i,dependency:y}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$})),l&&(d+=P({mutators:l,implementation:p})),f&&(d+=P({mutators:f})),u&&(d+=P({mutators:u})),g&&(d+=P({mutators:g})),p.includes("NonReadonly<")&&(d+=J(),d+=`
136
+ `;var we=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),s=_optionalChain([t, 'optionalAccess', _166 => _166.client])===U.ANGULAR,n=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),o=Object.values(e.operations).reduce((a,m,i,p)=>{if(a.imports.push(...m.imports),a.importsMSW.push(...m.importsMSW),a.implementation+=m.implementation+`
137
+ `,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(d=>s?d.hasThirdArg:d.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _167 => _167.packageJson, 'optionalAccess', _168 => _168.dependencies, 'optionalAccess', _169 => _169.typescript]), () => (_optionalChain([t, 'access', _170 => _170.packageJson, 'optionalAccess', _171 => _171.devDependencies, 'optionalAccess', _172 => _172.typescript]))), () => ("4.4.0")),f=xe(l,"4.5.0"),u=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:f,titles:n});a.implementation=u.implementation+a.implementation,a.implementationMSW.handler=u.implementationMSW+a.implementationMSW.handler;let g=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _173 => _173.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:f,titles:n});a.implementation+=g.implementation,a.implementationMSW.handler+=g.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...o,implementationMSW:o.implementationMSW.function+o.implementationMSW.handler}};var wp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{path:o,dirname:a}=j(t.target,{backupFilename:S(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:f,formData:u,formUrlEncoded:g}=we(e,t),d=s,y=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):void 0,$=Q(t.tsconfig);return d+=e.imports({client:t.client,implementation:p,imports:y?[{exports:m.filter(O=>!i.some(R=>O.name===R.name)),dependency:y}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(d+=e.importsMock({implementation:c,imports:y?[{exports:i,dependency:y}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$})),l&&(d+=P({mutators:l,implementation:p})),f&&(d+=P({mutators:f})),u&&(d+=P({mutators:u})),g&&(d+=P({mutators:g})),p.includes("NonReadonly<")&&(d+=J(),d+=`
138
138
  `),!t.schemas&&n&&(d+=H(e.schemas)),d+=`
139
139
 
140
140
  ${p}`,t.mock&&(d+=`
141
141
 
142
- `,d+=c),await _fsextra2.default.outputFile(o,d),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var kp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:f,clientMutators:u,formData:g,formUrlEncoded:d}=we(e,t),y=s,$=s,O=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas",R=Q(t.tsconfig);y+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:O}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),$+=e.importsMock({implementation:c,imports:[{exports:l,dependency:O}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R});let N=t.schemas?void 0:b.join(a,o+".schemas"+m);if(N&&n){let I=s+H(e.schemas);await _fsextra2.default.outputFile(b.join(a,o+".schemas"+m),I)}f&&(y+=P({mutators:f,implementation:p})),u&&(y+=P({mutators:u})),g&&(y+=P({mutators:g})),d&&(y+=P({mutators:d})),p.includes("NonReadonly<")&&(y+=J()),y+=`
142
+ `,d+=c),await _fsextra2.default.outputFile(o,d),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var Wp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:f,clientMutators:u,formData:g,formUrlEncoded:d}=we(e,t),y=s,$=s,O=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas",R=Q(t.tsconfig);y+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:O}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),$+=e.importsMock({implementation:c,imports:[{exports:l,dependency:O}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:R});let N=t.schemas?void 0:b.join(a,o+".schemas"+m);if(N&&n){let I=s+H(e.schemas);await _fsextra2.default.outputFile(b.join(a,o+".schemas"+m),I)}f&&(y+=P({mutators:f,implementation:p})),u&&(y+=P({mutators:u})),g&&(y+=P({mutators:g})),d&&(y+=P({mutators:d})),p.includes("NonReadonly<")&&(y+=J()),y+=`
143
143
  ${p}`,$+=`
144
- ${c}`;let x=o+(U.ANGULAR===t.client?".service":"")+m,C=b.join(a,x);await _fsextra2.default.outputFile(b.join(a,x),y);let M=t.mock?b.join(a,o+".msw"+m):void 0;return M&&await _fsextra2.default.outputFile(M,$),[C,...N?[N]:[],...M?[M]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var bn=e=>({...e,tags:e.tags.length?e.tags:["default"]}),On=(e,t)=>t.tags.map(Oe).reduce((r,s)=>{let n=r[s];return n?(r[s]={implementation:n.implementation+t.implementation,imports:[...n.imports,...t.imports],importsMSW:[...n.importsMSW,...t.importsMSW],implementationMSW:{function:n.implementationMSW.function+t.implementationMSW.function,handler:n.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[..._nullishCoalesce(n.mutators, () => ([])),t.mutator]:n.mutators,clientMutators:t.clientMutators?[..._nullishCoalesce(n.clientMutators, () => ([])),...t.clientMutators]:n.clientMutators,formData:t.formData?[..._nullishCoalesce(n.formData, () => ([])),t.formData]:n.formData,formUrlEncoded:t.formUrlEncoded?[..._nullishCoalesce(n.formUrlEncoded, () => ([])),t.formUrlEncoded]:n.formUrlEncoded},r):(r[s]={imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],clientMutators:_nullishCoalesce(t.clientMutators, () => ([])),formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}},r)},e),Ee= exports.generateTargetForTags =(e,t)=>{let r=t.client===U.ANGULAR,s=Object.values(e.operations).map(bn).reduce((n,o,a,m)=>{let i=On(n,o);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let f=!!_optionalChain([l, 'access', _171 => _171.mutators, 'optionalAccess', _172 => _172.some, 'call', _173 => _173(R=>r?R.hasThirdArg:R.hasSecondArg)]),u=Object.values(e.operations).filter(({tags:R})=>R.includes(c)).map(({operationName:R})=>R),g=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _174 => _174.packageJson, 'optionalAccess', _175 => _175.dependencies, 'optionalAccess', _176 => _176.typescript]), () => (_optionalChain([t, 'access', _177 => _177.packageJson, 'optionalAccess', _178 => _178.devDependencies, 'optionalAccess', _179 => _179.typescript]))), () => ("4.4.0")),d=xe(g,"4.5.0"),y=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),$=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _180 => _180.client]),operationNames:u,hasMutator:!!_optionalChain([l, 'access', _181 => _181.mutators, 'optionalAccess', _182 => _182.length]),hasAwaitedType:d,titles:y}),O=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:f,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:d,titles:y});return p[c]={implementation:O.implementation+l.implementation+$.implementation,implementationMSW:{function:l.implementationMSW.function,handler:O.implementationMSW+l.implementationMSW.handler+$.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((n,[o,a])=>(n[o]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},n),{})};var em=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),i=Ee(e,t),p=Q(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,f])=>{try{let{imports:u,implementation:g,implementationMSW:d,importsMSW:y,mutators:$,clientMutators:O,formData:R,formUrlEncoded:N}=f,x=s,C=s,M=t.schemas?"../"+b.relativeSafe(a,j(t.schemas).dirname):"../"+o+".schemas";x+=e.imports({client:t.client,implementation:g,imports:[{exports:u,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),C+=e.importsMock({implementation:d,imports:[{exports:y,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let I=t.schemas?void 0:b.join(a,o+".schemas"+m);if(I&&n){let Ce=s+H(e.schemas);await _fsextra2.default.outputFile(I,Ce)}$&&(x+=P({mutators:$,implementation:g,oneMore:!0})),O&&(x+=P({mutators:O,oneMore:!0})),R&&(x+=P({mutators:R,oneMore:!0})),N&&(x+=P({mutators:N,oneMore:!0})),g.includes("NonReadonly<")&&(x+=J(),x+=`
144
+ ${c}`;let x=o+(U.ANGULAR===t.client?".service":"")+m,C=b.join(a,x);await _fsextra2.default.outputFile(b.join(a,x),y);let M=t.mock?b.join(a,o+".msw"+m):void 0;return M&&await _fsextra2.default.outputFile(M,$),[C,...N?[N]:[],...M?[M]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var xn=e=>({...e,tags:e.tags.length?e.tags:["default"]}),Sn=(e,t)=>t.tags.map(Oe).reduce((r,s)=>{let n=r[s];return n?(r[s]={implementation:n.implementation+t.implementation,imports:[...n.imports,...t.imports],importsMSW:[...n.importsMSW,...t.importsMSW],implementationMSW:{function:n.implementationMSW.function+t.implementationMSW.function,handler:n.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[..._nullishCoalesce(n.mutators, () => ([])),t.mutator]:n.mutators,clientMutators:t.clientMutators?[..._nullishCoalesce(n.clientMutators, () => ([])),...t.clientMutators]:n.clientMutators,formData:t.formData?[..._nullishCoalesce(n.formData, () => ([])),t.formData]:n.formData,formUrlEncoded:t.formUrlEncoded?[..._nullishCoalesce(n.formUrlEncoded, () => ([])),t.formUrlEncoded]:n.formUrlEncoded},r):(r[s]={imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],clientMutators:_nullishCoalesce(t.clientMutators, () => ([])),formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}},r)},e),Ee= exports.generateTargetForTags =(e,t)=>{let r=t.client===U.ANGULAR,s=Object.values(e.operations).map(xn).reduce((n,o,a,m)=>{let i=Sn(n,o);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let f=!!_optionalChain([l, 'access', _174 => _174.mutators, 'optionalAccess', _175 => _175.some, 'call', _176 => _176(R=>r?R.hasThirdArg:R.hasSecondArg)]),u=Object.values(e.operations).filter(({tags:R})=>R.includes(c)).map(({operationName:R})=>R),g=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _177 => _177.packageJson, 'optionalAccess', _178 => _178.dependencies, 'optionalAccess', _179 => _179.typescript]), () => (_optionalChain([t, 'access', _180 => _180.packageJson, 'optionalAccess', _181 => _181.devDependencies, 'optionalAccess', _182 => _182.typescript]))), () => ("4.4.0")),d=xe(g,"4.5.0"),y=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),$=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _183 => _183.client]),operationNames:u,hasMutator:!!_optionalChain([l, 'access', _184 => _184.mutators, 'optionalAccess', _185 => _185.length]),hasAwaitedType:d,titles:y}),O=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:f,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:d,titles:y});return p[c]={implementation:O.implementation+l.implementation+$.implementation,implementationMSW:{function:l.implementationMSW.function,handler:O.implementationMSW+l.implementationMSW.handler+$.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((n,[o,a])=>(n[o]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},n),{})};var rm=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),i=Ee(e,t),p=Q(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,f])=>{try{let{imports:u,implementation:g,implementationMSW:d,importsMSW:y,mutators:$,clientMutators:O,formData:R,formUrlEncoded:N}=f,x=s,C=s,M=t.schemas?"../"+b.relativeSafe(a,j(t.schemas).dirname):"../"+o+".schemas";x+=e.imports({client:t.client,implementation:g,imports:[{exports:u,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),C+=e.importsMock({implementation:d,imports:[{exports:y,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let I=t.schemas?void 0:b.join(a,o+".schemas"+m);if(I&&n){let Ce=s+H(e.schemas);await _fsextra2.default.outputFile(I,Ce)}$&&(x+=P({mutators:$,implementation:g,oneMore:!0})),O&&(x+=P({mutators:O,oneMore:!0})),R&&(x+=P({mutators:R,oneMore:!0})),N&&(x+=P({mutators:N,oneMore:!0})),g.includes("NonReadonly<")&&(x+=J(),x+=`
145
145
  `),x+=`
146
146
  ${g}`,C+=`
147
- ${d}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,ee=b.join(a,l,q);await _fsextra2.default.outputFile(ee,x);let te=t.mock?b.join(a,l,l+".msw"+m):void 0;return te&&await _fsextra2.default.outputFile(te,C),[ee,...I?[I]:[],...te?[te]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${u}`}}))).flatMap(l=>l)};var im=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),i=Ee(e,t),p=Q(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,f])=>{try{let{imports:u,implementation:g,implementationMSW:d,importsMSW:y,mutators:$,clientMutators:O,formData:R,formUrlEncoded:N}=f,x=s,C=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas";x+=e.imports({client:t.client,implementation:g,imports:[{exports:u.filter(q=>!y.some(ee=>q.name===ee.name)),dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(x+=e.importsMock({implementation:d,imports:[{exports:y,dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let M=t.schemas?void 0:b.join(a,o+".schemas"+m);if(M&&n){let q=s+H(e.schemas);await _fsextra2.default.outputFile(M,q)}$&&(x+=P({mutators:$,implementation:g})),O&&(x+=P({mutators:O})),R&&(x+=P({mutators:R})),N&&(x+=P({mutators:N})),x+=`
147
+ ${d}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,ee=b.join(a,l,q);await _fsextra2.default.outputFile(ee,x);let te=t.mock?b.join(a,l,l+".msw"+m):void 0;return te&&await _fsextra2.default.outputFile(te,C),[ee,...I?[I]:[],...te?[te]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${u}`}}))).flatMap(l=>l)};var mm=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:S(e.info.title)}),i=Ee(e,t),p=Q(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,f])=>{try{let{imports:u,implementation:g,implementationMSW:d,importsMSW:y,mutators:$,clientMutators:O,formData:R,formUrlEncoded:N}=f,x=s,C=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas";x+=e.imports({client:t.client,implementation:g,imports:[{exports:u.filter(q=>!y.some(ee=>q.name===ee.name)),dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(x+=e.importsMock({implementation:d,imports:[{exports:y,dependency:C}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let M=t.schemas?void 0:b.join(a,o+".schemas"+m);if(M&&n){let q=s+H(e.schemas);await _fsextra2.default.outputFile(M,q)}$&&(x+=P({mutators:$,implementation:g})),O&&(x+=P({mutators:O})),R&&(x+=P({mutators:R})),N&&(x+=P({mutators:N})),x+=`
148
148
 
149
149
  `,g.includes("NonReadonly<")&&(x+=J(),x+=`
150
150
  `),x+=g,t.mock&&(x+=`
151
151
 
152
- `,x+=d);let I=b.join(a,`${Oe(l)}${m}`);return await _fsextra2.default.outputFile(I,x),[I,...M?[M]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${u}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = Te; exports.GetterPropType = z; exports.LogLevels = Ie; exports.OutputClient = U; exports.OutputMode = Sn; exports.RefComponentSuffix = is; exports.SchemaType = et; exports.URL_REGEX = jn; exports.VERBS_WITH_BODY = tt; exports.Verbs = V; exports._filteredVerbs = un; exports.addDependency = Zr; exports.asyncReduce = St; exports.camel = S; exports.combineSchemas = Ke; exports.compareVersions = xe; exports.count = Oo; exports.createDebugger = nt; exports.createLogger = Y; exports.createSuccessMessage = Dn; exports.dynamicImport = jt; exports.errorMessage = Cn; exports.escape = Le; exports.generalJSTypes = rr; exports.generalJSTypesWithArray = ce; exports.generateAxiosOptions = an; exports.generateBodyMutatorConfig = pn; exports.generateBodyOptions = sn; exports.generateComponentDefinition = ri; exports.generateDependencyImports = li; exports.generateFormDataAndUrlEncodedFunction = Ci; exports.generateImports = zt; exports.generateModelInline = en; exports.generateModelsInline = H; exports.generateMutator = Me; exports.generateMutatorConfig = wi; exports.generateMutatorImports = P; exports.generateMutatorRequestOptions = Ei; exports.generateOptions = Gi; exports.generateParameterDefinition = Ai; exports.generateQueryParamsAxiosConfig = mn; exports.generateSchemasDefinition = Ki; exports.generateTarget = we; exports.generateTargetForTags = Ee; exports.generateVerbImports = ui; exports.generateVerbsOptions = Xi; exports.getArray = Gt; exports.getBody = Ct; exports.getEnum = oe; exports.getEnumImplementation = Re; exports.getExtension = le; exports.getFileInfo = j; exports.getKey = Pe; exports.getNumberWord = $e; exports.getObject = It; exports.getOperationId = Nt; exports.getOrvalGeneratedTypes = J; exports.getParameters = At; exports.getParams = kt; exports.getParamsInPath = Kr; exports.getProps = Ft; exports.getQueryParams = Qe; exports.getRefInfo = se; exports.getResReqTypes = ae; exports.getResponse = Wt; exports.getRoute = Ca; exports.getRouteAsArray = Ia; exports.getScalar = Z; exports.ibmOpenapiValidator = Ao; exports.ibmOpenapiValidatorErrors = pt; exports.ibmOpenapiValidatorWarnings = it; exports.isBoolean = ie; exports.isDirectory = lt; exports.isFunction = bt; exports.isModule = gt; exports.isNull = Ot; exports.isNumber = yt; exports.isNumeric = ht; exports.isObject = D; exports.isReference = w; exports.isRootKey = oo; exports.isSchema = no; exports.isString = A; exports.isSyntheticDefaultImportsAllow = Q; exports.isUndefined = pe; exports.isUrl = ge; exports.isVerb = xt; exports.jsDoc = v; exports.jsStringEscape = Eo; exports.kebab = Oe; exports.loadFile = ct; exports.log = W; exports.mergeDeep = _e; exports.mismatchArgsMessage = In; exports.openApiConverter = jo; exports.pascal = h; exports.removeFiles = Qn; exports.resolveDiscriminators = Dt; exports.resolveObject = B; exports.resolveRef = E; exports.resolveValue = k; exports.sanitize = T; exports.snake = io; exports.sortByPriority = Pt; exports.startMessage = En; exports.stringify = K; exports.toObjectString = wo; exports.upath = b; exports.upper = po; exports.writeModelInline = gn; exports.writeModelsInline = up; exports.writeSchema = yn; exports.writeSchemas = fp; exports.writeSingleMode = Mp; exports.writeSplitMode = kp; exports.writeSplitTagsMode = em; exports.writeTagsMode = im;
152
+ `,x+=d);let I=b.join(a,`${Oe(l)}${m}`);return await _fsextra2.default.outputFile(I,x),[I,...M?[M]:[]]}catch(u){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${u}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = Te; exports.GetterPropType = z; exports.LogLevels = Ie; exports.OutputClient = U; exports.OutputMode = Rn; exports.RefComponentSuffix = ms; exports.SchemaType = tt; exports.URL_REGEX = Tn; exports.VERBS_WITH_BODY = rt; exports.Verbs = V; exports._filteredVerbs = dn; exports.addDependency = tn; exports.asyncReduce = $t; exports.camel = S; exports.combineSchemas = Qe; exports.compareVersions = xe; exports.count = So; exports.createDebugger = ot; exports.createLogger = Y; exports.createSuccessMessage = An; exports.dynamicImport = Pt; exports.errorMessage = Dn; exports.escape = Ke; exports.generalJSTypes = or; exports.generalJSTypesWithArray = ce; exports.generateAxiosOptions = mn; exports.generateBodyMutatorConfig = cn; exports.generateBodyOptions = pn; exports.generateComponentDefinition = oi; exports.generateDependencyImports = fi; exports.generateFormDataAndUrlEncodedFunction = Di; exports.generateImports = Lt; exports.generateModelInline = rn; exports.generateModelsInline = H; exports.generateMutator = Me; exports.generateMutatorConfig = Ci; exports.generateMutatorImports = P; exports.generateMutatorRequestOptions = Ii; exports.generateOptions = Ei; exports.generateParameterDefinition = Fi; exports.generateQueryParamsAxiosConfig = ln; exports.generateSchemasDefinition = Hi; exports.generateTarget = we; exports.generateTargetForTags = Ee; exports.generateVerbImports = di; exports.generateVerbsOptions = ep; exports.getArray = wt; exports.getBody = It; exports.getEnum = oe; exports.getEnumImplementation = Re; exports.getExtension = le; exports.getFileInfo = j; exports.getKey = Pe; exports.getNumberWord = $e; exports.getObject = Dt; exports.getOperationId = At; exports.getOrvalGeneratedTypes = J; exports.getParameters = kt; exports.getParams = Ft; exports.getParamsInPath = Hr; exports.getProps = Wt; exports.getQueryParams = He; exports.getRefInfo = se; exports.getResReqTypes = ae; exports.getResponse = Bt; exports.getRoute = Da; exports.getRouteAsArray = Na; exports.getScalar = Z; exports.ibmOpenapiValidator = Fo; exports.ibmOpenapiValidatorErrors = mt; exports.ibmOpenapiValidatorWarnings = pt; exports.isBoolean = ie; exports.isDirectory = ut; exports.isFunction = Ot; exports.isModule = yt; exports.isNull = xt; exports.isNumber = ht; exports.isNumeric = bt; exports.isObject = D; exports.isReference = w; exports.isRootKey = ao; exports.isSchema = so; exports.isString = A; exports.isSyntheticDefaultImportsAllow = Q; exports.isUndefined = pe; exports.isUrl = ge; exports.isVerb = St; exports.jsDoc = v; exports.jsStringEscape = Io; exports.kebab = Oe; exports.loadFile = lt; exports.log = W; exports.mergeDeep = Le; exports.mismatchArgsMessage = Nn; exports.openApiConverter = To; exports.pascal = h; exports.removeFiles = Jn; exports.resolveDiscriminators = Nt; exports.resolveObject = B; exports.resolveRef = E; exports.resolveValue = k; exports.sanitize = T; exports.snake = mo; exports.sortByPriority = Tt; exports.startMessage = In; exports.stringify = K; exports.toObjectString = Co; exports.upath = b; exports.upper = co; exports.writeModelInline = hn; exports.writeModelsInline = dp; exports.writeSchema = bn; exports.writeSchemas = gp; exports.writeSingleMode = wp; exports.writeSplitMode = Wp; exports.writeSplitTagsMode = rm; exports.writeTagsMode = mm;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orval/core",
3
- "version": "6.18.1",
3
+ "version": "6.19.0",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",