FSharp.Control.AsyncSeq


AsyncSeq Module

Types

Type Description

AsyncSeqBuilder

Computation builder that allows creating of asynchronous sequences using the 'asyncSeq { ... }' syntax

Functions and values

Function or value Description

AsyncSeq.append seq1 seq2

Full Usage: AsyncSeq.append seq1 seq2

Parameters:
Returns: AsyncSeq<'T>

Yields all elements of the first asynchronous sequence and then all elements of the second asynchronous sequence.

seq1 : AsyncSeq<'T>
seq2 : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.bufferByCount bufferSize source

Full Usage: AsyncSeq.bufferByCount bufferSize source

Parameters:
    bufferSize : int
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T[]>

Buffer items from the async sequence into buffers of a specified size. The last buffer returned may be less than the specified buffer size.

bufferSize : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T[]>

AsyncSeq.bufferByCountAndTime bufferSize timeoutMs source

Full Usage: AsyncSeq.bufferByCountAndTime bufferSize timeoutMs source

Parameters:
    bufferSize : int
    timeoutMs : int
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T[]>

Buffer items from the async sequence until a specified buffer size is reached or a specified amount of time is elapsed.

bufferSize : int
timeoutMs : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T[]>

AsyncSeq.bufferByTime timeMs source

Full Usage: AsyncSeq.bufferByTime timeMs source

Parameters:
Returns: AsyncSeq<'T[]>

Buffers items from the async sequence by the specified time interval. If no items are received in an intervel and empty array is emitted.

timeMs : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T[]>

AsyncSeq.cache source

Full Usage: AsyncSeq.cache source

Parameters:
Returns: AsyncSeq<'T>

Create a new asynchronous sequence that caches all elements of the sequence specified as the input. When accessing the resulting sequence multiple times, the input will still be evaluated only once

source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.choose chooser source

Full Usage: AsyncSeq.choose chooser source

Parameters:
    chooser : 'T -> 'U option
    source : AsyncSeq<'T>

Returns: AsyncSeq<'U>

Asynchronously iterates over the input sequence and generates 'x' for every input element for which the specified function returned 'Some(x)'

chooser : 'T -> 'U option
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.chooseAsync mapping source

Full Usage: AsyncSeq.chooseAsync mapping source

Parameters:
Returns: AsyncSeq<'R>

Asynchronously iterates over the input sequence and generates 'x' for every input element for which the specified asynchronous function returned 'Some(x)' The specified function is asynchronous (and the input sequence will be asked for the next element after the processing of an element completes).

mapping : 'T -> Async<'R option>
source : AsyncSeq<'T>
Returns: AsyncSeq<'R>

AsyncSeq.collect mapping source

Full Usage: AsyncSeq.collect mapping source

Parameters:
Returns: AsyncSeq<'TResult>

Creates an asynchronous sequence that iterates over the given input sequence. For every input element, it calls the the specified function and iterates over all elements generated by that asynchronous sequence. This is the 'bind' operation of the computation expression (exposed using the 'for' keyword in asyncSeq computation).

mapping : 'T -> AsyncSeq<'TResult>
source : AsyncSeq<'T>
Returns: AsyncSeq<'TResult>

AsyncSeq.combineLatest source1 source2

Full Usage: AsyncSeq.combineLatest source1 source2

Parameters:
Returns: AsyncSeq<'a * 'b>

Merges two async sequences. The resulting async sequence produces an element when either input sequence produces an element, passing the new element from the emitting sequence and the previously emitted element from the other sequence. If either of the input sequences is empty, the resulting sequence is empty.

source1 : AsyncSeq<'a>
source2 : AsyncSeq<'b>
Returns: AsyncSeq<'a * 'b>

AsyncSeq.combineLatestWith combine source1 source2

Full Usage: AsyncSeq.combineLatestWith combine source1 source2

Parameters:
Returns: AsyncSeq<'V>

Merges two async sequences using the specified combine function. The resulting async sequence produces an element when either input sequence produces an element, passing the new element from the emitting sequence and the previously emitted element from the other sequence. If either of the input sequences is empty, the resulting sequence is empty.

combine : 'T -> 'U -> 'V
source1 : AsyncSeq<'T>
source2 : AsyncSeq<'U>
Returns: AsyncSeq<'V>

AsyncSeq.combineLatestWithAsync combine source1 source2

Full Usage: AsyncSeq.combineLatestWithAsync combine source1 source2

Parameters:
Returns: AsyncSeq<'V>

Merges two async sequences using the specified combine function. The resulting async sequence produces an element when either input sequence produces an element, passing the new element from the emitting sequence and the previously emitted element from the other sequence. If either of the input sequences is empty, the resulting sequence is empty.

combine : 'T -> 'U -> Async<'V>
source1 : AsyncSeq<'T>
source2 : AsyncSeq<'U>
Returns: AsyncSeq<'V>

AsyncSeq.concat arg1

Full Usage: AsyncSeq.concat arg1

Parameters:
Returns: AsyncSeq<'T>

Flattens an AsyncSeq of asynchronous sequences.

arg0 : AsyncSeq<AsyncSeq<'T>>
Returns: AsyncSeq<'T>

AsyncSeq.concatSeq source

Full Usage: AsyncSeq.concatSeq source

Parameters:
Returns: AsyncSeq<'T>

Flattens an AsyncSeq of synchronous sequences.

source : AsyncSeq<'a>
Returns: AsyncSeq<'T>

AsyncSeq.contains value source

Full Usage: AsyncSeq.contains value source

Parameters:
Returns: Async<bool>

Asynchronously determine if the sequence contains the given value

value : 'T
source : AsyncSeq<'T>
Returns: Async<bool>

AsyncSeq.distinctUntilChanged source

Full Usage: AsyncSeq.distinctUntilChanged source

Parameters:
Returns: AsyncSeq<'T>

Returns an async sequence which contains no contiguous duplicate elements.

source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.distinctUntilChangedWith mapping source

Full Usage: AsyncSeq.distinctUntilChangedWith mapping source

Parameters:
    mapping : 'T -> 'T -> bool
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T>

Returns an async sequence which contains no contiguous duplicate elements based on the specified comparison function.

mapping : 'T -> 'T -> bool
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.distinctUntilChangedWithAsync mapping source

Full Usage: AsyncSeq.distinctUntilChangedWithAsync mapping source

Parameters:
Returns: AsyncSeq<'T>

Returns an async sequence which contains no contiguous duplicate elements based on the specified comparison function.

mapping : 'T -> 'T -> Async<bool>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.empty

Full Usage: AsyncSeq.empty

Returns: AsyncSeq<'T>

Creates an empty asynchronous sequence that immediately ends.

Returns: AsyncSeq<'T>

AsyncSeq.exists predicate source

Full Usage: AsyncSeq.exists predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: Async<bool>

Asynchronously determine if there is a value in the sequence for which the predicate returns true

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: Async<bool>

AsyncSeq.filter predicate source

Full Usage: AsyncSeq.filter predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T>

Same as AsyncSeq.filterAsync, but the specified predicate is synchronous and processes the input element immediately.

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.filterAsync predicate source

Full Usage: AsyncSeq.filterAsync predicate source

Parameters:
Returns: AsyncSeq<'T>

Builds a new asynchronous sequence whose elements are those from the input sequence for which the specified function returned true. The specified function is asynchronous (and the input sequence will be asked for the next element after the processing of an element completes).

predicate : 'T -> Async<bool>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.firstOrDefault default source

Full Usage: AsyncSeq.firstOrDefault default source

Parameters:
Returns: Async<'T>

Asynchronously returns the first element that was generated by the given asynchronous sequence (or the specified default value).

default : 'T
source : AsyncSeq<'T>
Returns: Async<'T>

AsyncSeq.fold folder state source

Full Usage: AsyncSeq.fold folder state source

Parameters:
    folder : 'State -> 'T -> 'State
    state : 'State
    source : AsyncSeq<'T>

Returns: Async<'State>

Asynchronously aggregate the elements of the input asynchronous sequence using the specified 'aggregation' function.

folder : 'State -> 'T -> 'State
state : 'State
source : AsyncSeq<'T>
Returns: Async<'State>

AsyncSeq.foldAsync folder state source

Full Usage: AsyncSeq.foldAsync folder state source

Parameters:
    folder : 'State -> 'T -> Async<'State>
    state : 'State
    source : AsyncSeq<'T>

Returns: Async<'State>

Asynchronously aggregate the elements of the input asynchronous sequence using the specified asynchronous 'aggregation' function.

folder : 'State -> 'T -> Async<'State>
state : 'State
source : AsyncSeq<'T>
Returns: Async<'State>

AsyncSeq.forall predicate source

Full Usage: AsyncSeq.forall predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: Async<bool>

Asynchronously determine if the predicate returns true for all values in the sequence

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: Async<bool>

AsyncSeq.groupBy projection source

Full Usage: AsyncSeq.groupBy projection source

Parameters:
    projection : 'T -> 'Key
    source : AsyncSeq<'T>

Returns: AsyncSeq<'Key * AsyncSeq<'T>>

Applies a key-generating function to each element and returns an async sequence containing unique keys and async sequences containing elements corresponding to the key. Note that the resulting async sequence has to be processed in parallel (e.g AsyncSeq.mapAsyncParallel) becaused completion of sub-sequences depends on completion of other sub-sequences.

projection : 'T -> 'Key
source : AsyncSeq<'T>
Returns: AsyncSeq<'Key * AsyncSeq<'T>>

AsyncSeq.groupByAsync projection source

Full Usage: AsyncSeq.groupByAsync projection source

Parameters:
Returns: AsyncSeq<'Key * AsyncSeq<'T>>

Applies a key-generating function to each element and returns an async sequence containing unique keys and async sequences containing elements corresponding to the key. Note that the resulting async sequence has to be processed in parallel (e.g AsyncSeq.mapAsyncParallel) becaused completion of sub-sequences depends on completion of other sub-sequences.

projection : 'T -> Async<'Key>
source : AsyncSeq<'T>
Returns: AsyncSeq<'Key * AsyncSeq<'T>>

AsyncSeq.indexed source

Full Usage: AsyncSeq.indexed source

Parameters:
Returns: AsyncSeq<int64 * 'T>

Return an asynchronous sequence which, when iterated, includes an integer indicating the index of each element in the sequence.

source : AsyncSeq<'T>
Returns: AsyncSeq<int64 * 'T>

AsyncSeq.init count mapping

Full Usage: AsyncSeq.init count mapping

Parameters:
    count : int64
    mapping : int64 -> 'T

Returns: AsyncSeq<'T>

Generates a finite async sequence using the specified initialization function.

count : int64
mapping : int64 -> 'T
Returns: AsyncSeq<'T>

AsyncSeq.initAsync count mapping

Full Usage: AsyncSeq.initAsync count mapping

Parameters:
    count : int64
    mapping : int64 -> Async<'T>

Returns: AsyncSeq<'T>

Generates a finite async sequence using the specified asynchronous initialization function.

count : int64
mapping : int64 -> Async<'T>
Returns: AsyncSeq<'T>

AsyncSeq.initInfinite mapping

Full Usage: AsyncSeq.initInfinite mapping

Parameters:
    mapping : int64 -> 'T

Returns: AsyncSeq<'T>

Generates an infinite async sequence using the specified initialization function.

mapping : int64 -> 'T
Returns: AsyncSeq<'T>

AsyncSeq.initInfiniteAsync mapping

Full Usage: AsyncSeq.initInfiniteAsync mapping

Parameters:
    mapping : int64 -> Async<'T>

Returns: AsyncSeq<'T>

Generates an infinite async sequence using the specified asynchronous initialization function.

mapping : int64 -> Async<'T>
Returns: AsyncSeq<'T>

AsyncSeq.interleave source1 source2

Full Usage: AsyncSeq.interleave source1 source2

Parameters:
Returns: AsyncSeq<'T>

Interleaves two async sequences of the same type into a resulting sequence. The provided sequences are consumed in lock-step.

source1 : AsyncSeq<'T>
source2 : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.interleaveChoice source1 source2

Full Usage: AsyncSeq.interleaveChoice source1 source2

Parameters:
Returns: AsyncSeq<Choice<'T1, 'T2>>

Interleaves two async sequences into a resulting sequence. The provided sequences are consumed in lock-step.

source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<Choice<'T1, 'T2>>

AsyncSeq.intervalMs periodMs

Full Usage: AsyncSeq.intervalMs periodMs

Parameters:
    periodMs : int

Returns: AsyncSeq<DateTime>

Returns an async sequence which emits an element on a specified period.

periodMs : int
Returns: AsyncSeq<DateTime>

AsyncSeq.iter action source

Full Usage: AsyncSeq.iter action source

Parameters:
    action : 'T -> unit
    source : AsyncSeq<'T>

Returns: Async<unit>

Iterates over the input sequence and calls the specified function for every value.

action : 'T -> unit
source : AsyncSeq<'T>
Returns: Async<unit>

AsyncSeq.iterAsync action source

Full Usage: AsyncSeq.iterAsync action source

Parameters:
Returns: Async<unit>

Iterates over the input sequence and calls the specified asynchronous function for every value. The input sequence will be asked for the next element after the processing of an element completes.

action : 'T -> Async<unit>
source : AsyncSeq<'T>
Returns: Async<unit>

AsyncSeq.iterAsyncParallel action source

Full Usage: AsyncSeq.iterAsyncParallel action source

Parameters:
Returns: Async<unit>

Iterates over the input sequence and calls the specified asynchronous function for every value. Each action computation is started but not awaited before consuming the next item from the sequence, thereby iterating in parallel.

action : 'T -> Async<unit>
source : AsyncSeq<'T>
Returns: Async<unit>

AsyncSeq.iterAsyncParallelThrottled parallelism action source

Full Usage: AsyncSeq.iterAsyncParallelThrottled parallelism action source

Parameters:
    parallelism : int
    action : 'T -> Async<unit>
    source : AsyncSeq<'T>

Returns: Async<unit>

Iterates over the input sequence and calls the specified asynchronous function for every value. Each action computation is started but not awaited before consuming the next item from the sequence, thereby iterating in parallel with a specified degree of parallelism.

parallelism : int
action : 'T -> Async<unit>
source : AsyncSeq<'T>
Returns: Async<unit>

AsyncSeq.iteriAsync action source

Full Usage: AsyncSeq.iteriAsync action source

Parameters:
Returns: Async<unit>

Iterates over the input sequence and calls the specified asynchronous function for every value, passing along the index of that element. The input sequence will be asked for the next element after the processing of an element completes.

action : int -> 'T -> Async<unit>
source : AsyncSeq<'T>
Returns: Async<unit>

AsyncSeq.lastOrDefault default source

Full Usage: AsyncSeq.lastOrDefault default source

Parameters:
Returns: Async<'T>

Asynchronously returns the last element that was generated by the given asynchronous sequence (or the specified default value).

default : 'T
source : AsyncSeq<'T>
Returns: Async<'T>

AsyncSeq.length source

Full Usage: AsyncSeq.length source

Parameters:
Returns: Async<int64>

Asynchronously determine the number of elements in the sequence

source : AsyncSeq<'T>
Returns: Async<int64>

AsyncSeq.map folder source

Full Usage: AsyncSeq.map folder source

Parameters:
    folder : 'T -> 'U
    source : AsyncSeq<'T>

Returns: AsyncSeq<'U>

Same as AsyncSeq.mapAsync, but the specified function is synchronous.

folder : 'T -> 'U
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.mapAsync mapping source

Full Usage: AsyncSeq.mapAsync mapping source

Parameters:
Returns: AsyncSeq<'TResult>

Builds a new asynchronous sequence whose elements are generated by applying the specified function to all elements of the input sequence. The specified function is asynchronous (and the input sequence will be asked for the next element after the processing of an element completes).

mapping : 'T -> Async<'TResult>
source : AsyncSeq<'T>
Returns: AsyncSeq<'TResult>

AsyncSeq.mapAsyncParallel mapping s

Full Usage: AsyncSeq.mapAsyncParallel mapping s

Parameters:
Returns: AsyncSeq<'U>

Builds a new asynchronous sequence whose elements are generated by applying the specified function to all elements of the input sequence. The function is applied to elements in order and results are emitted in order, but in parallel, without waiting for a prior mapping operation to complete. Parallelism is bound by the ThreadPool.

mapping : 'T -> Async<'U>
s : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.mapi mapping source

Full Usage: AsyncSeq.mapi mapping source

Parameters:
    mapping : int64 -> 'T -> 'U
    source : AsyncSeq<'T>

Returns: AsyncSeq<'U>

Builds a new asynchronous sequence whose elements are generated by applying the specified function to all elements of the input sequence. The specified function is synchronous (and the input sequence will be asked for the next element after the processing of an element completes).

mapping : int64 -> 'T -> 'U
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.mapiAsync mapping source

Full Usage: AsyncSeq.mapiAsync mapping source

Parameters:
Returns: AsyncSeq<'U>

Builds a new asynchronous sequence whose elements are generated by applying the specified function to all elements of the input sequence. The specified function is asynchronous (and the input sequence will be asked for the next element after the processing of an element completes).

mapping : int64 -> 'T -> Async<'U>
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.merge source1 source2

Full Usage: AsyncSeq.merge source1 source2

Parameters:
Returns: AsyncSeq<'T>

Merges two async sequences of the same type into an async sequence non-deterministically. The resulting async sequence produces elements when any argument sequence produces an element.

source1 : AsyncSeq<'T>
source2 : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.mergeAll sources

Full Usage: AsyncSeq.mergeAll sources

Parameters:
Returns: AsyncSeq<'T>

Merges all specified async sequences into an async sequence non-deterministically. The resulting async sequence produces elements when any argument sequence produces an element.

sources : AsyncSeq<'T> list
Returns: AsyncSeq<'T>

AsyncSeq.mergeChoice source1 source2

Full Usage: AsyncSeq.mergeChoice source1 source2

Parameters:
Returns: AsyncSeq<Choice<'T1, 'T2>>

Merges two async sequences into an async sequence non-deterministically. The resulting async sequence produces elements when any argument sequence produces an element.

source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<Choice<'T1, 'T2>>

AsyncSeq.ofAsyncEnum source

Full Usage: AsyncSeq.ofAsyncEnum source

Parameters:
Returns: AsyncSeq<'T>

Creates an asynchronous computation that asynchronously yields results from the provided .NET IAsyncEnumerable.

source : IAsyncEnumerable<'T>
Returns: AsyncSeq<'T>

AsyncSeq.ofIQueryable source

Full Usage: AsyncSeq.ofIQueryable source

Parameters:
Returns: AsyncSeq<'T>
source : IQueryable<'T>
Returns: AsyncSeq<'T>

AsyncSeq.ofObservableBuffered source

Full Usage: AsyncSeq.ofObservableBuffered source

Parameters:
Returns: AsyncSeq<'T>

Converts observable to an asynchronous sequence. Values that are produced by the observable while the asynchronous sequence is blocked are stored to an unbounded buffer and are returned as next elements of the async sequence.

source : IObservable<'T>
Returns: AsyncSeq<'T>

AsyncSeq.ofSeq source

Full Usage: AsyncSeq.ofSeq source

Parameters:
    source : seq<'T>

Returns: AsyncSeq<'T>

Creates an asynchronous sequence that lazily takes element from an input synchronous sequence and returns them one-by-one.

source : seq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.ofSeqAsync arg1

Full Usage: AsyncSeq.ofSeqAsync arg1

Parameters:
Returns: AsyncSeq<'T>

Creates an asynchronous sequence that lazily takes element from an input synchronous sequence of asynchronous computation and returns them one-by-one.

arg0 : seq<Async<'T>>
Returns: AsyncSeq<'T>

AsyncSeq.pairwise source

Full Usage: AsyncSeq.pairwise source

Parameters:
Returns: AsyncSeq<'T * 'T>

Returns an asynchronous sequence that returns pairs containing an element from the input sequence and its predecessor. Empty sequence is returned for singleton input sequence.

source : AsyncSeq<'T>
Returns: AsyncSeq<'T * 'T>

AsyncSeq.pick chooser source

Full Usage: AsyncSeq.pick chooser source

Parameters:
    chooser : 'T -> 'TResult option
    source : AsyncSeq<'T>

Returns: Async<'TResult>

Asynchronously pick a value from a sequence based on the specified chooser function. Raises KeyNotFoundException if the chooser function can't find a matching key.

chooser : 'T -> 'TResult option
source : AsyncSeq<'T>
Returns: Async<'TResult>

AsyncSeq.pickAsync chooser source

Full Usage: AsyncSeq.pickAsync chooser source

Parameters:
Returns: Async<'TResult>

Asynchronously pick a value from a sequence based on the specified chooser function. Raises KeyNotFoundException if the chooser function can't find a matching key.

chooser : 'T -> Async<'TResult option>
source : AsyncSeq<'T>
Returns: Async<'TResult>

AsyncSeq.replicate count v

Full Usage: AsyncSeq.replicate count v

Parameters:
    count : int
    v : 'T

Returns: AsyncSeq<'T>

Creates an async sequence which repeats the specified value the indicated number of times.

count : int
v : 'T
Returns: AsyncSeq<'T>

AsyncSeq.replicateInfinite v

Full Usage: AsyncSeq.replicateInfinite v

Parameters:
    v : 'T

Returns: AsyncSeq<'T>

Creates an infinite async sequence which repeats the specified value.

v : 'T
Returns: AsyncSeq<'T>

AsyncSeq.replicateInfiniteAsync v

Full Usage: AsyncSeq.replicateInfiniteAsync v

Parameters:
Returns: AsyncSeq<'T>

Creates an infinite async sequence which repeatedly evaluates and emits the specified async value.

v : Async<'T>
Returns: AsyncSeq<'T>

AsyncSeq.replicateUntilNoneAsync arg1

Full Usage: AsyncSeq.replicateUntilNoneAsync arg1

Parameters:
    arg0 : Async<'T option>

Returns: AsyncSeq<'T>

Creates an async sequence given by evaluating the specified async computation until it returns None.

arg0 : Async<'T option>
Returns: AsyncSeq<'T>

AsyncSeq.scan folder state source

Full Usage: AsyncSeq.scan folder state source

Parameters:
    folder : 'State -> 'T -> 'State
    state : 'State
    source : AsyncSeq<'T>

Returns: AsyncSeq<'State>

Same as AsyncSeq.scanAsync, but the specified function is synchronous.

folder : 'State -> 'T -> 'State
state : 'State
source : AsyncSeq<'T>
Returns: AsyncSeq<'State>

AsyncSeq.scanAsync folder state source

Full Usage: AsyncSeq.scanAsync folder state source

Parameters:
    folder : 'State -> 'T -> Async<'State>
    state : 'State
    source : AsyncSeq<'T>

Returns: AsyncSeq<'State>

Aggregates the elements of the input asynchronous sequence using the specified 'aggregation' function. The result is an asynchronous sequence of intermediate aggregation result. The aggregation function is asynchronous (and the input sequence will be asked for the next element after the processing of an element completes).

folder : 'State -> 'T -> Async<'State>
state : 'State
source : AsyncSeq<'T>
Returns: AsyncSeq<'State>

AsyncSeq.singleton v

Full Usage: AsyncSeq.singleton v

Parameters:
    v : 'T

Returns: AsyncSeq<'T>

Creates an asynchronous sequence that generates a single element and then ends.

v : 'T
Returns: AsyncSeq<'T>

AsyncSeq.skip count source

Full Usage: AsyncSeq.skip count source

Parameters:
Returns: AsyncSeq<'T>

Skips the first N elements of an asynchronous sequence and then returns the rest of the sequence unmodified.

count : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.skipUntilSignal signal source

Full Usage: AsyncSeq.skipUntilSignal signal source

Parameters:
Returns: AsyncSeq<'T>

Skips elements from an async sequence until the specified signal completes.

signal : Async<unit>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.skipWhile predicate source

Full Usage: AsyncSeq.skipWhile predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T>

Skips elements from an asynchronous sequence while the specified predicate holds and then returns the rest of the sequence. The predicate is evaluated asynchronously.

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.skipWhileAsync predicate source

Full Usage: AsyncSeq.skipWhileAsync predicate source

Parameters:
Returns: AsyncSeq<'T>

Skips elements from an asynchronous sequence while the specified predicate holds and then returns the rest of the sequence. The predicate is evaluated asynchronously.

predicate : 'T -> Async<bool>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.sort source

Full Usage: AsyncSeq.sort source

Parameters:
Returns: 'T array

Yields a sequence ordered by keys. This function returns a sequence that digests the whole initial sequence as soon as that sequence is iterated. As a result this function should not be used with large or infinite sequences.

source : AsyncSeq<'T>
Returns: 'T array

AsyncSeq.sortBy projection source

Full Usage: AsyncSeq.sortBy projection source

Parameters:
    projection : 'T -> 'Key
    source : AsyncSeq<'T>

Returns: 'T array

Applies a key-generating function to each element of an AsyncSeq and yield an array ordered by keys. This function returns an array that digests the whole initial sequence as soon as that sequence is iterated. As a result this function should not be used with large or infinite sequences.

projection : 'T -> 'Key
source : AsyncSeq<'T>
Returns: 'T array

AsyncSeq.sortByDescending projection source

Full Usage: AsyncSeq.sortByDescending projection source

Parameters:
    projection : 'T -> 'Key
    source : AsyncSeq<'T>

Returns: 'T array

Applies a key-generating function to each element of an AsyncSeq and yield an array ordered descending by keys. This function returns an array that digests the whole initial sequence as soon as that sequence is iterated. As a result this function should not be used with large or infinite sequences.

projection : 'T -> 'Key
source : AsyncSeq<'T>
Returns: 'T array

AsyncSeq.sortDescending source

Full Usage: AsyncSeq.sortDescending source

Parameters:
Returns: 'T array

Yields an array ordered descending by keys. This function returns an array that digests the whole initial sequence as soon as that sequence is iterated. As a result this function should not be used with large or infinite sequences.

source : AsyncSeq<'T>
Returns: 'T array

AsyncSeq.sum source

Full Usage: AsyncSeq.sum source

Parameters:
Returns: Async<^T>

Asynchronously sum the elements of the input asynchronous sequence using the specified function.

source : AsyncSeq<^T>
Returns: Async<^T>

AsyncSeq.take count source

Full Usage: AsyncSeq.take count source

Parameters:
Returns: AsyncSeq<'T>

Returns the first N elements of an asynchronous sequence does not cast an exception if count is larger than the sequence length.

count : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.takeUntilSignal signal source

Full Usage: AsyncSeq.takeUntilSignal signal source

Parameters:
Returns: AsyncSeq<'T>

Returns elements from the argument async sequence until the specified signal completes or the sequences completes.

signal : Async<unit>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.takeWhile predicate source

Full Usage: AsyncSeq.takeWhile predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T>

Returns elements from an asynchronous sequence while the specified predicate holds. The predicate is evaluated synchronously.

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.takeWhileAsync predicate source

Full Usage: AsyncSeq.takeWhileAsync predicate source

Parameters:
Returns: AsyncSeq<'T>

Returns elements from an asynchronous sequence while the specified predicate holds. The predicate is evaluated asynchronously.

predicate : 'T -> Async<bool>
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.takeWhileInclusive predicate source

Full Usage: AsyncSeq.takeWhileInclusive predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: AsyncSeq<'T>

Returns elements from an asynchronous sequence while the specified predicate holds. The predicate is evaluated synchronously. Does return the first element that predicate fails

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.threadStateAsync folder st source

Full Usage: AsyncSeq.threadStateAsync folder st source

Parameters:
    folder : 'State -> 'T -> Async<'U * 'State>
    st : 'State
    source : AsyncSeq<'T>

Returns: AsyncSeq<'U>

Threads a state through the mapping over an async sequence using an async function.

folder : 'State -> 'T -> Async<'U * 'State>
st : 'State
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.toArrayAsync source

Full Usage: AsyncSeq.toArrayAsync source

Parameters:
Returns: Async<'T[]>

Creates an async computation which iterates the AsyncSeq and collects the output into an array.

source : AsyncSeq<'T>
Returns: Async<'T[]>

AsyncSeq.toArraySynchronously source

Full Usage: AsyncSeq.toArraySynchronously source

Parameters:
Returns: 'T[]

Synchronously iterates the AsyncSeq and collects the output into an array.

source : AsyncSeq<'T>
Returns: 'T[]

AsyncSeq.toAsyncEnum source

Full Usage: AsyncSeq.toAsyncEnum source

Parameters:
Returns: IAsyncEnumerable<'T>

Creates an .NET IAsyncEnumerable from the provided AsyncSeq computation.

source : AsyncSeq<'T>
Returns: IAsyncEnumerable<'T>

AsyncSeq.toBlockingSeq source

Full Usage: AsyncSeq.toBlockingSeq source

Parameters:
Returns: seq<'T>

Converts asynchronous sequence to a synchronous blocking sequence. The elements of the asynchronous sequence are consumed lazily.

source : AsyncSeq<'T>
Returns: seq<'T>

AsyncSeq.toListAsync source

Full Usage: AsyncSeq.toListAsync source

Parameters:
Returns: Async<'T list>

Creates an async computation which iterates the AsyncSeq and collects the output into a list.

source : AsyncSeq<'T>
Returns: Async<'T list>

AsyncSeq.toListSynchronously source

Full Usage: AsyncSeq.toListSynchronously source

Parameters:
Returns: 'T list

Synchronously iterates the AsyncSeq and collects the output into a list.

source : AsyncSeq<'T>
Returns: 'T list

AsyncSeq.toObservable source

Full Usage: AsyncSeq.toObservable source

Parameters:
Returns: IObservable<'T>

Converts asynchronous sequence to an IObservable<_>. When the client subscribes to the observable, a new copy of asynchronous sequence is started and is sequentially iterated over (at the maximal possible speed). Disposing of the observer cancels the iteration over asynchronous sequence.

source : AsyncSeq<'T>
Returns: IObservable<'T>

AsyncSeq.traverseChoiceAsync mapping source

Full Usage: AsyncSeq.traverseChoiceAsync mapping source

Parameters:
Returns: Async<Choice<AsyncSeq<'U>, 'e>>

Traverses an async sequence an applies to specified function such that if Choice2Of2 is returned the traversal short-circuits and Choice2Of2 is returned as the result. Otherwise, the entire sequence is traversed and the result returned as Choice1Of2.

mapping : 'T -> Async<Choice<'U, 'e>>
source : AsyncSeq<'T>
Returns: Async<Choice<AsyncSeq<'U>, 'e>>

AsyncSeq.traverseOptionAsync mapping source

Full Usage: AsyncSeq.traverseOptionAsync mapping source

Parameters:
Returns: Async<AsyncSeq<'U> option>

Traverses an async sequence an applies to specified function such that if None is returned the traversal short-circuits and None is returned as the result. Otherwise, the entire sequence is traversed and the result returned as Some.

mapping : 'T -> Async<'U option>
source : AsyncSeq<'T>
Returns: Async<AsyncSeq<'U> option>

AsyncSeq.truncate count source

Full Usage: AsyncSeq.truncate count source

Parameters:
Returns: AsyncSeq<'T>

Alias for take

count : int
source : AsyncSeq<'T>
Returns: AsyncSeq<'T>

AsyncSeq.tryFind predicate source

Full Usage: AsyncSeq.tryFind predicate source

Parameters:
    predicate : 'T -> bool
    source : AsyncSeq<'T>

Returns: Async<'T option>

Asynchronously find the first value in a sequence for which the predicate returns true

predicate : 'T -> bool
source : AsyncSeq<'T>
Returns: Async<'T option>

AsyncSeq.tryFirst source

Full Usage: AsyncSeq.tryFirst source

Parameters:
Returns: Async<'T option>

Asynchronously returns the first element that was generated by the given asynchronous sequence (or None if the sequence is empty).

source : AsyncSeq<'T>
Returns: Async<'T option>

AsyncSeq.tryLast source

Full Usage: AsyncSeq.tryLast source

Parameters:
Returns: Async<'T option>

Asynchronously returns the last element that was generated by the given asynchronous sequence (or None if the sequence is empty).

source : AsyncSeq<'T>
Returns: Async<'T option>

AsyncSeq.tryPick chooser source

Full Usage: AsyncSeq.tryPick chooser source

Parameters:
    chooser : 'T -> 'TResult option
    source : AsyncSeq<'T>

Returns: Async<'TResult option>

Asynchronously pick a value from a sequence based on the specified chooser function.

chooser : 'T -> 'TResult option
source : AsyncSeq<'T>
Returns: Async<'TResult option>

AsyncSeq.tryPickAsync chooser source

Full Usage: AsyncSeq.tryPickAsync chooser source

Parameters:
Returns: Async<'TResult option>

Asynchronously pick a value from a sequence based on the specified chooser function.

chooser : 'T -> Async<'TResult option>
source : AsyncSeq<'T>
Returns: Async<'TResult option>

AsyncSeq.unfold generator state

Full Usage: AsyncSeq.unfold generator state

Parameters:
    generator : 'State -> ('T * 'State) option
    state : 'State

Returns: AsyncSeq<'T>

Generates an async sequence using the specified generator function.

generator : 'State -> ('T * 'State) option
state : 'State
Returns: AsyncSeq<'T>

AsyncSeq.unfoldAsync generator state

Full Usage: AsyncSeq.unfoldAsync generator state

Parameters:
    generator : 'State -> Async<('T * 'State) option>
    state : 'State

Returns: AsyncSeq<'T>

Generates an async sequence using the specified asynchronous generator function.

generator : 'State -> Async<('T * 'State) option>
state : 'State
Returns: AsyncSeq<'T>

AsyncSeq.zapp functions source

Full Usage: AsyncSeq.zapp functions source

Parameters:
Returns: AsyncSeq<'U>

Feeds an async sequence of values into an async sequence of functions.

functions : AsyncSeq<('T -> 'U)>
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.zappAsync functions source

Full Usage: AsyncSeq.zappAsync functions source

Parameters:
Returns: AsyncSeq<'U>

Feeds an async sequence of values into an async sequence of async functions.

functions : AsyncSeq<('T -> Async<'U>)>
source : AsyncSeq<'T>
Returns: AsyncSeq<'U>

AsyncSeq.zip input1 input2

Full Usage: AsyncSeq.zip input1 input2

Parameters:
Returns: AsyncSeq<'T1 * 'T2>

Combines two asynchronous sequences into a sequence of pairs. The resulting sequence stops when either of the argument sequences stop.

input1 : AsyncSeq<'T1>
input2 : AsyncSeq<'T2>
Returns: AsyncSeq<'T1 * 'T2>

AsyncSeq.zipParallel input1 input2

Full Usage: AsyncSeq.zipParallel input1 input2

Parameters:
Returns: AsyncSeq<'T1 * 'T2>

Combines two asynchronous sequences into a sequence of pairs. The values from sequences are retrieved in parallel. The resulting sequence stops when either of the argument sequences stop.

input1 : AsyncSeq<'T1>
input2 : AsyncSeq<'T2>
Returns: AsyncSeq<'T1 * 'T2>

AsyncSeq.zipWith mapping source1 source2

Full Usage: AsyncSeq.zipWith mapping source1 source2

Parameters:
Returns: AsyncSeq<'U>

Combines two asynchronous sequences using the specified function. The resulting sequence stops when either of the argument sequences stop.

mapping : 'T1 -> 'T2 -> 'U
source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<'U>

AsyncSeq.zipWithAsync mapping source1 source2

Full Usage: AsyncSeq.zipWithAsync mapping source1 source2

Parameters:
Returns: AsyncSeq<'U>

Combines two asynchronous sequences using the specified function. The resulting sequence stops when either of the argument sequences stop.

mapping : 'T1 -> 'T2 -> Async<'U>
source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<'U>

AsyncSeq.zipWithAsyncParallel mapping source1 source2

Full Usage: AsyncSeq.zipWithAsyncParallel mapping source1 source2

Parameters:
Returns: AsyncSeq<'U>

Combines two asynchronous sequences using the specified function. The values from sequences are retrieved in parallel. The resulting sequence stops when either of the argument sequences stop.

mapping : 'T1 -> 'T2 -> Async<'U>
source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<'U>

AsyncSeq.zipWithParallel mapping source1 source2

Full Usage: AsyncSeq.zipWithParallel mapping source1 source2

Parameters:
Returns: AsyncSeq<'U>

Combines two asynchronous sequences using the specified function. The values from sequences are retrieved in parallel. The resulting sequence stops when either of the argument sequences stop.

mapping : 'T1 -> 'T2 -> 'U
source1 : AsyncSeq<'T1>
source2 : AsyncSeq<'T2>
Returns: AsyncSeq<'U>