public void ToAwaiter <TResult>(EffAwaiter <TResult> awaiter) { if (Exception is Exception e) { awaiter.SetException(e); } else { awaiter.SetResult((TResult)Value !); } }
///<summary> /// Hydrates an incomplete awaiter instance with the persisted result. ///</summary> public void WriteToAwaiter <TResult>(EffAwaiter <TResult> awaiter) { if (awaiter.IsCompleted) { throw new ArgumentException("EffAwaiter is in completed state.", nameof(awaiter)); } if (IsException) { var exn = JsonConvert.DeserializeObject <Exception>(Value); awaiter.SetException(exn); } else { var value = JsonConvert.DeserializeObject <TResult>(Value); awaiter.SetResult(value !); } }