Skip to content

Commit f574977

Browse files
authored
fix: generate jsdocs for operations with no documentation (#971)
1 parent 2f70f10 commit f574977

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

.changeset/four-kids-grin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/CommandGenerator.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@
4242
import software.amazon.smithy.model.shapes.Shape;
4343
import software.amazon.smithy.model.shapes.ShapeId;
4444
import software.amazon.smithy.model.shapes.StructureShape;
45+
import software.amazon.smithy.model.traits.DeprecatedTrait;
4546
import software.amazon.smithy.model.traits.DocumentationTrait;
4647
import software.amazon.smithy.model.traits.ErrorTrait;
48+
import software.amazon.smithy.model.traits.InternalTrait;
4749
import software.amazon.smithy.rulesengine.traits.EndpointRuleSetTrait;
4850
import software.amazon.smithy.typescript.codegen.documentation.StructureExampleGenerator;
4951
import software.amazon.smithy.typescript.codegen.endpointsV2.EndpointsParamNameMap;
@@ -139,9 +141,23 @@ private void generateClientCommand() {
139141
.append("\n")
140142
.append(getThrownExceptions());
141143

142-
writer.writeShapeDocs(
144+
boolean operationHasDocumentation = operation.hasTrait(DocumentationTrait.class);
145+
146+
if (operationHasDocumentation) {
147+
writer.writeShapeDocs(
143148
operation,
144-
shapeDoc -> shapeDoc + additionalDocs);
149+
shapeDoc -> shapeDoc + additionalDocs
150+
);
151+
} else {
152+
boolean isPublic = !operation.hasTrait(InternalTrait.class);
153+
boolean isDeprecated = operation.hasTrait(DeprecatedTrait.class);
154+
155+
writer.writeDocs(
156+
(isPublic ? "@public\n" : "@internal\n")
157+
+ (isDeprecated ? "@deprecated\n" : "")
158+
+ additionalDocs
159+
);
160+
}
145161

146162
writer.openBlock(
147163
"export class $L extends $$Command<$T, $T, $L> {", "}",

0 commit comments

Comments
 (0)