deserialize method
dynamic
deserialize(
- dynamic payload
)
override
Implementation
@override
dynamic deserialize(dynamic payload) {
if(payload is String){
tryHexString(payload);
payload = hexToBytes(payload);
}
Uint8List buffer = payload;
var parent = Block().deserialize(buffer);
var mapping = <int, ISerializable>{
NemesisBlockV1.BLOCK_TYPE.value: NemesisBlockV1(),
NormalBlockV1.BLOCK_TYPE.value: NormalBlockV1(),
ImportanceBlockV1.BLOCK_TYPE.value: ImportanceBlockV1()
};
var discriminator = (parent.type.value);
if (mapping[discriminator] != null) {
var factory_class = mapping[discriminator]!;
return factory_class.deserialize(buffer);
} else {
throw Exception('Null value found for mapping[discriminator]');
}
}