fix(BaseObjectSerializer): fix converting None in list to the string "None"
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
Reference in New Issue
Block a user