diff options
| author | Patrick Barron <18354464+barronpm@users.noreply.github.com> | 2021-05-10 09:05:12 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-10 09:05:12 -0400 |
| commit | e55f35b62e5da535bfba301e5ac86f28df35dd2e (patch) | |
| tree | 02c1d449788be00877e3f53acde17638eadfc90a /MediaBrowser.Common/Extensions/StreamExtensions.cs | |
| parent | 9413d974f3f234dd3fc2225d318d7fced7257912 (diff) | |
| parent | d4a50be22c3c4b9bb0adfb957ee558287fd219d9 (diff) | |
Merge branch 'master' into using-declarations
Diffstat (limited to 'MediaBrowser.Common/Extensions/StreamExtensions.cs')
| -rw-r--r-- | MediaBrowser.Common/Extensions/StreamExtensions.cs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/MediaBrowser.Common/Extensions/StreamExtensions.cs b/MediaBrowser.Common/Extensions/StreamExtensions.cs index cd77be7b2..5cbf57d98 100644 --- a/MediaBrowser.Common/Extensions/StreamExtensions.cs +++ b/MediaBrowser.Common/Extensions/StreamExtensions.cs @@ -1,5 +1,3 @@ -#nullable enable - using System.Collections.Generic; using System.IO; using System.Linq; @@ -35,11 +33,11 @@ namespace MediaBrowser.Common.Extensions } /// <summary> - /// Reads all lines in the <see cref="StreamReader" />. + /// Reads all lines in the <see cref="TextReader" />. /// </summary> - /// <param name="reader">The <see cref="StreamReader" /> to read from.</param> + /// <param name="reader">The <see cref="TextReader" /> to read from.</param> /// <returns>All lines in the stream.</returns> - public static IEnumerable<string> ReadAllLines(this StreamReader reader) + public static IEnumerable<string> ReadAllLines(this TextReader reader) { string? line; while ((line = reader.ReadLine()) != null) @@ -47,5 +45,19 @@ namespace MediaBrowser.Common.Extensions yield return line; } } + + /// <summary> + /// Reads all lines in the <see cref="TextReader" />. + /// </summary> + /// <param name="reader">The <see cref="TextReader" /> to read from.</param> + /// <returns>All lines in the stream.</returns> + public static async IAsyncEnumerable<string> ReadAllLinesAsync(this TextReader reader) + { + string? line; + while ((line = await reader.ReadLineAsync().ConfigureAwait(false)) != null) + { + yield return line; + } + } } } |
