Support typing.Any as a seralization annotation
This commit is contained in:
parent
ff8bb0c8ba
commit
97c276faca
|
@ -191,7 +191,7 @@ class Serializer:
|
|||
if annotation is None:
|
||||
context.assert_type(type(None))
|
||||
return None
|
||||
if annotation is inspect.Signature.empty:
|
||||
if annotation is inspect.Signature.empty or annotation is typing.Any:
|
||||
return context.cur
|
||||
if attr.has(annotation):
|
||||
return self._serialize_attr(annotation, context)
|
||||
|
@ -258,7 +258,7 @@ class Serializer:
|
|||
if annotation is None:
|
||||
context.assert_type(type(None))
|
||||
return None
|
||||
if annotation is inspect.Signature.empty:
|
||||
if annotation is inspect.Signature.empty or annotation is typing.Any:
|
||||
return context.cur
|
||||
if attr.has(annotation):
|
||||
return self._deserialize_attr(annotation, context)
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
import attr
|
||||
import datetime
|
||||
import enum
|
||||
import inspect
|
||||
import random
|
||||
import string
|
||||
import typing
|
||||
|
@ -143,6 +144,11 @@ class CommonSerializerTests:
|
|||
compact=self.serializer.compact, serialize_enums_by="value")
|
||||
self.assertSerialization(MyEnum, MyEnum.name, "value")
|
||||
|
||||
def test_serialize_any(self):
|
||||
o = object()
|
||||
self.assertSerialization(typing.Any, o, o)
|
||||
self.assertSerialization(inspect.Signature.empty, o, o)
|
||||
|
||||
|
||||
class TestSerializer(CommonSerializerTests, unittest.TestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue