Skip to content

Commit 89d73f6

Browse files
committed
[typescript-fetch] refactor: add type alias
1 parent f0fad97 commit 89d73f6

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export interface {{classname}}Interface {
5252
* @throws {RequiredError}
5353
* @memberof {{classname}}Interface
5454
*/
55-
{{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>>;
55+
{{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>>;
5656
5757
/**
5858
{{#notes}}
@@ -63,10 +63,10 @@ export interface {{classname}}Interface {
6363
{{/summary}}
6464
*/
6565
{{^useSingleRequestParameter}}
66-
{{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>;
66+
{{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>;
6767
{{/useSingleRequestParameter}}
6868
{{#useSingleRequestParameter}}
69-
{{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>;
69+
{{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}>;
7070
{{/useSingleRequestParameter}}
7171
7272
{{/operation}}
@@ -94,7 +94,7 @@ export class {{classname}} extends runtime.BaseAPI {
9494
* {{&summary}}
9595
{{/summary}}
9696
*/
97-
async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
97+
async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
9898
{{#allParams}}
9999
{{#required}}
100100
if (requestParameters.{{paramName}} === null || requestParameters.{{paramName}} === undefined) {
@@ -334,7 +334,7 @@ export class {{classname}} extends runtime.BaseAPI {
334334
{{/summary}}
335335
*/
336336
{{^useSingleRequestParameter}}
337-
async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
337+
async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}, {{/allParams}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
338338
{{#returnType}}
339339
const response = await this.{{nickname}}Raw({{#allParams.0}}{ {{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}} }, {{/allParams.0}}initOverrides);
340340
return await response.value();
@@ -345,7 +345,7 @@ export class {{classname}} extends runtime.BaseAPI {
345345
}
346346
{{/useSingleRequestParameter}}
347347
{{#useSingleRequestParameter}}
348-
async {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}initOverrides?: RequestInit | ((requestContext: { init: runtime.HTTPRequestInit, context: runtime.RequestOpts }) => Promise<RequestInit>)): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
348+
async {{nickname}}({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request{{^hasRequiredParams}} = {}{{/hasRequiredParams}}, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverideFunction): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
349349
{{#returnType}}
350350
const response = await this.{{nickname}}Raw({{#allParams.0}}requestParameters, {{/allParams.0}}initOverrides);
351351
return await response.value();

modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export class BaseAPI {
102102
return this.withMiddleware<T>(...middlewares);
103103
}
104104

105-
protected async request(context: RequestOpts, initOverrides?: RequestInit | ((requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>)): Promise<Response> {
105+
protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction): Promise<Response> {
106106
const { url, init } = await this.createFetchParams(context, initOverrides);
107107
const response = await this.fetchApi(url, init);
108108
if (response.status >= 200 && response.status < 300) {
@@ -111,7 +111,7 @@ export class BaseAPI {
111111
throw new ResponseError(response, 'Response returned an error code');
112112
}
113113

114-
private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | ((requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>)) {
114+
private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverideFunction) {
115115
let url = this.configuration.basePath + context.path;
116116
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
117117
// only add the querystring to the URL if there are query parameters.
@@ -123,7 +123,7 @@ export class BaseAPI {
123123
const headers = Object.assign({}, this.configuration.headers, context.headers);
124124
Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
125125

126-
const initOverrideFn: (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit> = typeof initOverrides === "function" ? initOverrides : async (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => ({...requestContext.init, ...initOverrides});
126+
const initOverrideFn: InitOverideFunction = typeof initOverrides === "function" ? initOverrides : async (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => ({...requestContext.init, ...initOverrides});
127127

128128
const initWithOverride = await initOverrideFn({
129129
init: {
@@ -138,8 +138,8 @@ export class BaseAPI {
138138
const init: RequestInit = {
139139
...initWithOverride,
140140
body: ((typeof FormData !== "undefined" && initWithOverride.body instanceof FormData) || initWithOverride.body instanceof URLSearchParams || isBlob(initWithOverride.body))
141-
? initWithOverride.body
142-
: JSON.stringify(initWithOverride.body)
141+
? initWithOverride.body
142+
: JSON.stringify(initWithOverride.body)
143143
}
144144

145145
return { url, init };
@@ -216,6 +216,8 @@ export type HTTPBody = Json | FormData | URLSearchParams;
216216
export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody }
217217
export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
218218

219+
export type InitOverideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>
220+
219221
export interface FetchParams {
220222
url: string;
221223
init: RequestInit;

0 commit comments

Comments
 (0)