| @@ -63,8 +63,8 @@ def _deserialize(data, namespace, memo): | |||||
| if '__type__' in data: # Object | if '__type__' in data: # Object | ||||
| class_ = namespace[data['__type__']] | class_ = namespace[data['__type__']] | ||||
| return class_.deserialize(data, memo) | return class_.deserialize(data, memo) | ||||
| elif '__memo__' in data: | |||||
| return memo[data['__memo__']] | |||||
| elif '@' in data: | |||||
| return memo[data['@']] | |||||
| return {key:_deserialize(value, namespace, memo) for key, value in data.items()} | return {key:_deserialize(value, namespace, memo) for key, value in data.items()} | ||||
| elif isinstance(data, list): | elif isinstance(data, list): | ||||
| return [_deserialize(value, namespace, memo) for value in data] | return [_deserialize(value, namespace, memo) for value in data] | ||||
| @@ -78,7 +78,7 @@ class Serialize(object): | |||||
| def serialize(self, memo=None): | def serialize(self, memo=None): | ||||
| if memo and memo.in_types(self): | if memo and memo.in_types(self): | ||||
| return {'__memo__': memo.memoized.get(self)} | |||||
| return {'@': memo.memoized.get(self)} | |||||
| fields = getattr(self, '__serialize_fields__') | fields = getattr(self, '__serialize_fields__') | ||||
| res = {f: _serialize(getattr(self, f), memo) for f in fields} | res = {f: _serialize(getattr(self, f), memo) for f in fields} | ||||
| @@ -95,8 +95,8 @@ class Serialize(object): | |||||
| fields = getattr(cls, '__serialize_fields__') | fields = getattr(cls, '__serialize_fields__') | ||||
| if '__memo__' in data: | |||||
| return memo[data['__memo__']] | |||||
| if '@' in data: | |||||
| return memo[data['@']] | |||||
| inst = cls.__new__(cls) | inst = cls.__new__(cls) | ||||
| for f in fields: | for f in fields: | ||||