Swiftpack.co - cx-org/CombineX as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by cx-org.
cx-org/CombineX 0.4.0
Open source implementation of Apple's Combine
⭐️ 613
🕓 1 year ago
.package(url: "https://github.com/cx-org/CombineX.git", from: "0.4.0")

CombineX

Github CI Status Release Install Supported Platform Discord

简体中文

Open-source implementation of Apple's Combine for processing values over time.

Though CombineX have implemented all the Combine interface, the project is still in early development.

What is Combine

Customize handling of asynchronous events by combining event-processing operators. -- Apple

Combine is a Functional Reactive Programming (FRP) framework launched by Apple at WWDC 2019. It will definitely be the cornerstone of Swift programming in the foreseeable future.

Get Started

If you develop a library, it's recommended to use CXShim so your library is compatible with SwiftUI.

Requirements

  • Swift 5.0+ (Xcode 10.2+)

Installation

Swift Package Manager (Recommended)

package.dependencies += [
    .package(url: "https://github.com/cx-org/CombineX", from: "0.4.0"),
]

CocoaPods

pod 'CombineX', "~> 0.4.0"

# or, if you want to use `Foundation` extensions: 
pod 'CombineX/CXFoundation', "~> 0.4.0"

Carthage

github "cx-org/CombineX" ~> 0.4.0

Related Projects

These libraries bring additional functionality to Combine. They are all Combine Compatible Package and you're free to switch underlying Combine implementation between CombineX and Apple's Combine.

  • CXTest: test infrastructure for Combine. It provides useful test utilities like TracingSubscriber and VirtualTimeScheduler.
  • CXExtensions: provides a collection of useful extensions for Combine, such as IgnoreError, DelayedAutoCancellable, etc.
  • CXCocoa: provides Combine extensions to Cocoa, such as KVO+Publisher, Method Interception, UIBinding, Delegate Proxy, etc.

License

CombineX is released under the MIT license. See LICENSE for details.

The following files are adapted from the Swift open source project:

GitHub

link
Stars: 613
Last commit: 1 year ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

0.4.0
1 year ago
  • Move CXShim and CXTest to a separate repo.
  • CombineIdentifier now use lock-free atomics.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics