@orval/core 6.14.2 → 6.14.4

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
@@ -326,6 +326,7 @@ interface ContextSpecs {
326
326
  override: NormalizedOverrideOutput;
327
327
  tsconfig?: Tsconfig;
328
328
  packageJson?: PackageJson;
329
+ parents?: string[];
329
330
  }
330
331
  interface GlobalOptions {
331
332
  projectName?: string;
package/dist/index.js CHANGED
@@ -8,11 +8,11 @@ ${s?" ":""} *`),i+=` ${n.join(`
8
8
  ${s?" ":""} *`),i+=" @deprecated"),r&&(a||(i+=`
9
9
  ${s?" ":""} *`),i+=` @summary ${r.replace(Le,ze)}`),i+=a?" ":`
10
10
  ${s?" ":""}`,i+=`*/
11
- `,i}var Pt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(N(e)){let n=await Promise.resolve().then(() => require(We(t,e)));return r&&(I(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 Ke(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]=Ke(o,n):r[s]=n,r},Object.assign({},e))}var fo=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Oo=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(N(e)){let n=await Promise.resolve().then(() => require(We(t,e)));return r&&(I(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 _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 fo=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Oo=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 vt=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 N(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}, `},"")},v= 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},Po= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
- `)+",":"",Er={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+Er[s],""),_e= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var _=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _19 => _19.compilerOptions, 'optionalAccess', _20 => _20.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _21 => _21.compilerOptions, 'optionalAccess', _22 => _22.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var wo=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&pt(r),t.length&&mt(t)};var ne=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
14
+ Parsing Error: ${s}`}};var vt=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 _=e=>{if(!(pe(e)||xt(e)))return N(e)?`'${e}'`:ht(e)||ie(e)||Ot(e)?`${e}`:Array.isArray(e)?`[${e.map(_).join(", ")}]`:Object.entries(e).reduce((t,[r,s],n,o)=>{let a=_(s);return o.length===1?`{ ${r}: ${a}, }`:n?o.length-1===n?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},v= 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},Po= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
+ `)+",":"",Er={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+Er[s],""),Ke= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var K=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _19 => _19.compilerOptions, 'optionalAccess', _20 => _20.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _21 => _21.compilerOptions, 'optionalAccess', _22 => _22.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var wo=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&pt(r),t.length&&mt(t)};var ne=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
16
16
  `,n=Re(e,r);return s+=`
17
17
 
18
18
  `,s+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
@@ -20,7 +20,7 @@ Parsing Error: ${s}`}};var vt=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.requir
20
20
  ${n}} as const;
21
21
  `,s},Re= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,s,n)=>{let o=_optionalChain([t, 'optionalAccess', _23 => _23[n]]);if(o)return r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${s},
22
22
  `;let a=s.startsWith("'")?s.slice(1,-1):s;return bt(a)&&(a=Ir(a)),a.length>1&&(a=v(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${s},
23
- `},""),Ir=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var ts={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},kr=new RegExp("~1","g"),Nr=(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()},oe= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),n=_optionalChain([s, 'optionalAccess', _24 => _24.slice, 'call', _25 => _25(1), 'access', _26 => _26.split, 'call', _27 => _27("/"), 'access', _28 => _28.map, 'call', _29 => _29(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)?Nr(t.specKey,r):b.resolve(R(t.specKey).dirname,r);return{name:h(a)+o,originalName:a,specKey:m,refPaths:n}};var D=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _30 => _30.schema, 'optionalAccess', _31 => _31.$ref])){let i=D(_optionalChain([e, 'optionalAccess', _32 => _32.schema]),t,r);return{schema:{...e,schema:i.schema},imports:r}}if(!w(e))return{schema:e,imports:r};let{name:s,originalName:n,specKey:o,refPaths:a}=oe(e.$ref,t),m=a?_lodashget2.default.call(void 0, t.specs[o||t.specKey],a):t.specs[o||t.specKey];if(!m)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return D(m,{...t,specKey:o||t.specKey},[...r,{name:s,specKey:o,schemaName:n}])};var A=({schema:e,name:t,context:r})=>{if(w(e)){let{schema:n,imports:o}=D(e,r),a=o[0],m=a.specKey||(r.specKey!==r.target?r.specKey:void 0),i=!1,p=r.specs[r.specKey];return t&&!t.startsWith(a.name)&&!_optionalChain([p, 'optionalAccess', _33 => _33.components, 'optionalAccess', _34 => _34.schemas, 'optionalAccess', _35 => _35[t]])&&(i=X({item:n,name:a.name,context:{...r,specKey:m||r.specKey}}).hasReadonlyProps),{value:a.name,imports:[{name:a.name,specKey:m,schemaName:a.schemaName}],type:_optionalChain([n, 'optionalAccess', _36 => _36.type])||"object",schemas:[],isEnum:!!_optionalChain([n, 'optionalAccess', _37 => _37.enum]),originalSchema:n,hasReadonlyProps:i,isRef:!0}}return{...X({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var V=({schema:e,propName:t,combined:r=!1,context:s})=>{let n=A({schema:e,name:t,context:s}),o=T(_nullishCoalesce(n.originalSchema, () => ({})));if(t&&!n.isEnum&&_optionalChain([n, 'optionalAccess', _38 => _38.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};
23
+ `},""),Ir=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var ts={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},kr=new RegExp("~1","g"),Nr=(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()},oe= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),n=_optionalChain([s, 'optionalAccess', _24 => _24.slice, 'call', _25 => _25(1), 'access', _26 => _26.split, 'call', _27 => _27("/"), 'access', _28 => _28.map, 'call', _29 => _29(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)?Nr(t.specKey,r):b.resolve(R(t.specKey).dirname,r);return{name:h(a)+o,originalName:a,specKey:m,refPaths:n}};var D=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _30 => _30.schema, 'optionalAccess', _31 => _31.$ref])){let i=D(_optionalChain([e, 'optionalAccess', _32 => _32.schema]),t,r);return{schema:{...e,schema:i.schema},imports:r}}if(!w(e))return{schema:e,imports:r};let{name:s,originalName:n,specKey:o,refPaths:a}=oe(e.$ref,t),m=a?_lodashget2.default.call(void 0, t.specs[o||t.specKey],a):t.specs[o||t.specKey];if(!m)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return D(m,{...t,specKey:o||t.specKey},[...r,{name:s,specKey:o,schemaName:n}])};var A=({schema:e,name:t,context:r})=>{if(w(e)){let{schema:n,imports:o}=D(e,r),a=o[0],m=a.specKey||(r.specKey!==r.target?r.specKey:void 0),i=!1;return(!t||!_optionalChain([r, 'access', _33 => _33.parents, 'optionalAccess', _34 => _34.includes, 'call', _35 => _35(t)]))&&(i=X({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', _36 => _36.type])||"object",schemas:[],isEnum:!!_optionalChain([n, 'optionalAccess', _37 => _37.enum]),originalSchema:n,hasReadonlyProps:i,isRef:!0}}return{...X({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var V=({schema:e,propName:t,combined:r=!1,context:s})=>{let n=A({schema:e,name:t,context:s}),o=T(_nullishCoalesce(n.originalSchema, () => ({})));if(t&&!n.isEnum&&_optionalChain([n, 'optionalAccess', _38 => _38.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};
24
24
  `,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=ne(n.value,t,_optionalChain([n, 'access', _39 => _39.originalSchema, 'optionalAccess', _40 => _40["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 Mt=({schema:e,name:t,context:r})=>{if(e.items){let s=V({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"],Vr=({mediaType:e,propName:t,context:r})=>e.schema?V({schema:e.schema,propName:t,context:r}):void 0,se= 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}]}=D(a,r),[l,u]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),f=wt.includes(l),d=Et.includes(l);if(!f&&!d||!_optionalChain([u, 'optionalAccess', _41 => _41.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,hasReadonlyProps:!1,originalSchema:_optionalChain([u, 'optionalAccess', _42 => _42.schema]),key:o,contentType:l}];let y=f?je({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _43 => _43.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,g=d?je({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _44 => _44.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:y,formUrlEncoded:g,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _45 => _45.schema]),key:o,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let u=o?h(t)+h(o):void 0;u&&l.length>1&&(u=u+h($e(c+1)));let f=Vr({mediaType:p,propName:u,context:r});if(!f)return;let d=wt.includes(i),y=Et.includes(i);if(!d&&!y||!u)return{...f,imports:f.imports,contentType:i};let g=d?je({name:u,schemaObject:p.schema,context:r}):void 0,S=y?je({name:u,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...f,imports:f.imports,formData:g,formUrlEncoded:S,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}=D(t,r),m=x(!n&&w(t)?a[0].name:e),i=s?"formUrlEncoded":"formData",p=s?`const ${i} = new URLSearchParams();
25
25
  `:`const ${i} = new FormData();
26
26
  `;if(o.type==="object"&&o.properties){let c=Object.entries(o.properties).reduce((l,[u,f])=>{let{schema:d}=D(f,r),y="",g=_esutils.keyword.isIdentifierNameES5(u)?`.${u}`:`['${u}']`;d.type==="object"?y=`${i}.append('${u}', JSON.stringify(${m}${g}));
@@ -42,14 +42,14 @@ ${n}} as const;
42
42
  }`;else{let g=A({schema:e.additionalProperties,name:t,context:r});n.value+=`
43
43
  [key: string]: ${g.value};
44
44
  }`}else n.value+=`
45
- }`;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=A({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 X=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let n="number",o=!1;return e.enum&&(n=e.enum.map(a=>`${a}`).join(" | "),o=!0),{value:n+s,isEnum:o,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:n,...o}=Mt({schema:e,name:t,context:r});return{value:n+s,...o}}case"string":{let n="string",o=!1;return e.enum&&(n=`'${e.enum.map(a=>N(a)?_e(a):`${a}`).filter(Boolean).join("' | '")}'`,o=!0),e.format==="binary"&&(n="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(n="Date"),{value:n+s,isEnum:o,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(e.enum)return{value:`'${e.enum.map(m=>N(m)?_e(m):`${m}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};let{value:n,...o}=It({item:e,name:t,context:r,nullable:s});return{value:n,...o}}}};var Ur=({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 u=e?e+h(r):void 0;u&&c.schemas.length&&(u=u+h($e(c.schemas.length+1)));let f=V({schema:l,propName:u,combined:!0,context:s});return c.values.push(f.value),c.imports.push(...f.imports),c.schemas.push(...f.schemas),c.isEnum.push(f.isEnum),c.types.push(f.type),c.isRef.push(f.isRef),c.originalSchema.push(f.originalSchema),c.hasReadonlyProps||=f.hasReadonlyProps,c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[],hasReadonlyProps:!1}),m=a.isEnum.every(c=>c),i;t.properties&&(i=X({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=Ur({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&o.length>1){let c=`
45
+ }`;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=A({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 X=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let n=e.format==="int64"?"bigint":"number",o=!1;return e.enum&&(n=e.enum.map(a=>`${a}`).join(" | "),o=!0),{value:n+s,isEnum:o,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:n,...o}=Mt({schema:e,name:t,context:r});return{value:n+s,...o}}case"string":{let n="string",o=!1;return e.enum&&(n=`'${e.enum.map(a=>N(a)?Ke(a):`${a}`).filter(Boolean).join("' | '")}'`,o=!0),e.format==="binary"&&(n="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(n="Date"),{value:n+s,isEnum:o,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(e.enum)return{value:`'${e.enum.map(m=>N(m)?Ke(m):`${m}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};let{value:n,...o}=It({item:e,name:t,context:r,nullable:s});return{value:n,...o}}}};var Ur=({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 u=e?e+h(r):void 0;u&&c.schemas.length&&(u=u+h($e(c.schemas.length+1)));let f=V({schema:l,propName:u,combined:!0,context:s});return c.values.push(f.value),c.imports.push(...f.imports),c.schemas.push(...f.schemas),c.isEnum.push(f.isEnum),c.types.push(f.type),c.isRef.push(f.isRef),c.originalSchema.push(f.originalSchema),c.hasReadonlyProps||=f.hasReadonlyProps,c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[],hasReadonlyProps:!1}),m=a.isEnum.every(c=>c),i;t.properties&&(i=X({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=Ur({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&o.length>1){let c=`
46
46
 
47
47
  // eslint-disable-next-line @typescript-eslint/no-redeclare
48
- export const ${h(e)} = ${zr(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', _53 => _53.hasReadonlyProps])||_optionalChain([i, 'optionalAccess', _54 => _54.hasReadonlyProps])||!1}},zr=({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', _55 => _55[o], 'optionalAccess', _56 => _56["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', _57 => _57.discriminator, 'optionalAccess', _58 => _58.mapping])){let{mapping:n,propertyName:o}=s.discriminator;for(let[a,m]of Object.entries(n)){let i;try{let{name:p}=oe(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 kt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>v(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var Nt=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(w(s)){let{schema:n,imports:o}=D(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 Lr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},At= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>Lr(e).map(o=>{let a=t.find(({parameter:d})=>v(x(d.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=v(x(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=A({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${K(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var Ft=({body:e,queryParams:t,params:r,headers:s})=>{let n={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:ae.BODY},o={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _59 => _59.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _60 => _60.schema, 'access', _61 => _61.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _62 => _62.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _63 => _63.schema, 'access', _64 => _64.name])}`,default:!1,required:pe(_optionalChain([t, 'optionalAccess', _65 => _65.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _66 => _66.isOptional]),type:ae.QUERY_PARAM},a={name:"headers",definition:`headers${_optionalChain([s, 'optionalAccess', _67 => _67.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _68 => _68.schema, 'access', _69 => _69.name])}`,implementation:`headers${_optionalChain([s, 'optionalAccess', _70 => _70.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _71 => _71.schema, 'access', _72 => _72.name])}`,default:!1,required:pe(_optionalChain([s, 'optionalAccess', _73 => _73.isOptional]))?!1:!_optionalChain([s, 'optionalAccess', _74 => _74.isOptional]),type:ae.HEADER},m=[...r.map(p=>({...p,type:ae.PARAM})),...e.definition?[n]:[],...t?[o]:[],...s?[a]:[]];return vt(m)};var Kr=(e,t,r)=>e.map(({parameter:s,imports:n})=>{let{name:o,required:a,schema:m,content:i}=s,p=v(`${h(t)}${h(o)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=A({schema:c,context:r,name:p}),u=Pe(o),f=T(s);if(n.length)return{definition:`${f}${u}${!a||c.default?"?":""}: ${n[0].name};`,imports:n,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let y=p,g=ne(l.value,y,_optionalChain([l, 'access', _75 => _75.originalSchema, 'optionalAccess', _76 => _76["x-enumNames"]]));return{definition:`${f}${u}${!a||c.default?"?":""}: ${y};`,imports:[{name:y}],schemas:[...l.schemas,{name:y,model:g,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${f}${u}${!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=Kr(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(`
48
+ export const ${h(e)} = ${zr(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', _53 => _53.hasReadonlyProps])||_optionalChain([i, 'optionalAccess', _54 => _54.hasReadonlyProps])||!1}},zr=({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', _55 => _55[o], 'optionalAccess', _56 => _56["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', _57 => _57.discriminator, 'optionalAccess', _58 => _58.mapping])){let{mapping:n,propertyName:o}=s.discriminator;for(let[a,m]of Object.entries(n)){let i;try{let{name:p}=oe(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 kt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>v(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var Nt=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(w(s)){let{schema:n,imports:o}=D(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 Lr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},At= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>Lr(e).map(o=>{let a=t.find(({parameter:d})=>v(x(d.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=v(x(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=A({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${_(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var Ft=({body:e,queryParams:t,params:r,headers:s})=>{let n={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:ae.BODY},o={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _59 => _59.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _60 => _60.schema, 'access', _61 => _61.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _62 => _62.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _63 => _63.schema, 'access', _64 => _64.name])}`,default:!1,required:pe(_optionalChain([t, 'optionalAccess', _65 => _65.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _66 => _66.isOptional]),type:ae.QUERY_PARAM},a={name:"headers",definition:`headers${_optionalChain([s, 'optionalAccess', _67 => _67.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _68 => _68.schema, 'access', _69 => _69.name])}`,implementation:`headers${_optionalChain([s, 'optionalAccess', _70 => _70.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _71 => _71.schema, 'access', _72 => _72.name])}`,default:!1,required:pe(_optionalChain([s, 'optionalAccess', _73 => _73.isOptional]))?!1:!_optionalChain([s, 'optionalAccess', _74 => _74.isOptional]),type:ae.HEADER},m=[...r.map(p=>({...p,type:ae.PARAM})),...e.definition?[n]:[],...t?[o]:[],...s?[a]:[]];return vt(m)};var _r=(e,t,r)=>e.map(({parameter:s,imports:n})=>{let{name:o,required:a,schema:m,content:i}=s,p=v(`${h(t)}${h(o)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=A({schema:c,context:r,name:p}),u=Pe(o),f=T(s);if(n.length)return{definition:`${f}${u}${!a||c.default?"?":""}: ${n[0].name};`,imports:n,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let y=p,g=ne(l.value,y,_optionalChain([l, 'access', _75 => _75.originalSchema, 'optionalAccess', _76 => _76["x-enumNames"]]));return{definition:`${f}${u}${!a||c.default?"?":""}: ${y};`,imports:[{name:y}],schemas:[...l.schemas,{name:y,model:g,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${f}${u}${!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=_r(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(`
49
49
  `),p=e.every(({parameter:l})=>!l.required);return{schema:{name:m,model:`export type ${m} = {
50
50
  ${i}
51
51
  };
52
- `,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=se(Object.entries(e),t,r,"void"),o=s?n.filter(u=>{let f=!0,d=!1;return s.include&&(f=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),f&&!d}):n,a=o.reduce((u,f)=>(f.key.startsWith("2")?u.success.push(f):u.errors.push(f),u),{success:[],errors:[]}),m=o.flatMap(({imports:u})=>u),i=o.flatMap(({schemas:u})=>u),p=[...new Set(o.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:f})=>f?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:m,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:p,schemas:i,originalSchema:e}};var Vt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Bt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _77 => _77.length]))return e;let r=t[1],s=v(x(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),n=Vt(t[3])?Bt(t[3]):t[3];return Vt(e)?`${r}\${${s}}${n}`:`${r}${s}${n}`},ja= exports.getRoute =e=>e.split("/").reduce((r,s,n)=>!s&&!n?r:s.includes("{")?`${r}/${Bt(s)}`:`${r}/${s}`,"");var _a=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[n,o])=>{let a=se([[r,o]],n,t,"void"),m=a.flatMap(({imports:f})=>f),i=a.flatMap(({schemas:f})=>f),p=a.map(({value:f})=>f).join(" | "),c=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${T(o)}export type ${c} = ${p||"unknown"};
52
+ `,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=se(Object.entries(e),t,r,"void"),o=s?n.filter(u=>{let f=!0,d=!1;return s.include&&(f=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),f&&!d}):n,a=o.reduce((u,f)=>(f.key.startsWith("2")?u.success.push(f):u.errors.push(f),u),{success:[],errors:[]}),m=o.flatMap(({imports:u})=>u),i=o.flatMap(({schemas:u})=>u),p=[...new Set(o.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:f})=>f?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:m,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:p,schemas:i,originalSchema:e}};var Vt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Bt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _77 => _77.length]))return e;let r=t[1],s=v(x(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),n=Vt(t[3])?Bt(t[3]):t[3];return Vt(e)?`${r}\${${s}}${n}`:`${r}${s}${n}`},ja= exports.getRoute =e=>e.split("/").reduce((r,s,n)=>!s&&!n?r:s.includes("{")?`${r}/${Bt(s)}`:`${r}/${s}`,"");var Ka=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[n,o])=>{let a=se([[r,o]],n,t,"void"),m=a.flatMap(({imports:f})=>f),i=a.flatMap(({schemas:f})=>f),p=a.map(({value:f})=>f).join(" | "),c=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${T(o)}export type ${c} = ${p||"unknown"};
53
53
  `;return s.push(...i),c!==p&&s.push({name:c,model:u,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,x(a))}';`:`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${b.join(c,x(a))}';`}return`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${x(a)}';`}).join(`
54
54
  `):"",j= 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+=`
55
55
  `,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+=`
@@ -62,7 +62,7 @@ ${i}
62
62
  `)},Xa= exports.generateDependencyImports =(e,t,r,s,n)=>{let o=t.map(a=>Hr({...a,implementation:e,specsName:r,hasSchemaDir:s,isAllowSyntheticDefaultImports:n})).filter(Boolean).join(`
63
63
  `);return o?o+`
64
64
  `:""},Za= exports.generateVerbImports =({response:e,body:t,queryParams:r,headers:s,params:n})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...s?[{name:s.schema.name}]:[],...n.flatMap(({imports:o})=>o)];var Jr=(e,t)=>e+`${t}
65
- `,Q= 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})=>Jr(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var ve="BodyType",Kt=(e,t)=>{let r=R(e),s=R(t.path),{pathWithoutExtension:n}=R(b.relativeSafe(r.dirname,s.path));return n},Ge= 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 ${ve}`)||i.includes(`export interface ${ve}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${ve}`:ve,{file:f,cached:d}=await lt(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:n,load:!1});if(f){let y=o?"default":t.name,g=Zr(f,y);g||(J().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let S=Kt(e,t),P=t.name?!!t.name.startsWith("use")&&!g.numberOfParams:!g.numberOfParams;return{name:t.name||!P?a:`use${h(a)}`,path:S,default:o,hasErrorType:p,errorTypeName:l,hasSecondArg:P?g.returnNumberOfParams>1:g.numberOfParams>1,hasThirdArg:g.numberOfParams>2,isHook:P,...c?{bodyTypeName:u}:{}}}else{let y=Kt(e,t);return d||J().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:y,default:o,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},Zr=(e,t)=>{try{let r=_acorn.Parser.parse(e,{ecmaVersion:6}),s=_optionalChain([r, 'optionalAccess', _82 => _82.body, 'optionalAccess', _83 => _83.find, 'call', _84 => _84(o=>{if(o.type==="ExpressionStatement")return _optionalChain([o, 'access', _85 => _85.expression, 'access', _86 => _86.arguments, 'optionalAccess', _87 => _87[1], 'optionalAccess', _88 => _88.properties, 'optionalAccess', _89 => _89.some, 'call', _90 => _90(a=>_optionalChain([a, 'access', _91 => _91.key, 'optionalAccess', _92 => _92.name])===t)])||_optionalChain([o, 'access', _93 => _93.expression, 'access', _94 => _94.left, 'optionalAccess', _95 => _95.property, 'optionalAccess', _96 => _96.name])===t?!0:_optionalChain([o, 'access', _97 => _97.expression, 'access', _98 => _98.right, 'optionalAccess', _99 => _99.properties, 'optionalAccess', _100 => _100.some, 'call', _101 => _101(a=>a.key.name===t)])})]);if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Te(r,s.expression.right.name);let o=_optionalChain([s, 'access', _102 => _102.expression, 'access', _103 => _103.right, 'optionalAccess', _104 => _104.properties, 'access', _105 => _105.find, 'call', _106 => _106(a=>a.key.name===t)]);return o.value.name?Te(r,o.value.name):o.value.type==="FunctionExpression"||o.value.type==="ArrowFunctionExpression"?{numberOfParams:o.value.params.length}:void 0}let n=s.expression.arguments[1].properties.find(o=>_optionalChain([o, 'access', _107 => _107.key, 'optionalAccess', _108 => _108.name])===t);return Te(r,n.value.body.name)}catch (e3){return}},Te=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _109 => _109.body, 'optionalAccess', _110 => _110.find, 'call', _111 => _111(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', _112 => _112.body, 'optionalAccess', _113 => _113.body, 'optionalAccess', _114 => _114.find, 'call', _115 => _115(a=>a.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _116 => _116.argument, 'optionalAccess', _117 => _117.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 Te(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', _118 => _118.init, 'access', _119 => _119.body, 'optionalAccess', _120 => _120.body, 'optionalAccess', _121 => _121.find, 'call', _122 => _122(o=>o.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _123 => _123.argument, 'optionalAccess', _124 => _124.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:s.init.params.length}};var en=(e,t,r)=>t&&e.formData?`
65
+ `,Q= 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})=>Jr(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var ve="BodyType",_t=(e,t)=>{let r=R(e),s=R(t.path),{pathWithoutExtension:n}=R(b.relativeSafe(r.dirname,s.path));return n},Ge= 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 ${ve}`)||i.includes(`export interface ${ve}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${ve}`:ve,{file:f,cached:d}=await lt(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:n,load:!1});if(f){let y=o?"default":t.name,g=Zr(f,y);g||(J().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let S=_t(e,t),P=t.name?!!t.name.startsWith("use")&&!g.numberOfParams:!g.numberOfParams;return{name:t.name||!P?a:`use${h(a)}`,path:S,default:o,hasErrorType:p,errorTypeName:l,hasSecondArg:P?g.returnNumberOfParams>1:g.numberOfParams>1,hasThirdArg:g.numberOfParams>2,isHook:P,...c?{bodyTypeName:u}:{}}}else{let y=_t(e,t);return d||J().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:y,default:o,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},Zr=(e,t)=>{try{let r=_acorn.Parser.parse(e,{ecmaVersion:6}),s=_optionalChain([r, 'optionalAccess', _82 => _82.body, 'optionalAccess', _83 => _83.find, 'call', _84 => _84(o=>{if(o.type==="ExpressionStatement")return _optionalChain([o, 'access', _85 => _85.expression, 'access', _86 => _86.arguments, 'optionalAccess', _87 => _87[1], 'optionalAccess', _88 => _88.properties, 'optionalAccess', _89 => _89.some, 'call', _90 => _90(a=>_optionalChain([a, 'access', _91 => _91.key, 'optionalAccess', _92 => _92.name])===t)])||_optionalChain([o, 'access', _93 => _93.expression, 'access', _94 => _94.left, 'optionalAccess', _95 => _95.property, 'optionalAccess', _96 => _96.name])===t?!0:_optionalChain([o, 'access', _97 => _97.expression, 'access', _98 => _98.right, 'optionalAccess', _99 => _99.properties, 'optionalAccess', _100 => _100.some, 'call', _101 => _101(a=>a.key.name===t)])})]);if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Te(r,s.expression.right.name);let o=_optionalChain([s, 'access', _102 => _102.expression, 'access', _103 => _103.right, 'optionalAccess', _104 => _104.properties, 'access', _105 => _105.find, 'call', _106 => _106(a=>a.key.name===t)]);return o.value.name?Te(r,o.value.name):o.value.type==="FunctionExpression"||o.value.type==="ArrowFunctionExpression"?{numberOfParams:o.value.params.length}:void 0}let n=s.expression.arguments[1].properties.find(o=>_optionalChain([o, 'access', _107 => _107.key, 'optionalAccess', _108 => _108.name])===t);return Te(r,n.value.body.name)}catch (e3){return}},Te=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _109 => _109.body, 'optionalAccess', _110 => _110.find, 'call', _111 => _111(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', _112 => _112.body, 'optionalAccess', _113 => _113.body, 'optionalAccess', _114 => _114.find, 'call', _115 => _115(a=>a.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _116 => _116.argument, 'optionalAccess', _117 => _117.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 Te(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', _118 => _118.init, 'access', _119 => _119.body, 'optionalAccess', _120 => _120.body, 'optionalAccess', _121 => _121.find, 'call', _122 => _122(o=>o.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _123 => _123.argument, 'optionalAccess', _124 => _124.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:s.init.params.length}};var en=(e,t,r)=>t&&e.formData?`
66
66
  formData,`:r&&e.formUrlEncoded?`
67
67
  formUrlEncoded,`:e.implementation?`
68
68
  ${e.implementation},`:"",tn= 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+=`
@@ -71,7 +71,7 @@ ${i}
71
71
  ...(signal ? { signal } : {}),`:`
72
72
  signal,`)),e.isBlob&&(!I(n)||!n.hasOwnProperty("responseType"))&&(m+=`
73
73
  responseType: 'blob',`),I(n)&&(m+=`
74
- ${_optionalChain([K, 'call', _125 => _125(n), 'optionalAccess', _126 => _126.slice, 'call', _127 => _127(1,-1)])}`),a&&(m+=`
74
+ ${_optionalChain([_, 'call', _125 => _125(n), 'optionalAccess', _126 => _126.slice, 'call', _127 => _127(1,-1)])}`),a&&(m+=`
75
75
  ...options,`,r&&(m+=`
76
76
  params: {...params, ...options?.params},`),s&&(m+=`
77
77
  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 u=rt.includes(o),f=u?en(t,m,i):"",d=tn({response:n,queryParams:_optionalChain([s, 'optionalAccess', _128 => _128.schema]),headers:_optionalChain([r, 'optionalAccess', _129 => _129.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),y=d?`{${d}}`:"";return o===B.DELETE?f?`
@@ -88,16 +88,16 @@ ${i}
88
88
  responseType: 'blob'`),r},yi= 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?rn(t,a,m):"",u=nn(n,s),f=t.contentType?`,
89
89
  headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
90
90
  headers`:"";return`{url: \`${e}\`, method: '${o}'${f}${l}${u}${!i&&p?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
91
- }`},hi= exports.generateMutatorRequestOptions =(e,t)=>t?I(e)?`{${_optionalChain([K, 'call', _130 => _130(e), 'optionalAccess', _131 => _131.slice, 'call', _132 => _132(1,-1)])} ...options}`:"options":I(e)?`{${_optionalChain([K, 'call', _133 => _133(e), 'optionalAccess', _134 => _134.slice, 'call', _135 => _135(1,-1)])}}`:"",bi= 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 $i=(e={},t,r)=>Object.entries(e).reduce((s,[n,o])=>{let a=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=D(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"};
91
+ }`},hi= exports.generateMutatorRequestOptions =(e,t)=>t?I(e)?`{${_optionalChain([_, 'call', _130 => _130(e), 'optionalAccess', _131 => _131.slice, 'call', _132 => _132(1,-1)])} ...options}`:"options":I(e)?`{${_optionalChain([_, 'call', _133 => _133(e), 'optionalAccess', _134 => _134.slice, 'call', _135 => _135(1,-1)])}}`:"",bi= 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 $i=(e={},t,r)=>Object.entries(e).reduce((s,[n,o])=>{let a=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=D(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"};
92
92
  `}),s;let p=V({schema:m.schema,propName:a,context:t}),l=`${T(o)}export type ${a} = ${p.value||"unknown"};
93
- `;return s.push(...p.schemas),a!==p.value&&s.push({name:a,model:l,imports:p.imports}),s},[]);var _t=({name:e,schema:t,context:r,suffix:s})=>{let n=X({item:t,name:e,context:r}),o=n.value==="{}",a="";a+=T(t),o&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
93
+ `;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=X({item:t,name:e,context:r}),o=n.value==="{}",a="";a+=T(t),o&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
94
94
  `:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
95
95
  `),!ce.includes(n.value)&&!_optionalChain([r, 'optionalAccess', _136 => _136.override, 'optionalAccess', _137 => _137.useTypeOverInterfaces])?a+=`export interface ${e} ${n.value}
96
96
  `:a+=`export type ${e} = ${n.value};
97
- `;let m=n.imports.filter(i=>i.name!==e);return[...n.schemas,{name:e,model:a,imports:m}]};var Ii=(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=v(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!m.type||m.type==="object")&&!m.allOf&&!m.oneOf&&!m.anyOf&&!w(m)&&!m.nullable&&!m.enum)return o.push(..._t({name:i,schema:m,context:t,suffix:r})),o;{let p=A({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=T(m),p.isEnum&&!p.isRef)c+=ne(p.value,i,_optionalChain([p, 'access', _138 => _138.originalSchema, 'optionalAccess', _139 => _139["x-enumNames"]]));else if(i===p.value&&p.isRef){let u=p.imports.find(f=>f.name===i);if(!u)c+=`export type ${i} = ${p.value};
97
+ `;let m=n.imports.filter(i=>i.name!==e);return[...n.schemas,{name:e,model:a,imports:m}]};var Ii=(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=v(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!m.type||m.type==="object")&&!m.allOf&&!m.oneOf&&!m.anyOf&&!w(m)&&!m.nullable&&!m.enum)return o.push(...Kt({name:i,schema:m,context:t,suffix:r})),o;{let p=A({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=T(m),p.isEnum&&!p.isRef)c+=ne(p.value,i,_optionalChain([p, 'access', _138 => _138.originalSchema, 'optionalAccess', _139 => _139["x-enumNames"]]));else if(i===p.value&&p.isRef){let u=p.imports.find(f=>f.name===i);if(!u)c+=`export type ${i} = ${p.value};
98
98
  `;else{let f=_optionalChain([u, 'optionalAccess', _140 => _140.specKey])?`${h(b.getSpecName(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${f};
99
99
  `,l=l.map(d=>d.name===i?{...d,alias:f}:d)}}else c+=`export type ${i} = ${p.value};
100
- `;return o.push(...p.schemas,{name:i,model:c,imports:l}),o}},[])};var sn=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:u}=r,f=kt(r,s,e),d=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((et,[Yt,Xt])=>p.includes(Yt)?Ke(et,Xt):et,{}),g={...t.override,...y,...d},S=_optionalChain([d, 'optionalAccess', _141 => _141.operationName])||_optionalChain([t, 'access', _142 => _142.override, 'optionalAccess', _143 => _143.operationName]),P=S?S(r,s,e):x(f),$=v(P,{es5keyword:!0}),k=Wt({responses:a,operationName:$,context:o,contentType:g.contentType}),O=Ct({requestBody:m,operationName:$,context:o,contentType:g.contentType}),E=Nt({parameters:[...n,..._nullishCoalesce(i, () => ([]))],context:o}),G=He({queryParams:E.query,operationName:$,context:o}),C=t.headers?await He({queryParams:E.header,operationName:$,context:o,suffix:"headers"}):void 0,q=At({route:s,pathParams:E.path,operationId:f,context:o}),Z=Ft({body:O,queryParams:G,params:q,headers:C}),ee=await Ge({output:t.target,name:$,mutator:_optionalChain([g, 'optionalAccess', _144 => _144.mutator]),workspace:o.workspace,tsconfig:o.tsconfig}),Ce=N(_optionalChain([g, 'optionalAccess', _145 => _145.formData]))||I(_optionalChain([g, 'optionalAccess', _146 => _146.formData]))?await Ge({output:t.target,name:$,mutator:g.formData,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Ht=N(_optionalChain([g, 'optionalAccess', _147 => _147.formUrlEncoded]))||I(_optionalChain([g, 'optionalAccess', _148 => _148.formUrlEncoded]))?await Ge({output:t.target,name:$,mutator:g.formUrlEncoded,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Jt=T({description:l,deprecated:c,summary:u}),Xe={verb:e,tags:p,summary:r.summary,operationId:f,operationName:$,response:k,body:O,headers:C,queryParams:G,params:q,props:Z,mutator:ee,formData:Ce,formUrlEncoded:Ht,override:g,doc:Jt,deprecated:c},Ze=await Pt(_optionalChain([g, 'optionalAccess', _149 => _149.transformer]),o.workspace);return Ze?Ze(Xe):Xe},Fi= exports.generateVerbsOptions =({verbs:e,input:t,output:r,route:s,context:n})=>$t(an(e,t.filters),async(o,[a,m])=>{if(St(a)){let i=await sn({verb:a,output:r,verbParameters:e.parameters,route:s,operation:m,context:n});o.push(i)}return o},[]),an=(e,t)=>t===void 0||t.tags===void 0?Object.entries(e):Object.entries(e).filter(([r,s])=>_optionalChain([s, 'access', _150 => _150.tags, 'optionalAccess', _151 => _151.some, 'call', _152 => _152(n=>_optionalChain([t, 'access', _153 => _153.tags, 'optionalAccess', _154 => _154.includes, 'call', _155 => _155(n)]))]));var pn=({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?`
100
+ `;return o.push(...p.schemas,{name:i,model:c,imports:l}),o}},[])};var sn=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:u}=r,f=kt(r,s,e),d=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((et,[Yt,Xt])=>p.includes(Yt)?_e(et,Xt):et,{}),g={...t.override,...y,...d},S=_optionalChain([d, 'optionalAccess', _141 => _141.operationName])||_optionalChain([t, 'access', _142 => _142.override, 'optionalAccess', _143 => _143.operationName]),P=S?S(r,s,e):x(f),$=v(P,{es5keyword:!0}),k=Wt({responses:a,operationName:$,context:o,contentType:g.contentType}),O=Ct({requestBody:m,operationName:$,context:o,contentType:g.contentType}),E=Nt({parameters:[...n,..._nullishCoalesce(i, () => ([]))],context:o}),G=He({queryParams:E.query,operationName:$,context:o}),C=t.headers?await He({queryParams:E.header,operationName:$,context:o,suffix:"headers"}):void 0,q=At({route:s,pathParams:E.path,operationId:f,context:o}),Z=Ft({body:O,queryParams:G,params:q,headers:C}),ee=await Ge({output:t.target,name:$,mutator:_optionalChain([g, 'optionalAccess', _144 => _144.mutator]),workspace:o.workspace,tsconfig:o.tsconfig}),Ce=N(_optionalChain([g, 'optionalAccess', _145 => _145.formData]))||I(_optionalChain([g, 'optionalAccess', _146 => _146.formData]))?await Ge({output:t.target,name:$,mutator:g.formData,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Ht=N(_optionalChain([g, 'optionalAccess', _147 => _147.formUrlEncoded]))||I(_optionalChain([g, 'optionalAccess', _148 => _148.formUrlEncoded]))?await Ge({output:t.target,name:$,mutator:g.formUrlEncoded,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Jt=T({description:l,deprecated:c,summary:u}),Xe={verb:e,tags:p,summary:r.summary,operationId:f,operationName:$,response:k,body:O,headers:C,queryParams:G,params:q,props:Z,mutator:ee,formData:Ce,formUrlEncoded:Ht,override:g,doc:Jt,deprecated:c},Ze=await Pt(_optionalChain([g, 'optionalAccess', _149 => _149.transformer]),o.workspace);return Ze?Ze(Xe):Xe},Fi= exports.generateVerbsOptions =({verbs:e,input:t,output:r,route:s,context:n})=>$t(an(e,t.filters),async(o,[a,m])=>{if(St(a)){let i=await sn({verb:a,output:r,verbParameters:e.parameters,route:s,operation:m,context:n});o.push(i)}return o},[]),an=(e,t)=>t===void 0||t.tags===void 0?Object.entries(e):Object.entries(e).filter(([r,s])=>_optionalChain([s, 'access', _150 => _150.tags, 'optionalAccess', _151 => _151.some, 'call', _152 => _152(n=>_optionalChain([t, 'access', _153 => _153.tags, 'optionalAccess', _154 => _154.includes, 'call', _155 => _155(n)]))]));var pn=({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?`
101
101
 
102
102
  `:`
103
103
  `,m+=t,m},mn=(e,t)=>b.join(e,`/${t}.ts`),cn= exports.writeModelInline =(e,t)=>e+`${t}
@@ -130,19 +130,19 @@ type NonReadonly<T> = [T] extends [UnionToIntersection<T>] ? {
130
130
  : T[P];
131
131
  } : DistributeReadOnlyOverUnions<T>;
132
132
  `;var we=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),s=_optionalChain([t, 'optionalAccess', _160 => _160.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+`
133
- `,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(y=>s?y.hasThirdArg:y.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _161 => _161.packageJson, 'optionalAccess', _162 => _162.dependencies, 'optionalAccess', _163 => _163.typescript]), () => (_optionalChain([t, 'access', _164 => _164.packageJson, 'optionalAccess', _165 => _165.devDependencies, 'optionalAccess', _166 => _166.typescript]))), () => ("4.4.0")),u=xe(l,"4.5.0"),f=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:u,titles:n});a.implementation=f.implementation+a.implementation,a.implementationMSW.handler=f.implementationMSW+a.implementationMSW.handler;let d=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _167 => _167.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:u,titles:n});a.implementation+=d.implementation,a.implementationMSW.handler+=d.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...o,implementationMSW:o.implementationMSW.function+o.implementationMSW.handler}};var dp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{path:o,dirname:a}=R(t.target,{backupFilename:x(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:u,formData:f,formUrlEncoded:d}=we(e,t),y=s,g=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):void 0,S=_(t.tsconfig);return y+=e.imports({client:t.client,implementation:p,imports:g?[{exports:m.filter(P=>!i.some($=>P.name===$.name)),dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(y+=e.importsMock({implementation:c,imports:g?[{exports:i,dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S})),l&&(y+=j({mutators:l,implementation:p})),u&&(y+=j({mutators:u})),f&&(y+=j({mutators:f})),d&&(y+=j({mutators:d})),p.includes("NonReadonly<")&&(y+=H(),y+=`
133
+ `,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(y=>s?y.hasThirdArg:y.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _161 => _161.packageJson, 'optionalAccess', _162 => _162.dependencies, 'optionalAccess', _163 => _163.typescript]), () => (_optionalChain([t, 'access', _164 => _164.packageJson, 'optionalAccess', _165 => _165.devDependencies, 'optionalAccess', _166 => _166.typescript]))), () => ("4.4.0")),u=xe(l,"4.5.0"),f=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:u,titles:n});a.implementation=f.implementation+a.implementation,a.implementationMSW.handler=f.implementationMSW+a.implementationMSW.handler;let d=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _167 => _167.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:u,titles:n});a.implementation+=d.implementation,a.implementationMSW.handler+=d.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...o,implementationMSW:o.implementationMSW.function+o.implementationMSW.handler}};var dp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{path:o,dirname:a}=R(t.target,{backupFilename:x(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:u,formData:f,formUrlEncoded:d}=we(e,t),y=s,g=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):void 0,S=K(t.tsconfig);return y+=e.imports({client:t.client,implementation:p,imports:g?[{exports:m.filter(P=>!i.some($=>P.name===$.name)),dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(y+=e.importsMock({implementation:c,imports:g?[{exports:i,dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S})),l&&(y+=j({mutators:l,implementation:p})),u&&(y+=j({mutators:u})),f&&(y+=j({mutators:f})),d&&(y+=j({mutators:d})),p.includes("NonReadonly<")&&(y+=H(),y+=`
134
134
  `),!t.schemas&&n&&(y+=Q(e.schemas)),y+=`
135
135
 
136
136
  ${p}`,t.mock&&(y+=`
137
137
 
138
- `,y+=c),await _fsextra2.default.outputFile(o,y),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var Rp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:u,clientMutators:f,formData:d,formUrlEncoded:y}=we(e,t),g=s,S=s,P=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):"./"+o+".schemas",$=_(t.tsconfig);g+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:P}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),S+=e.importsMock({implementation:c,imports:[{exports:l,dependency:P}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$});let k=t.schemas?void 0:b.join(a,o+".schemas"+m);if(k&&n){let C=s+Q(e.schemas);await _fsextra2.default.outputFile(b.join(a,o+".schemas"+m),C)}u&&(g+=j({mutators:u,implementation:p})),f&&(g+=j({mutators:f})),d&&(g+=j({mutators:d})),y&&(g+=j({mutators:y})),p.includes("NonReadonly<")&&(g+=H()),g+=`
138
+ `,y+=c),await _fsextra2.default.outputFile(o,y),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var Rp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:u,clientMutators:f,formData:d,formUrlEncoded:y}=we(e,t),g=s,S=s,P=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):"./"+o+".schemas",$=K(t.tsconfig);g+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:P}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),S+=e.importsMock({implementation:c,imports:[{exports:l,dependency:P}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:$});let k=t.schemas?void 0:b.join(a,o+".schemas"+m);if(k&&n){let C=s+Q(e.schemas);await _fsextra2.default.outputFile(b.join(a,o+".schemas"+m),C)}u&&(g+=j({mutators:u,implementation:p})),f&&(g+=j({mutators:f})),d&&(g+=j({mutators:d})),y&&(g+=j({mutators:y})),p.includes("NonReadonly<")&&(g+=H()),g+=`
139
139
  ${p}`,S+=`
140
- ${c}`;let O=o+(U.ANGULAR===t.client?".service":"")+m,E=b.join(a,O);await _fsextra2.default.outputFile(b.join(a,O),g);let G=t.mock?b.join(a,o+".msw"+m):void 0;return G&&await _fsextra2.default.outputFile(G,S),[E,...k?[k]:[],...G?[G]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var fn=e=>({...e,tags:e.tags.length?e.tags:["default"]}),dn=(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(fn).reduce((n,o,a,m)=>{let i=dn(n,o);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let u=!!_optionalChain([l, 'access', _168 => _168.mutators, 'optionalAccess', _169 => _169.some, 'call', _170 => _170($=>r?$.hasThirdArg:$.hasSecondArg)]),f=Object.values(e.operations).filter(({tags:$})=>$.includes(c)).map(({operationName:$})=>$),d=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _171 => _171.packageJson, 'optionalAccess', _172 => _172.dependencies, 'optionalAccess', _173 => _173.typescript]), () => (_optionalChain([t, 'access', _174 => _174.packageJson, 'optionalAccess', _175 => _175.devDependencies, 'optionalAccess', _176 => _176.typescript]))), () => ("4.4.0")),y=xe(d,"4.5.0"),g=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),S=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _177 => _177.client]),operationNames:f,hasMutator:!!_optionalChain([l, 'access', _178 => _178.mutators, 'optionalAccess', _179 => _179.length]),hasAwaitedType:y,titles:g}),P=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:y,titles:g});return p[c]={implementation:P.implementation+l.implementation+S.implementation,implementationMSW:{function:l.implementationMSW.function,handler:P.implementationMSW+l.implementationMSW.handler+S.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((n,[o,a])=>(n[o]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},n),{})};var Vp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),i=Ee(e,t),p=_(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:S,clientMutators:P,formData:$,formUrlEncoded:k}=u,O=s,E=s,G=t.schemas?"../"+b.relativeSafe(a,R(t.schemas).dirname):"../"+o+".schemas";O+=e.imports({client:t.client,implementation:d,imports:[{exports:f,dependency:G}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),E+=e.importsMock({implementation:y,imports:[{exports:g,dependency:G}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let C=t.schemas?void 0:b.join(a,o+".schemas"+m);if(C&&n){let Ce=s+Q(e.schemas);await _fsextra2.default.outputFile(C,Ce)}S&&(O+=j({mutators:S,implementation:d,oneMore:!0})),P&&(O+=j({mutators:P,oneMore:!0})),$&&(O+=j({mutators:$,oneMore:!0})),k&&(O+=j({mutators:k,oneMore:!0})),d.includes("NonReadonly<")&&(O+=H(),O+=`
140
+ ${c}`;let O=o+(U.ANGULAR===t.client?".service":"")+m,E=b.join(a,O);await _fsextra2.default.outputFile(b.join(a,O),g);let G=t.mock?b.join(a,o+".msw"+m):void 0;return G&&await _fsextra2.default.outputFile(G,S),[E,...k?[k]:[],...G?[G]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var fn=e=>({...e,tags:e.tags.length?e.tags:["default"]}),dn=(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(fn).reduce((n,o,a,m)=>{let i=dn(n,o);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let u=!!_optionalChain([l, 'access', _168 => _168.mutators, 'optionalAccess', _169 => _169.some, 'call', _170 => _170($=>r?$.hasThirdArg:$.hasSecondArg)]),f=Object.values(e.operations).filter(({tags:$})=>$.includes(c)).map(({operationName:$})=>$),d=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _171 => _171.packageJson, 'optionalAccess', _172 => _172.dependencies, 'optionalAccess', _173 => _173.typescript]), () => (_optionalChain([t, 'access', _174 => _174.packageJson, 'optionalAccess', _175 => _175.devDependencies, 'optionalAccess', _176 => _176.typescript]))), () => ("4.4.0")),y=xe(d,"4.5.0"),g=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),S=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _177 => _177.client]),operationNames:f,hasMutator:!!_optionalChain([l, 'access', _178 => _178.mutators, 'optionalAccess', _179 => _179.length]),hasAwaitedType:y,titles:g}),P=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:y,titles:g});return p[c]={implementation:P.implementation+l.implementation+S.implementation,implementationMSW:{function:l.implementationMSW.function,handler:P.implementationMSW+l.implementationMSW.handler+S.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((n,[o,a])=>(n[o]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},n),{})};var Vp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),i=Ee(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:S,clientMutators:P,formData:$,formUrlEncoded:k}=u,O=s,E=s,G=t.schemas?"../"+b.relativeSafe(a,R(t.schemas).dirname):"../"+o+".schemas";O+=e.imports({client:t.client,implementation:d,imports:[{exports:f,dependency:G}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),E+=e.importsMock({implementation:y,imports:[{exports:g,dependency:G}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let C=t.schemas?void 0:b.join(a,o+".schemas"+m);if(C&&n){let Ce=s+Q(e.schemas);await _fsextra2.default.outputFile(C,Ce)}S&&(O+=j({mutators:S,implementation:d,oneMore:!0})),P&&(O+=j({mutators:P,oneMore:!0})),$&&(O+=j({mutators:$,oneMore:!0})),k&&(O+=j({mutators:k,oneMore:!0})),d.includes("NonReadonly<")&&(O+=H(),O+=`
141
141
  `),O+=`
142
142
  ${d}`,E+=`
143
- ${y}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,Z=b.join(a,l,q);await _fsextra2.default.outputFile(Z,O);let ee=t.mock?b.join(a,l,l+".msw"+m):void 0;return ee&&await _fsextra2.default.outputFile(ee,E),[Z,...C?[C]:[],...ee?[ee]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).flatMap(l=>l)};var _p=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),i=Ee(e,t),p=_(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:S,clientMutators:P,formData:$,formUrlEncoded:k}=u,O=s,E=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):"./"+o+".schemas";O+=e.imports({client:t.client,implementation:d,imports:[{exports:f.filter(q=>!g.some(Z=>q.name===Z.name)),dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(O+=e.importsMock({implementation:y,imports:[{exports:g,dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let G=t.schemas?void 0:b.join(a,o+".schemas"+m);if(G&&n){let q=s+Q(e.schemas);await _fsextra2.default.outputFile(G,q)}S&&(O+=j({mutators:S,implementation:d})),P&&(O+=j({mutators:P})),$&&(O+=j({mutators:$})),k&&(O+=j({mutators:k})),O+=`
143
+ ${y}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,Z=b.join(a,l,q);await _fsextra2.default.outputFile(Z,O);let ee=t.mock?b.join(a,l,l+".msw"+m):void 0;return ee&&await _fsextra2.default.outputFile(ee,E),[Z,...C?[C]:[],...ee?[ee]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).flatMap(l=>l)};var Kp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=R(t.target,{backupFilename:x(e.info.title)}),i=Ee(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:S,clientMutators:P,formData:$,formUrlEncoded:k}=u,O=s,E=t.schemas?b.relativeSafe(a,R(t.schemas).dirname):"./"+o+".schemas";O+=e.imports({client:t.client,implementation:d,imports:[{exports:f.filter(q=>!g.some(Z=>q.name===Z.name)),dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(O+=e.importsMock({implementation:y,imports:[{exports:g,dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let G=t.schemas?void 0:b.join(a,o+".schemas"+m);if(G&&n){let q=s+Q(e.schemas);await _fsextra2.default.outputFile(G,q)}S&&(O+=j({mutators:S,implementation:d})),P&&(O+=j({mutators:P})),$&&(O+=j({mutators:$})),k&&(O+=j({mutators:k})),O+=`
144
144
 
145
145
  `,d.includes("NonReadonly<")&&(O+=H(),O+=`
146
146
  `),O+=d,t.mock&&(O+=`
147
147
 
148
- `,O+=y);let C=b.join(a,`${Oe(l)}${m}`);return await _fsextra2.default.outputFile(C,O),[C,...G?[G]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = ve; exports.GetterPropType = ae; exports.LogLevels = Ie; exports.OutputClient = U; exports.OutputMode = yn; exports.RefComponentSuffix = ts; exports.SchemaType = tt; exports.URL_REGEX = On; exports.VERBS_WITH_BODY = rt; exports.Verbs = B; exports.addDependency = Hr; exports.asyncReduce = $t; exports.camel = x; exports.combineSchemas = Qe; exports.compareVersions = xe; exports.count = fo; exports.createDebugger = ot; exports.createLogger = J; exports.createSuccessMessage = Mn; exports.dynamicImport = Pt; exports.errorMessage = Tn; exports.escape = _e; exports.generalJSTypes = tr; exports.generalJSTypesWithArray = ce; exports.generateAxiosOptions = tn; exports.generateBodyMutatorConfig = rn; exports.generateBodyOptions = en; exports.generateComponentDefinition = _a; exports.generateDependencyImports = Xa; exports.generateFormDataAndUrlEncodedFunction = bi; exports.generateImports = zt; exports.generateModelInline = Jr; exports.generateModelsInline = Q; exports.generateMutator = Ge; exports.generateMutatorConfig = yi; exports.generateMutatorImports = j; exports.generateMutatorRequestOptions = hi; exports.generateOptions = gi; exports.generateParameterDefinition = $i; exports.generateQueryParamsAxiosConfig = nn; exports.generateSchemasDefinition = Ii; exports.generateTarget = we; exports.generateTargetForTags = Ee; exports.generateVerbImports = Za; exports.generateVerbsOptions = Fi; exports.getArray = Mt; exports.getBody = Ct; exports.getEnum = ne; exports.getEnumImplementation = Re; exports.getExtension = le; exports.getFileInfo = R; exports.getKey = Pe; exports.getNumberWord = $e; exports.getObject = It; exports.getOperationId = kt; exports.getOrvalGeneratedTypes = H; exports.getParameters = Nt; exports.getParams = At; exports.getParamsInPath = Lr; exports.getProps = Ft; exports.getQueryParams = He; exports.getRefInfo = oe; exports.getResReqTypes = se; exports.getResponse = Wt; exports.getRoute = ja; exports.getScalar = X; exports.ibmOpenapiValidator = wo; 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 = I; exports.isReference = w; exports.isRootKey = Zn; exports.isSchema = Xn; exports.isString = N; exports.isSyntheticDefaultImportsAllow = _; exports.isUndefined = pe; exports.isUrl = ge; exports.isVerb = St; exports.jsDoc = T; exports.kebab = Oe; exports.loadFile = lt; exports.log = W; exports.mergeDeep = Ke; exports.mismatchArgsMessage = Gn; exports.openApiConverter = Oo; exports.pascal = h; exports.removeFiles = Un; exports.resolveDiscriminators = Dt; exports.resolveObject = V; exports.resolveRef = D; exports.resolveValue = A; exports.sanitize = v; exports.snake = ro; exports.sortByPriority = vt; exports.startMessage = vn; exports.stringify = K; exports.toObjectString = Po; exports.upath = b; exports.upper = no; exports.writeModelInline = cn; exports.writeModelsInline = Xi; exports.writeSchema = ln; exports.writeSchemas = Zi; exports.writeSingleMode = dp; exports.writeSplitMode = Rp; exports.writeSplitTagsMode = Vp; exports.writeTagsMode = _p;
148
+ `,O+=y);let C=b.join(a,`${Oe(l)}${m}`);return await _fsextra2.default.outputFile(C,O),[C,...G?[G]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = ve; exports.GetterPropType = ae; exports.LogLevels = Ie; exports.OutputClient = U; exports.OutputMode = yn; exports.RefComponentSuffix = ts; exports.SchemaType = tt; exports.URL_REGEX = On; exports.VERBS_WITH_BODY = rt; exports.Verbs = B; exports.addDependency = Hr; exports.asyncReduce = $t; exports.camel = x; exports.combineSchemas = Qe; exports.compareVersions = xe; exports.count = fo; exports.createDebugger = ot; exports.createLogger = J; exports.createSuccessMessage = Mn; exports.dynamicImport = Pt; exports.errorMessage = Tn; exports.escape = Ke; exports.generalJSTypes = tr; exports.generalJSTypesWithArray = ce; exports.generateAxiosOptions = tn; exports.generateBodyMutatorConfig = rn; exports.generateBodyOptions = en; exports.generateComponentDefinition = Ka; exports.generateDependencyImports = Xa; exports.generateFormDataAndUrlEncodedFunction = bi; exports.generateImports = zt; exports.generateModelInline = Jr; exports.generateModelsInline = Q; exports.generateMutator = Ge; exports.generateMutatorConfig = yi; exports.generateMutatorImports = j; exports.generateMutatorRequestOptions = hi; exports.generateOptions = gi; exports.generateParameterDefinition = $i; exports.generateQueryParamsAxiosConfig = nn; exports.generateSchemasDefinition = Ii; exports.generateTarget = we; exports.generateTargetForTags = Ee; exports.generateVerbImports = Za; exports.generateVerbsOptions = Fi; exports.getArray = Mt; exports.getBody = Ct; exports.getEnum = ne; exports.getEnumImplementation = Re; exports.getExtension = le; exports.getFileInfo = R; exports.getKey = Pe; exports.getNumberWord = $e; exports.getObject = It; exports.getOperationId = kt; exports.getOrvalGeneratedTypes = H; exports.getParameters = Nt; exports.getParams = At; exports.getParamsInPath = Lr; exports.getProps = Ft; exports.getQueryParams = He; exports.getRefInfo = oe; exports.getResReqTypes = se; exports.getResponse = Wt; exports.getRoute = ja; exports.getScalar = X; exports.ibmOpenapiValidator = wo; 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 = I; exports.isReference = w; exports.isRootKey = Zn; exports.isSchema = Xn; exports.isString = N; exports.isSyntheticDefaultImportsAllow = K; exports.isUndefined = pe; exports.isUrl = ge; exports.isVerb = St; exports.jsDoc = T; exports.kebab = Oe; exports.loadFile = lt; exports.log = W; exports.mergeDeep = _e; exports.mismatchArgsMessage = Gn; exports.openApiConverter = Oo; exports.pascal = h; exports.removeFiles = Un; exports.resolveDiscriminators = Dt; exports.resolveObject = V; exports.resolveRef = D; exports.resolveValue = A; exports.sanitize = v; exports.snake = ro; exports.sortByPriority = vt; exports.startMessage = vn; exports.stringify = _; exports.toObjectString = Po; exports.upath = b; exports.upper = no; exports.writeModelInline = cn; exports.writeModelsInline = Xi; exports.writeSchema = ln; exports.writeSchemas = Zi; exports.writeSingleMode = dp; exports.writeSplitMode = Rp; exports.writeSplitTagsMode = Vp; exports.writeTagsMode = Kp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orval/core",
3
- "version": "6.14.2",
3
+ "version": "6.14.4",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",