Skip to content

Releases: shareup/combine-extensions

v6.0.2

11 Jul 14:15
6db9f58
Compare
Choose a tag to compare
  • Add multicastLatest extension to multicast latest value to downstream subscribers.

v6.0.1

29 Nov 12:57
82c8f23
Compare
Choose a tag to compare
  • Fix Publisher.throttle(while:latest:) dropping values emitted at the same time the regulator fires.
  • Ensure Publisher.throttle(while:latest:) does not emit a previous value when a regulator flips several times while the upstream does not emit new values.

v6.0.0

27 Aug 20:24
7c21588
Compare
Choose a tag to compare
  • Dramatically simplify the implementation of Publisher.throttle(while:latest:) and remove the need to internal locking.
  • Change the default state of Publisher.throttle(while:latest:) to "publishing" from "throttling", which was the previous implementation's default state.

v5.0.2

19 Mar 14:55
Compare
Choose a tag to compare
  • Update .swiftformat

v5.0.1

05 Nov 11:49
4a7d1f2
Compare
Choose a tag to compare
  • Fix warning when building consumers of CombineTestExtensions.

v5.0.0

04 Nov 22:51
84dacbe
Compare
Choose a tag to compare
  • Increase minimum target versions
  • Increase Swift version

v4.7.0

24 Aug 16:38
Compare
Choose a tag to compare
  • Improves the flexibility of Publishers.Distinct by allowing the caller to specify a value to use to unique a type. Only this value is required to conform to Hashable.

v4.6.0

07 Jul 15:33
c2d16de
Compare
Choose a tag to compare
  • Adds Distinct publisher

Distinct publisher requires Upstream.Output value to be an Array of Hashable elements. Be aware that it is the responsibility of the upstream publisher to guarantee the consecutiveness of elements in a pipeline. Distinct does not perform any locking, whatsoever.

v4.5.0

26 Aug 16:31
8771bea
Compare
Choose a tag to compare
  • Adds isEmpty to SingleSubscriptionStore and KeyedSubscriptionStore
  • Adds containsSubscription(forKey:) to KeyedSubscriptionStore

Be aware that these methods are thread-safe to use (in that they won't cause a crash if called from multiple threads at the same time) but, by the time the results have been returned, the subscriptions inside of the store may have changed and the returned value won't be valid anymore. Therefore, use them with caution.

v4.4.0

19 Aug 12:27
b632fc9
Compare
Choose a tag to compare

Adds AnyConnectablePublisher and ConnectablePublisher.eraseToAnyConnectablePublisher().

AnyConnectablePublisher allows ConnectablePublishers to be wrapped in the same way instances of Publisher can be wrapped in AnyPublisher. This gives API designers the ability to hide implementation details behind a type-erased facade while not giving up the power of ConnectablePublisher.