Skip to content

Instance Method

mapEachFlat(_:)

Gets the collection value of a key path for each element in the sequence that is wrapped by an EventLoopFuture, combining the results into a single result collection.
func mapEachFlat<ResultSegment>(_ keyPath: KeyPath<Value.Element, ResultSegment>) -> EventLoopFuture<[ResultSegment.Element]> where ResultSegment : Sequence

Parameters

keyPath

The key path to access on each element in the sequence.

Return Value

A new EventLoopFuture that wraps the flattened sequence of transformed elements.

Discussion

let collection = eventLoop.future(["ABC", "👩‍👩‍👧‍👧"])
let flat = collection.mapEachFlat(\.utf8CString)
// flat: [65, 66, 67, 0, -16, -97, -111, -87, -30, -128, -115, -16, -97, -111, -87, -30,
//        -128, -115, -16, -97, -111, -89, -30, -128, -115, -16, -97, -111, -89, 0]

See Also

EventLoopFuture

  • EventLoopFutureQueue
    Allows you to queue closures that produce an EventLoopFuture, so each future only gets run if the previous ones complete, succeed, or fail.
  • mapEach(_:)
    Gets the value of a key path for each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEach(_:)
    Calls a closure on each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachCompact(_:)
    Gets the optional value of a key path for each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachCompact(_:)
    Calls a closure, which returns an Optional, on each element in the sequence that is wrapped by an EventLoopFuture.
  • mapEachFlat(_:)
    Calls a closure which returns a collection on each element in the sequence that is wrapped by an EventLoopFuture, combining the results into a single result collection.
  • flatMapEach(on:_:)
    Calls a closure, which returns an EventLoopFuture, on each element in a sequence that is wrapped by an EventLoopFuture. No results from each future are expected.
  • flatMapEach(on:_:)
    Calls a closure, which returns an EventLoopFuture, on each element in a sequence that is wrapped by an EventLoopFuture.
  • flatMapEachCompact(on:_:)
    Calls a closure, which returns an EventLoopFuture<Optional>, on each element in a sequence that is wrapped by an EventLoopFuture.
  • flatMapEachThrowing(_:)
    Calls a closure on each element in the sequence that is wrapped by an EventLoopFuture.
  • flatMapEachCompactThrowing(_:)
    Calls a closure, which returns an Optional, on each element in the sequence that is wrapped by an EventLoopFuture.
  • sequencedFlatMapEach(_:)
    An overload of sequencedFlatMapEach(_:) which returns a Void future instead of [Void] when the result type of the transform closure is Void.
  • sequencedFlatMapEach(_:)
    A variant form of flatMapEach(on:_:) which guarantees:
  • sequencedFlatMapEachCompact(_:)
    Variant of sequencedFlatMapEach(_:) which provides compactMap() semantics by allowing result values to be nil. Such results are not included in the output array.
  • whenTheySucceed(_:_:file:line:)
    Returns a new EventLoopFuture that succeeds only if all of the provided fs succeed. The new EventLoopFuture will contain all of the values fulfilled by the fs.