using System.Runtime.CompilerServices; namespace Nadeko.Common; public class AsyncLazy : Lazy> { public AsyncLazy(Func valueFactory) : base(() => Task.Run(valueFactory)) { } public AsyncLazy(Func> taskFactory) : base(() => Task.Run(taskFactory)) { } public TaskAwaiter GetAwaiter() => Value.GetAwaiter(); }