Skip to content

Commit 0e8510d

Browse files
committed
chore: call getValueFromTextNode on parsedObj
1 parent 3654bae commit 0e8510d

File tree

1 file changed

+4
-10
lines changed
  • codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen

1 file changed

+4
-10
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsProtocolUtils.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,23 +125,17 @@ static void generateXmlParseBody(GenerationContext context) {
125125

126126
// Include an XML body parser used to deserialize documents from HTTP responses.
127127
writer.addImport("SerdeContext", "__SerdeContext", "@aws-sdk/types");
128+
writer.addImport("getValueFromTextNode", "__getValueFromTextNode", "@aws-sdk/smithy-client");
128129
writer.addDependency(AwsDependency.XML_PARSER);
129130
writer.addImport("parse", "xmlParse", "fast-xml-parser");
130131
writer.openBlock("const parseBody = (streamBody: any, context: __SerdeContext): any => collectBodyString(streamBody, context).then(encoded => {",
131132
"});",
132133
() -> {
133134
writer.openBlock("if (encoded.length) {", "}", () -> {
134-
writer.write("const parsedObj = xmlParse(encoded, { attributeNamePrefix: '', "
135+
writer.write("const parsedObj = __getValueFromTextNode(xmlParse(encoded, { attributeNamePrefix: '', "
135136
+ "ignoreAttributes: false, parseNodeValue: false, tagValueProcessor: (val, tagName) "
136-
+ "=> decodeEscapedXML(val) });");
137-
writer.write("const textNodeName = '#text';");
138-
writer.write("const key = Object.keys(parsedObj)[0];");
139-
writer.write("const parsedObjToReturn = parsedObj[key];");
140-
writer.openBlock("if (parsedObjToReturn[textNodeName]) {", "}", () -> {
141-
writer.write("parsedObjToReturn[key] = parsedObjToReturn[textNodeName];");
142-
writer.write("delete parsedObjToReturn[textNodeName];");
143-
});
144-
writer.write("return parsedObjToReturn;");
137+
+ "=> decodeEscapedXML(val) }));");
138+
writer.write("return parsedObj[Object.keys(parsedObj)[0]];");
145139
});
146140
writer.write("return {};");
147141
}

0 commit comments

Comments
 (0)