Skip to content

Commit 3e89a6c

Browse files
committed
Simplified method isIterationRequired
1 parent 72a0a3a commit 3e89a6c

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

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

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
152152
memberName, memberName, symbolProvider.toSymbol(member), memberName);
153153
} else if (memberShape instanceof CollectionShape) {
154154
MemberShape collectionMember = ((CollectionShape) memberShape).getMember();
155-
if (isIterationRequired(model.expectShape(collectionMember.getTarget()))) {
155+
if (isIterationRequired(collectionMember)) {
156156
// Iterate over array items, and call array specific function on each member
157157
writer.openBlock("...(obj.${L} && { ${L}: obj.${L}.map(", ")}),",
158158
memberName, memberName, memberName,
@@ -163,7 +163,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
163163
}
164164
} else if (memberShape instanceof MapShape) {
165165
MemberShape mapMember = ((MapShape) memberShape).getValue();
166-
if (isIterationRequired(model.expectShape(mapMember.getTarget()))) {
166+
if (isIterationRequired(mapMember)) {
167167
// Iterate over Object entries, and call reduce to repopulate map
168168
writer.openBlock("...(obj.${L} && { ${L}: Object.entries(obj.${L}).reduce(", ")}),",
169169
memberName, memberName, memberName,
@@ -177,20 +177,21 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
177177
}
178178

179179
/**
180-
* Identified if iteration is required on shape
180+
* Identifies if iteration is required on MemberShape
181181
*
182-
* @param memberShape
183-
* @return If the iteration is required on memberShape
182+
* @param memberShape a {@link MemberShape} to check for iteration required
183+
* @return Returns true if the iteration is required on memberShape
184184
*/
185-
private boolean isIterationRequired(Shape memberShape) {
186-
if (memberShape instanceof StructureShape) {
185+
private boolean isIterationRequired(MemberShape memberShape) {
186+
Shape targetShape = model.expectShape(memberShape.getTarget());
187+
if (targetShape instanceof StructureShape) {
187188
return true;
188-
} if (memberShape instanceof CollectionShape) {
189-
MemberShape collectionMember = ((CollectionShape) memberShape).getMember();
190-
return isIterationRequired(model.expectShape(collectionMember.getTarget()));
191-
} else if (memberShape instanceof MapShape) {
192-
MemberShape mapMember = ((MapShape) memberShape).getValue();
193-
return isIterationRequired(model.expectShape(mapMember.getTarget()));
189+
} if (targetShape instanceof CollectionShape) {
190+
MemberShape collectionMember = ((CollectionShape) targetShape).getMember();
191+
return isIterationRequired(collectionMember);
192+
} else if (targetShape instanceof MapShape) {
193+
MemberShape mapMember = ((MapShape) targetShape).getValue();
194+
return isIterationRequired(mapMember);
194195
}
195196
return false;
196197
}

0 commit comments

Comments
 (0)