@@ -152,7 +152,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
152
152
memberName , memberName , symbolProvider .toSymbol (member ), memberName );
153
153
} else if (memberShape instanceof CollectionShape ) {
154
154
MemberShape collectionMember = ((CollectionShape ) memberShape ).getMember ();
155
- if (isIterationRequired (model . expectShape ( collectionMember . getTarget ()) )) {
155
+ if (isIterationRequired (collectionMember )) {
156
156
// Iterate over array items, and call array specific function on each member
157
157
writer .openBlock ("...(obj.${L} && { ${L}: obj.${L}.map(" , ")})," ,
158
158
memberName , memberName , memberName ,
@@ -163,7 +163,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
163
163
}
164
164
} else if (memberShape instanceof MapShape ) {
165
165
MemberShape mapMember = ((MapShape ) memberShape ).getValue ();
166
- if (isIterationRequired (model . expectShape ( mapMember . getTarget ()) )) {
166
+ if (isIterationRequired (mapMember )) {
167
167
// Iterate over Object entries, and call reduce to repopulate map
168
168
writer .openBlock ("...(obj.${L} && { ${L}: Object.entries(obj.${L}).reduce(" , ")})," ,
169
169
memberName , memberName , memberName ,
@@ -177,20 +177,21 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
177
177
}
178
178
179
179
/**
180
- * Identified if iteration is required on shape
180
+ * Identifies if iteration is required on MemberShape
181
181
*
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
184
184
*/
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 ) {
187
188
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 );
194
195
}
195
196
return false ;
196
197
}
0 commit comments