24
24
import software .amazon .smithy .model .shapes .MapShape ;
25
25
import software .amazon .smithy .model .shapes .MemberShape ;
26
26
import software .amazon .smithy .model .shapes .Shape ;
27
- import software .amazon .smithy .model .shapes .SimpleShape ;
28
27
import software .amazon .smithy .model .shapes .StructureShape ;
29
28
import software .amazon .smithy .model .traits .IdempotencyTokenTrait ;
30
29
import software .amazon .smithy .model .traits .SensitiveTrait ;
@@ -71,47 +70,47 @@ void writeMembers(TypeScriptWriter writer, Shape shape) {
71
70
}
72
71
73
72
/**
74
- * Recursively writes filterSensitiveLog for arrays ( CollectionShape)
73
+ * Recursively writes filterSensitiveLog for CollectionShape.
75
74
*/
76
75
void writeCollectionFilterSensitiveLog (TypeScriptWriter writer , MemberShape collectionMember ) {
77
76
Shape memberShape = model .expectShape (collectionMember .getTarget ());
78
77
if (memberShape instanceof StructureShape ) {
79
- // Call filterSensitiveLog on Structure
78
+ // Call filterSensitiveLog on Structure.
80
79
writer .write ("${T}.filterSensitiveLog" , symbolProvider .toSymbol (collectionMember ));
81
80
} else if (memberShape instanceof CollectionShape ) {
82
- // Iterate over array items, and call array specific function on each member
81
+ // Iterate over array items, and call array specific function on each member.
83
82
writer .openBlock ("item => item.map(" , ")" ,
84
83
() -> {
85
84
MemberShape nestedCollectionMember = ((CollectionShape ) memberShape ).getMember ();
86
85
writeCollectionFilterSensitiveLog (writer , nestedCollectionMember );
87
86
}
88
87
);
89
88
} else if (memberShape instanceof MapShape ) {
90
- // Iterate over Object entries, and call reduce to repopulate map
89
+ // Iterate over Object entries, and call reduce to repopulate map.
91
90
writer .openBlock ("item => Object.entries(item).reduce(" , ")" ,
92
91
() -> {
93
92
MemberShape mapMember = ((MapShape ) memberShape ).getValue ();
94
93
writeMapFilterSensitiveLog (writer , mapMember );
95
94
}
96
95
);
97
96
} else {
98
- // This path will never reach because of recursive isIterationRequired
99
- // adding it to not break the code, if it does reach in future
97
+ // This path will never reach because of recursive isIterationRequired.
98
+ // Adding it to not break the code, if it does reach in future.
100
99
writer .write ("item => item" );
101
100
}
102
101
}
103
102
104
103
/**
105
- * Recursively writes filterSensitiveLog for MapShape
104
+ * Recursively writes filterSensitiveLog for MapShape.
106
105
*/
107
106
void writeMapFilterSensitiveLog (TypeScriptWriter writer , MemberShape mapMember ) {
108
- // Reducer is common to all shapes
107
+ // Reducer is common to all shapes.
109
108
writer .openBlock ("(acc: any, [key, value]: [string, ${T}]) => {" , "}, {}" ,
110
109
symbolProvider .toSymbol (mapMember ),
111
110
() -> {
112
111
Shape memberShape = model .expectShape (mapMember .getTarget ());
113
112
if (memberShape instanceof StructureShape ) {
114
- // Call filterSensitiveLog on Structure
113
+ // Call filterSensitiveLog on Structure.
115
114
writer .write ("acc[key] = ${T}.filterSensitiveLog(value);" ,
116
115
symbolProvider .toSymbol (mapMember ));
117
116
} else if (memberShape instanceof CollectionShape ) {
@@ -129,8 +128,8 @@ void writeMapFilterSensitiveLog(TypeScriptWriter writer, MemberShape mapMember)
129
128
}
130
129
);
131
130
} else {
132
- // This path will never reach because of recursive isIterationRequired
133
- // adding it to not break the code, if it does reach in future
131
+ // This path will never reach because of recursive isIterationRequired.
132
+ // Adding it to not break the code, if it does reach in future.
134
133
writer .write ("acc[key] = value;" );
135
134
}
136
135
writer .write ("return acc;" );
@@ -144,16 +143,16 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
144
143
Shape memberShape = model .expectShape (member .getTarget ());
145
144
String memberName = TypeScriptUtils .sanitizePropertyName (symbolProvider .toMemberName (member ));
146
145
if (member .getMemberTrait (model , SensitiveTrait .class ).isPresent ()) {
147
- // member is Sensitive, hide the value
146
+ // member is Sensitive, hide the value.
148
147
writer .write ("...(obj.${L} && { ${L}: SENSITIVE_STRING })," , memberName , memberName );
149
148
} else if (memberShape instanceof StructureShape ) {
150
- // Call filterSensitiveLog on Structure
149
+ // Call filterSensitiveLog on Structure.
151
150
writer .write ("...(obj.${L} && { ${L}: ${T}.filterSensitiveLog(obj.${L})})," ,
152
151
memberName , memberName , symbolProvider .toSymbol (member ), memberName );
153
152
} else if (memberShape instanceof CollectionShape ) {
154
153
MemberShape collectionMember = ((CollectionShape ) memberShape ).getMember ();
155
154
if (isIterationRequired (collectionMember )) {
156
- // Iterate over array items, and call array specific function on each member
155
+ // Iterate over array items, and call array specific function on each member.
157
156
writer .openBlock ("...(obj.${L} && { ${L}: obj.${L}.map(" , ")})," ,
158
157
memberName , memberName , memberName ,
159
158
() -> {
@@ -164,7 +163,7 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
164
163
} else if (memberShape instanceof MapShape ) {
165
164
MemberShape mapMember = ((MapShape ) memberShape ).getValue ();
166
165
if (isIterationRequired (mapMember )) {
167
- // Iterate over Object entries, and call reduce to repopulate map
166
+ // Iterate over Object entries, and call reduce to repopulate map.
168
167
writer .openBlock ("...(obj.${L} && { ${L}: Object.entries(obj.${L}).reduce(" , ")})," ,
169
168
memberName , memberName , memberName ,
170
169
() -> {
@@ -177,10 +176,10 @@ void writeFilterSensitiveLog(TypeScriptWriter writer, Shape shape) {
177
176
}
178
177
179
178
/**
180
- * Identifies if iteration is required on MemberShape
179
+ * Identifies if iteration is required on MemberShape.
181
180
*
182
- * @param memberShape a {@link MemberShape} to check for iteration required
183
- * @return Returns true if the iteration is required on memberShape
181
+ * @param memberShape a {@link MemberShape} to check for iteration required.
182
+ * @return Returns true if the iteration is required on memberShape.
184
183
*/
185
184
private boolean isIterationRequired (MemberShape memberShape ) {
186
185
Shape targetShape = model .expectShape (memberShape .getTarget ());
0 commit comments