Skip to content

Commit abe2dfe

Browse files
committed
feat: useOptions for Parameters separating body to new object.
1 parent 42cce36 commit abe2dfe

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

src/templates/core/BaseHttpRequest.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import type { OpenAPIConfig } from './OpenAPI';
55
import type { CancelablePromise } from './CancelablePromise';
66

77
export class BaseHttpRequest {
8-
readonly openApiConfig: OpenAPIConfig;
8+
readonly openApiConfig: OpenAPIConfig2;
99

10-
constructor(openApiConfig: OpenAPIConfig) {
10+
constructor(openApiConfig: OpenAPIConfig2) {
1111
this.openApiConfig = openApiConfig;
1212
}
1313

src/templates/core/OpenAPI.hbs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,23 @@
33
import type { ApiRequestOptions } from './ApiRequestOptions';
44

55
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
6-
type Headers = Record<string, string>;
76

87
export type OpenAPIConfig = {
98
edge?: string;
109
token?: string | Resolver<string>;
1110
accountSid?: string | Resolver<string>;
1211
authToken?: string | Resolver<string>;
1312
}
13+
14+
export type OpenAPIConfig2 = {
15+
base: string;
16+
version: string;
17+
edge: string;
18+
token?: string | Resolver<string>;
19+
accountSid?: string | Resolver<string>;
20+
authToken?: string | Resolver<string>;
21+
}
22+
1423
{{#unless @root.exportClient}}
1524

1625
export const OpenAPI: OpenAPIConfig = {

src/templates/exportAppClient.hbs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{{>header}}
22

33
import { BaseHttpRequest } from './core/BaseHttpRequest';
4-
import type { OpenAPIConfig } from './core/OpenAPI';
4+
import type { OpenAPIConfig, OpenAPIConfig2 } from './core/OpenAPI';
55
import { {{{httpClientRequest}}} } from './core/{{{httpClientRequest}}}';
66
{{#if services}}
77
{{#each services}}
@@ -18,15 +18,14 @@ export class {{{clientName}}} {{#if service}}extends {{{service.name}}} {{/if}}{
1818
{{/each}}
1919
readonly request: BaseHttpRequest;
2020

21-
constructor(openApiConfig?: OpenAPIConfig, HttpRequest: new (config: OpenAPIConfig) => BaseHttpRequest = {{{httpClientRequest}}}) {
21+
constructor(openApiConfig?: OpenAPIConfig, HttpRequest: new (config: OpenAPIConfig2) => BaseHttpRequest = {{{httpClientRequest}}}) {
2222
{{#if service}}const request{{else}}this.request{{/if}} = new HttpRequest({
2323
base: '{{{server}}}',
2424
edge: openApiConfig?.edge ?? '{{#if server.edgeRegions}}{{server.edgeRegions.[0]}}{{else}}gll{{/if}}',
2525
version: '{{{version}}}',
2626
token: openApiConfig?.token,
2727
accountSid: openApiConfig?.accountSid,
28-
authToken: openApiConfig?.authToken,
29-
headers: openApiConfig?.headers
28+
authToken: openApiConfig?.authToken
3029
});
3130
{{#if service}}
3231
super(request);

src/templates/partials/parameters.hbs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
{{#if parameters}}
22
{{#if @root.useOptions~}}
3+
{{#each parameters}}
4+
{{#equals name 'requestBody'}}{{{name}}}{{>isRequired}}: Writeable<{{>type}}>,{{/equals}}
5+
{{/each}}
36
{
47
{{#each parameters}}
5-
{{{name}}}{{#if default}} = {{{default}}}{{/if}},
8+
{{#notEquals name 'requestBody'}}{{{name}}}{{#if default}} = {{{default}}}{{/if}},{{/notEquals}}
69
{{/each}}
710
}: {
811
{{#each parameters}}
912
{{#if description}}
1013
/** {{{description}}} **/
1114
{{/if}}
12-
{{{name}}}{{>isRequired}}: {{#equals name 'requestBody'}}Writeable<{{>type}}>{{else}}{{>type}}{{/equals}},
15+
{{#notEquals name 'requestBody'}}{{{name}}}{{>isRequired}}: {{>type}},{{/notEquals}}
1316
{{/each}}
1417
}
18+
1519
{{~else}}
1620

1721
{{#each parameters}}

0 commit comments

Comments
 (0)