namespace FileTime.Core.Extensions; public static class TaskExtensions { public static async Task AwaitWithTimeout(this Task task, int timeout, T? defaultValue = default) { if (await Task.WhenAny(task, Task.Delay(timeout)) == task) { return task.Result; } else { return defaultValue; } } }