Skip to content

Commit

Permalink
Add extension to ScopedDisposable for SerialDisposable (#873)
Browse files Browse the repository at this point in the history
* Add extension to ScopedDisposable for SerialDisposable

* Fix user name

---------

Co-authored-by: Michael Brown <[email protected]>
  • Loading branch information
sirnacnud and mluisbrown authored Mar 18, 2024
1 parent 6e23f11 commit bc83377
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
1. Fix minimum deployment target of iOS 11 in CocoaPods
1. Fix CI release git tag push trigger (#869, kudos to @p4checo)
1. Find and remove items from Bag using a binary search to improve performance when the collection gets large.
2. Add extension to `ScopedDisposable` for inner `SerialDisposable` (#873, kudos to @sirnacnud)

# 7.1.1
1. Bumped deployment target to iOS 11, tvOS 11, watchOS 4, macOS 10.13, per Xcode 14 warnings (#865, kudos to @lickel)
Expand Down
16 changes: 16 additions & 0 deletions Sources/Disposable.swift
Original file line number Diff line number Diff line change
Expand Up @@ -378,3 +378,19 @@ public final class SerialDisposable: Disposable {
state.deinitialize()
}
}

extension ScopedDisposable where Inner == SerialDisposable {
/// The current inner disposable of the `SerialDisposable` wrapped
/// in the `ScopedDisposable` to dispose of.
///
/// Whenever this property is set (even to the same value!), the previous
/// disposable is automatically disposed.
public var inner: Disposable? {
get {
return inner.inner
}
set {
inner.inner = newValue
}
}
}

0 comments on commit bc83377

Please sign in to comment.