Skip to content

Commit 3857267

Browse files
authored
fix: base url (#102)
1 parent 895f7a7 commit 3857267

16 files changed

+1101
-1060
lines changed

.github/workflows/build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
- name: Test & Build
3636
run: |
3737
pnpm build
38+
pnpm test:code:gen
3839
pnpm test
3940
env:
4041
CI: true

jest.config.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* @type {import("@jest/types").Config.InitialOptions}
3+
*/
14
module.exports = {
25
automock: false,
36
moduleFileExtensions: ["js", "json", "jsx", "ts", "tsx", "node"],

jest.snapshot.config.js

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1+
/**
2+
* @type {import("@jest/types").Config.InitialOptions}
3+
*/
14
module.exports = {
25
automock: false,
3-
globals: {
4-
"ts-jest": {
5-
tsconfig: "tsconfig.test.json",
6-
diagnostics: false,
7-
},
8-
},
96
moduleFileExtensions: ["js", "json", "jsx", "ts", "tsx", "node"],
107
roots: ["<rootDir>/test"],
118
testEnvironment: "node",
129
testMatch: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[tj]s?(x)"],
1310
transform: {
14-
"^.+\\.tsx?$": "ts-jest",
11+
"^.+\\.(t|j)sx?$": [
12+
"@swc/jest",
13+
{
14+
jsc: {
15+
parser :{
16+
syntax: "typescript"
17+
}
18+
}
19+
},
20+
],
1521
},
1622
unmockedModulePathPatterns: ["<rootDir>/node_modules/*"],
1723
};

src/code-templates/_shared/MethodBody/PathParameter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const generateUrlVariableStatement = (
2424
expression: "this",
2525
}),
2626
function: factory.Identifier.create({
27-
name: "baseUrl",
27+
name: "_baseUrl",
2828
}),
2929
};
3030
return factory.VariableStatement.create({

src/code-templates/functional-api-client/FunctionalApiClient/index.ts

+20-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,26 @@ export const create = (factory: TsGenerator.Factory.Type, list: CodeGenerator.Pa
5050
}),
5151
],
5252
body: factory.Block.create({
53-
statements: [returnValue],
53+
statements: [
54+
factory.VariableStatement.create({
55+
declarationList: factory.VariableDeclarationList.create({
56+
flag: "const",
57+
declarations: [
58+
factory.VariableDeclaration.create({
59+
name: "_baseUrl",
60+
initializer: factory.CallExpression.create({
61+
expression: factory.PropertyAccessExpression.create({
62+
expression: "baseUrl",
63+
name: "replace",
64+
}),
65+
argumentsArray: [factory.RegularExpressionLiteral.create({ text: "/\\/$/" }), factory.StringLiteral.create({ text: "" })],
66+
}),
67+
}),
68+
],
69+
}),
70+
}),
71+
returnValue,
72+
],
5473
multiLine: true,
5574
}),
5675
});

src/internal/TsGenerator/factory/IndexSignatureDeclaration.ts

-2
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,10 @@ export const create =
1313
({ factory }: Pick<ts.TransformationContext, "factory">): Factory["create"] =>
1414
(params: Params$Create): ts.IndexSignatureDeclaration => {
1515
const node = factory.createIndexSignature(
16-
undefined,
1716
undefined,
1817
// TODO Feature Development: Refactoring
1918
[
2019
factory.createParameterDeclaration(
21-
undefined,
2220
undefined,
2321
undefined,
2422
factory.createIdentifier(params.name),

src/internal/TsGenerator/factory/ParameterDeclaration.ts

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export const create =
2424
return;
2525
})();
2626
const node = factory.createParameterDeclaration(
27-
undefined,
2827
modifiers,
2928
undefined,
3029
factory.createIdentifier(params.name),

src/meta.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export const Name = "@himenon/openapi-typescript-code-generator";
2-
export const Version = "0.22.1";
2+
export const Version = "0.22.2";

test/__tests__/functional/__snapshots__/argo-rollout-test.ts.snap

+13-12
Original file line numberDiff line numberDiff line change
@@ -3830,92 +3830,93 @@ export interface ApiClient<RequestOption> {
38303830
request: <T = SuccessResponses>(httpMethod: HttpMethod, url: string, headers: ObjectLike | any, requestBody: ObjectLike | any, queryParameters: QueryParameters | undefined, options?: RequestOption) => Promise<T>;
38313831
}
38323832
export const createClient = <RequestOption>(apiClient: ApiClient<RequestOption>, baseUrl: string) => {
3833+
const _baseUrl = baseUrl.replace(/\\/$/, "");
38333834
return {
38343835
RolloutService_GetNamespace: (option?: RequestOption): Promise<Response$RolloutService_GetNamespace$Status$200["application/json"]> => {
3835-
const url = baseUrl + \`/api/v1/namespace\`;
3836+
const url = _baseUrl + \`/api/v1/namespace\`;
38363837
const headers = {
38373838
Accept: "application/json"
38383839
};
38393840
return apiClient.request("GET", url, headers, undefined, undefined, option);
38403841
},
38413842
RolloutService_ListRolloutInfos: (params: Params$RolloutService_ListRolloutInfos, option?: RequestOption): Promise<Response$RolloutService_ListRolloutInfos$Status$200["application/json"]> => {
3842-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/info\`;
3843+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/info\`;
38433844
const headers = {
38443845
Accept: "application/json"
38453846
};
38463847
return apiClient.request("GET", url, headers, undefined, undefined, option);
38473848
},
38483849
RolloutService_WatchRolloutInfos: (params: Params$RolloutService_WatchRolloutInfos, option?: RequestOption): Promise<Response$RolloutService_WatchRolloutInfos$Status$200["application/json"]> => {
3849-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/info/watch\`;
3850+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/info/watch\`;
38503851
const headers = {
38513852
Accept: "application/json"
38523853
};
38533854
return apiClient.request("GET", url, headers, undefined, undefined, option);
38543855
},
38553856
RolloutService_AbortRollout: (params: Params$RolloutService_AbortRollout, option?: RequestOption): Promise<Response$RolloutService_AbortRollout$Status$200["application/json"]> => {
3856-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/abort\`;
3857+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/abort\`;
38573858
const headers = {
38583859
"Content-Type": "application/json",
38593860
Accept: "application/json"
38603861
};
38613862
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
38623863
},
38633864
RolloutService_GetRolloutInfo: (params: Params$RolloutService_GetRolloutInfo, option?: RequestOption): Promise<Response$RolloutService_GetRolloutInfo$Status$200["application/json"]> => {
3864-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/info\`;
3865+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/info\`;
38653866
const headers = {
38663867
Accept: "application/json"
38673868
};
38683869
return apiClient.request("GET", url, headers, undefined, undefined, option);
38693870
},
38703871
RolloutService_WatchRolloutInfo: (params: Params$RolloutService_WatchRolloutInfo, option?: RequestOption): Promise<Response$RolloutService_WatchRolloutInfo$Status$200["application/json"]> => {
3871-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/info/watch\`;
3872+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/info/watch\`;
38723873
const headers = {
38733874
Accept: "application/json"
38743875
};
38753876
return apiClient.request("GET", url, headers, undefined, undefined, option);
38763877
},
38773878
RolloutService_PromoteRollout: (params: Params$RolloutService_PromoteRollout, option?: RequestOption): Promise<Response$RolloutService_PromoteRollout$Status$200["application/json"]> => {
3878-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/promote\`;
3879+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/promote\`;
38793880
const headers = {
38803881
"Content-Type": "application/json",
38813882
Accept: "application/json"
38823883
};
38833884
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
38843885
},
38853886
RolloutService_RestartRollout: (params: Params$RolloutService_RestartRollout, option?: RequestOption): Promise<Response$RolloutService_RestartRollout$Status$200["application/json"]> => {
3886-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/restart\`;
3887+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/restart\`;
38873888
const headers = {
38883889
"Content-Type": "application/json",
38893890
Accept: "application/json"
38903891
};
38913892
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
38923893
},
38933894
RolloutService_RetryRollout: (params: Params$RolloutService_RetryRollout, option?: RequestOption): Promise<Response$RolloutService_RetryRollout$Status$200["application/json"]> => {
3894-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/retry\`;
3895+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.name}/retry\`;
38953896
const headers = {
38963897
"Content-Type": "application/json",
38973898
Accept: "application/json"
38983899
};
38993900
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
39003901
},
39013902
RolloutService_SetRolloutImage: (params: Params$RolloutService_SetRolloutImage, option?: RequestOption): Promise<Response$RolloutService_SetRolloutImage$Status$200["application/json"]> => {
3902-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.rollout}/set/\${params.parameter.container}/\${params.parameter.image}/\${params.parameter.tag}\`;
3903+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.rollout}/set/\${params.parameter.container}/\${params.parameter.image}/\${params.parameter.tag}\`;
39033904
const headers = {
39043905
"Content-Type": "application/json",
39053906
Accept: "application/json"
39063907
};
39073908
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
39083909
},
39093910
RolloutService_UndoRollout: (params: Params$RolloutService_UndoRollout, option?: RequestOption): Promise<Response$RolloutService_UndoRollout$Status$200["application/json"]> => {
3910-
const url = baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.rollout}/undo/\${params.parameter.revision}\`;
3911+
const url = _baseUrl + \`/api/v1/rollouts/\${params.parameter.namespace}/\${params.parameter.rollout}/undo/\${params.parameter.revision}\`;
39113912
const headers = {
39123913
"Content-Type": "application/json",
39133914
Accept: "application/json"
39143915
};
39153916
return apiClient.request("PUT", url, headers, params.requestBody, undefined, option);
39163917
},
39173918
RolloutService_Version: (option?: RequestOption): Promise<Response$RolloutService_Version$Status$200["application/json"]> => {
3918-
const url = baseUrl + \`/api/v1/version\`;
3919+
const url = _baseUrl + \`/api/v1/version\`;
39193920
const headers = {
39203921
Accept: "application/json"
39213922
};

test/__tests__/functional/__snapshots__/format.domain.ts.snap

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export interface ApiClient<RequestOption> {
4747
request: <T = SuccessResponses>(httpMethod: HttpMethod, url: string, headers: ObjectLike | any, requestBody: ObjectLike | any, queryParameters: QueryParameters | undefined, options?: RequestOption) => Promise<T>;
4848
}
4949
export const createClient = <RequestOption>(apiClient: ApiClient<RequestOption>, baseUrl: string) => {
50+
const _baseUrl = baseUrl.replace(/\\/$/, "");
5051
return {};
5152
};
5253
type ClientFunction<RequestOption> = typeof createClient<RequestOption>;

0 commit comments

Comments
 (0)