@@ -3,22 +3,34 @@ namespace SuperLinq.Async;
33public static partial class AsyncSuperEnumerable
44{
55 /// <summary>
6- /// Creates a sequence that corresponds to the source sequence, concatenating it with the sequence resulting from
7- /// calling an exception handler function in case of an error.
6+ /// Creates a sequence that corresponds to the source sequence, concatenating it with the sequence resulting
7+ /// from calling an exception handler function in case of an error.
88 /// </summary>
9- /// <typeparam name="TSource">Source sequence element type.</typeparam>
10- /// <typeparam name="TException">Exception type to catch.</typeparam>
11- /// <param name="source">Source sequence.</param>
12- /// <param name="handler">Handler to invoke when an exception of the specified type occurs.</param>
13- /// <returns>Source sequence, concatenated with an exception handler result sequence in case of an error.</returns>
14- /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="handler"/> is <see
15- /// langword="null"/>.</exception>
9+ /// <typeparam name="TSource">
10+ /// Source sequence element type.
11+ /// </typeparam>
12+ /// <typeparam name="TException">
13+ /// Exception type to catch.
14+ /// </typeparam>
15+ /// <param name="source">
16+ /// Source sequence.
17+ /// </param>
18+ /// <param name="handler">
19+ /// Handler to invoke when an exception of the specified type occurs.
20+ /// </param>
21+ /// <returns>
22+ /// Source sequence, concatenated with an exception handler result sequence in case of an error.
23+ /// </returns>
24+ /// <exception cref="ArgumentNullException">
25+ /// <paramref name="source"/> or <paramref name="handler"/> is <see langword="null"/>.
26+ /// </exception>
1627 /// <remarks>
17- /// This method uses deferred execution and streams its results.
28+ /// This method uses deferred execution and streams its results.
1829 /// </remarks>
1930 public static IAsyncEnumerable < TSource > Catch < TSource , TException > (
2031 this IAsyncEnumerable < TSource > source ,
21- Func < TException , IAsyncEnumerable < TSource > > handler )
32+ Func < TException , IAsyncEnumerable < TSource > > handler
33+ )
2234 where TException : Exception
2335 {
2436 ArgumentNullException . ThrowIfNull ( source ) ;
@@ -57,17 +69,26 @@ static async IAsyncEnumerable<TSource> Core(
5769 }
5870
5971 /// <summary>
60- /// Creates a sequence that returns the elements of the first sequence, switching to the second in case of an error.
72+ /// Creates a sequence that returns the elements of the first sequence, switching to the second in case of an
73+ /// error.
6174 /// </summary>
62- /// <typeparam name="TSource">Source sequence element type.</typeparam>
63- /// <param name="first">First sequence.</param>
64- /// <param name="second">Second sequence, concatenated to the result in case the first sequence completes
65- /// exceptionally.</param>
66- /// <returns>The first sequence, followed by the second sequence in case an error is produced.</returns>
67- /// <exception cref="ArgumentNullException"><paramref name="first"/> or <paramref name="second"/> is <see
68- /// langword="null"/>.</exception>
75+ /// <typeparam name="TSource">
76+ /// Source sequence element type.
77+ /// </typeparam>
78+ /// <param name="first">
79+ /// First sequence.
80+ /// </param>
81+ /// <param name="second">
82+ /// Second sequence, concatenated to the result in case the first sequence completes exceptionally.
83+ /// </param>
84+ /// <returns>
85+ /// The first sequence, followed by the second sequence in case an error is produced.
86+ /// </returns>
87+ /// <exception cref="ArgumentNullException">
88+ /// <paramref name="first"/> or <paramref name="second"/> is <see langword="null"/>.
89+ /// </exception>
6990 /// <remarks>
70- /// This method uses deferred execution and streams its results.
91+ /// This method uses deferred execution and streams its results.
7192 /// </remarks>
7293 public static IAsyncEnumerable < TSource > Catch < TSource > ( this IAsyncEnumerable < TSource > first , IAsyncEnumerable < TSource > second )
7394 {
@@ -78,14 +99,22 @@ public static IAsyncEnumerable<TSource> Catch<TSource>(this IAsyncEnumerable<TSo
7899 }
79100
80101 /// <summary>
81- /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
102+ /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
82103 /// </summary>
83- /// <typeparam name="TSource">Source sequence element type.</typeparam>
84- /// <param name="sources">Source sequences.</param>
85- /// <returns>Sequence that continues to concatenate source sequences while errors occur.</returns>
86- /// <exception cref="ArgumentNullException"><paramref name="sources"/> is <see langword="null"/>.</exception>
104+ /// <typeparam name="TSource">
105+ /// Source sequence element type.
106+ /// </typeparam>
107+ /// <param name="sources">
108+ /// Source sequences.
109+ /// </param>
110+ /// <returns>
111+ /// Sequence that continues to concatenate source sequences while errors occur.
112+ /// </returns>
113+ /// <exception cref="ArgumentNullException">
114+ /// <paramref name="sources"/> is <see langword="null"/>.
115+ /// </exception>
87116 /// <remarks>
88- /// This method uses deferred execution and streams its results.
117+ /// This method uses deferred execution and streams its results.
89118 /// </remarks>
90119 public static IAsyncEnumerable < TSource > Catch < TSource > ( params IAsyncEnumerable < TSource > [ ] sources )
91120 {
@@ -95,14 +124,22 @@ public static IAsyncEnumerable<TSource> Catch<TSource>(params IAsyncEnumerable<T
95124 }
96125
97126 /// <summary>
98- /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
127+ /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
99128 /// </summary>
100- /// <typeparam name="TSource">Source sequence element type.</typeparam>
101- /// <param name="sources">Source sequences.</param>
102- /// <returns>Sequence that continues to concatenate source sequences while errors occur.</returns>
103- /// <exception cref="ArgumentNullException"><paramref name="sources"/> is <see langword="null"/>.</exception>
129+ /// <typeparam name="TSource">
130+ /// Source sequence element type.
131+ /// </typeparam>
132+ /// <param name="sources">
133+ /// Source sequences.
134+ /// </param>
135+ /// <returns>
136+ /// Sequence that continues to concatenate source sequences while errors occur.
137+ /// </returns>
138+ /// <exception cref="ArgumentNullException">
139+ /// <paramref name="sources"/> is <see langword="null"/>.
140+ /// </exception>
104141 /// <remarks>
105- /// This method uses deferred execution and streams its results.
142+ /// This method uses deferred execution and streams its results.
106143 /// </remarks>
107144 public static IAsyncEnumerable < TSource > Catch < TSource > ( this IEnumerable < IAsyncEnumerable < TSource > > sources )
108145 {
@@ -112,14 +149,22 @@ public static IAsyncEnumerable<TSource> Catch<TSource>(this IEnumerable<IAsyncEn
112149 }
113150
114151 /// <summary>
115- /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
152+ /// Creates a sequence by concatenating source sequences until a source sequence completes successfully.
116153 /// </summary>
117- /// <typeparam name="TSource">Source sequence element type.</typeparam>
118- /// <param name="sources">Source sequences.</param>
119- /// <returns>Sequence that continues to concatenate source sequences while errors occur.</returns>
120- /// <exception cref="ArgumentNullException"><paramref name="sources"/> is <see langword="null"/>.</exception>
154+ /// <typeparam name="TSource">
155+ /// Source sequence element type.
156+ /// </typeparam>
157+ /// <param name="sources">
158+ /// Source sequences.
159+ /// </param>
160+ /// <returns>
161+ /// Sequence that continues to concatenate source sequences while errors occur.
162+ /// </returns>
163+ /// <exception cref="ArgumentNullException">
164+ /// <paramref name="sources"/> is <see langword="null"/>.
165+ /// </exception>
121166 /// <remarks>
122- /// This method uses deferred execution and streams its results.
167+ /// This method uses deferred execution and streams its results.
123168 /// </remarks>
124169 public static IAsyncEnumerable < TSource > Catch < TSource > ( this IAsyncEnumerable < IAsyncEnumerable < TSource > > sources )
125170 {
@@ -146,7 +191,6 @@ static async IAsyncEnumerable<TSource> Core(
146191 // make it outside of the inner `while (true)`
147192 while ( true )
148193 {
149- ArgumentNullException . ThrowIfNull ( source ) ;
150194 await using var e = source . GetConfiguredAsyncEnumerator ( cancellationToken ) ;
151195
152196 while ( true )
0 commit comments