using System.Threading; namespace Cysharp.Threading.Tasks.Linq { public static partial class UniTaskAsyncEnumerable { public static IUniTaskAsyncEnumerable Empty() { return Cysharp.Threading.Tasks.Linq.Empty.Instance; } } internal class Empty : IUniTaskAsyncEnumerable { public static readonly IUniTaskAsyncEnumerable Instance = new Empty(); Empty() { } public IUniTaskAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default) { return _Empty.Instance; } class _Empty : IUniTaskAsyncEnumerator { public static readonly IUniTaskAsyncEnumerator Instance = new _Empty(); _Empty() { } public T Current => default; public UniTask MoveNextAsync() { return CompletedTasks.False; } public UniTask DisposeAsync() { return default; } } } }