Skip to content

Commit

Permalink
Don't serialize empty traits blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
kstich committed May 26, 2022
1 parent 0b72212 commit 17091eb
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,10 @@ private ObjectNode.Builder serializeTraits(ObjectNode.Builder builder, Collectio
traitsToAdd.put(Node.from(trait.toShapeId().toString()), trait.toNode());
}
}
builder.withMember("traits", new ObjectNode(traitsToAdd, SourceLocation.none()));

if (!traitsToAdd.isEmpty()) {
builder.withMember("traits", new ObjectNode(traitsToAdd, SourceLocation.none()));
}
}

return builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,10 +219,6 @@ public void transientTraitsAreNotSerialized() {
ModelSerializer serializer = ModelSerializer.builder().build();
ObjectNode result = serializer.serialize(model);

assertThat(NodePointer.parse("/shapes/com.foo#Str/traits")
.getValue(result)
.expectObjectNode()
.getStringMap(),
not(hasKey(OriginalShapeIdTrait.ID.toShapeId())));
assertTrue(NodePointer.parse("/shapes/com.foo#Str/traits").getValue(result).isNullNode());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
"smithy.api#enumValue": "bar"
}
}
},
"traits": {}
}
},
"smithy.example#IntEnum": {
"type": "intEnum",
Expand Down

0 comments on commit 17091eb

Please sign in to comment.