forked from loafle/openapi-generator-original
[typescript-rxjs] Feat: Add @deprecated JSDoc tag to API operations (#22419)
* feat(typescript-rxjs): Add @deprecated tag to generated API operations This commit introduces the JSDoc @deprecated tag to API operations in the typescript-rxjs generator when the operation is marked as deprecated in the OpenAPI specification. This ensures that IDEs (like VS Code or WebStorm) correctly flag the method as deprecated, providing better developer experience and warning consumers about upcoming removals or changes. * minor updates --------- Co-authored-by: Dirk Niemeier <dirk.niemeier@cgi.com>
This commit is contained in:
@@ -39,6 +39,9 @@ export class {{classname}} extends BaseAPI {
|
||||
{{#summary}}
|
||||
* {{&summary}}
|
||||
{{/summary}}
|
||||
{{#isDeprecated}}
|
||||
* @deprecated
|
||||
{{/isDeprecated}}
|
||||
*/
|
||||
{{nickname}}({{#allParams.0}}{ {{#allParams}}{{paramName}}{{#vendorExtensions.x-param-name-alternative}}: {{vendorExtensions.x-param-name-alternative}}{{/vendorExtensions.x-param-name-alternative}}{{^-last}}, {{/-last}}{{/allParams}} }: {{operationIdCamelCase}}Request{{/allParams.0}}): Observable<{{{returnType}}}{{^returnType}}void{{/returnType}}>
|
||||
{{#withProgressSubscriber}}
|
||||
@@ -244,4 +247,4 @@ export enum {{operationIdCamelCase}}{{enumName}} {
|
||||
{{/allParams}}
|
||||
{{/operation}}
|
||||
{{/operations}}
|
||||
{{/hasEnums}}
|
||||
{{/hasEnums}}
|
||||
@@ -2,6 +2,9 @@
|
||||
* {{{description}}}
|
||||
* @export
|
||||
* @enum {string}
|
||||
{{#deprecated}}
|
||||
* @deprecated
|
||||
{{/deprecated}}
|
||||
*/
|
||||
export enum {{classname}} {
|
||||
{{#allowableValues}}
|
||||
|
||||
@@ -10,6 +10,9 @@ import type {
|
||||
* {{{.}}}{{/description}}
|
||||
* @export
|
||||
* @interface {{classname}}
|
||||
{{#deprecated}}
|
||||
* @deprecated
|
||||
{{/deprecated}}
|
||||
*/
|
||||
export interface {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{
|
||||
{{#additionalPropertiesType}}
|
||||
@@ -18,6 +21,9 @@ export interface {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{
|
||||
{{#vars}}
|
||||
/**{{#description}}
|
||||
* {{{.}}}{{/description}}
|
||||
{{#deprecated}}
|
||||
* @deprecated
|
||||
{{/deprecated}}
|
||||
* @type {{=<% %>=}}{<%&datatype%>}<%={{ }}=%>
|
||||
* @memberof {{classname}}
|
||||
*/
|
||||
@@ -30,6 +36,9 @@ export interface {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{
|
||||
/**
|
||||
* @export
|
||||
* @enum {string}
|
||||
{{#deprecated}}
|
||||
* @deprecated
|
||||
{{/deprecated}}
|
||||
*/
|
||||
export enum {{classname}}{{enumName}} {
|
||||
{{#allowableValues}}
|
||||
|
||||
@@ -564,8 +564,8 @@ public class RubyClientCodegenTest {
|
||||
Assert.assertNotNull(superMan);
|
||||
|
||||
// to test all properties
|
||||
Assert.assertEquals(superMan.getVars().size(), 6);
|
||||
Assert.assertEquals(superMan.getAllVars().size(), 6);
|
||||
Assert.assertEquals(superMan.getVars().size(), 7);
|
||||
Assert.assertEquals(superMan.getAllVars().size(), 7);
|
||||
Assert.assertEquals(superMan.getMandatory().size(), 3);
|
||||
Assert.assertEquals(superMan.getAllMandatory().size(), 3);
|
||||
|
||||
@@ -578,45 +578,55 @@ public class RubyClientCodegenTest {
|
||||
Assert.assertFalse(cp1.required);
|
||||
|
||||
CodegenProperty cp2 = superMan.getVars().get(2);
|
||||
Assert.assertEquals(cp2.name, "reward");
|
||||
Assert.assertEquals(cp2.name, "nickname");
|
||||
Assert.assertFalse(cp2.required);
|
||||
Assert.assertTrue(cp2.deprecated);
|
||||
|
||||
CodegenProperty cp3 = superMan.getVars().get(3);
|
||||
Assert.assertEquals(cp3.name, "origin");
|
||||
Assert.assertTrue(cp3.required);
|
||||
Assert.assertEquals(cp3.name, "reward");
|
||||
Assert.assertFalse(cp3.required);
|
||||
|
||||
CodegenProperty cp4 = superMan.getVars().get(4);
|
||||
Assert.assertEquals(cp4.name, "category");
|
||||
Assert.assertFalse(cp4.required);
|
||||
Assert.assertEquals(cp4.name, "origin");
|
||||
Assert.assertTrue(cp4.required);
|
||||
|
||||
CodegenProperty cp5 = superMan.getVars().get(5);
|
||||
Assert.assertEquals(cp5.name, "level");
|
||||
Assert.assertTrue(cp5.required);
|
||||
Assert.assertEquals(cp5.name, "category");
|
||||
Assert.assertFalse(cp5.required);
|
||||
|
||||
CodegenProperty cp6 = superMan.getAllVars().get(0);
|
||||
Assert.assertEquals(cp6.name, "id");
|
||||
CodegenProperty cp6 = superMan.getVars().get(6);
|
||||
Assert.assertEquals(cp6.name, "level");
|
||||
Assert.assertTrue(cp6.required);
|
||||
|
||||
CodegenProperty cp7 = superMan.getAllVars().get(1);
|
||||
Assert.assertEquals(cp7.name, "name");
|
||||
Assert.assertFalse(cp7.required);
|
||||
CodegenProperty cp7 = superMan.getAllVars().get(0);
|
||||
Assert.assertEquals(cp7.name, "id");
|
||||
Assert.assertTrue(cp7.required);
|
||||
|
||||
CodegenProperty cp8 = superMan.getAllVars().get(2);
|
||||
Assert.assertEquals(cp8.name, "reward");
|
||||
CodegenProperty cp8 = superMan.getAllVars().get(1);
|
||||
Assert.assertEquals(cp8.name, "name");
|
||||
Assert.assertFalse(cp8.required);
|
||||
|
||||
CodegenProperty cp9 = superMan.getAllVars().get(3);
|
||||
Assert.assertEquals(cp9.name, "origin");
|
||||
Assert.assertTrue(cp9.required);
|
||||
CodegenProperty cp9 = superMan.getAllVars().get(2);
|
||||
Assert.assertEquals(cp9.name, "nickname");
|
||||
Assert.assertFalse(cp9.required);
|
||||
Assert.assertTrue(cp9.deprecated);
|
||||
|
||||
CodegenProperty cp10 = superMan.getAllVars().get(4);
|
||||
Assert.assertEquals(cp10.name, "category");
|
||||
CodegenProperty cp10 = superMan.getAllVars().get(3);
|
||||
Assert.assertEquals(cp10.name, "reward");
|
||||
Assert.assertFalse(cp10.required);
|
||||
|
||||
CodegenProperty cp11 = superMan.getAllVars().get(5);
|
||||
Assert.assertEquals(cp11.name, "level");
|
||||
CodegenProperty cp11 = superMan.getAllVars().get(4);
|
||||
Assert.assertEquals(cp11.name, "origin");
|
||||
Assert.assertTrue(cp11.required);
|
||||
|
||||
CodegenProperty cp12 = superMan.getAllVars().get(5);
|
||||
Assert.assertEquals(cp12.name, "category");
|
||||
Assert.assertFalse(cp12.required);
|
||||
|
||||
CodegenProperty cp13 = superMan.getAllVars().get(6);
|
||||
Assert.assertEquals(cp13.name, "level");
|
||||
Assert.assertTrue(cp13.required);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -81,4 +81,8 @@ components:
|
||||
format: int64
|
||||
name:
|
||||
type: string
|
||||
example: Tom
|
||||
example: Tom
|
||||
nickname:
|
||||
type: string
|
||||
description: Previous short name for the human, replaced by `name`
|
||||
deprecated: true
|
||||
|
||||
@@ -27,4 +27,11 @@ export interface Human {
|
||||
* @memberof Human
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Previous short name for the human, replaced by `name`
|
||||
* @deprecated
|
||||
* @type {string}
|
||||
* @memberof Human
|
||||
*/
|
||||
nickname?: string;
|
||||
}
|
||||
|
||||
@@ -149,6 +149,7 @@ export class PetApi extends BaseAPI {
|
||||
/**
|
||||
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
* Finds Pets by tags
|
||||
* @deprecated
|
||||
*/
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest): Observable<Array<Pet>>
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest, opts?: OperationOpts): Observable<AjaxResponse<Array<Pet>>>
|
||||
|
||||
@@ -149,6 +149,7 @@ export class PetApi extends BaseAPI {
|
||||
/**
|
||||
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
* Finds Pets by tags
|
||||
* @deprecated
|
||||
*/
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest): Observable<Array<Pet>>
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest, opts?: OperationOpts): Observable<AjaxResponse<Array<Pet>>>
|
||||
|
||||
@@ -149,6 +149,7 @@ export class PetApi extends BaseAPI {
|
||||
/**
|
||||
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
* Finds Pets by tags
|
||||
* @deprecated
|
||||
*/
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest): Observable<Array<Pet>>
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest, opts?: OperationOpts): Observable<AjaxResponse<Array<Pet>>>
|
||||
|
||||
@@ -155,6 +155,7 @@ export class PetApi extends BaseAPI {
|
||||
/**
|
||||
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
* Finds Pets by tags
|
||||
* @deprecated
|
||||
*/
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest): Observable<Array<Pet>>
|
||||
findPetsByTags({ tags }: FindPetsByTagsRequest, opts?: Pick<OperationOpts, 'progressSubscriber'>): Observable<Array<Pet>>
|
||||
|
||||
Reference in New Issue
Block a user