Class FlowExtensions
- Namespace
- PatternKit.Behavioral.Iterator
- Assembly
- PatternKit.Core.dll
Helper extensions for flow composition sugar / interop.
public static class FlowExtensions
- Inheritance
-
FlowExtensions
- Inherited Members
Methods
FirstOption<T>(Flow<T>)
Convert flow to Option<T> (first element).
public static Option<T> FirstOption<T>(this Flow<T> flow)
Parameters
flowFlow<T>
Returns
- Option<T>
Type Parameters
T
FirstOrDefault<T>(Flow<T>, Func<T, bool>?)
Return the first value or default.
public static T? FirstOrDefault<T>(this Flow<T> flow, Func<T, bool>? predicate = null)
Parameters
Returns
- T
Type Parameters
T
Fold<T, TAcc>(Flow<T>, TAcc, Func<TAcc, T, TAcc>)
Terminal reduce (aggregate) that folds the sequence into a single value.
public static TAcc Fold<T, TAcc>(this Flow<T> flow, TAcc seed, Func<TAcc, T, TAcc> folder)
Parameters
Returns
- TAcc
Type Parameters
TTAcc
Fold<T, TAcc>(SharedFlow<T>, TAcc, Func<TAcc, T, TAcc>)
Fold for a shared flow (fork first so the enumeration does not interfere with other consumers).
public static TAcc Fold<T, TAcc>(this SharedFlow<T> flow, TAcc seed, Func<TAcc, T, TAcc> folder)
Parameters
flowSharedFlow<T>seedTAccfolderFunc<TAcc, T, TAcc>
Returns
- TAcc
Type Parameters
TTAcc