combine-extensions
Extensions for Apple Combine framework.
NOTE: The package is early beta
TODO
-
DelegateProxy
-
PublishersProxy
-
TypeErasure
- NoOptionsScheduler
- AnySubject
- AnySubscriber
-
Selectors interception
-
NonScopedCancellable
-
Operators (todo: implement using separate Publisher types instead of erasing to AnyPublisher)
- SinkOnce
- SinkEvents
- SinkValues
-
Subjects:
- PublishSubject
-
Subscribers
- CancelTrackingSubscriber
-
Subscriptions
- CancelTrackingSubscription
-
DemandBuffer
-
Materialize/Dematerialize
-
Relays
-
Look at CombineExt for more ideas
Installation
Basic
You can add CombineExtensions to an Xcode project by adding it as a package dependency.
- From the File menu, select Swift Packages › Add Package Dependency…
- Enter
"https://github.com/capturecontext/combine-extensions.git"
into the package repository URL text field - Choose products you need to link them to your project.
Recommended
If you use SwiftPM for your project, you can add CombineExtensions to your package file.
.package(
name: "combine-extensions",
url: "https://github.com/capturecontext/combine-extensions.git",
.upToNextMinor(from: "0.1.0")
)
Do not forget about target dependencies:
.product(
name: "CombineExtensions",
package: "combine-extensions"
)
License
This library is released under the MIT license. See LICENSE for details.
See [CREDITS][CREDITS] for inspiration references and their licences.