prepend(_:)
Prefixes the output of this publisher with the elements emitted by the given publisher.
Declaration
func prepend<P>(_ publisher: P) -> Publishers.Concatenate<P, Self> where P : Publisher, Self.Failure == P.Failure, Self.Output == P.OutputParameters
- publisher:
The prefixing publisher.
Return Value
A publisher that prefixes the prefixing publisher’s elements prior to this publisher’s elements.
Discussion
Use prepend(_:) to publish values from two publishers when you need to prepend one publisher’s elements to another.
In the example below, a publisher of prefixValues publishes its elements before the dataElements publishes its elements:
let prefixValues = [0, 1, 255]
let dataElements = (0...10)
cancellable = dataElements.publisher
.prepend(prefixValues.publisher)
.sink { print("\($0)", terminator: " ") }
// Prints: "0 1 255 0 1 2 3 4 5 6 7 8 9 10"