@@ -89,7 +89,6 @@ void writeFilterSensitiveLogForArray(TypeScriptWriter writer, MemberShape arrayM
89
89
}
90
90
);
91
91
} else {
92
- // ToDo: Call this function only for StructureShape|ListShape|SetShape|MapShape
93
92
// Function is inside another function, so just return item in else case
94
93
writer .write ("item => item" );
95
94
}
@@ -109,7 +108,6 @@ void writeFilterSensitiveLogForMap(TypeScriptWriter writer, MemberShape mapMembe
109
108
writer .write ("acc[key] = ${T}.filterSensitiveLog(value);" ,
110
109
symbolProvider .toSymbol (mapMember ));
111
110
} else {
112
- // ToDo: Call this function only for StructureShape|ListShape|SetShape|MapShape
113
111
// populate value in in acc[key]
114
112
writer .write ("acc[key] = value;" );
115
113
}
@@ -132,7 +130,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
132
130
memberName , memberName , symbolProvider .toSymbol (member ), memberName );
133
131
} else if (memberShape instanceof ListShape || memberShape instanceof SetShape ) {
134
132
MemberShape arrayMember = ((CollectionShape ) memberShape ).getMember ();
135
- if (! (model .expectShape (arrayMember .getTarget ()) instanceof SimpleShape )) {
133
+ if (isIterationRequired (model .expectShape (arrayMember .getTarget ()))) {
136
134
// Iterate over array items, and call array specific function on each member
137
135
writer .openBlock ("...(obj.${L} && { ${L}: obj.${L}.map(" , ")})," ,
138
136
memberName , memberName , memberName ,
@@ -143,7 +141,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
143
141
}
144
142
} else if (memberShape instanceof MapShape ) {
145
143
MemberShape mapMember = ((MapShape ) memberShape ).getValue ();
146
- if (! (model .expectShape (mapMember .getTarget ()) instanceof SimpleShape )) {
144
+ if (isIterationRequired (model .expectShape (mapMember .getTarget ()))) {
147
145
// Iterate over Object entries, and call reduce to repopulate map
148
146
writer .openBlock ("...(obj.${L} && { ${L}: Object.entries(obj.${L}).reduce(" , ")})," ,
149
147
memberName , memberName , memberName ,
@@ -156,6 +154,21 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
156
154
}
157
155
}
158
156
157
+ /**
158
+ * Identified if iteration is required on shape
159
+ *
160
+ * @param memberShape
161
+ * @return If the iteration is required on memberShape
162
+ */
163
+ private boolean isIterationRequired (Shape memberShape ) {
164
+ return (
165
+ memberShape instanceof StructureShape ||
166
+ memberShape instanceof ListShape ||
167
+ memberShape instanceof SetShape ||
168
+ memberShape instanceof MapShape
169
+ );
170
+ }
171
+
159
172
/**
160
173
* Identifies if a member should be required on the generated interface.
161
174
*
0 commit comments