A Combine micro debugging framework. It helps you log subscription events to the console so you can track their life cycle.
A debugging print sink
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: finished
A 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
Swift Package Manager
Add the following dependency to your Package.swift file:
.package(url: "https://github.com/combineopensource/CombinePrintout, from: "0.2")
CombineOpenSource is available under the MIT license. See the LICENSE file for more info.
Copyright (c) 2019 Combine Open Source
Created by: Marin Todorov