@@ -20,7 +20,9 @@ export type Options = {
2020 exportServices ?: boolean ;
2121 exportModels ?: boolean ;
2222 exportSchemas ?: boolean ;
23+ exportClient ?: boolean ;
2324 request ?: string ;
25+ clientName ?: string ;
2426 write ?: boolean ;
2527} ;
2628
@@ -37,6 +39,8 @@ export type Options = {
3739 * @param exportServices: Generate services
3840 * @param exportModels: Generate models
3941 * @param exportSchemas: Generate schemas
42+ * @param exportClient: Generate client class
43+ * @param clientName: Custom client class name
4044 * @param request: Path to custom request file
4145 * @param write Write the files to disk (true or false)
4246 */
@@ -50,6 +54,8 @@ export async function generate({
5054 exportServices = true ,
5155 exportModels = true ,
5256 exportSchemas = false ,
57+ exportClient = false ,
58+ clientName = 'AppClient' ,
5359 request,
5460 write = true ,
5561} : Options ) : Promise < void > {
@@ -64,17 +70,17 @@ export async function generate({
6470 switch ( openApiVersion ) {
6571 case OpenApiVersion . V2 : {
6672 const client = parseV2 ( openApi ) ;
67- const clientFinal = postProcessClient ( client ) ;
73+ const clientFinal = postProcessClient ( client , exportClient ) ;
6874 if ( ! write ) break ;
69- await writeClient ( clientFinal , templates , output , httpClient , useOptions , useUnionTypes , exportCore , exportServices , exportModels , exportSchemas , request ) ;
75+ await writeClient ( clientFinal , templates , output , httpClient , useOptions , useUnionTypes , exportCore , exportServices , exportModels , exportSchemas , exportClient , clientName , request ) ;
7076 break ;
7177 }
7278
7379 case OpenApiVersion . V3 : {
7480 const client = parseV3 ( openApi ) ;
75- const clientFinal = postProcessClient ( client ) ;
81+ const clientFinal = postProcessClient ( client , exportClient ) ;
7682 if ( ! write ) break ;
77- await writeClient ( clientFinal , templates , output , httpClient , useOptions , useUnionTypes , exportCore , exportServices , exportModels , exportSchemas , request ) ;
83+ await writeClient ( clientFinal , templates , output , httpClient , useOptions , useUnionTypes , exportCore , exportServices , exportModels , exportSchemas , exportClient , clientName , request ) ;
7884 break ;
7985 }
8086 }
0 commit comments