Skip to content

Commit 1d08cd1

Browse files
committed
Define type of Response, per implementation
1 parent cace20c commit 1d08cd1

File tree

5 files changed

+16
-1
lines changed

5 files changed

+16
-1
lines changed

src/templates/core/OpenAPI.hbs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{{>header}}
22

3+
4+
{{#equals @root.httpClient 'fetch'}}{{>fetch/responseType}}{{/equals}}
5+
{{#equals @root.httpClient 'xhr'}}{{>xhr/responseType}}{{/equals}}
6+
{{#equals @root.httpClient 'node'}}{{>node/responseType}}{{/equals}}
7+
38
type Resolver<T> = () => Promise<T>;
49
type Headers = Record<string, string>;
510

@@ -14,7 +19,7 @@ export interface RequestHookParams {
1419
export interface ResponseHookParams {
1520
url: string;
1621
result: ApiResult;
17-
response?: any;
22+
response?: ResponseImplementation;
1823
}
1924

2025
type Config = {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
type ResponseImplementation = Response;
2+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import { Response as ResponseImplementation } from 'node-fetch';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type ResponseImplementation = XMLHttpRequest;

src/utils/registerHandlebarTemplates.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import fetchGetResponseBody from '../templates/core/fetch/getResponseBody.hbs';
99
import fetchGetResponseHeader from '../templates/core/fetch/getResponseHeader.hbs';
1010
import fetchRequest from '../templates/core/fetch/request.hbs';
1111
import fetchSendRequest from '../templates/core/fetch/sendRequest.hbs';
12+
import fetchResponseType from '../templates/core/fetch/responseType.hbs';
1213
import functionCatchErrors from '../templates/core/functions/catchErrors.hbs';
1314
import functionGetFormData from '../templates/core/functions/getFormData.hbs';
1415
import functionGetQueryString from '../templates/core/functions/getQueryString.hbs';
@@ -26,6 +27,7 @@ import nodeGetResponseBody from '../templates/core/node/getResponseBody.hbs';
2627
import nodeGetResponseHeader from '../templates/core/node/getResponseHeader.hbs';
2728
import nodeRequest from '../templates/core/node/request.hbs';
2829
import nodeSendRequest from '../templates/core/node/sendRequest.hbs';
30+
import nodeResponseType from '../templates/core/node/responseType.hbs';
2931
import templateCoreSettings from '../templates/core/OpenAPI.hbs';
3032
import templateCoreRequest from '../templates/core/request.hbs';
3133
import xhrGetHeaders from '../templates/core/xhr/getHeaders.hbs';
@@ -34,6 +36,7 @@ import xhrGetResponseBody from '../templates/core/xhr/getResponseBody.hbs';
3436
import xhrGetResponseHeader from '../templates/core/xhr/getResponseHeader.hbs';
3537
import xhrRequest from '../templates/core/xhr/request.hbs';
3638
import xhrSendRequest from '../templates/core/xhr/sendRequest.hbs';
39+
import xhrResponseType from '../templates/core/xhr/responseType.hbs';
3740
import templateExportModel from '../templates/exportModel.hbs';
3841
import templateExportSchema from '../templates/exportSchema.hbs';
3942
import templateExportService from '../templates/exportService.hbs';
@@ -154,6 +157,7 @@ export function registerHandlebarTemplates(): Templates {
154157
Handlebars.registerPartial('fetch/getResponseHeader', Handlebars.template(fetchGetResponseHeader));
155158
Handlebars.registerPartial('fetch/sendRequest', Handlebars.template(fetchSendRequest));
156159
Handlebars.registerPartial('fetch/request', Handlebars.template(fetchRequest));
160+
Handlebars.registerPartial('fetch/responseType', Handlebars.template(fetchResponseType));
157161

158162
// Specific files for the xhr client implementation
159163
Handlebars.registerPartial('xhr/getHeaders', Handlebars.template(xhrGetHeaders));
@@ -162,6 +166,7 @@ export function registerHandlebarTemplates(): Templates {
162166
Handlebars.registerPartial('xhr/getResponseHeader', Handlebars.template(xhrGetResponseHeader));
163167
Handlebars.registerPartial('xhr/sendRequest', Handlebars.template(xhrSendRequest));
164168
Handlebars.registerPartial('xhr/request', Handlebars.template(xhrRequest));
169+
Handlebars.registerPartial('xhr/responseType', Handlebars.template(xhrResponseType));
165170

166171
// Specific files for the node client implementation
167172
Handlebars.registerPartial('node/getHeaders', Handlebars.template(nodeGetHeaders));
@@ -170,6 +175,7 @@ export function registerHandlebarTemplates(): Templates {
170175
Handlebars.registerPartial('node/getResponseHeader', Handlebars.template(nodeGetResponseHeader));
171176
Handlebars.registerPartial('node/sendRequest', Handlebars.template(nodeSendRequest));
172177
Handlebars.registerPartial('node/request', Handlebars.template(nodeRequest));
178+
Handlebars.registerPartial('node/responseType', Handlebars.template(nodeResponseType));
173179

174180
return templates;
175181
}

0 commit comments

Comments
 (0)