orval 6.0.0-alpha.2 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/bin/orval.js +1 -287
- package/dist/chunk-DRUW7BRP.js +281 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.js +1 -287
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import SwaggerParser from '@apidevtools/swagger-parser';
|
|
2
|
-
import { SchemaObject, OperationObject, OpenAPIObject } from 'openapi3-ts';
|
|
2
|
+
import { SchemaObject, InfoObject, OperationObject, OpenAPIObject } from 'openapi3-ts';
|
|
3
3
|
import swagger2openapi from 'swagger2openapi';
|
|
4
4
|
|
|
5
5
|
declare type ResolverValue = {
|
|
@@ -207,6 +207,7 @@ declare type NormalizedOverrideOutput = {
|
|
|
207
207
|
required?: boolean;
|
|
208
208
|
baseUrl?: string;
|
|
209
209
|
};
|
|
210
|
+
header: false | ((info: InfoObject) => string[]);
|
|
210
211
|
formData: boolean | NormalizedMutator;
|
|
211
212
|
components: {
|
|
212
213
|
schemas: {
|
|
@@ -255,12 +256,15 @@ declare type OutputOptions = {
|
|
|
255
256
|
client?: OutputClient | OutputClientFunc;
|
|
256
257
|
clean?: boolean | string[];
|
|
257
258
|
};
|
|
259
|
+
declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
|
|
260
|
+
validate?: boolean;
|
|
261
|
+
};
|
|
258
262
|
declare type InputOptions = {
|
|
259
263
|
target: string | OpenAPIObject;
|
|
260
264
|
validation?: boolean;
|
|
261
265
|
override?: OverrideInput;
|
|
262
266
|
converterOptions?: swagger2openapi.Options;
|
|
263
|
-
parserOptions?:
|
|
267
|
+
parserOptions?: SwaggerParserOptions;
|
|
264
268
|
};
|
|
265
269
|
declare type OutputClient = 'axios' | 'axios-functions' | 'angular' | 'react-query' | 'svelte-query' | 'vue-query' | 'swr';
|
|
266
270
|
declare const OutputClient: {
|
|
@@ -308,6 +312,7 @@ declare type OverrideOutput = {
|
|
|
308
312
|
required?: boolean;
|
|
309
313
|
baseUrl?: string;
|
|
310
314
|
};
|
|
315
|
+
header?: boolean | ((info: InfoObject) => string[]);
|
|
311
316
|
formData?: boolean | Mutator;
|
|
312
317
|
components?: {
|
|
313
318
|
schemas?: {
|
package/dist/index.js
CHANGED
|
@@ -1,287 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Path : ${t.path}`)))},Fr=e=>{B(Q.default.red("(!) Errors")),e.forEach(t=>B(Q.default.red(`Message : ${t.message}
|
|
3
|
-
Path : ${t.path}`)))},Dt={silent:0,error:1,warn:2,info:3},Er,Nr,At=0;function aa(){let e=process.stdout.rows-2,t=e>0?`
|
|
4
|
-
`.repeat(e):"";console.log(t),It.default.cursorTo(process.stdout,0,0),It.default.clearScreenDown(process.stdout)}function _(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:n=!0}=t,o=Dt[e],s=n&&process.stdout.isTTY&&!process.env.CI?aa:()=>{};function a(m,c,l={}){if(o>=Dt[m]){let u=m==="info"?"log":m,f=()=>{if(l.timestamp){let d=m==="info"?Q.default.cyan.bold(r):m==="warn"?Q.default.yellow.bold(r):Q.default.red.bold(r);return`${Q.default.dim(new Date().toLocaleTimeString())} ${d} ${c}`}else return c};m===Er&&c===Nr?(At++,s(),console[u](f(),Q.default.yellow(`(x${At+1})`))):(At=0,Nr=c,Er=m,l.clear&&s(),console[u](f()))}}let i=new Set,p={hasWarned:!1,info(m,c){a("info",m,c)},warn(m,c){p.hasWarned=!0,a("warn",m,c)},warnOnce(m,c){i.has(m)||(p.hasWarned=!0,a("warn",m,c),i.add(m))},error(m,c){p.hasWarned=!0,a("error",m,c)},clearScreen(m){o>=Dt[m]&&s()}};return p}var Br=async(e,t={},r)=>{try{return new Promise(n=>{!e.openapi||!e.openapi.startsWith("3.0")?Wr.default.convertObj(e,t,(o,s)=>{o?(B(Vr.default.yellow(`${r}
|
|
5
|
-
=> ${o}`)),n(e)):n(s.openapi)}):n(e)})}catch(n){throw`Oups... \u{1F37B}.
|
|
6
|
-
Path: ${r}
|
|
7
|
-
Parsing Error: ${n}`}};var _r=O(require("upath"));var tt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=(0,_r.resolve)(t,e),o=await Promise.resolve().then(()=>O(require(n)));return r&&q(o)&&o.default?o.default:o}return Promise.resolve(e)}catch(n){throw`Oups... \u{1F37B}. Path: ${e} => ${n}`}};var zr=O(require("lodash.get"));var H=e=>{if(!(Ir(e)||qr(e)))return A(e)?`'${e}'`:Cr(e)||te(e)||W(e)?`${e}`:Array.isArray(e)?`[${e.map(H).join(", ")}]`:Object.entries(e).reduce((t,[r,n],o,s)=>{let a=H(n);return s.length===1?`{ ${r}: ${a}, }`:o?s.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},k=(e,t)=>{let{whitespace:r="",underscore:n=""}=t||{},o=e.replace(/[^\w\s]/g,"");return r!==!0&&(o=o.replace(/[\s]/g,r)),n!==!0&&(o=o.replace(/['_']/g,n)),o},F=(e,t)=>e.length?(t?e.map(n=>(0,zr.default)(n,t)):e).join(`,
|
|
8
|
-
`)+",":"",ia={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"},rt=e=>e.toString().split("").reduce((r,n)=>r+ia[n],"");var pa=e=>e.split("").reduce((t,r)=>r==="{"?t+"${":r==="}"?t+"}":t+k(r),""),Lr=e=>e.split("/").reduce((r,n)=>n?n.includes("{")?`${r}/${pa(n)}`:`${r}/${n}`:r,"");var kt=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},nt=kt("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ot="a-z"+kt("DF-F6,F8-FF","00"),Fe="A-Z"+kt("C0-D6,D8-DE","00"),ma="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",ae={capitalize:new RegExp("(^|["+nt+"])(["+ot+"])","g"),pascal:new RegExp("(^|["+nt+"])+(["+ot+Fe+"])","g"),fill:new RegExp("["+nt+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ot+"])","g"),improper:new RegExp("\\b("+ma+")\\b","g"),relax:new RegExp("([^"+Fe+"])(["+Fe+"]*)(["+Fe+"])(?=[^"+Fe+"]|$)","g"),upper:new RegExp("^[^"+ot+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+nt+"]")},ca=e=>e.replace(ae.apostrophe,""),ua=String.prototype.toUpperCase,Ft=String.prototype.toLowerCase,Et=(e,t,r=!1)=>(t!=null&&(e=e.replace(ae.fill,function(n,o){return o?t+o:""})),r&&(e=ca(e)),e),la=e=>Ft.call(e.charAt(0))+e.slice(1),fa=(e,t,r,n)=>t+" "+(r?r+" ":"")+n,Qr=(e,t=!1,r=!1,n=!1)=>{if(e=e==null?"":e+"",!n&&ae.upper.test(e)&&(e=Ft.call(e)),!t&&!ae.hole.test(e)){var o=Et(e," ");ae.hole.test(o)&&(e=o)}return!r&&!ae.room.test(e)&&(e=e.replace(ae.relax,fa)),e},ga=(e,t,r)=>Et(Ft.call(Qr(e,!!t)),t,r),h=e=>Et(Qr(e,!1,!0).replace(ae.pascal,(t,r,n)=>ua.call(n)),"",!0),$=e=>la(h(e)),Oe=e=>ga(e,"-",!0);var Kr=O(require("lodash.uniq")),Nt=O(require("lodash.uniqwith")),Vt=O(require("upath"));var Ur=({imports:e=[],rootSpecKey:t,isRootKey:r,specsName:n})=>e.length?(0,Nt.default)(e,(o,s)=>o.name===s.name&&o.default===s.default&&o.specKey===s.specKey).sort().map(({specKey:o,name:s,values:a,alias:i})=>{if(o){let p=o!==t?n[o]:"";return!r&&o?`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from '../${(0,Vt.join)(p,$(s))}';`:`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${(0,Vt.join)(p,$(s))}';`}return`import ${a?"":"type "}{ ${s}${i?` as ${i}`:""} } from './${$(s)}';`}).join(`
|
|
9
|
-
`):"",K=(e,t)=>{let r=(0,Nt.default)(e,(n,o)=>n.name===o.name&&n.default===o.default).map(n=>`import ${n.default?n.name:`{ ${n.name} }`} from '${t?"../":""}${n.path}'`).join(`
|
|
10
|
-
`);return r?r+`
|
|
11
|
-
`:""},da=({implementation:e,exports:t,dependency:r,specsName:n})=>{let o=t.filter(a=>e.includes(a.name));if(!o.length)return;let s=o.reduce((a,i)=>{var m,c;let p=i.specKey||"default";return b(g({},a),{[p]:{values:((m=a[p])==null?void 0:m.values)||i.values||!1,deps:[...((c=a[p])==null?void 0:c.deps)||[],i]}})},{});return Object.entries(s).map(([a,{values:i,deps:p}])=>{let m=p.find(l=>l.default),c=(0,Kr.default)(p.filter(l=>!l.default).map(({name:l})=>l)).join(`,
|
|
12
|
-
`);return`import ${i?"":"type "}${m?`${m.name}${c?",":""}`:""}${c?`{
|
|
13
|
-
${c}
|
|
14
|
-
}`:""} from '${r}${a!=="default"&&n[a]?`/${n[a]}`:""}'`}).join(`
|
|
15
|
-
`)},st=(e,t,r)=>{let n=t.map(o=>da(b(g({},o),{implementation:e,specsName:r}))).filter(Boolean).join(`
|
|
16
|
-
`);return n?n+`
|
|
17
|
-
`:""},ie=({response:e,body:t,queryParams:r,params:n})=>[...e.imports,...t.imports,...n.reduce((o,s)=>[...o,...s.imports],[]),...r?[{name:r.schema.name}]:[]];var ya=["number","string","null","unknown","undefined","object","blob"],Se=ya.reduce((e,t)=>[...e,t,`Array<${t}>`,`${t}[]`],[]),Wt=[Y.POST,Y.PUT,Y.PATCH];var ba=(e,t,r)=>Wt.includes(t)?r&&e.formData?`
|
|
18
|
-
formData,`:`
|
|
19
|
-
${e.implementation||"undefined"},`:"",Oa=(e,t,r)=>{var s;let n=r!==!1;if(!t&&!e.isBlob)return n?"options":"";let o=`
|
|
20
|
-
{`;return t&&(o+=`
|
|
21
|
-
params,`),e.isBlob&&(!q(r)||!r.hasOwnProperty("responseType"))&&(o+=`
|
|
22
|
-
responseType: 'blob',`),q(r)&&(o+=`
|
|
23
|
-
${(s=H(r))==null?void 0:s.slice(1,-1)}`),n&&(o+=`
|
|
24
|
-
...options`),o+=" },",o},pe=({route:e,body:t,queryParams:r,response:n,verb:o,requestOptions:s,isFormData:a})=>`
|
|
25
|
-
\`${e}\`,${ba(t,o,a)}${Oa(n,r==null?void 0:r.schema,s)}
|
|
26
|
-
`,ha=(e,t,r)=>Wt.includes(t)?r&&e.formData?`,
|
|
27
|
-
data: formData`:`,
|
|
28
|
-
data: ${e.implementation||"undefined"}`:"",xa=(e,t)=>{if(!t&&!e.isBlob)return"";let r=",";return t&&(r+=`
|
|
29
|
-
params,`),e.isBlob&&(r+=`
|
|
30
|
-
responseType: 'blob',`),r},me=({route:e,body:t,queryParams:r,response:n,verb:o,isFormData:s})=>`{url: \`${e}\`, method: '${o}'${ha(t,o,s)}${xa(n,r==null?void 0:r.schema)}
|
|
31
|
-
}`,ce=(e,t)=>{var r,n;return t?q(e)?`{${(n=H(e))==null?void 0:n.slice(1,-1)} ...options}`:"options":q(e)?(r=H(e))==null?void 0:r.slice(1,-1):""};var Sa=[{exports:[{name:"HttpClient",values:!0},{name:"HttpHeaders"},{name:"HttpParams"},{name:"HttpContext"}],dependency:"@angular/common/http"},{exports:[{name:"Injectable",values:!0}],dependency:"@angular/core"},{exports:[{name:"Observable",values:!0}],dependency:"rxjs"}],Hr=()=>Sa,Yr=e=>{let t=k(e);return`${h(t)}Service`},Jr=({title:e,isRequestOptions:t,isMutator:r,isGlobalMutator:n,provideInRoot:o})=>`
|
|
32
|
-
${t&&!n?`type HttpClientOptions = {
|
|
33
|
-
headers?: HttpHeaders | {
|
|
34
|
-
[header: string]: string | string[];
|
|
35
|
-
};
|
|
36
|
-
context?: HttpContext;
|
|
37
|
-
observe?: any;
|
|
38
|
-
params?: HttpParams | {
|
|
39
|
-
[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
|
|
40
|
-
};
|
|
41
|
-
reportProgress?: boolean;
|
|
42
|
-
responseType?: any;
|
|
43
|
-
withCredentials?: boolean;
|
|
44
|
-
};`:""}
|
|
45
|
-
|
|
46
|
-
${t&&r?`type ThirdParameter<T extends (...args: any) => any> = T extends (
|
|
47
|
-
config: any,
|
|
48
|
-
httpClient: any,
|
|
49
|
-
args: infer P,
|
|
50
|
-
) => any
|
|
51
|
-
? P
|
|
52
|
-
: never;`:""}
|
|
53
|
-
|
|
54
|
-
@Injectable(${o?"{ providedIn: 'root' }":""})
|
|
55
|
-
export class ${e} {
|
|
56
|
-
constructor(
|
|
57
|
-
private http: HttpClient,
|
|
58
|
-
) {}`,Xr=()=>`};
|
|
59
|
-
`,$a=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",wa=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,override:i,formData:p},{route:m})=>{let c=(i==null?void 0:i.requestOptions)!==!1,l=(i==null?void 0:i.formData)!==!1,u=$a({isFormData:l,formData:p,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>2,x=c?ce(i==null?void 0:i.requestOptions,y):"";return` ${t}<TData = ${r.definition.success||"unknown"}>(
|
|
60
|
-
${F(s,"implementation")}
|
|
61
|
-
${c&&y?`options?: ThirdParameter<typeof ${n.name}>`:""}) {${u}
|
|
62
|
-
return ${n.name}<TData>(
|
|
63
|
-
${d},
|
|
64
|
-
this.http,
|
|
65
|
-
${x});
|
|
66
|
-
}
|
|
67
|
-
`}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:i==null?void 0:i.requestOptions,isFormData:l});return` ${t}<TData = ${r.definition.success||"unknown"}>(
|
|
68
|
-
${F(s,"implementation")} ${c?`options?: HttpClientOptions
|
|
69
|
-
`:""} ): Observable<TData> {${u}
|
|
70
|
-
return this.http.${a}<TData>(${f});
|
|
71
|
-
}
|
|
72
|
-
`},Zr=(e,t)=>{let r=ie(e);return{implementation:wa(e,t),imports:r}};var ja=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Bt=()=>ja,Ra=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",va=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,override:i,formData:p},{route:m})=>{let c=(i==null?void 0:i.requestOptions)!==!1,l=(i==null?void 0:i.formData)!==!1,u=Ra({isFormData:l,formData:p,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(i==null?void 0:i.requestOptions,y):"";return`const ${t} = <TData = ${r.definition.success||"unknown"}>(
|
|
73
|
-
${F(s,"implementation")}
|
|
74
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
75
|
-
return ${n.name}<TData>(
|
|
76
|
-
${d},
|
|
77
|
-
${x});
|
|
78
|
-
}
|
|
79
|
-
`}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:i==null?void 0:i.requestOptions,isFormData:l});return`const ${t} = <TData = AxiosResponse<${r.definition.success||"unknown"}>>(
|
|
80
|
-
${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
|
|
81
|
-
`:""} ): Promise<TData> => {${u}
|
|
82
|
-
return axios.${a}(${f});
|
|
83
|
-
}
|
|
84
|
-
`},_t=e=>{let t=k(e);return`get${h(t)}`},zt=({title:e,isRequestOptions:t,isMutator:r,noFunction:n})=>`${t&&r?`type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
85
|
-
config: any,
|
|
86
|
-
args: infer P,
|
|
87
|
-
) => any
|
|
88
|
-
? P
|
|
89
|
-
: never;
|
|
90
|
-
|
|
91
|
-
`:""}
|
|
92
|
-
${n?"":`export const ${e} = () => {
|
|
93
|
-
`}`,en=(e=[])=>`return {${e.join(",")}}};
|
|
94
|
-
`,Lt=(e,t)=>{let r=ie(e);return{implementation:va(e,t),imports:r}};var tn={email:"faker.internet.email()",zipCode:"faker.address.zipCode()",city:"faker.address.city()",streetName:"faker.address.streetName()",country:"faker.address.country()",date:"faker.date.recent()",iban:"faker.finance.iban()",userName:"faker.internet.userName()",firstName:"faker.name.firstName()",lastName:"faker.name.lastName()",jobTitle:"faker.name.jobTitle()",gender:"faker.name.gender()",phoneNumber:"faker.phone.phoneNumber()",url:"faker.internet.url()"};var at=e=>e&&typeof e=="object";function he(e,t){return!at(t)||!at(e)?e:Object.entries(t).reduce((r,[n,o])=>{let s=r[n];return Array.isArray(s)&&Array.isArray(o)?b(g({},r),{[n]:[...s,...o]}):at(s)&&at(o)?b(g({},r),{[n]:he(s,o)}):b(g({},r),{[n]:o})},e)}var mn=O(require("upath")),cn=O(require("url")),un=O(require("validator/lib/isURL"));var sn=O(require("@swc/core")),Ee=O(require("chalk")),Ne=O(require("fs")),an=O(require("globby")),$e=O(require("path")),ue=O(require("upath"));var rn=O(require("debug")),nn=process.env.ORVAL_DEBUG_FILTER,Qt=process.env.DEBUG;function on(e,t={}){let r=(0,rn.default)(e),{onlyWhenFocused:n}=t,o=typeof n=="string"?n:e;return(s,...a)=>{nn&&!s.includes(nn)||n&&!(Qt==null?void 0:Qt.includes(o))||r(s,...a)}}var v=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let n=Mr(e),o=n?(0,ue.join)(e,t+r):e,s=o.replace(/\.[^/.]+$/,""),a=(0,ue.dirname)(o),i=(0,ue.basename)(o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:s,extension:r,isDirectory:n,dirname:a,filename:i}},pn=on("orval:file-load");async function it(e,t){let{root:r=process.cwd(),isDefault:n=!0,defaultFileName:o,logLevel:s}=t||{},a=Date.now(),i,p=!1,m=!1,c=[];if(e)i=$e.default.resolve(e),p=e.endsWith(".ts");else if(o){let l=$e.default.resolve(r,`${o}.js`);if(Ne.default.existsSync(l)&&(i=l),!i){let u=$e.default.resolve(r,`${o}.mjs`);Ne.default.existsSync(u)&&(i=u,m=!0)}if(!i){let u=$e.default.resolve(r,`${o}.ts`);Ne.default.existsSync(u)&&(i=u,p=!0)}}i||(e?_(s).error(Ee.default.red(`File not found => ${e}`)):o?_(s).error(Ee.default.red(`File not found => ${o}.{js,mjs,ts}`)):_(s).error(Ee.default.red("File not found")),process.exit(1));try{let l;if(!l&&!p&&!m)try{delete require.cache[require.resolve(i)],l=require(i),pn(`cjs loaded in ${Date.now()-a}ms`)}catch(u){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(u.message))throw u}if(!l){let u=await Ga(i);l=await Pa(i,u,n),pn(`bundled file loaded in ${Date.now()-a}ms`)}return{path:(0,ue.normalizeSafe)(i),file:l,dependencies:c}}catch(l){throw _(s).error(Ee.default.red(`failed to load from ${i}`)),l}}async function Ga(e,t=!1){let{code:r}=await sn.transformFile(e,{module:{type:"commonjs"}});return r}async function Pa(e,t,r){let n=$e.default.extname(e),o=require.extensions[n];require.extensions[n]=(i,p)=>{p===e?i._compile(t,p):o(i,p)},delete require.cache[require.resolve(e)];let s=require(e),a=r&&s.__esModule?s.default:s;return require.extensions[n]=o,a}async function Kt(e,t){let r=await(0,an.default)(e,{cwd:t,absolute:!0});await Promise.all(r.map(n=>Ne.default.promises.unlink(n)))}var Ta={schemas:"schemas",responses:"responses",parameters:"parameters",requestBodies:"requestBodies"},Ma=Object.values(Ta),Ve={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},we=async(e,t)=>{let r=Ma.find(i=>e.includes(`#/components/${i}`));if(!r)throw new Error("Unresolved $ref");let n=t.override.components[r].suffix,o=e.split(`#/components/${r}/`);if(!o[0])return{name:h(o[1])+n,originalName:o[1],type:r};let s=o[0],a=(0,un.default)(t.specKey)?cn.default.resolve(t.specKey,s):(0,mn.resolve)(v(t.specKey).dirname,s);return{name:h(o[1])+n,originalName:o[1],specKey:a,type:r}};var ln=(e,t,r)=>{var a,i;let n=Object.entries(((a=t.specs[r||t.specKey].components)==null?void 0:a.schemas)||[]).reduce((p,[m,c])=>b(g({},p),{[m]:c}),{}),o=Object.entries(((i=t.specs[r||t.specKey].components)==null?void 0:i.responses)||[]).reduce((p,[m,c])=>{var l,u;return b(g({},p),{[m]:M(c)?c:(u=(l=c.content)==null?void 0:l["application/json"])==null?void 0:u.schema})},{}),s=g(g({},n),o);return b(g({},s[e]),{specKey:r})};var Ca=e=>e[0]==="/"&&e[e.length-1]==="/",pt=(e={},t)=>{let r=Object.entries(e).find(([n])=>!!(Ca(n)&&new RegExp(n.slice(1,n.length-1)).test(t.name)||`#.${n}`===(t.path?t.path:`#.${t.name}`)));if(!!r)return{value:We(r[1],t.nullable),imports:[],name:t.name,overrided:!0}},We=(e,t)=>t?`faker.helpers.randomize([${e}, null])`:e,le=async({schema:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(M(e)){let{name:a,specKey:i}=await we(e.$ref,b(g({},s),{specKey:e.specKey||s.specKey})),p=b(g({},ln(a,s,i||e.specKey)),{name:a,path:e.path,isRef:!0,specKey:i||e.specKey});return Be({item:p,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}return Be({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})};var yn=O(require("cuid"));var fn=(e="",t)=>e?(e.match(new RegExp(t,"g"))||[]).length:0;var gn=async({item:e,items:t,isOneOf:r,mockOptions:n,operationId:o,tags:s,combine:a,context:i})=>{let p=[],m=[...(a==null?void 0:a.properties)||[]];return{value:await j(t,async(l,u,f,d)=>{let y=await le({schema:b(g({},u),{name:e.name,path:e.path?e.path:"#",specKey:e.specKey}),combine:r?void 0:{properties:m},mockOptions:n,operationId:o,tags:s,context:i});return p=[...p,...y.imports],m=[...m,...y.properties||[]],!f&&!a?y.enums||r?d.length===1?`faker.helpers.randomize([${y.value}])`:`faker.helpers.randomize([${y.value},`:d.length===1?`{${y.value}}`:`{${y.value},`:d.length-1===f?y.enums||r?l+y.value+(a?"":"])"):l+y.value+(a?"":"}"):y.value?l+y.value+",":l},""),imports:p,name:e.name,properties:m}};var dn=O(require("esutils")),je=e=>dn.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var bn=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{if(M(e))return await le({schema:b(g({},e),{name:e.name,path:e.path?`${e.path}.${e.name}`:e.name,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});if(e.allOf||e.oneOf||e.anyOf)return gn({item:e,items:e.allOf||e.oneOf||e.anyOf,isOneOf:!!(e.oneOf||e.anyOf),mockOptions:t,operationId:r,tags:n,combine:o,context:s});if(e.properties){let a=o?"":"{",i=[],p=[];return a+=(await Promise.all(Object.entries(e.properties).map(async([m,c])=>{if(o==null?void 0:o.properties.includes(m))return;let l=(t==null?void 0:t.required)||(e.required||[]).includes(m);if(fn(e.path,`.${m}.`)>=1)return;let u=await le({schema:b(g({},c),{name:m,path:e.path?`${e.path}.${m}`:`#.${m}`,specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});i=[...i,...u.imports],p=[...p,m];let f=je(m);return!l&&!u.overrided?`${f}: faker.helpers.randomize([${u.value}, undefined])`:`${f}: ${u.value}`}))).filter(Boolean).join(", "),a+=o?"":"}",{value:a,imports:i,name:e.name,properties:p}}if(e.additionalProperties){if(te(e.additionalProperties))return{value:"{}",imports:[],name:e.name};let a=await le({schema:b(g({},e.additionalProperties),{name:e.name,path:e.path?`${e.path}.#`:"#",specKey:e.specKey}),mockOptions:t,operationId:r,tags:n,context:s});return b(g({},a),{value:`{
|
|
95
|
-
'${(0,yn.default)()}': ${a.value}
|
|
96
|
-
}`})}return{value:"{}",imports:[],name:e.name}};var Be=async({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})=>{var l,u;let a=pt((u=(l=t==null?void 0:t.operations)==null?void 0:l[r])==null?void 0:u.properties,e);if(a)return a;let i=Object.entries((t==null?void 0:t.tags)||{}).reduce((f,[d,y])=>n.includes(d)?he(f,y):f,{}),p=pt(i==null?void 0:i.properties,e);if(p)return p;let m=pt(t==null?void 0:t.properties,e);if(m)return m;let c=g(g({},tn),(t==null?void 0:t.format)||{});if(e.format&&c[e.format])return{value:We(c[e.format],e.nullable),imports:[],name:e.name,overrided:!1};switch(e.type){case"number":case"integer":return{value:We("faker.datatype.number()",e.nullable),imports:[],name:e.name};case"boolean":return{value:"faker.datatype.boolean()",imports:[],name:e.name};case"array":{if(!e.items)return{value:[],imports:[],name:e.name};let{value:f,enums:d,imports:y,name:x}=await le({schema:b(g({},e.items),{name:e.name,path:e.path?`${e.path}.[]`:"#.[]",specKey:e.specKey}),combine:o,mockOptions:t,operationId:r,tags:n,context:s});return d?{value:`[...Array(faker.datatype.number({min:1, max: ${d.length}}))].reduce(({values, enums}) => {
|
|
97
|
-
const newValue = enums[faker.datatype.number({min:1, max: enums.length})];
|
|
98
|
-
return {
|
|
99
|
-
values: [...values, newValue],
|
|
100
|
-
enums: enums.filter((v: ${x}) => newValue !== v)
|
|
101
|
-
}
|
|
102
|
-
},{ values: [], enums: Object.values(${x})})`,imports:y,name:e.name}:{value:`[...Array(faker.datatype.number({min: 1, max: 10}))].map(() => (${f}))`,imports:y,name:e.name}}case"string":{let f="faker.random.word()",d=[];if(e.enum){let y="['"+e.enum.join("','")+"']";e.isRef&&(y=`Object.values(${e.name})`,d=[{name:e.name,values:!0}]),f=`faker.helpers.randomize(${y})`}return{value:We(f,e.nullable),enums:e.enum,name:e.name,imports:d}}case"object":default:return bn({item:e,mockOptions:t,operationId:r,tags:n,combine:o,context:s})}};var E=async(e,t,r=[])=>{var p,m,c;if(!M(e))return{schema:e,imports:r};let{name:n,originalName:o,specKey:s,type:a}=await we(e.$ref,t),i=(c=(m=(p=t.specs[s||t.specKey])==null?void 0:p.components)==null?void 0:m[a])==null?void 0:c[o];if(!i)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return E(i,b(g({},t),{specKey:s||t.specKey}),[...r,{name:n,specKey:s,schemaName:o}])};var mt=(e,t)=>Object.entries(W(e)?e(t):e).reduce((r,[n,o])=>b(g({},r),{[n]:W(o)?`(${o})()`:H(o)}),{}),Ia=(e,t)=>{var r,n,o;return g(g(g(g({required:(r=t==null?void 0:t.mock)==null?void 0:r.required},((n=t==null?void 0:t.mock)==null?void 0:n.properties)?{properties:mt(t.mock.properties,e)}:{}),((o=t==null?void 0:t.mock)==null?void 0:o.format)?{format:mt(t.mock.format,e)}:{}),(t==null?void 0:t.operations)?{operations:Object.entries(t.operations).reduce((s,[a,i])=>{var p;return b(g({},s),{[a]:((p=i.mock)==null?void 0:p.properties)?{properties:mt(i.mock.properties,e)}:{}})},{})}:{}),(t==null?void 0:t.tags)?{tags:Object.entries(t.tags).reduce((s,[a,i])=>{var p;return b(g({},s),{[a]:((p=i.mock)==null?void 0:p.properties)?{properties:mt(i.mock.properties,e)}:{}})},{})}:{})},qa=e=>{let t=e.endsWith("[]");switch(t?e.slice(0,-2):e){case"number":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.datatype.number())":"faker.datatype.number().toString()";case"string":return t?"Array.from({length: faker.datatype.number({min: 1, max: 10})}, () => faker.random.word())":"faker.random.word()";default:return"undefined"}},Da=({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:n,transformer:o,context:s})=>j(r.types.success,async(a,{value:i,schema:p})=>{if(!i||Se.includes(i)){let l=qa(i);return a.definitions=[...a.definitions,o?o(l,r.definition.success):l],a}if(!p)return a;let m=await E(p,s),c=await Be({item:g({name:i},m.schema),mockOptions:n,operationId:e,tags:t,context:s});return a.imports=[...a.imports,...c.imports],a.definitions=[...a.definitions,o?o(c.value,r.definition.success):c.value.toString()],a},{definitions:[],imports:[]}),On=async({operationId:e,tags:t,response:r,override:n,transformer:o,context:s})=>{let a=Ia(s.specs[s.specKey],n),{definitions:i,imports:p}=await Da({operationId:e,tags:t,response:r,mockOptionsWithoutFunc:a,transformer:o,context:s});return{definition:"["+i.join(", ")+"]",definitions:i,imports:p}},hn=(e,t)=>{var n,o,s;let r=(s=(o=(n=t==null?void 0:t.operations)==null?void 0:n[e])==null?void 0:o.mock)==null?void 0:s.data;return W(r)?`(${r})()`:H(r)};var Aa=e=>e.split("").reduce((t,r)=>r==="{"?t+":":r==="}"?t+"":t+k(r),""),ka=(e,t="*")=>e.split("/").reduce((n,o)=>o?o.includes("{")?`${n}/${Aa(o)}`:`${n}/${o}`:n,t),Fa=[{exports:[{name:"rest",values:!0}],dependency:"msw"},{exports:[{name:"faker",default:!0,values:!0}],dependency:"faker"}],fe=(e,t,r)=>st(e,[...Fa,...t],r),xn=async({operationId:e,response:t,verb:r,tags:n},{pathRoute:o,override:s,context:a})=>{var d;let{definitions:i,definition:p,imports:m}=await On({operationId:e,tags:n,response:t,override:s,context:a}),c=ka(o,(d=s==null?void 0:s.mock)==null?void 0:d.baseUrl),l=hn(e,s),u="";l?u=l:i.length>1?u=`faker.helpers.randomize(${p})`:i[0]&&(u=i[0]);let f=u[0]==="{"||u[0]==="["||u.startsWith("(function() {")||u.startsWith("(()=>({")||u.startsWith("faker.helpers")||u.startsWith("Array.from")?"json":"text";return{implementation:{function:u&&u!=="undefined"?`export const get${h(e)}Mock = () => (${u})
|
|
103
|
-
|
|
104
|
-
`:"",handler:`rest.${r}('${c}', (req, res, ctx) => {
|
|
105
|
-
return res(
|
|
106
|
-
ctx.delay(1000),
|
|
107
|
-
ctx.status(200, 'Mocked status'),${u&&u!=="undefined"?`
|
|
108
|
-
ctx.${f}(get${h(e)}Mock()),`:""}
|
|
109
|
-
)
|
|
110
|
-
}),`},imports:m}};var Sn=O(require("lodash.omitby"));var J={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam"};var Ut=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Ea=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"@sveltestack/svelte-query"}],$n=()=>Ea,Na=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0},{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"react-query"}],wn=()=>Na,Va=[...Ut,{exports:[{name:"useQuery",values:!0},{name:"useInfiniteQuery",values:!0},{name:"useMutation",values:!0}],dependency:"vue-query"},{exports:[{name:"UseQueryOptions"},{name:"UseInfiniteQueryOptions"},{name:"UseMutationOptions"}],dependency:"vue-query/types"}],jn=()=>Va,Wa=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Ba=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,formData:i,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=Wa({isFormData:l,formData:i,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
|
|
111
|
-
${F(s,"implementation")}
|
|
112
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
113
|
-
return ${n.name}<${r.definition.success||"unknown"}>(
|
|
114
|
-
${d},
|
|
115
|
-
${x});
|
|
116
|
-
}
|
|
117
|
-
`}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
|
|
118
|
-
${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
|
|
119
|
-
`:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
|
|
120
|
-
return axios.${a}(${f});
|
|
121
|
-
}
|
|
122
|
-
`},Ht={INFINITE:"infiniteQuery",QUERY:"query"},_a=["getNextPageParam","getPreviousPageParam"],za=({params:e,options:t,type:r})=>{var o;if(t===!1)return"";let n=q(t)?` ${(o=H((0,Sn.default)(t,(s,a)=>!!(r!==Ht.INFINITE&&_a.includes(a)))))==null?void 0:o.slice(1,-1)}`:"";return e.length?`{${!q(t)||!t.hasOwnProperty("enabled")?`enabled: !!(${e.map(({name:s})=>s).join(" && ")}),`:""}${n} ...queryOptions}`:t?`{${n} ...queryOptions}`:"queryOptions"},Rn=({operationName:e,definitions:t,mutator:r,isRequestOptions:n,isMutatorHasSecondArg:o,type:s})=>{let a=s?`Use${h(s)}Options<AsyncReturnType<typeof ${e}>, TError, TData>`:`UseMutationOptions<AsyncReturnType<typeof ${e}>, TError,${t?`{${t}}`:"TVariables"}, TContext>`;return n?`options?: { ${s?"query":"mutation"}?:${a}, ${r?o?`request?: SecondParameter<typeof ${r.name}>`:"":"axios?: AxiosRequestConfig"}}
|
|
123
|
-
`:`${s?"queryOptions":"mutationOptions"}?: ${a}`},La=({queryOption:{name:e,queryParam:t,options:r,type:n},operationName:o,queryProps:s,queryKeyFnName:a,properties:i,params:p,props:m,mutator:c,isRequestOptions:l,response:u})=>{let f=t?m.map(({name:y})=>y==="params"?`{ ${t}: pageParam, ...params }`:y).join(","):i,d=!!c&&c.mutatorFn.length>1;return`
|
|
124
|
-
export const ${$(`use-${e}`)} = <TData = AsyncReturnType<typeof ${o}>, TError = ${u.definition.errors||"unknown"}>(
|
|
125
|
-
${s} ${Rn({operationName:o,definitions:"",mutator:c,isRequestOptions:l,isMutatorHasSecondArg:d,type:n})}
|
|
126
|
-
) => {
|
|
127
|
-
|
|
128
|
-
${l?`const {query: queryOptions${c?d?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
|
|
129
|
-
|
|
130
|
-
const queryKey = queryOptions?.queryKey ?? ${a}(${i});
|
|
131
|
-
const queryFn = (${t&&m.some(({type:y})=>y==="queryParam")?"{ pageParam }":""}) => ${o}(${f}${f?", ":""}${l?c?d?"requestOptions":"":"axiosOptions":""});
|
|
132
|
-
|
|
133
|
-
const query = ${$(`use-${n}`)}<AsyncReturnType<typeof queryFn>, TError, TData>(queryKey, queryFn, ${za({params:p,options:r,type:n})})
|
|
134
|
-
|
|
135
|
-
return {
|
|
136
|
-
queryKey,
|
|
137
|
-
...query
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
`},Qa=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p,operationId:m},{route:c,override:{operations:l={}}})=>{var T;let u=a==null?void 0:a.query,f=(a==null?void 0:a.requestOptions)!==!1,d=(T=l[m])==null?void 0:T.query;if(o===Y.GET||(d==null?void 0:d.useInfinite)||(d==null?void 0:d.useQuery)){let G=n.map(({name:I,type:V})=>V===J.BODY?r.implementation:I).join(","),w=[...(u==null?void 0:u.useInfinite)?[{name:$(`${t}-infinite`),options:u==null?void 0:u.options,type:Ht.INFINITE,queryParam:u==null?void 0:u.useInfiniteQueryParam}]:[],...!(u==null?void 0:u.useQuery)&&!(u==null?void 0:u.useInfinite)||(u==null?void 0:u.useQuery)?[{name:t,options:u==null?void 0:u.options,type:Ht.QUERY}]:[]],C=$(`get-${t}-queryKey`),D=F(n,"implementation");return`export const ${C} = (${D}) => [\`${c}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
141
|
-
|
|
142
|
-
${w.reduce((I,V)=>I+La({queryOption:V,operationName:t,queryProps:D,queryKeyFnName:C,properties:G,params:s,props:n,mutator:i,isRequestOptions:f,response:p}),"")}
|
|
143
|
-
`}let y=n.map(({definition:G,type:w})=>w===J.BODY?`data: ${r.definition}`:G).join(";"),x=!!i&&i.mutatorFn.length>1,R=n.map(({name:G,type:w})=>w===J.BODY?"data":G).join(",");return`
|
|
144
|
-
export const ${$(`use-${t}`)} = <TError = ${p.definition.errors||"unknown"},
|
|
145
|
-
${y?"":"TVariables = void,"}
|
|
146
|
-
TContext = unknown>(${Rn({operationName:t,isMutatorHasSecondArg:x,definitions:y,mutator:i,isRequestOptions:f})}) => {
|
|
147
|
-
${f?`const {mutation: mutationOptions${i?x?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
|
|
148
|
-
|
|
149
|
-
return useMutation<AsyncReturnType<typeof ${t}>, TError, ${y?`{${y}}`:"TVariables"}, TContext>((${R?"props":""}) => {
|
|
150
|
-
${R?`const {${R}} = props || {}`:""};
|
|
151
|
-
|
|
152
|
-
return ${t}(${R}${R?",":""}${f?i?x?"requestOptions":"":"axiosOptions":""})
|
|
153
|
-
}, mutationOptions)
|
|
154
|
-
}
|
|
155
|
-
`},ct=()=>"",ut=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
|
|
156
|
-
T extends (...args: any) => Promise<any>
|
|
157
|
-
> = T extends (...args: any) => Promise<infer R> ? R : any;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
161
|
-
config: any,
|
|
162
|
-
args: infer P,
|
|
163
|
-
) => any
|
|
164
|
-
? P
|
|
165
|
-
: never;
|
|
166
|
-
|
|
167
|
-
`:""}`,lt=()=>"",ft=(e,t)=>{let r=ie(e),n=Ba(e,t),o=Qa(e,t);return{implementation:`${n}
|
|
168
|
-
|
|
169
|
-
${o}`,imports:r}};var Ka=[{exports:[{name:"axios",default:!0,values:!0},{name:"AxiosRequestConfig"},{name:"AxiosResponse"}],dependency:"axios"}],Ua=[...Ka,{exports:[{name:"useSwr",values:!0,default:!0},{name:"SWRConfiguration"},{name:"Key"}],dependency:"swr"}],vn=()=>Ua,Ha=({isFormData:e,formData:t,body:r})=>e?t&&r.formData?`const formData = ${t.name}(${r.implementation})`:r.formData:"",Ya=({queryParams:e,operationName:t,response:r,mutator:n,body:o,props:s,verb:a,formData:i,override:p},{route:m})=>{let c=(p==null?void 0:p.requestOptions)!==!1,l=(p==null?void 0:p.formData)!==!1,u=Ha({isFormData:l,formData:i,body:o});if(n){let d=me({route:m,body:o,queryParams:e,response:r,verb:a,isFormData:l}),y=n.mutatorFn.length>1,x=c?ce(p==null?void 0:p.requestOptions,y):"";return`export const ${t} = (
|
|
170
|
-
${F(s,"implementation")}
|
|
171
|
-
${c&&y?`options?: SecondParameter<typeof ${n.name}>`:""}) => {${u}
|
|
172
|
-
return ${n.name}<${r.definition.success||"unknown"}>(
|
|
173
|
-
${d},
|
|
174
|
-
${x});
|
|
175
|
-
}
|
|
176
|
-
`}let f=pe({route:m,body:o,queryParams:e,response:r,verb:a,requestOptions:p==null?void 0:p.requestOptions,isFormData:l});return`export const ${t} = (
|
|
177
|
-
${F(s,"implementation")} ${c?`options?: AxiosRequestConfig
|
|
178
|
-
`:""} ): Promise<AxiosResponse<${r.definition.success||"unknown"}>> => {${u}
|
|
179
|
-
return axios.${a}(${f});
|
|
180
|
-
}
|
|
181
|
-
`},Ja=({operationName:e,mutator:t,isRequestOptions:r,isMutatorHasSecondArg:n})=>{let o=`SWRConfiguration<AsyncReturnType<typeof ${e}>, TError> & {swrKey: Key}`;return r?`options?: { swr?:${o}, ${t?n?`request?: SecondParameter<typeof ${t.name}>`:"":"axios?: AxiosRequestConfig"}}
|
|
182
|
-
`:`swrOptions?: ${o}`},Xa=({operationName:e,swrProps:t,swrKeyFnName:r,properties:n,params:o,mutator:s,isRequestOptions:a,response:i})=>{let p=n,m=!!s&&s.mutatorFn.length>1;return`
|
|
183
|
-
export const ${$(`use-${e}`)} = <TError = ${i.definition.errors||"unknown"}>(
|
|
184
|
-
${t} ${Ja({operationName:e,mutator:s,isRequestOptions:a,isMutatorHasSecondArg:m})}
|
|
185
|
-
) => {
|
|
186
|
-
|
|
187
|
-
${a?`const {swr: swrOptions${s?m?", request: requestOptions":"":", axios: axiosOptions"}} = options || {}`:""}
|
|
188
|
-
|
|
189
|
-
const isEnable = !!(${o.map(({name:c})=>c).join(" && ")})
|
|
190
|
-
const swrKey = swrOptions?.swrKey ?? (() => isEnable ? ${r}(${n}) : null);
|
|
191
|
-
const swrFn = () => ${e}(${p}${p?", ":""}${a?s?m?"requestOptions":"":"axiosOptions":""});
|
|
192
|
-
|
|
193
|
-
const query = useSwr<AsyncReturnType<typeof swrFn>, TError>(swrKey, swrFn, swrOptions)
|
|
194
|
-
|
|
195
|
-
return {
|
|
196
|
-
swrKey,
|
|
197
|
-
...query
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
`},Za=({queryParams:e,operationName:t,body:r,props:n,verb:o,params:s,override:a,mutator:i,response:p},{route:m})=>{let c=(a==null?void 0:a.requestOptions)!==!1;if(o!==Y.GET)return"";let l=n.map(({name:d,type:y})=>y===J.BODY?r.implementation:d).join(","),u=$(`get-${t}-key`),f=F(n,"implementation");return`export const ${u} = (${f}) => [\`${m}\`${e?", ...(params ? [params]: [])":""}${r.implementation?`, ${r.implementation}`:""}];
|
|
201
|
-
|
|
202
|
-
${Xa({operationName:t,swrProps:f,swrKeyFnName:u,properties:l,params:s,props:n,mutator:i,isRequestOptions:c,response:p})}
|
|
203
|
-
`},Gn=()=>"",Pn=({isRequestOptions:e,isMutator:t})=>`type AsyncReturnType<
|
|
204
|
-
T extends (...args: any) => Promise<any>
|
|
205
|
-
> = T extends (...args: any) => Promise<infer R> ? R : any;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
${e&&t?`type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
209
|
-
config: any,
|
|
210
|
-
args: infer P,
|
|
211
|
-
) => any
|
|
212
|
-
? P
|
|
213
|
-
: never;
|
|
214
|
-
|
|
215
|
-
`:""}`,Tn=()=>"",Mn=(e,t)=>{let r=ie(e),n=Ya(e,t),o=Za(e,t);return{implementation:`${n}
|
|
216
|
-
|
|
217
|
-
${o}`,imports:r}};var _e=L.AXIOS,Cn={axios:{client:Lt,header:zt,dependencies:Bt,footer:en,title:_t},"axios-functions":{client:(e,t)=>{let{implementation:r,imports:n}=Lt(e,t);return{implementation:"export "+r,imports:n}},header:e=>zt(b(g({},e),{noFunction:!0})),dependencies:Bt,footer:()=>"",title:_t},angular:{client:Zr,header:Jr,dependencies:Hr,footer:Xr,title:Yr},"react-query":{client:ft,header:ut,dependencies:wn,footer:lt,title:ct},"svelte-query":{client:ft,header:ut,dependencies:$n,footer:lt,title:ct},"vue-query":{client:ft,header:ut,dependencies:jn,footer:lt,title:ct},swr:{client:Mn,header:Pn,dependencies:vn,footer:Tn,title:Gn}},ze=e=>{let t=W(e)?e(Cn):Cn[e];if(!t)throw`Oups... \u{1F37B}. Client not found: ${e}`;return t},ge=(e=_e,t,r,n)=>{let{dependencies:o}=ze(e);return st(t,[...o(),...r],n)},gt=({outputClient:e=_e,isRequestOptions:t,title:r,customTitleFunc:n,isGlobalMutator:o,isMutator:s,provideInRoot:a})=>{let i=ei(e,r,n),{header:p}=ze(e);return{implementation:p({title:i.implementation,isRequestOptions:t,isGlobalMutator:o,isMutator:s,provideInRoot:a}),implementationMSW:`export const ${i.implementationMSW} = () => [
|
|
218
|
-
`}},dt=(e=_e,t)=>{let{footer:r}=ze(e);return{implementation:r(t),implementationMSW:`]
|
|
219
|
-
`}},ei=(e=_e,t,r)=>{let{title:n}=ze(e);if(r){let o=r(t);return{implementation:n(o),implementationMSW:`get${h(o)}MSW`}}return{implementation:n(t),implementationMSW:`get${h(t)}MSW`}},ti=async(e,t)=>t.mock?W(t.mock)?t.mock(e,t):xn(e,t):{implementation:{function:"",handler:""},imports:[]},In=(e=_e,t,r)=>j(t,async(n,o)=>{let{client:s}=ze(e),a=s(o,r),i=await ti(o,r);return b(g({},n),{[o.operationId]:{implementation:a.implementation,imports:a.imports,implementationMSW:i.implementation,importsMSW:i.imports,tags:o.tags,mutator:o.mutator,formData:o.formData,operationName:o.operationName}})},{});var An=O(require("lodash.uniqby"));var Yt=async(e,t,r)=>{let{schema:n,imports:o}=await E(t,r),s=M(t)?o[0].name:e,a=`const formData = new FormData();
|
|
220
|
-
`;if(n.type==="object"&&n.properties){let i=await j(Object.entries(n.properties),async(p,[m,c])=>{var f;let{schema:l}=await E(c,r),u="";return l.type==="object"||l.type==="array"?u=`formData.append('${m}', JSON.stringify(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}))
|
|
221
|
-
`:l.type==="number"||l.type==="integer"||l.type==="boolean"?u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`}.toString())
|
|
222
|
-
`:u=`formData.append('${m}', ${$(s)}${m.includes("-")?`['${m}']`:`.${m}`})
|
|
223
|
-
`,((f=n.required)==null?void 0:f.includes(m))?p+u:p+`if(${$(s)}${m.includes("-")?`['${m}']`:`.${m}`} !== undefined) {
|
|
224
|
-
${u} }
|
|
225
|
-
`},"");return`${a}${i}`}return n.type==="array"?`${a}formData.append('data', JSON.stringify(${$(s)}))
|
|
226
|
-
`:n.type==="number"||n.type==="boolean"?`${a}formData.append('data', ${$(s)}.toString())
|
|
227
|
-
`:`${a}formData.append('data', ${$(s)})
|
|
228
|
-
`};function U({description:e,deprecated:t},r=!1){if(!e&&!t)return"";let n=(e&&!t||t&&!e)&&r,o="/**";return e&&(n||(o+=`
|
|
229
|
-
${r?" ":""} *`),o+=` ${e}`),t&&(n||(o+=`
|
|
230
|
-
${r?" ":""} *`),o+=" @deprecated"),o+=n?" ":`
|
|
231
|
-
${r?" ":""}`,o+=`*/
|
|
232
|
-
`,o}var Re=(e,t,r)=>{let n=`export type ${r} = ${e};
|
|
233
|
-
`,o=e.split(" | ").reduce((s,a)=>{let i=t==="number",m=!Number.isNaN(Number(a.slice(1,-1)))||i?ri(i?a.toString():a.slice(1,-1)):k(a,{underscore:"_",whitespace:"_"}),c=!Number.isNaN(+m[0]);return s+` ${c?`'${m}'`:m}: ${a} as ${r},
|
|
234
|
-
`},"");return n+=`
|
|
235
|
-
|
|
236
|
-
export const ${r} = {
|
|
237
|
-
${o}};
|
|
238
|
-
`,n},ri=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:`NUMBER_${e}`;var qn=async({schema:e,name:t,context:r})=>{if(e.items){let n=await X({schema:e.items,propName:t+"Item",context:r});return{value:`${n.value}[]`,imports:n.imports,schemas:n.schemas,isEnum:!1,type:"array"}}else throw new Error("All arrays must have an `items` key define")};var ni={allOf:"&",oneOf:"|",anyOf:"|"},yt=async({name:e,items:t,separator:r,context:n})=>{let o=await j(t,async(s,a)=>{let i=e?e+h(r):void 0;i&&s.schemas.length&&(i=i+h(rt(s.schemas.length+1)));let p=await X({schema:a,propName:i,combined:!0,context:n});return b(g({},s),{value:s.value?`${s.value} ${ni[r]} ${p.value}`:p.value,imports:[...s.imports,...p.imports],schemas:[...s.schemas,...p.schemas],isEnum:s.isEnum?p.isEnum:s.isEnum})},{value:"",imports:[],schemas:[],isEnum:!0,type:"object",isRef:!1});if(o.isEnum&&e){let s=o.value.split(" | ").map(i=>`...${i}`).join(","),a=`
|
|
239
|
-
|
|
240
|
-
export const ${h(e)} = {${s}}`;return b(g({},o),{imports:o.imports.map(i=>b(g({},i),{values:!0})),value:o.value+a,isEnum:!1})}return o};var Dn=async({item:e,name:t,context:r})=>{if(M(e)){let{name:n,specKey:o}=await we(e.$ref,r);return{value:n,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf)return yt({items:e.allOf,name:t,separator:"allOf",context:r});if(e.oneOf)return yt({items:e.oneOf,name:t,separator:"oneOf",context:r});if(e.anyOf)return yt({items:e.anyOf,name:t,separator:"anyOf",context:r});if(e.properties&&Object.entries(e.properties).length>0)return j(Object.entries(e.properties),async(n,[o,s],a,i)=>{let p=(e.required||[]).includes(o),m=t?h(t)+h(o):void 0,c=await X({schema:s,propName:m,context:r}),l=e.readOnly||s.readOnly;a||(n.value+="{");let u=U(s,!0);return n.imports=[...n.imports,...c.imports],n.value+=`
|
|
241
|
-
${u?`${u} `:""}${l?"readonly ":""}${je(o)}${p?"":"?"}: ${c.value};`,n.schemas=[...n.schemas,...c.schemas],i.length-1===a&&(n.value+=`
|
|
242
|
-
}`),n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(te(e.additionalProperties))return{value:"{ [key: string]: any }",imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let n=await Z({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${n.value}}`,imports:n.imports||[],schemas:n.schemas||[],isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{}":"unknown",imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var bt=async({item:e,name:t,context:r})=>{let n=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let a="number",i=!1;return e.enum&&(a=e.enum.join(" | "),i=!0),{value:a+n,isEnum:i,type:"number",schemas:[],imports:[],isRef:!1}}case"boolean":return{value:"boolean"+n,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1};case"array":{let o=await qn({schema:e,name:t,context:r}),{value:a}=o,i=Ct(o,["value"]);return g({value:a+n},i)}case"string":{let a="string",i=!1;return e.enum&&(a=`'${e.enum.join("' | '")}'`,i=!0),e.format==="binary"&&(a="Blob"),{value:i?a:a+n,isEnum:i,type:"string",imports:[],schemas:[],isRef:!1}}case"object":default:{let s=await Dn({item:e,name:t,context:r}),{value:a}=s,i=Ct(s,["value"]);return g({value:a+n},i)}}};var Z=async({schema:e,name:t,context:r})=>{if(M(e)){let{schema:o,imports:s}=await E(e,r),{name:a,specKey:i,schemaName:p}=s[0];return{value:a,imports:[{name:a,specKey:i,schemaName:p}],type:(o==null?void 0:o.type)||"object",schemas:[],isEnum:!!(o==null?void 0:o.enum),originalSchema:o,isRef:!0}}let n=await bt({item:e,name:t,context:r});return b(g({},n),{originalSchema:e,isRef:!1})};var X=async({schema:e,propName:t,combined:r=!1,context:n})=>{let o=await Z({schema:e,name:t,context:n}),s=U(o.originalSchema||{});if(t&&!o.isEnum&&(o==null?void 0:o.type)==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${s}export type ${t} = ${o.value};
|
|
243
|
-
`,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let a=Re(o.value,o.type,t);return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:s+a,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var kn=["multipart/form-data"],oi=async({mediaType:e,propName:t,context:r})=>e.schema?await X({schema:e.schema,propName:t,context:r}):void 0,ve=async(e,t,r,n="unknown")=>{let o=await Promise.all(e.filter(([s,a])=>Boolean(a)).map(async([s,a])=>{if(M(a)){let{schema:i,imports:[{name:p,specKey:m,schemaName:c}]}=await E(a,r),[l,u]=Object.entries(i.content||{})[0]||[];if(!kn.includes(l)||!(u==null?void 0:u.schema))return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}];let f=await Yt(p,u==null?void 0:u.schema,b(g({},r),{specKey:m||r.specKey}));return[{value:p,imports:[{name:p,specKey:m,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,formData:f,isRef:!0,originalSchema:u==null?void 0:u.schema,key:s}]}return a.content?(await Promise.all(Object.entries(a.content).map(async([p,m],c,l)=>{let u=s?h(t)+h(s):void 0;u&&l.length>1&&(u=u+h(rt(c+1)));let f=await oi({mediaType:m,propName:u,context:r});if(!f||!kn.includes(p)||!u)return f;let d=await Yt(u,m.schema,r);return b(g({},f),{formData:d})}))).filter(p=>p).map(p=>b(g({},p),{key:s})):[{value:n,imports:[],schemas:[],type:n,isEnum:!1,key:s,isRef:!1}]}));return(0,An.default)(o.reduce((s,a)=>[...s,...a],[]),"value")};var Fn=async(e,t,r)=>{let n=await ve([[r.override.components.requestBodies.suffix,e]],t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),a=n.map(({value:m})=>m).join(" | "),i=Se.includes(a.toLowerCase())||n.length>1?$(t)+r.override.components.requestBodies.suffix:$(a),p=n.length===1?n[0].formData:void 0;return{definition:a,implementation:i,imports:o,schemas:s,formData:p||""}};var En=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(n=>k(n))].join("-"));var Nn=async({parameters:e=[],context:t})=>j(e,async(r,n)=>{if(M(n)){let{schema:o,imports:s}=await E(n,t);return o.in==="path"||o.in==="query"?b(g({},r),{[o.in]:[...r[o.in],{parameter:o,imports:s}]}):r}else return n.in!=="query"&&n.in!=="path"?r:b(g({},r),{[n.in]:[...r[n.in],{parameter:n,imports:[]}]})},{path:[],query:[]});var si=e=>{let t,r=[],n=/\{(.*?)\}/g;for(;(t=n.exec(e))!==null;)r.push(t[1]);return r},Vn=({route:e,pathParams:t=[],operationId:r,context:n})=>{let o=si(e);return Promise.all(o.map(async s=>{let a=t.find(({parameter:d})=>k(d.name)===s);if(!a)throw new Error(`The path params ${s} can't be found in parameters (${r})`);let{name:i,required:p=!1,schema:m}=a.parameter,c=k(i);if(!m)return{name:c,definition:`${c}${p?"":"?"}: unknown`,implementation:`${c}${p?"":"?"}: unknown`,default:!1,required:p,imports:[]};let l=await Z({schema:m,context:n}),u=`${c}${!p||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!p&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${l.originalSchema.default}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:p,imports:l.imports}}))};var Wn=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var Bn=({body:e,queryParams:t,params:r})=>{let n={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:J.BODY},o={name:"params",definition:`params?: ${t==null?void 0:t.name}`,implementation:`params?: ${t==null?void 0:t.name}`,default:!1,required:!1,type:J.QUERY_PARAM},s=[...r.map(i=>b(g({},i),{type:J.PARAM})),...e.definition?[n]:[],...t?[o]:[]];return Wn(s)};var ai=(e,t,r)=>Promise.all(e.map(async({parameter:n,imports:o})=>{let{name:s,required:a,schema:i}=n,{value:p,imports:m,isEnum:c,type:l,schemas:u,isRef:f}=await Z({schema:i,context:r,name:h(t)+h(s)}),d=je(s);if(o.length)return{definition:`${d}${!a||i.default?"?":""}: ${o[0].name}`,imports:o,schemas:[]};if(c&&!f){let x=h(t)+h(s),R=Re(p,l,x);return{definition:`${d}${!a||i.default?"?":""}: ${x}`,imports:[{name:x}],schemas:[...u,{name:x,model:R,imports:m}]}}return{definition:`${d}${!a||i.default?"?":""}: ${p}`,imports:m,schemas:u}})),_n=async({queryParams:e=[],operationName:t,context:r})=>{if(!e.length)return;let n=await ai(e,t,r),o=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),s=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),a=`${h(t)}Params`,i=n.map(({definition:m})=>m).join("; ");return{schema:{name:a,model:`export type ${a} = { ${i} };
|
|
244
|
-
`,imports:o},deps:s}};var zn=async(e,t,r)=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[]};let n=await ve(Object.entries(e),t,r,"void"),o=n.reduce((m,c)=>c.key.startsWith("2")?b(g({},m),{success:[...m.success,c]}):b(g({},m),{errors:[...m.errors,c]}),{success:[],errors:[]}),s=n.reduce((m,{imports:c=[]})=>[...m,...c],[]),a=n.reduce((m,{schemas:c=[]})=>[...m,...c],[]),i=o.success.map(({value:m,formData:c})=>c?"Blob":m).join(" | "),p=o.errors.map(({value:m})=>m).join(" | ");return{imports:s,definition:{success:i||"unknown",errors:p||"unknown"},isBlob:i==="Blob",types:o,schemas:a}};var Qn=O(require("chalk"));var re=O(require("upath")),Ln=O(require("validator/lib/isURL"));var Jt=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var z=(e,t)=>{let r=(0,re.relative)(e,t);return(0,re.normalizeSafe)(`.${re.sep}${r}`)},Ot=(e,t)=>{if((0,Ln.default)(e)){let r=new URL(t);return e.replace(r.origin,"").replace(v(r.pathname).dirname,"").replace(`.${Jt(e)}`,"")}return"/"+(0,re.normalize)((0,re.relative)(v(t).dirname,e)).split("../").join("").replace(`.${Jt(e)}`,"")};var ii=(e,t)=>{let r=v(e),n=v(t.path),{pathWithoutExtension:o}=v(z(r.dirname,n.path));return o},Xt=async({output:e,mutator:t,name:r})=>{if(!t||!e)return;let n=t.default,o=t.name?t.name:`${r}Mutator`,s=t.path,{file:a}=await it(s,{isDefault:!1}),i=a[n?"default":t.name];i||(_().error(Qn.default.red(`Your mutator file doesn't have the ${n?"default":t.name} exported function`)),process.exit(1));let p=ii(e,t);return{name:o,path:p,default:n,mutatorFn:i}};var pi=async({verb:e,output:t,operation:r,route:n,verbParameters:o=[],context:s})=>{var be;let{responses:a,requestBody:i,parameters:p,tags:m=[]}=r,c=En(r,n,e),l=t.override.operations[r.operationId],u=Object.entries(t.override.tags).reduce((De,[Xe,Ze])=>m.includes(Xe)?he(De,Ze):De,{}),f=g(g(g({},t.override),u),l),d=(l==null?void 0:l.operationName)||((be=t.override)==null?void 0:be.operationName),y=d?d(r,n,e):$(c),x=await zn(a,c,s),R=await Fn(i,c,s),T=await Nn({parameters:[...o,...p||[]],context:s}),G=await _n({queryParams:T.query,operationName:y,context:s}),w=await Vn({route:n,pathParams:T.path,operationId:c,context:s}),C=Bn({body:R,queryParams:G==null?void 0:G.schema,params:w}),D=await Xt({output:t.target,name:y,mutator:f==null?void 0:f.mutator}),I=A(f==null?void 0:f.formData)||q(f==null?void 0:f.formData)?await Xt({output:t.target,name:y,mutator:f.formData}):void 0,V={verb:e,tags:m,summary:r.summary,operationId:c,operationName:y,response:x,body:R,queryParams:G,params:w,props:C,mutator:D,formData:I,override:f},se=await tt(f==null?void 0:f.transformer,s.workspace);return se?se(V):V},Kn=({verbs:e,output:t,route:r,context:n})=>j(Object.entries(e),async(o,[s,a])=>{if(!Dr(s))return o;let i=await pi({verb:s,output:t,verbParameters:e.parameters,route:r,operation:a,context:n});return[...o,i]},[]);var Un=async({output:e,context:t})=>j(Object.entries(t.specs[t.specKey].paths),async(r,[n,o])=>{let s=Lr(n),a=await Kn({verbs:o,output:e,route:s,context:t}),i=a.reduce((m,{queryParams:c,body:l,response:u})=>[...m,...c?[c.schema,...c.deps]:[],...l.schemas,...u.schemas],[]),p=await In(e.client,a,{route:s,pathRoute:n,override:e.override,context:t,mock:!!e.mock});return{schemas:[...r.schemas,...i],operations:g(g({},r.operations),p)}},{operations:{},schemas:[]});var Ss=O(fr());var gr=(e={},t,r)=>(0,Ss.default)(e)?Promise.resolve([]):j(Object.entries(e),async(n,[o,s])=>{let a=await ve([[r,s]],o,t,"void"),i=a.reduce((f,{imports:d=[]})=>[...f,...d],[]),p=a.reduce((f,{schemas:d=[]})=>[...f,...d],[]),m=a.map(({value:f})=>f).join(" | "),c=`${h(o)}${r}`,u=`${U(s)}export type ${c} = ${m||"unknown"};
|
|
245
|
-
`;return[...n,...p,...c!==m?[{name:c,model:u,imports:i}]:[]]},[]);var $s=(e={},t,r)=>j(Object.entries(e),async(n,[o,s])=>{let a=`${o}${r}`,{schema:i,imports:p}=await E(s,t);if(i.in!=="query")return n;if(!i.schema||p.length)return[...n,{name:a,imports:p.length?[{name:p[0].name,specKey:p[0].specKey,schemaName:p[0].schemaName}]:[],model:`export type ${a} = ${p.length?p[0].name:"unknown"};
|
|
246
|
-
`}];let m=await X({schema:i.schema,propName:a,context:t}),l=`${U(s)}export type ${a} = ${m.value||"unknown"};
|
|
247
|
-
`;return[...n,...m.schemas,...a!==m.value?[{name:a,model:l,imports:m.imports}]:[]]},[]);var js=O(fr());var ws=async({name:e,schema:t,context:r,suffix:n})=>{let o=await bt({item:t,name:e,context:r}),s=o.value==="{}",a=h(e)+n,i="";i+=U(t),s&&(i+=`// tslint:disable-next-line:no-empty-interface
|
|
248
|
-
`),Se.includes(o.value)?i+=`export type ${a} = ${o.value};
|
|
249
|
-
`:i+=`export interface ${a} ${o.value}
|
|
250
|
-
`;let p=o.imports.filter(m=>m.name!==a);return[...o.schemas,{name:a,model:i,imports:p}]};var Rs=async(e={},t,r)=>(0,js.default)(e)?[]:j(Object.entries(e),async(o,[s,a])=>{if((!a.type||a.type==="object")&&!a.allOf&&!a.oneOf&&!M(a)&&!a.nullable)return[...o,...await ws({name:s,schema:a,context:t,suffix:r})];{let i=await Z({schema:a,name:s,context:t}),p="",m=h(s)+r,c=i.imports;if(p+=U(a),i.isEnum&&!i.isRef)p+=Re(i.value,i.type,m);else if(m===i.value&&i.isRef){let l=i.imports.find(u=>u.name===m);if(!l)p+=`export type ${m} = ${i.value};
|
|
251
|
-
`;else{let u=(l==null?void 0:l.specKey)?`${h(Ot(l.specKey,t.specKey))}${i.value}`:`${i.value}Bis`;p+=`export type ${m} = ${u};
|
|
252
|
-
`,c=c.map(f=>f.name===m?b(g({},f),{alias:u}):f)}}else p+=`export type ${m} = ${i.value};
|
|
253
|
-
`;return[...o,...i.schemas,{name:m,model:p,imports:c}]}},[]);var vs=O(require("ibm-openapi-validator"));var Gs=async e=>{let{errors:t,warnings:r}=await(0,vs.default)(e);r.length&&kr(r),t.length&&Fr(t)};var Um=async({specs:e,input:t,workspace:r})=>{var o;let n=((o=t.override)==null?void 0:o.transformer)?await tt(t.override.transformer,r):void 0;return j(Object.entries(e),async(s,[a,i])=>{let p=await Br(i,t.converterOptions,a),m=n?n(p):p;return t.validation&&await Gs(m),b(g({},s),{[a]:m})},{})},dr=async({data:e,input:t,output:r,path:n,workspace:o})=>{let s=await Um({specs:e,input:t,workspace:o}),a=await j(Object.entries(s),async(p,[m,c])=>{var x,R,T,G;let l={specKey:m,workspace:o,specs:s,override:r.override},u=await Rs((x=c.components)==null?void 0:x.schemas,l,r.override.components.schemas.suffix),f=await gr((R=c.components)==null?void 0:R.responses,l,r.override.components.responses.suffix),d=await gr((T=c.components)==null?void 0:T.requestBodies,l,r.override.components.requestBodies.suffix),y=await $s((G=c.components)==null?void 0:G.parameters,l,r.override.components.parameters.suffix);return b(g({},p),{[m]:[...u,...f,...d,...y]})},{}),i=await Un({output:r,context:{specKey:n,workspace:o,specs:s,override:r.override}});return b(g({},i),{schemas:b(g({},a),{[n]:[...a[n],...i.schemas]}),rootSpecKey:n,info:s[n].info})};var Hm=async(e,t,r)=>{let n=(await Ps.default.resolve(e,t)).values();return r?n:Object.fromEntries(Object.entries(n).map(([o,s])=>[(0,Ts.resolve)(o),s]))},Cs=async(e,t)=>{let{input:r,output:n}=t;if(q(r.target))return dr({data:{[e]:r.target},input:r,output:n,path:e,workspace:e});let o=(0,Ms.default)(r.target),s=await Hm(r.target,r.parserOptions,o);return dr({data:s,input:r,output:n,path:r.target,workspace:e})};var Ns=O(require("fs-extra")),xr=O(require("upath"));var de=O(require("fs-extra")),br=O(require("upath"));var Ym="orval",Jm="A swagger client generator for typescript",Xm="6.0.0-alpha.2",Zm="MIT",ec=["dist"],tc={orval:"dist/bin/orval.js"},rc="dist/index.js",nc=["rest","client","swagger","open-api","fetch","data fetching","code-generation","angular","react","react-query","svelte","svelte-query","vue","vue-query","msw","mock","axios","vue-query","vue","swr"],oc={name:"Victor Bury",email:"bury.victor@gmail.com"},sc={type:"git",url:"https://github.com/anymaniax/orval"},ac={build:"tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts --no-splitting",dev:"tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api' --no-splitting",lint:"eslint src/**/*.ts",format:"prettier --write 'src/**/*.{js,ts}'",release:"dotenv release-it","generate-api":"node ./dist/bin/orval.js --config ./samples/react-app-with-react-query/orval.config.ts --watch",prepare:"husky install",commitlint:"commitlint"},ic={"@commitlint/cli":"^13.1.0","@commitlint/config-conventional":"^13.1.0","@release-it/conventional-changelog":"^3.3.0","@types/chalk":"^2.2.0","@types/commander":"^2.12.2","@types/faker":"^5.5.8","@types/fs-extra":"^9.0.12","@types/inquirer":"^7.3.3","@types/lodash.get":"^4.4.6","@types/lodash.omitby":"^4.6.6","@types/lodash.uniq":"^4.5.6","@types/lodash.uniqby":"^4.7.6","@types/lodash.uniqwith":"^4.5.6","@types/node":"^16.7.8","@types/request":"^2.48.7","@types/validator":"^13.6.3","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","dotenv-cli":"^4.0.0",eslint:"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0",faker:"^5.5.3",husky:"^7.0.2","lint-staged":"^11.1.2","npm-run-all":"^4.1.5",prettier:"^2.3.2","release-it":"^14.11.5",rimraf:"^3.0.2",tsup:"^4.14.0",typescript:"^4.4.2"},pc={"@apidevtools/swagger-parser":"^10.0.3","@swc/core":"^1.2.78",chalk:"^4.1.2",chokidar:"^3.5.2",commander:"^8.1.0",cuid:"^2.1.8",debug:"^4.3.2",esutils:"2.0.3","fs-extra":"^10.0.0",globby:"11.0.4","ibm-openapi-validator":"^0.46.4",inquirer:"^8.1.2","lodash.get":"^4.4.2","lodash.omitby":"^4.6.0","lodash.uniq":"^4.5.0","lodash.uniqby":"^4.7.0","lodash.uniqwith":"^4.5.0","openapi3-ts":"^2.0.1",swagger2openapi:"^7.0.8",upath:"^2.0.1",url:"^0.11.0",validator:"^13.6.0"},yr={name:Ym,description:Jm,version:Xm,license:Zm,files:ec,bin:tc,main:rc,keywords:nc,author:oc,repository:sc,scripts:ac,devDependencies:ic,dependencies:pc};var ee=({title:e,description:t,version:r})=>`/*
|
|
254
|
-
* Generated by ${yr.name} v${yr.version} \u{1F37A}
|
|
255
|
-
* Do not edit manually.
|
|
256
|
-
${e?` * ${e}
|
|
257
|
-
`:""}${t?` * ${t}
|
|
258
|
-
`:""}${r?` * OpenAPI spec version: ${r}`:""}
|
|
259
|
-
*/
|
|
260
|
-
`;var mc=({info:e,schema:{imports:t,model:r},rootSpecKey:n,isRootKey:o,specsName:s})=>{let a=ee(e);return a+=Ur({imports:t,rootSpecKey:n,isRootKey:o,specsName:s}),a+=t.length?`
|
|
261
|
-
|
|
262
|
-
`:`
|
|
263
|
-
`,a+=r,a},Or=(e,t)=>(0,br.join)(e,`/${t}.ts`);var cc=async({path:e,info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s})=>{let a=$(r.name);try{await(0,de.outputFile)(Or(e,a),mc({info:t,schema:r,rootSpecKey:n,isRootKey:o,specsName:s}));let i=Or(e,"index"),m=(await(0,de.readFile)(i)).toString();!m.includes(`export * from './${a}'`)&&!m.includes(`export * from "./${a}"`)&&await(0,de.appendFile)(Or(e,"index"),`export * from './${a}';
|
|
264
|
-
`)}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${a} => ${i}`}},Is=async({schemaPath:e,schemas:t,info:r,rootSpecKey:n,isRootKey:o,specsName:s})=>(await(0,de.ensureFile)((0,br.join)(e,"/index.ts")),Promise.all(t.map(a=>cc({path:e,info:r,schema:a,rootSpecKey:n,isRootKey:o,specsName:s}))));var qs=O(require("fs-extra")),Ds=O(require("upath"));var uc=(e,t)=>e+`${t}
|
|
265
|
-
`,ye=e=>Object.values(e).reduce((r,n)=>[...r,...n],[]).reduce((r,{model:n})=>uc(r,n),"");var xt=(e,t,r)=>{let n=Object.values(e).map(({operationName:a})=>a),o=(r==null?void 0:r.client)===L.ANGULAR,s=Object.values(e).reduce((a,i,p,m)=>{var c;if(a.imports=[...a.imports,...i.imports],a.importsMSW=[...a.importsMSW,...i.importsMSW],a.implementation+=i.implementation,a.implementationMSW.function+=i.implementationMSW.function,a.implementationMSW.handler+=i.implementationMSW.handler,i.mutator&&(a.mutators=[...a.mutators,i.mutator]),i.formData&&(a.formData=[...a.formData,i.formData]),p===m.length-1){let l=!!((c=a.mutators)==null?void 0:c.some(d=>d.mutatorFn.length>(o?2:1))),u=gt({outputClient:r.client,isRequestOptions:r.override.requestOptions!==!1,isMutator:l,isGlobalMutator:!!r.override.mutator,title:h(t.title),customTitleFunc:r.override.title,provideInRoot:r.override.angular.provideInRoot});a.implementation=u.implementation+a.implementation,a.implementationMSW.handler=u.implementationMSW+a.implementationMSW.handler;let f=dt(r==null?void 0:r.client,n);a.implementation+=f.implementation,a.implementationMSW.handler+=f.implementationMSW,a.imports=a.imports}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],formData:[]});return b(g({},s),{implementationMSW:s.implementationMSW.function+s.implementationMSW.handler})};var As=async({workspace:e,operations:t,schemas:r,info:n,output:o,specsName:s})=>{try{let{path:a,dirname:i}=v(o.target,{backupFilename:$(n.title)}),{imports:p,importsMSW:m,implementation:c,implementationMSW:l,mutators:u,formData:f}=xt(t,n,o),d=ee(n),y=o.schemas?z(i,v((0,Ds.join)(e,o.schemas)).dirname):void 0;return d+=ge(o.client,c,y?[{exports:p,dependency:y}]:[],s),o.mock&&(d+=fe(l,y?[{exports:m,dependency:y}]:[],s)),o.schemas||(d+=ye(r)),u&&(d+=K(u)),f&&(d+=K(f)),d+=`
|
|
266
|
-
|
|
267
|
-
${c}`,o.mock&&(d+=`
|
|
268
|
-
|
|
269
|
-
`,d+=l),await(0,qs.outputFile)(a,d),[a]}catch(a){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${a}`}};var St=O(require("fs-extra")),Ce=O(require("upath"));var ks=async({operations:e,schemas:t,info:r,output:n,specsName:o})=>{try{let{filename:s,dirname:a,extension:i}=v(n.target,{backupFilename:$(r.title)}),{imports:p,implementation:m,implementationMSW:c,importsMSW:l,mutators:u,formData:f}=xt(e,r,n),d=ee(r),y=d,x=d,R=n.schemas?z(a,v(n.schemas).dirname):"./"+s+".schemas";y+=ge(n.client,m,[{exports:p,dependency:R}],o),x+=fe(c,[{exports:[...p,...l],dependency:R}],o);let T=n.schemas?void 0:(0,Ce.join)(a,s+".schemas"+i);if(T){let C=d+ye(t);await(0,St.outputFile)((0,Ce.join)(a,s+".schemas"+i),C)}u&&(y+=K(u)),f&&(y+=K(f)),y+=`
|
|
270
|
-
${m}`,x+=`
|
|
271
|
-
${c}`;let G=s+(L.ANGULAR===n.client?".service":"")+i,w=(0,Ce.join)(a,G);return await(0,St.outputFile)((0,Ce.join)(a,G),y),n.mock&&await(0,St.outputFile)((0,Ce.join)(a,s+".msw"+i),x),[w,...T?[T]:[]]}catch(s){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${s}`}};var wt=O(require("fs-extra")),Ye=O(require("upath"));var lc=e=>b(g({},e),{tags:e.tags.length?e.tags:["default"]}),fc=(e,t)=>t.tags.reduce((r,n)=>{let o=r[n];return o?b(g({},r),{[n]:{implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[...o.mutators||[],t.mutator]:o.mutators,formData:t.formData?[...o.formData||[],t.formData]:o.formData}}):b(g({},r),{[n]:{imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],formData:t.formData?[t.formData]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}}})},e),$t=(e,t)=>{let r=Object.values(e).map(({operationName:s})=>s),n=t.client===L.ANGULAR,o=Object.values(e).map(lc).reduce((s,a,i,p)=>{let m=fc(s,a);if(i===p.length-1){let c=dt(t==null?void 0:t.client,r);return Object.entries(m).reduce((l,[u,f])=>{var x;let d=!!((x=f.mutators)==null?void 0:x.some(R=>R.mutatorFn.length>(n?2:1))),y=gt({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:d,isGlobalMutator:!!t.override.mutator,title:h(u),customTitleFunc:t.override.title,provideInRoot:t.override.angular.provideInRoot});return b(g({},l),{[u]:{implementation:y.implementation+f.implementation+c.implementation,implementationMSW:{function:f.implementationMSW.function,handler:y.implementationMSW+f.implementationMSW.handler+c.implementationMSW},imports:f.imports,importsMSW:f.importsMSW,mutators:f.mutators,formData:f.formData}})},{})}return m},{});return Object.entries(o).reduce((s,[a,i])=>b(g({},s),{[a]:b(g({},i),{implementationMSW:i.implementationMSW.function+i.implementationMSW.handler})}),{})};var Fs=async({operations:e,schemas:t,info:r,output:n,workspace:o,specsName:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:$(r.title)}),m=$t(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:x,mutators:R,formData:T}=u,G=ee(r),w=G,C=G,D=n.schemas?"../"+z(i,v((0,Ye.join)(o,n.schemas)).dirname):"../"+a+".schemas";w+=ge(n.client,d,[{exports:f,dependency:D}],s),C+=fe(y,[{exports:[...f,...x],dependency:D}],s);let I=n.schemas?void 0:(0,Ye.join)(i,a+".schemas"+p);if(I){let be=G+ye(t);await(0,wt.outputFile)(I,be)}R&&(w+=K(R,!0)),T&&(w+=K(T)),w+=`
|
|
272
|
-
${d}`,C+=`
|
|
273
|
-
${y}`;let V=Oe(l)+(L.ANGULAR===n.client?".service":"")+p,se=(0,Ye.join)(i,Oe(l),V);return await(0,wt.outputFile)(se,w),n.mock&&await(0,wt.outputFile)((0,Ye.join)(i,Oe(l),Oe(l)+".msw"+p),C),[se,...I?[I]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var hr=O(require("fs-extra")),jt=O(require("upath"));var Es=async({operations:e,schemas:t,info:r,output:n,workspace:o,specsName:s})=>{let{filename:a,dirname:i,extension:p}=v(n.target,{backupFilename:$(r.title)}),m=$t(e,n);return(await Promise.all(Object.entries(m).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:x,mutators:R,formData:T}=u,G=ee(r),w=G,C=n.schemas?z(i,v((0,jt.join)(o,n.schemas)).dirname):"./"+a+".schemas";w+=ge(n.client,d,[{exports:f,dependency:C}],s),n.mock&&(w+=fe(y,[{exports:x,dependency:C}],s));let D=n.schemas?void 0:(0,jt.join)(i,a+".schemas"+p);if(D){let V=G+ye(t);await(0,hr.outputFile)(D,V)}R&&(w+=K(R)),T&&(w+=K(T)),w+=`
|
|
274
|
-
|
|
275
|
-
`,w+=d,n.mock&&(w+=`
|
|
276
|
-
|
|
277
|
-
`,w+=y);let I=(0,jt.join)(i,`${Oe(l)}${p}`);return await(0,hr.outputFile)(I,w),[I,...D?[D]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).reduce((l,u)=>[...l,...u],[])};var Vs=async({operations:e,schemas:t,rootSpecKey:r,info:n},o,s,a)=>{let{output:i}=s,p=Object.keys(t).reduce((c,l)=>{let f=Ot(l,r).slice(1).split("/").join("-");return b(g({},c),{[l]:f})},{});if(i.schemas){let c=i.schemas;await Promise.all(Object.entries(t).map(([l,u])=>{let f=r===l,d=f?c:(0,xr.join)(c,p[l]);return Is({schemaPath:d,schemas:u,info:n,rootSpecKey:r,specsName:p,isRootKey:f})}))}if(!i.target){qt(a||n.title);return}let m=[];if(i.mode===ke.SINGLE?m=await As({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.SPLIT?m=await ks({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.TAGS?m=await Es({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p}):i.mode===ke.TAGS_SPLIT&&(m=await Fs({workspace:o,operations:e,output:i,info:n,schemas:t,specsName:p})),i.workspace){let c=i.workspace,l=m.map(u=>`export * from '${z(c,v(u).pathWithoutExtension)}';`).join(`
|
|
278
|
-
`);i.schemas&&(l+=`
|
|
279
|
-
export * from '${z(c,v(i.schemas).dirname)}';`),await(0,Ns.outputFile)((0,xr.join)(c,"/index.ts"),l)}qt(a||n.title)};var Sr=e=>{Ar(e),process.exit(1)};var Ie=O(require("chalk")),vt=O(require("upath")),Ls=O(require("validator/lib/isURL"));var oe=O(require("fs-extra")),Rt=O(require("inquirer")),_s=O(require("upath"));var Ws=O(require("https")),Bs=(e,t)=>new Promise((r,n)=>{let o=Ws.default.request(e,s=>{let a="";s.on("data",i=>a+=i.toString()),s.on("error",n),s.on("end",()=>{let i={status:s.statusCode,headers:s.headers,body:JSON.parse(a)};s.statusCode&&s.statusCode>=200&&s.statusCode<=299?r(i):n(i)})});o.on("error",n),t&&o.write(t,"binary"),o.end()});var gc=({accessToken:e,repo:t,owner:r,branch:n,path:o})=>{let s=JSON.stringify({query:`query {
|
|
280
|
-
repository(name: "${t}", owner: "${r}") {
|
|
281
|
-
object(expression: "${n}:${o}") {
|
|
282
|
-
... on Blob {
|
|
283
|
-
text
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}`});return[{method:"POST",hostname:"api.github.com",path:"/graphql",headers:{"content-type":"application/json","user-agent":"orval-importer",authorization:`bearer ${e}`,"Content-Length":s.length}},s]},dc=async e=>{if(await(0,oe.pathExists)(e))return(0,oe.readFile)(e,"utf-8");{let t=await Rt.default.prompt([{type:"input",name:"githubToken",message:"Please provide a GitHub token with `repo` rules checked (https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)"},{type:"confirm",name:"saveToken",message:"Would you like to store your token for the next time? (stored in your node_modules)"}]);return t.saveToken&&await(0,oe.outputFile)(e,t.githubToken),t.githubToken}},yc=async e=>{var m,c,l,u;let t=(0,_s.join)(__dirname,".githubToken"),r=await dc(t),[n]=e.split("github.com/").slice(-1),[o,s,,a,...i]=n.split("/"),p=i.join("/");try{let{body:f}=await Bs(...gc({accessToken:r,repo:s,owner:o,branch:a,path:p}));return((m=f.errors)==null?void 0:m.length)&&((c=f.errors)==null?void 0:c.some(y=>(y==null?void 0:y.type)==="NOT_FOUND"))&&(await Rt.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await(0,oe.unlink)(t),(u=(l=f.data)==null?void 0:l.repository)==null?void 0:u.object.text}catch(f){throw f.body?(f.body.message==="Bad credentials"&&(await Rt.default.prompt([{type:"confirm",name:"removeToken",message:"Your token doesn't have the correct permissions, should we remove it?"}])).removeToken&&await(0,oe.unlink)(t),f.body.message||`Oups... \u{1F37B}. ${f}`):`Oups... \u{1F37B}. ${f}`}},zs={order:199,canRead(e){return e.url.includes("github.com")},read(e){return yc(e.url)}};function Qs(e){return e}var Gt=async(e,t=process.cwd(),r)=>{var p,m,c,l,u,f,d,y,x,R,T,G,w,C,D,I,V,se,be,De,Xe,Ze,$r,wr,jr,Rr;let n=await(W(e)?e():e);n.input||(_().error(Ie.default.red("Config require an input")),process.exit(1)),n.output||(_().error(Ie.default.red("Config require an output")),process.exit(1));let o=A(n.input)?{target:n.input}:n.input,s=A(n.output)?{target:n.output}:n.output,a=qe(s.workspace||"",t),i={input:{target:qe(o.target,t),validation:o.validation||!1,override:{transformer:qe((p=o.override)==null?void 0:p.transformer,t)},converterOptions:o.converterOptions||{},parserOptions:he(bc,o.parserOptions||{})},output:{target:qe(s.target,a),schemas:qe(s.schemas,a),workspace:s.workspace?a:void 0,client:(m=s.client)!=null?m:L.AXIOS,mode:(c=s.mode)!=null?c:"single",mock:(l=s.mock)!=null?l:!1,clean:(u=s.clean||r)!=null?u:!1,override:b(g({},s.override),{operations:Ks(((f=s.override)==null?void 0:f.operations)||{},a),tags:Ks(((d=s.override)==null?void 0:d.tags)||{},a),mutator:Pt(a,(y=s.override)==null?void 0:y.mutator),formData:(G=te((x=s.override)==null?void 0:x.formData)?(T=s.override)==null?void 0:T.formData:Pt(a,(R=s.override)==null?void 0:R.formData))!=null?G:!0,requestOptions:(C=(w=s.override)==null?void 0:w.requestOptions)!=null?C:!0,components:{schemas:g({suffix:Ve.schemas},((I=(D=s.override)==null?void 0:D.components)==null?void 0:I.schemas)||{}),responses:g({suffix:Ve.responses},((se=(V=s.override)==null?void 0:V.components)==null?void 0:se.responses)||{}),parameters:g({suffix:Ve.parameters},((De=(be=s.override)==null?void 0:be.components)==null?void 0:De.parameters)||{}),requestBodies:g({suffix:Ve.requestBodies},((Ze=(Xe=s.override)==null?void 0:Xe.components)==null?void 0:Ze.requestBodies)||{})},query:g({useQuery:!0},(($r=s.override)==null?void 0:$r.query)||{}),angular:{provideInRoot:(Rr=(jr=(wr=s.override)==null?void 0:wr.angular)==null?void 0:jr.provideInRoot)!=null?Rr:!0}})}};return i.input.target||(_().error(Ie.default.red("Config require an input target")),process.exit(1)),!i.output.target&&!i.output.schemas&&(_().error(Ie.default.red("Config require an output target or schemas")),process.exit(1)),i},bc={resolve:{github:zs}},Pt=(e,t)=>{var r;return q(t)?(t.path||(_().error(Ie.default.red("Mutator need a path")),process.exit(1)),b(g({},t),{path:(0,vt.resolve)(e,t.path),default:(r=t.default)!=null?r:!1})):A(t)?{path:(0,vt.resolve)(e,t),default:!0}:t},qe=(e,t)=>A(e)&&!(0,Ls.default)(e)?(0,vt.resolve)(t,e):e,Ks=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,n])=>{var o,s;return[r,b(g(g({},n.transformer?{transformer:qe(n.transformer,t)}:{}),n.mutator?{mutator:Pt(t,n.mutator)}:{}),{formData:(o=te(n.formData)?n.formData:Pt(t,n.formData))!=null?o:!0,requestOptions:(s=n.requestOptions)!=null?s:!0,query:g({useQuery:!0},n.query||{})})]}));var Tt=async(e,t,r=".")=>{if(!e)return;let{watch:n}=await Promise.resolve().then(()=>O(require("chokidar"))),o=["**/{.git,node_modules}/**"],s=typeof e=="boolean"?r:Array.isArray(e)?e.filter(i=>typeof i=="string"):e;B(`Watching for changes in ${Array.isArray(s)?s.map(i=>'"'+i+'"').join(" | "):'"'+s+'"'}`),n(s,{ignorePermissionErrors:!0,ignored:o}).on("all",async(i,p)=>{B(`Change detected: ${i} ${p}`),t()})};var Je=async(e,t,r)=>{try{if(t.output.clean){let o=Array.isArray(t.output.clean)?t.output.clean:[];t.output.target&&await Kt(["**/*","!**/*.d.ts",...o],v(t.output.target).dirname),t.output.schemas&&await Kt(["**/*","!**/*.d.ts",...o],v(t.output.schemas).dirname),B(`${r?`${r}: `:""}Cleaning output folder`)}let n=await Cs(e,t);await Vs(n,e,t,r)}catch(n){Sr(n)}},Hs=async(e,t,r)=>{if(r){let n=e[r];n?Je(t,n,r):Sr("Project not found");return}return Promise.all(Object.entries(e).map(async([n,o])=>Je(t,o,n)))},Ys=async(e,t)=>{let{path:r,file:n}=await it(e,{defaultFileName:"orval.config"}),o=(0,Us.dirname)(r),s=await(W(n)?n():n),a=await j(Object.entries(s),async(i,[p,m])=>b(g({},i),{[p]:await Gt(m,o,t==null?void 0:t.clean)}),{});(t==null?void 0:t.watch)?Tt(t==null?void 0:t.watch,()=>Hs(a,o,t==null?void 0:t.projectName),Object.values(a).map(({input:i})=>i.target).filter(i=>A(i))):Hs(a,o,t==null?void 0:t.projectName)};var Js=async(e,t=process.cwd(),r)=>{if(!e||A(e))return Ys(e,r);let n=await Gt(e,t,r==null?void 0:r.clean);if(r==null?void 0:r.watch)Tt(r==null?void 0:r.watch,()=>Je(process.cwd(),n),n.input.target);else return Je(t,n,r==null?void 0:r.projectName)};var Oc=Js;0&&(module.exports={defineConfig,generate});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDRUW7BRPjs = require('./chunk-DRUW7BRP.js');var l=async(t,r=process.cwd(),e)=>{if(!t||_chunkDRUW7BRPjs.b.call(void 0, t))return _chunkDRUW7BRPjs.h.call(void 0, t,e);let n=await _chunkDRUW7BRPjs.e.call(void 0, t,r,e==null?void 0:e.clean);if(e==null?void 0:e.watch)_chunkDRUW7BRPjs.f.call(void 0, e==null?void 0:e.watch,()=>_chunkDRUW7BRPjs.g.call(void 0, r,n),n.input.target);else return _chunkDRUW7BRPjs.g.call(void 0, r,n)};var b=l;exports.default = b; exports.defineConfig = _chunkDRUW7BRPjs.d; exports.generate = l;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orval",
|
|
3
3
|
"description": "A swagger client generator for typescript",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.2",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"url": "https://github.com/anymaniax/orval"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
|
-
"build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts
|
|
45
|
-
"dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'
|
|
44
|
+
"build": "tsup ./src/bin/orval.ts ./src/index.ts --minify --clean --dts",
|
|
45
|
+
"dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'",
|
|
46
46
|
"lint": "eslint src/**/*.ts",
|
|
47
47
|
"format": "prettier --write 'src/**/*.{js,ts}'",
|
|
48
48
|
"release": "dotenv release-it",
|
|
@@ -86,9 +86,9 @@
|
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@apidevtools/swagger-parser": "^10.0.3",
|
|
88
88
|
"@swc/core": "^1.2.78",
|
|
89
|
+
"cac": "^6.7.3",
|
|
89
90
|
"chalk": "^4.1.2",
|
|
90
91
|
"chokidar": "^3.5.2",
|
|
91
|
-
"commander": "^8.1.0",
|
|
92
92
|
"cuid": "^2.1.8",
|
|
93
93
|
"debug": "^4.3.2",
|
|
94
94
|
"esutils": "2.0.3",
|