CaptureContext / combine-extensions

Extensions for Apple Combine framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

combine-extensions

SwiftPM 5.8 Platforms @maximkrouk

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.

  1. From the File menu, select Swift Packages › Add Package Dependency…
  2. Enter "https://github.com/capturecontext/combine-extensions.git" into the package repository URL text field
  3. 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.

About

Extensions for Apple Combine framework

License:MIT License


Languages

Language:Swift 95.9%Language:Makefile 4.1%