CombineCommunity/CombinePrintout
A Combine micro debugging package
Usage
A debugging print sink
The built-in print() operator is useful but you still need to add a subscriber to your subscription. printSink() is a subscriber that you can use to debug a subscription without the need to add a separate subscriber like so:
Just(["One", "Two"])
.printSink()printSink() will subscribe the publisher and log all events like so:
Sink: output(["One", "Two"])
Sink: finishedA debugging print cancellable
If you're building more complex memory management logic or not sure when are your cancellables released you can use printCancellable() to log a given Cancellable's life cycle like so:
Just(["One", "Two"])
.assign(to: \.model, on: self)
.printCancellable()
.store(in: &subscriptions)printCancellable() wraps the AnyCancellable returned from assign(to:on:) and logs all the received events:
Cancellable: init
...
(self.subscriptions is released from memory)
...
Cancellable: cancel
Cancellable: deinit Installation
Swift Package Manager
Add the following dependency to your Package.swift file:
.package(url: "https://github.com/combineopensource/CombinePrintout, from: "0.2")License
CombineOpenSource is available under the MIT license. See the LICENSE file for more info.
Credit
Copyright (c) 2019 Combine Open Source
Created by: Marin Todorov
Package Metadata
Repository: CombineCommunity/CombinePrintout
Homepage: http://combineopensource.org
Stars: 54
Forks: 1
Open issues: 0
Default branch: master
Primary language: swift
License: MIT
README: README.md