in Source/Tx.Core/TypeMap/EnvelopeTypeMap.cs [94:128]
private static object Transform(
IEnvelope envelope,
bool handleTransportObject,
IReadOnlyDictionary<string, Func<byte[], object>> deserializerMap)
{
if (envelope.PayloadInstance != null)
{
return handleTransportObject ? envelope.PayloadInstance : null;
}
if (envelope.Payload == null)
{
return null;
}
object deserializedObject;
try
{
Func<byte[], object> transform;
if (deserializerMap.TryGetValue(envelope.Protocol, out transform))
{
deserializedObject = transform(envelope.Payload);
}
else
{
deserializedObject = null;
}
}
catch
{
deserializedObject = null;
}
return deserializedObject;
}