Example #1
0
 public static IAsyncEnumerator <T> Create <T>(params T[] items) => AsyncEnumerator.Create(items as Generic.IEnumerable <T>);
Example #2
0
 public static IAsyncEnumerator <T> Create <T>(Generic.IEnumerable <T> enumerable) => AsyncEnumerator.Create(enumerable?.GetEnumerator());
Example #3
0
 public static IAsyncEnumerator <T> Create <T>(Generic.IEnumerator <T> enumerator)
 {
     return(enumerator.NotNull() ? AsyncEnumerator.Create(() => Tasks.Task.FromResult(enumerator.Next()), enumerator) : AsyncEnumerator.Empty <T>());
 }
Example #4
0
 public static IAsyncEnumerator <T> Create <T>(Func <Tasks.Task <T> > next, IDisposable disposable = null)
 {
     return(AsyncEnumerator.Create(next, disposable is IDisposable ? (Action)((IDisposable)disposable).Dispose : null));
 }
Example #5
0
 public static IAsyncEnumerator <T> Create <T>(Func <Tasks.Task <T> > next, Action dispose = null)
 {
     return(next.NotNull() ? new AsyncEnumerator <T>(next, dispose) : AsyncEnumerator.Empty <T>());
 }
Example #6
0
 public static IAsyncEnumerator <T> Empty <T>() => AsyncEnumerator.Create <T>(Enumerator.Empty <T>());