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