fix(BaseObjectSerializer): fix converting None in list to the string "None"

This commit is contained in:
Gergő Jedlicska
2022-12-21 16:00:49 +01:00
parent afb9065fb9
commit 31ca59cea8
2 changed files with 28 additions and 1 deletions
@@ -72,7 +72,7 @@ class BaseObjectSerializer:
return obj_id, ujson.dumps(obj)
def traverse_base(self, base: Base) -> Tuple[str, Dict]:
def traverse_base(self, base: Base) -> Tuple[str, Dict[str, Any]]:
"""Decomposes the given base object and builds a serializable dictionary
Arguments:
@@ -213,6 +213,8 @@ class BaseObjectSerializer:
Returns:
Any -- a serializable version of the given object
"""
if obj is None:
return None
if isinstance(obj, PRIMITIVES):
return obj
+25
View File
@@ -0,0 +1,25 @@
from typing import List
from specklepy.objects.base import Base
from specklepy.serialization.base_object_serializer import BaseObjectSerializer
class TestBase(Base):
foo: List[str]
bar: int
def test_traverse_value():
base = TestBase(bar=1)
base.foo = [None]
serializer = BaseObjectSerializer()
object_id, object_dict = serializer.traverse_base(base)
assert object_dict == {
"id": object_id,
"speckle_type": "TestBase",
"applicationId": None,
"foo": [None],
"units": None,
"bar": 1,
"totalChildrenCount": 0,
}