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.
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.
If you develop a library, it's recommended to use
CXShim
so your library is compatible with SwiftUI.
package.dependencies += [
.package(url: "https://github.com/cx-org/CombineX", from: "0.4.0"),
]
pod 'CombineX', "~> 0.4.0"
# or, if you want to use `Foundation` extensions:
pod 'CombineX/CXFoundation', "~> 0.4.0"
github "cx-org/CombineX" ~> 0.4.0
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
.
TracingSubscriber
and VirtualTimeScheduler
.IgnoreError
, DelayedAutoCancellable
, etc.Cocoa
, such as KVO+Publisher
, Method Interception
, UIBinding
, Delegate Proxy
, etc.CombineX is released under the MIT license. See LICENSE for details.
The following files are adapted from the Swift open source project:
link |
Stars: 624 |
Last commit: 36 weeks ago |
CXShim
and CXTest
to a separate repo.CombineIdentifier
now use lock-free atomics.Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics