# Functions
ComposeFilters takes a number of filters, calls them with the given pipeline, kind, and dataSize parameters in order, and appends the returned receivers and finalizers (except for nil values) to the result slices.
Count creates a filter that sets the result pointer to the total size of all data batches it sees.
Every creates a filter that sets the result pointer to true if the given predicate returns true for every data batch.
Finalize creates a filter that returns a nil receiver and the given finalizer.
Identity is a filter that passes data batches through unmodified.
Limit creates an ordered node with a filter that caps the total size of all data batches it passes to the next filter in the pipeline to the given limit.
LimitedPar creates a parallel node with the given filters.
NewBytesScanner returns a new Scanner to read from r.
NewFunc returns a new Func to generate data batches by repeatedly calling fetch.
NewNode creates a node of the given kind, with the given filters.
NewScanner returns a new Scanner to read from r.
NewSingletonChan returns a new SingletonChan to read from the given channel.
NotAny creates a filter that sets the result pointer to true if the given predicate returns false for every data batch.
NotEvery creates a filter that sets the result pointer to true if the given predicate returns false for at least one of the data batches it is passed.
Ord creates an ordered node with the given filters.
Par creates a parallel node with the given filters.
Receive creates a Filter that returns the given receiver and a nil finalizer.
ReceiveAndFinalize creates a filter that returns the given filter and receiver.
Seq creates a sequential node with the given filters.
Skip creates an ordered node with a filter that skips the first n elements from the data batches it passes to the next filter in the pipeline.
Slice creates a filter that appends all the data batches it sees to the result.
Some creates a filter that sets the result pointer to true if the given predicate returns true for at least one of the data batches it is passed.
StrictOrd creates an ordered node with the given filters.
# Constants
Ordered nodes receive batches in encounter order.
Parallel nodes receives batches in parallel.
Sequential nodes receive batches in arbitrary sequential order.
# Structs
BytesScanner is a wrapper around bufio.Scanner so it can act as a data source for pipelines.
Func is a generic source that generates data batches by repeatedly calling a function.
A Pipeline is a parallel pipeline that can feed batches of data fetched from a source through several nodes that are ordered, sequential, or parallel.
Scanner is a wrapper around bufio.Scanner so it can act as a data source for pipelines.
SingletonChan is similar to a regular chan source, except it only accepts and passes through single elements instead of creating slices of elements from the input channel.
# Type aliases
A Filter is a function that returns a Receiver and a Finalizer to be added to a node.
A Finalizer is called once after the corresponding receiver has been called for all data batches in the current pipeline.
A NodeKind reperesents the different kinds of nodes.
A Predicate is a function that is passed a data batch and returns a boolean value.
A Receiver is called for every data batch, and returns a potentially modified data batch.