<PackageReference Include="AsyncEnumerator" Version="4.0.2" />

Dasync.Collections.AsyncEnumerator<T>

Helps to enumerate items in a collection asynchronously
namespace Dasync.Collections { public class AsyncEnumerator<T> : AsyncEnumeratorWithState<T, AsyncEnumerator<T>.NoStateAdapter> { public sealed class Yield { public CancellationToken CancellationToken { get; } public Task ReturnAsync(T item); public void Break(); } public struct NoStateAdapter { } public new static readonly IAsyncEnumerator<T> Empty; public AsyncEnumerator(Func<Yield, Task> enumerationFunction, Action onDispose = null); } }