Skip to content

Commit 05dcc4a

Browse files
committed
Move reducer function definition outside memberShape comparison
1 parent 0e8df50 commit 05dcc4a

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

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

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ void writeFilterSensitiveLogForArray(TypeScriptWriter writer, MemberShape arrayM
8989
}
9090
);
9191
} else {
92+
// ToDo: Call this function only for StructureShape|ListShape|SetShape|MapShape
9293
// Function is inside another function, so just return item in else case
9394
writer.write("item => item");
9495
}
@@ -98,18 +99,23 @@ void writeFilterSensitiveLogForArray(TypeScriptWriter writer, MemberShape arrayM
9899
* Recursively writes filterSensitiveLog for MapShape
99100
*/
100101
void writeFilterSensitiveLogForMap(TypeScriptWriter writer, MemberShape mapMember) {
101-
Shape memberShape = model.expectShape(mapMember.getTarget());
102-
if (memberShape instanceof StructureShape) {
103-
// Call filterSensitiveLog on Structure in reducer
104-
writer.openBlock("(acc: any, [key, value]: [string, ${T}]) => {", "}, {}",
105-
symbolProvider.toSymbol(mapMember),
106-
() -> {
102+
// Reducer is common to all shapes
103+
writer.openBlock("(acc: any, [key, value]: [string, ${T}]) => {", "}, {}",
104+
symbolProvider.toSymbol(mapMember),
105+
() -> {
106+
Shape memberShape = model.expectShape(mapMember.getTarget());
107+
if (memberShape instanceof StructureShape) {
108+
// Call filterSensitiveLog on Structure
107109
writer.write("acc[key] = ${T}.filterSensitiveLog(value);",
108110
symbolProvider.toSymbol(mapMember));
109-
writer.write("return acc;");
111+
} else {
112+
// ToDo: Call this function only for StructureShape|ListShape|SetShape|MapShape
113+
// populate value in in acc[key]
114+
writer.write("acc[key] = value;");
110115
}
111-
);
112-
}
116+
writer.write("return acc;");
117+
}
118+
);
113119
}
114120

115121
void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {

0 commit comments

Comments
 (0)