Skip to content

Commit 5829fb7

Browse files
committed
Add deprecation markers
1 parent 8d8e3dd commit 5829fb7

3 files changed

Lines changed: 76 additions & 1 deletion

File tree

modules/openapi-generator/src/main/resources/typescript/api/api.mustache

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,18 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory {
3232
3333
{{#operation}}
3434
/**
35+
{{#isDeprecated}}
36+
* @deprecated
37+
*
38+
{{/isDeprecated}}
3539
{{#notes}}
3640
* {{&notes}}
3741
{{/notes}}
3842
{{#summary}}
3943
* {{&summary}}
4044
{{/summary}}
4145
{{#allParams}}
42-
* @param {{paramName}} {{description}}
46+
* @param {{paramName}} {{description}}{{#isDeprecated}} (@deprecated){{/isDeprecated}}
4347
{{/allParams}}
4448
*/
4549
public async {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: Configuration): Promise<RequestContext> {

modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/TypeScriptClientCodegenTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,31 @@ public void testForAllSanitizedEnum() throws Exception {
210210
"}"
211211
);
212212
}
213+
214+
@Test
215+
public void testOrderParameters() throws Exception {
216+
final File output = Files.createTempDirectory("typescriptnodeclient_").toFile();
217+
output.deleteOnExit();
218+
219+
final CodegenConfigurator configurator = new CodegenConfigurator()
220+
.setGeneratorName("typescript")
221+
.setInputSpec("src/test/resources/3_0/typescript/deprecated-operation.yaml")
222+
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
223+
224+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
225+
final DefaultGenerator generator = new DefaultGenerator();
226+
final List<File> files = generator.opts(clientOptInput).generate();
227+
files.forEach(File::deleteOnExit);
228+
229+
// deprecated operation
230+
TestUtils.assertFileContains(
231+
Paths.get(output + "/apis/DefaultApi.ts"),
232+
"* @deprecated"
233+
);
234+
// deprecated parameter
235+
TestUtils.assertFileContains(
236+
Paths.get(output + "/apis/DefaultApi.ts"),
237+
"* @param name name of pet (@deprecated)"
238+
);
239+
}
213240
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
openapi: 3.0.0
2+
info:
3+
description: test order parameters
4+
version: 1.0.0
5+
title: Test order parameters
6+
license:
7+
name: Apache-2.0
8+
url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
9+
paths:
10+
/pets:
11+
get:
12+
tags:
13+
- default
14+
summary: Finds Pets
15+
deprecated: true
16+
description: Find all pets
17+
operationId: findPets
18+
parameters:
19+
- name: type
20+
in: query
21+
description: type of pet
22+
style: form
23+
explode: false
24+
schema:
25+
type: string
26+
default: available
27+
- name: name
28+
in: query
29+
deprecated: true
30+
description: name of pet
31+
required: true
32+
schema:
33+
type: string
34+
- name: age
35+
in: query
36+
description: age of pet
37+
schema:
38+
type: number
39+
format: int32
40+
responses:
41+
'200':
42+
description: successful operation
43+
'400':
44+
description: Invalid status value

0 commit comments

Comments
 (0)