Skip to content

Commit 988ad4c

Browse files
authored
Merge pull request #770 from MYoung25/docs/inheritance
Add packageDocumentation and improve interface inheritance
2 parents 8e99be5 + abdacbf commit 988ad4c

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,9 @@ private void generateCommandMiddlewareResolver(String configType) {
362362
}
363363

364364
private void addInputAndOutputTypes() {
365+
writer.writeDocs("@public");
366+
writer.write("export { __MetadataBearer, $$Command };");
367+
365368
writeInputType(inputType.getName(), operationIndex.getInput(operation), symbol.getName());
366369
writeOutputType(outputType.getName(), operationIndex.getOutput(operation), symbol.getName());
367370
writer.write("");

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import software.amazon.smithy.model.knowledge.TopDownIndex;
2626
import software.amazon.smithy.model.shapes.OperationShape;
2727
import software.amazon.smithy.model.shapes.ServiceShape;
28+
import software.amazon.smithy.model.traits.DocumentationTrait;
2829
import software.amazon.smithy.model.traits.PaginatedTrait;
2930
import software.amazon.smithy.typescript.codegen.integration.ProtocolGenerator;
3031
import software.amazon.smithy.utils.SmithyInternalApi;
@@ -45,6 +46,12 @@ static void writeIndex(
4546
ProtocolGenerator protocolGenerator,
4647
TypeScriptWriter writer
4748
) {
49+
50+
writer.write("/* eslint-disable */");
51+
settings.getService(model).getTrait(DocumentationTrait.class).ifPresent(trait ->
52+
writer.writeDocs(trait.getValue() + "\n\n" + "@packageDocumentation"));
53+
54+
4855
if (settings.generateClient()) {
4956
writeClientExports(settings, model, symbolProvider, writer);
5057
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ static String getResolvedConfigTypeName(Symbol symbol) {
9898
@Override
9999
public void run() {
100100
writer.addImport("Client", "__Client", "@aws-sdk/smithy-client");
101+
writer.write("export { __Client }\n");
101102
writer.addImport("getRuntimeConfig", "__getRuntimeConfig",
102103
Paths.get(".", CodegenUtils.SOURCE_FOLDER, "runtimeConfig").toString());
103104

@@ -162,7 +163,7 @@ private void generateConfig() {
162163
writer.writeDocs("@public");
163164
// The default configuration type is always just the base-level
164165
// Smithy configuration requirements.
165-
writer.write("type $LType = Partial<__SmithyConfiguration<$T>>", configType,
166+
writer.write("export type $LType = Partial<__SmithyConfiguration<$T>>", configType,
166167
applicationProtocol.getOptionsType());
167168
writer.write(" & ClientDefaults");
168169

@@ -197,7 +198,7 @@ private void generateConfig() {
197198
// each "Input" configuration type.
198199
writer.write("");
199200
writer.writeDocs("@public");
200-
writer.write("type $LType = __SmithyResolvedConfiguration<$T>",
201+
writer.write("export type $LType = __SmithyResolvedConfiguration<$T>",
201202
resolvedConfigType, applicationProtocol.getOptionsType());
202203
writer.write(" & Required<ClientDefaults>");
203204

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/AddBaseServiceExceptionClass.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ private void writeAdditionalFiles(
6767
TypeScriptDependency.AWS_SMITHY_CLIENT.packageName);
6868
writer.addImport("ServiceExceptionOptions", "__ServiceExceptionOptions",
6969
TypeScriptDependency.AWS_SMITHY_CLIENT.packageName);
70+
// Export ServiceException information to allow
71+
// documentation inheritance to consume their types
72+
writer.write("export { __ServiceException, __ServiceExceptionOptions }\n");
7073
writer.writeDocs("@public\n\nBase exception class for all service exceptions from "
7174
+ serviceName + " service.");
7275
writer.openBlock("export class $L extends __ServiceException {", serviceExceptionName);

0 commit comments

Comments
 (0)