Creates a task interleaving a feed of feeds into a single feed.
Nested feeds are opened as the source yields them and consumed together, each kept one item ahead, so a slow nested feed never holds back the others; the items of every nested feed keep their own order among themselves. A nested feed contributing nothing simply drops out.
flat() instead
where the source carries an unbounded number of feeds.Output order is not preserved: items interleave and overtake each other according to how quickly every nested feed produces them.
Nested feeds failing while the consumer is idle report their error when the feed is next advanced, rather than escaping as unhandled rejections.
The source and every nested feed still open are closed when the feed is exhausted, fails or is closed early, waiting for their pending items to settle first, so a feed idling between items delays it; failures reported while closing are suppressed.
The type of items carried by the nested feeds
A task yielding the items of every nested feed as they become available
Creates a task interleaving the feeds another task reports into a single feed.
Hands the feed drawn from to task and interleaves the feeds it reports as the overload taking no argument does, so
that an item mapped to a feed of its own is expanded in place into the items of that feed.
task and the feeds it reports do, an infinite one keeping it open without holding back the items of
the others.flat() instead where
task reports an unbounded number of feeds.task carries across the
items it draws.task draws from the whole feed, so state it initialises on invocation decides on every item, as it would
anywhere else in the pipe. Where a source already carries feeds and a task is to be scoped to each of them,
apply it within map(): join(map(feed => feed(take(2)))) yields its quota to every nested feed.
The type of items drawn from the feed
The type of items carried by the feeds task reports
A task yielding the items of every feed task reports, as they become available
Creates a task interleaving nested feeds into a single feed, with or without a task opening the feeds to interleave.