Skip to the content.

GitHub License GitHub Tag Swift Package Manager Compatible Written in Swift Supported platforms

Pipeline

Custom pipeline operators for easy chaining in Swift

22 ./ Utils.funcThatConvertsIntIntoString ./ { print($0) }

See more examples of usage in unit tests.

Custom Operators

Operator Description
./ Pass through — transform value and continue the chain
.? Pass through unwrapped — unwrap optional, then transform
.+ Mutate — modify value in place via inout
.- Inspect — observe value without modifying it
.* End chain — transform and return final result
.?* End chain unwrapped — unwrap optional, transform, and return
.! Ensure condition — assert a condition or throw
?! Unwrap or throw — unwrap optional or throw an error

Async/Await Support

All operators have async and async throws variants, making them compatible with actors and structured concurrency.

SimpleWrapper & take()

Use take() as an entry point to wrap any value in a SimpleWrapper, which provides:

Combine Helpers

Convenience extensions for working with Combine publishers:

Error Types

How to install

Install using SwiftPM.

.package(url: "https://github.com/XCEssentials/XCEPipeline.git", from: "4.0.0")