from nanome._internal.serializer_fields import StringField, TypeSerializer
from .macro import Macro
[docs]class MacroSerializer(TypeSerializer):
def __init__(self):
self.string = StringField()
[docs] def version(self):
return 0
[docs] def name(self):
return "Macro"
[docs] def serialize(self, version, value, context):
context.write_using_serializer(self.string, value.title)
context.write_using_serializer(self.string, value.logic)
[docs] def deserialize(self, version, context):
result = Macro()
result.title = context.read_using_serializer(self.string)
result.logic = context.read_using_serializer(self.string)
return result