Skip to content

Commit 4350e18

Browse files
authored
Merge pull request #164 from ReactiveCocoa/inner-disposable
Rename `innerDisposable` to `inner`.
2 parents 0c8af48 + d99b43f commit 4350e18

File tree

8 files changed

+51
-37
lines changed

8 files changed

+51
-37
lines changed

Sources/Deprecations+Removals.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,19 @@ extension Disposable {
5252
public var disposed: Bool { fatalError() }
5353
}
5454

55+
extension SerialDisposable {
56+
@available(*, unavailable, renamed:"inner")
57+
public var innerDisposable: Disposable? {
58+
get { fatalError() }
59+
set { fatalError() }
60+
}
61+
}
62+
63+
extension ScopedDisposable {
64+
@available(*, unavailable, renamed:"inner")
65+
public var innerDisposable: Disposable { fatalError() }
66+
}
67+
5568
extension ActionProtocol {
5669
@available(*, unavailable, renamed:"isEnabled")
5770
public var enabled: Bool { fatalError() }

Sources/Disposable.swift

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -240,66 +240,67 @@ public final class CompositeDisposable: Disposable {
240240
}
241241

242242
/// A disposable that, upon deinitialization, will automatically dispose of
243-
/// another disposable.
244-
public final class ScopedDisposable<InnerDisposable: Disposable>: Disposable {
243+
/// its inner disposable.
244+
public final class ScopedDisposable<Inner: Disposable>: Disposable {
245245
/// The disposable which will be disposed when the ScopedDisposable
246246
/// deinitializes.
247-
public let innerDisposable: InnerDisposable
247+
public let inner: Inner
248248

249249
public var isDisposed: Bool {
250-
return innerDisposable.isDisposed
250+
return inner.isDisposed
251251
}
252252

253253
/// Initialize the receiver to dispose of the argument upon
254254
/// deinitialization.
255255
///
256256
/// - parameters:
257257
/// - disposable: A disposable to dispose of when deinitializing.
258-
public init(_ disposable: InnerDisposable) {
259-
innerDisposable = disposable
258+
public init(_ disposable: Inner) {
259+
inner = disposable
260260
}
261261

262262
deinit {
263263
dispose()
264264
}
265265

266266
public func dispose() {
267-
return innerDisposable.dispose()
267+
return inner.dispose()
268268
}
269269
}
270270

271-
extension ScopedDisposable where InnerDisposable: AnyDisposable {
271+
extension ScopedDisposable where Inner: AnyDisposable {
272272
/// Initialize the receiver to dispose of the argument upon
273273
/// deinitialization.
274274
///
275275
/// - parameters:
276276
/// - disposable: A disposable to dispose of when deinitializing, which
277277
/// will be wrapped in an `AnyDisposable`.
278278
public convenience init(_ disposable: Disposable) {
279-
self.init(InnerDisposable(disposable))
279+
self.init(Inner(disposable))
280280
}
281281
}
282282

283-
/// A disposable that will optionally dispose of another disposable.
283+
/// A disposable that disposes of its wrapped disposable, and allows its
284+
/// wrapped disposable to be replaced.
284285
public final class SerialDisposable: Disposable {
285-
private let _innerDisposable: Atomic<Disposable?>
286+
private let _inner: Atomic<Disposable?>
286287
private var state: UnsafeAtomicState<DisposableState>
287288

288289
public var isDisposed: Bool {
289290
return state.is(.disposed)
290291
}
291292

292-
/// The inner disposable to dispose of.
293+
/// The current inner disposable to dispose of.
293294
///
294295
/// Whenever this property is set (even to the same value!), the previous
295296
/// disposable is automatically disposed.
296-
public var innerDisposable: Disposable? {
297+
public var inner: Disposable? {
297298
get {
298-
return _innerDisposable.value
299+
return _inner.value
299300
}
300301

301302
set(d) {
302-
_innerDisposable.swap(d)?.dispose()
303+
_inner.swap(d)?.dispose()
303304
if let d = d, isDisposed {
304305
d.dispose()
305306
}
@@ -312,13 +313,13 @@ public final class SerialDisposable: Disposable {
312313
/// - parameters:
313314
/// - disposable: Optional disposable.
314315
public init(_ disposable: Disposable? = nil) {
315-
self._innerDisposable = Atomic(disposable)
316+
self._inner = Atomic(disposable)
316317
self.state = UnsafeAtomicState(DisposableState.active)
317318
}
318319

319320
public func dispose() {
320321
if state.tryDispose() {
321-
_innerDisposable.swap(nil)?.dispose()
322+
_inner.swap(nil)?.dispose()
322323
}
323324
}
324325

@@ -381,7 +382,7 @@ public func +=(lhs: CompositeDisposable, rhs: @escaping () -> ()) -> CompositeDi
381382
/// remove the disposable later (if desired).
382383
@discardableResult
383384
public func +=(lhs: ScopedDisposable<CompositeDisposable>, rhs: Disposable?) -> CompositeDisposable.DisposableHandle {
384-
return lhs.innerDisposable.add(rhs)
385+
return lhs.inner.add(rhs)
385386
}
386387

387388
/// Adds the right-hand-side disposable to the left-hand-side
@@ -399,5 +400,5 @@ public func +=(lhs: ScopedDisposable<CompositeDisposable>, rhs: Disposable?) ->
399400
/// remove the disposable later (if desired).
400401
@discardableResult
401402
public func +=(lhs: ScopedDisposable<CompositeDisposable>, rhs: @escaping () -> ()) -> CompositeDisposable.DisposableHandle {
402-
return lhs.innerDisposable.add(rhs)
403+
return lhs.inner.add(rhs)
403404
}

Sources/Flatten.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ extension SignalProtocol where Value: SignalProducerProtocol, Error == Value.Err
646646
$0.replacingInnerSignal = true
647647
}
648648

649-
latestInnerDisposable.innerDisposable = innerDisposable
649+
latestInnerDisposable.inner = innerDisposable
650650

651651
state.modify {
652652
$0.replacingInnerSignal = false
@@ -929,7 +929,7 @@ extension SignalProtocol {
929929
observer.send(value: value)
930930
case let .failed(error):
931931
handler(error).startWithSignal { signal, disposable in
932-
serialDisposable.innerDisposable = disposable
932+
serialDisposable.inner = disposable
933933
signal.observe(observer)
934934
}
935935
case .completed:
@@ -950,7 +950,7 @@ extension SignalProducerProtocol {
950950
disposable += serialDisposable
951951

952952
self.startWithSignal { signal, signalDisposable in
953-
serialDisposable.innerDisposable = signalDisposable
953+
serialDisposable.inner = signalDisposable
954954

955955
_ = signal.observeFlatMapError(handler, observer, serialDisposable)
956956
}

Sources/Scheduler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ public final class TestScheduler: DateSchedulerProtocol {
417417
private func schedule(after date: Date, interval: DispatchTimeInterval, disposable: SerialDisposable, action: @escaping () -> Void) {
418418
precondition(interval.timeInterval >= 0)
419419

420-
disposable.innerDisposable = schedule(after: date) { [unowned self] in
420+
disposable.inner = schedule(after: date) { [unowned self] in
421421
action()
422422
self.schedule(after: date.addingTimeInterval(interval), interval: interval, disposable: disposable, action: action)
423423
}

Sources/Signal.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,10 +1305,10 @@ extension SignalProtocol {
13051305
return Signal { observer in
13061306
let disposable = SerialDisposable()
13071307

1308-
disposable.innerDisposable = trigger.observe { event in
1308+
disposable.inner = trigger.observe { event in
13091309
switch event {
13101310
case .value, .completed:
1311-
disposable.innerDisposable = self.observe(observer)
1311+
disposable.inner = self.observe(observer)
13121312

13131313
case .failed, .interrupted:
13141314
break
@@ -1684,7 +1684,7 @@ extension SignalProtocol {
16841684

16851685
disposable += self.observe { event in
16861686
guard let value = event.value else {
1687-
schedulerDisposable.innerDisposable = scheduler.schedule {
1687+
schedulerDisposable.inner = scheduler.schedule {
16881688
observer.action(event)
16891689
}
16901690
return
@@ -1711,7 +1711,7 @@ extension SignalProtocol {
17111711
}
17121712
}
17131713

1714-
schedulerDisposable.innerDisposable = scheduler.schedule(after: scheduleDate) {
1714+
schedulerDisposable.inner = scheduler.schedule(after: scheduleDate) {
17151715
let pendingValue: Value? = state.modify { state in
17161716
defer {
17171717
if state.pendingValue != nil {
@@ -1785,7 +1785,7 @@ extension SignalProtocol {
17851785
}
17861786

17871787
if let value = valueToSend {
1788-
schedulerDisposable.innerDisposable = scheduler.schedule {
1788+
schedulerDisposable.inner = scheduler.schedule {
17891789
observer.send(value: value)
17901790
}
17911791
}
@@ -1812,7 +1812,7 @@ extension SignalProtocol {
18121812
}
18131813

18141814
if let event = eventToSend {
1815-
schedulerDisposable.innerDisposable = scheduler.schedule {
1815+
schedulerDisposable.inner = scheduler.schedule {
18161816
observer.action(event)
18171817
}
18181818
}

Sources/SignalProducer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1631,7 +1631,7 @@ extension SignalProducerProtocol {
16311631

16321632
func iterate(_ current: Int) {
16331633
self.startWithSignal { signal, signalDisposable in
1634-
serialDisposable.innerDisposable = signalDisposable
1634+
serialDisposable.inner = signalDisposable
16351635

16361636
signal.observe { event in
16371637
if case .completed = event {

Tests/ReactiveSwiftTests/DisposableSpec.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,14 @@ class DisposableSpec: QuickSpec {
115115

116116
it("should dispose of the inner disposable") {
117117
let simpleDisposable = SimpleDisposable()
118-
disposable.innerDisposable = simpleDisposable
118+
disposable.inner = simpleDisposable
119119

120-
expect(disposable.innerDisposable).notTo(beNil())
120+
expect(disposable.inner).notTo(beNil())
121121
expect(simpleDisposable.isDisposed) == false
122122
expect(disposable.isDisposed) == false
123123

124124
disposable.dispose()
125-
expect(disposable.innerDisposable).to(beNil())
125+
expect(disposable.inner).to(beNil())
126126
expect(simpleDisposable.isDisposed) == true
127127
expect(disposable.isDisposed) == true
128128
}
@@ -131,16 +131,16 @@ class DisposableSpec: QuickSpec {
131131
let oldDisposable = SimpleDisposable()
132132
let newDisposable = SimpleDisposable()
133133

134-
disposable.innerDisposable = oldDisposable
134+
disposable.inner = oldDisposable
135135
expect(oldDisposable.isDisposed) == false
136136
expect(newDisposable.isDisposed) == false
137137

138-
disposable.innerDisposable = newDisposable
138+
disposable.inner = newDisposable
139139
expect(oldDisposable.isDisposed) == true
140140
expect(newDisposable.isDisposed) == false
141141
expect(disposable.isDisposed) == false
142142

143-
disposable.innerDisposable = nil
143+
disposable.inner = nil
144144
expect(newDisposable.isDisposed) == true
145145
expect(disposable.isDisposed) == false
146146
}

Tests/ReactiveSwiftTests/SchedulerSpec.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ class SchedulerSpec: QuickSpec {
203203
var count = 0
204204
let timesToRun = 3
205205

206-
disposable.innerDisposable = scheduler.schedule(after: Date(), interval: .milliseconds(10), leeway: .seconds(0)) {
206+
disposable.inner = scheduler.schedule(after: Date(), interval: .milliseconds(10), leeway: .seconds(0)) {
207207
expect(Thread.isMainThread) == false
208208

209209
count += 1

0 commit comments

Comments
 (0)