Skip to content

Commit 89387a7

Browse files
committed
feat(serde): use type-mapping to apply stream mixin instead of omit
1 parent 8c6b88f commit 89387a7

File tree

1 file changed

+9
-10
lines changed
  • smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen

1 file changed

+9
-10
lines changed

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

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,15 @@ static void writeClientCommandStreamingOutputType(
167167
String optionalSuffix = streamingMember.isRequired() ? "" : "?";
168168
writer.addImport("MetadataBearer", "__MetadataBearer", TypeScriptDependency.AWS_SDK_TYPES.packageName);
169169
writer.addImport("SdkStream", "__SdkStream", TypeScriptDependency.AWS_SDK_TYPES.packageName);
170-
writer.openBlock("type $LType = __MetadataBearer & Omit<$T, $S> & {", "};",
171-
typeName, containerSymbol, memberName, () -> {
172-
writer.writeDocs(String.format("For *`%1$s[\"%2$s\"]`*, see {@link %1$s.%2$s}.",
173-
containerSymbol.getName(), memberName));
174-
writer.write("$1L$2L: __SdkStream<Required<$3T>[$1S]>;", memberName, optionalSuffix,
175-
containerSymbol);
176-
});
177-
writer.writeDocs(String.format("This interface extends from `%1$s` interface. There are more parameters than"
178-
+ " `%2$s` defined in {@link %1$s}", containerSymbol.getName(), memberName));
179-
writer.write("export interface $1L extends $1LType {}", typeName);
170+
writer.addImport("WithSdkStreamMixin", "__WithSdkStreamMixin", TypeScriptDependency.AWS_SDK_TYPES.packageName);
171+
172+
173+
writer.write(
174+
"export interface $L extends __WithSdkStreamMixin<$T, $S>, __MetadataBearer {}",
175+
typeName,
176+
containerSymbol,
177+
memberName
178+
);
180179
}
181180

182181
/**

0 commit comments

Comments
 (0)