@@ -9,17 +9,27 @@ module ValueTask =
9
9
open System.Threading
10
10
open System.Threading .Tasks
11
11
12
- let FromResult < 'T > ( result : 'T ) =
13
- ValueTask< 'T>( result)
14
-
15
- let FromException < 'T > ( e : exn ) =
16
- ValueTask< 'T>( Task.FromException< 'T>( e))
12
+ /// <summary>Creates a <see cref="ValueTask{TResult}"/> that's completed successfully with the specified result.</summary>
13
+ /// <typeparam name="TResult">The type of the result returned by the task.</typeparam>
14
+ /// <param name="result">The result to store into the completed task.</param>
15
+ /// <returns>The successfully completed task.</returns>
16
+ let FromResult < 'TResult > ( result : 'TResult ) = ValueTask< 'TResult> result
17
+
18
+ /// <summary>Creates a <see cref="ValueTask{TResult}"/> that's completed exceptionally with the specified exception.</summary>
19
+ /// <typeparam name="TResult">The type of the result returned by the task.</typeparam>
20
+ /// <param name="exception">The exception with which to complete the task.</param>
21
+ /// <returns>The faulted task.</returns>
22
+ let FromException < 'TResult > ( ``exception`` : exn ) = ValueTask< 'TResult> ( Task.FromException< 'TResult> `` exception `` )
17
23
18
- let FromCanceled < 'T > ( ct : CancellationToken ) =
19
- ValueTask< 'T>( Task.FromCanceled< 'T>( ct))
20
-
21
- let FromTask < 'T > ( t : Task < 'T >) =
22
- ValueTask< 'T>( t)
24
+ /// <summary>Creates a <see cref="ValueTask{TResult}"/> that's completed due to cancellation with the specified token.</summary>
25
+ /// <typeparam name="TResult">The type of the result returned by the task.</typeparam>
26
+ /// <param name="cancellationToken">The token with which to complete the task.</param>
27
+ /// <returns>The canceled task.</returns>
28
+ let FromCanceled < 'TResult > ( cancellationToken : CancellationToken ) = ValueTask< 'TResult> ( Task.FromCanceled< 'TResult> cancellationToken)
29
+
30
+ /// <summary>Creates a <see cref="ValueTask{TResult}"/> from a <see cref="Task{TResult}"/>.</summary>
31
+ /// <param name="source">Task workflow.</param>
32
+ let FromTask < 'TResult > ( source : Task < 'TResult >) = ValueTask< 'TResult> source
23
33
24
34
/// <summary>Creates a ValueTask workflow from 'source' another, mapping its result with 'f'.</summary>
25
35
let map ( f : 'T -> 'U ) ( source : ValueTask < 'T >) : ValueTask < 'U > =
0 commit comments