Skip to content

Commit 6ff0e4a

Browse files
gustyabelbraaksma
authored andcommitted
+ singleton
1 parent 5020538 commit 6ff0e4a

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/FSharp.Control.TaskSeq/TaskSeq.fs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,20 @@ module TaskSeq =
2121
}
2222
}
2323

24+
let singleton (source: 'T) =
25+
{ new IAsyncEnumerable<'T> with
26+
member _.GetAsyncEnumerator(_) =
27+
let mutable started = false
28+
{ new IAsyncEnumerator<'T> with
29+
member _.MoveNextAsync () =
30+
let r = ValueTask.FromResult (not started)
31+
started <- true
32+
r
33+
member _.get_Current () : 'T = if started then source else invalidOp "Enumeration has not started. Call MoveNextAsync."
34+
member _.DisposeAsync () = ValueTask.CompletedTask
35+
}
36+
}
37+
2438
let isEmpty source = Internal.isEmpty source
2539

2640
//

0 commit comments

Comments
 (0)