deserialize method

  1. @override
dynamic deserialize(
  1. 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]');
	}
}