Closed
Description
from typedpy import SerializableField, ImmutableStructure, String, Deserializer, Serializer, NoneField, AnyOf
class TestSerializable(SerializableField):
def serialize(self, value):
return value.rstrip()
def deserialize(self, value):
return value + " "
class Container1(ImmutableStructure):
field1: String
field2: AnyOf[NoneField, TestSerializable]
class Container2(ImmutableStructure):
field1: String
field2: TestSerializable
f = {"field1": "val1", "field2": "val2"}
f2d = Deserializer(Container2).deserialize(f)
f2s = Serializer(f2d).serialize()
assert f2s == f
f1d = Deserializer(Container1).deserialize(f)
f1s = Serializer(f1d).serialize()
assert f1s == f
Traceback (most recent call last):
File "<input>", line 32, in <module>
AssertionError
print(f1s)
{'field2': 'val2 ', 'field1': 'val1'}
print(f2s)
{'field2': 'val2', 'field1': 'val1'}
Metadata
Metadata
Assignees
Labels
No labels