* add paging to media server show library calls * add paging to media server season and episode library calls * formatting * add paging to media server collection calls * add paging to media server collection item calls * update changelog
27 lines
883 B
C#
27 lines
883 B
C#
namespace ErsatzTV.Infrastructure;
|
|
|
|
public static class AsyncEnumerable
|
|
{
|
|
/// <summary>
|
|
/// Creates an <see cref="IAsyncEnumerable{T}" /> which yields no results, similar to
|
|
/// <see cref="Enumerable.Empty{TResult}" />.
|
|
/// </summary>
|
|
public static IAsyncEnumerable<T> Empty<T>() => EmptyAsyncEnumerator<T>.Instance;
|
|
|
|
private class EmptyAsyncEnumerator<T> : IAsyncEnumerator<T>, IAsyncEnumerable<T>
|
|
{
|
|
public static readonly EmptyAsyncEnumerator<T> Instance = new();
|
|
|
|
public IAsyncEnumerator<T> GetAsyncEnumerator(CancellationToken cancellationToken = default)
|
|
{
|
|
cancellationToken.ThrowIfCancellationRequested();
|
|
return this;
|
|
}
|
|
|
|
public T Current => default;
|
|
public ValueTask DisposeAsync() => default;
|
|
|
|
public ValueTask<bool> MoveNextAsync() => new(false);
|
|
}
|
|
}
|