Testing tools and utilities for Apple's Combine framework.
Fixes issue with EntwineTest's scheduler that prevented repeating intervals from being called. This affected the behavior of publishers that rely on this capability such as CollectByTime and Debounce. Thanks for the heads-up @iwheelbuy!
WARNING: Source breaking.
Various tweaks to make Entwine perform in congruence with Combine – including the removal of the obsolete CancellableBag which has since been superseded by AnyCancellable's store(in:)
family of functions.
referenceCounted()
operator for Multicast publishersshare(replay:)
to use referenceCounted()
instead of autoconnect()
– matching wider reactive community implementations.Thanks to @sherlock1982 for raising the issue!
Adds DeallocToken
utility plus temporary fix for Xcode 11 beta 5 Subject API additions.
Includes a new signpost
operator that enables easy performance logging for your Combine sequences. Use the operator to generate ranged os_signpost
logs of publisher events that can be visualised in Instruments.
Also, for additional clarity, TestableSubscriber
's sequence
and demands
properties have been renamed to recordedOutput
and recordedDemandLog
respectively. Thanks to @heckj for the suggestion!
Updated to reflect API changes in latest Combine beta that arrived with Xcode 11 beta 4.
Updated to reflect API changes in latest Combine beta that arrived with Xcode 11 beta 3. In particular, Subscribers.Demand
has been changed from an enum to a struct and is far stricter in regards to allowing negative demand balances.
This release changes the cancellation behaviour to match that described at https://twitter.com/millenomi/status/1137382877870510080.
Namely, a publisher does not need to generate a completion event upon cancellation.
Adds CancellationBag
and some documentation updates and fixes
Initial release.