Skip to content

Commit 0d5de2f

Browse files
committed
chore(codegen): update fast-xml-parser config to 4.0.10
1 parent ac2380a commit 0d5de2f

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public enum AwsDependency implements SymbolDependencyContainer {
5757
BODY_CHECKSUM_GENERATOR_NODE(NORMAL_DEPENDENCY, "@aws-sdk/body-checksum-node"),
5858
XML_BUILDER(NORMAL_DEPENDENCY, "@aws-sdk/xml-builder"),
5959
XML_PARSER(NORMAL_DEPENDENCY, "fast-xml-parser", "4.0.10"),
60-
HTML_ENTITIES(NORMAL_DEPENDENCY, "entities", "2.2.0"),
6160
UUID_GENERATOR(NORMAL_DEPENDENCY, "uuid", "^8.3.2"),
6261
UUID_GENERATOR_TYPES(DEV_DEPENDENCY, "@types/uuid", "^8.3.0"),
6362
MIDDLEWARE_EVENTSTREAM(NORMAL_DEPENDENCY, "@aws-sdk/middleware-eventstream"),

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,18 +159,19 @@ static void generateXmlParseBody(GenerationContext context) {
159159
writer.addImport("SerdeContext", "__SerdeContext", "@aws-sdk/types");
160160
writer.addImport("getValueFromTextNode", "__getValueFromTextNode", "@aws-sdk/smithy-client");
161161
writer.addDependency(AwsDependency.XML_PARSER);
162-
writer.addDependency(AwsDependency.HTML_ENTITIES);
163162
writer.addImport("XMLParser", null, "fast-xml-parser");
164-
writer.addImport("decodeHTML", "decodeHTML", "entities");
165163
writer.openBlock("const parseBody = (streamBody: any, context: __SerdeContext): "
166164
+ "any => collectBodyString(streamBody, context).then(encoded => {", "});", () -> {
167165
writer.openBlock("if (encoded.length) {", "}", () -> {
168166
// Temporararily creating parser inside the function.
169167
// Parser would be moved to runtime config in https://github.com/aws/aws-sdk-js-v3/issues/3979
170-
writer.write("const parsedObj = new XMLParser({ attributeNamePrefix: '', "
171-
+ "ignoreAttributes: false, parseTagValue: false, trimValues: false, "
172-
+ "tagValueProcessor: (val) => (val.trim() === '' && val.includes('\\n'))"
173-
+ " ? '': decodeHTML(val) }).parse(encoded);");
168+
writer.write("const parser = new XMLParser({ attributeNamePrefix: '', htmlEntities: true, "
169+
+ "ignoreAttributes: false, ignoreDeclaration: true, parseTagValue: false, "
170+
+ "trimValues: false, tagValueProcessor: (_, val) => "
171+
+ "(val.trim() === '' && val.includes('\\n')) ? '': undefined });");
172+
writer.write("parser.addEntity('#xD', '\\r');");
173+
writer.write("parser.addEntity('#10', '\\n');");
174+
writer.write("const parsedObj = parser.parse(encoded);");
174175
writer.write("const textNodeName = '#text';");
175176
writer.write("const key = Object.keys(parsedObj)[0];");
176177
writer.write("const parsedObjToReturn = parsedObj[key];");

0 commit comments

Comments
 (0)