WGet.NET 4.4.1
A WinGet wrapper library for .Net.
Loading...
Searching...
No Matches
StreamReaderExtensions.cs
1//--------------------------------------------------//
2// Created by basicx-StrgV //
3// https://github.com/basicx-StrgV/ //
4//--------------------------------------------------//
5using System;
6using System.IO;
7using System.Threading;
8using System.Threading.Tasks;
9
10namespace WGetNET.Extensions
11{
16 internal static class StreamReaderExtensions
17 {
28 public static string[] ReadSreamOutputByLine(this StreamReader output)
29 {
30 string[] outputArray = Array.Empty<string>();
31
32 //Read output to list
33 while (!output.EndOfStream)
34 {
35 string? outputLine = output.ReadLine();
36 if (outputLine is null)
37 {
38 continue;
39 }
40
41 outputArray = outputArray.Add(outputLine);
42 }
43
44 return outputArray;
45 }
46
60 public static async Task<string[]> ReadSreamOutputByLineAsync(this StreamReader output, CancellationToken cancellationToken = default)
61 {
62 string[] outputArray = Array.Empty<string>();
63
64 //Read output to list
65 while (!output.EndOfStream)
66 {
67 if (cancellationToken.IsCancellationRequested)
68 {
69 break;
70 }
71
72 string? outputLine = await output.ReadLineAsync();
73 if (outputLine is null)
74 {
75 continue;
76 }
77
78 outputArray = outputArray.Add(outputLine);
79 }
80
81 return outputArray;
82 }
83 }
84}