in src/Utility/TypeExtensions.cs [68:99]
internal static object ToObject(this TypedData data, bool convertFromJsonIfValidJson = true, bool isDurableClient = false)
{
if (data == null)
{
return null;
}
switch (data.DataCase)
{
case TypedData.DataOneofCase.Json:
return ConvertFromJson(data.Json, returnCaseInsensitiveHashtable: isDurableClient);
case TypedData.DataOneofCase.Bytes:
return data.Bytes.ToByteArray();
case TypedData.DataOneofCase.Double:
return data.Double;
case TypedData.DataOneofCase.Http:
return data.Http.ToHttpRequestContext();
case TypedData.DataOneofCase.Int:
return data.Int;
case TypedData.DataOneofCase.Stream:
return data.Stream.ToByteArray();
case TypedData.DataOneofCase.String:
string str = data.String;
return convertFromJsonIfValidJson && IsValidJson(str)
? ConvertFromJson(str, returnCaseInsensitiveHashtable: isDurableClient)
: str;
case TypedData.DataOneofCase.None:
return null;
default:
return new InvalidOperationException("DataCase was not set.");
}
}