Skip to content

Commit 74baa7e

Browse files
authored
Merge pull request #209 from mjburghard/add-EmptyDisposable
Add EmptyDisposable
2 parents 999fc2d + 4caae32 commit 74baa7e

File tree

8 files changed

+25
-10
lines changed

8 files changed

+25
-10
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright Spotify AB.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
import Foundation
5+
6+
/// The `EmptyDisposable` class implements a `Disposable` type for when you don't have anything to dispose of.
7+
public final class EmptyDisposable: MobiusCore.Disposable {
8+
9+
/// Create an `EmptyDisposable`
10+
public init() {}
11+
12+
public func dispose() {
13+
// No-op
14+
}
15+
}

MobiusCore/Source/EffectHandlers/EffectRouterDSL.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public extension _PartialEffectRouter {
3131
return to { parameters, callback in
3232
fireAndForget(parameters)
3333
callback.end()
34-
return AnonymousDisposable {}
34+
return EmptyDisposable()
3535
}
3636
}
3737

@@ -47,7 +47,7 @@ public extension _PartialEffectRouter {
4747
callback.send(event)
4848
}
4949
callback.end()
50-
return AnonymousDisposable {}
50+
return EmptyDisposable()
5151
}
5252
}
5353
}

MobiusCore/Source/EventSources/CompositeEventSourceBuilder.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public struct CompositeEventSourceBuilder<Event> {
2929
public func build() -> AnyEventSource<Event> {
3030
switch eventSources.count {
3131
case 0:
32-
return AnyEventSource { _ in AnonymousDisposable {} }
32+
return AnyEventSource { _ in EmptyDisposable() }
3333
case 1:
3434
return eventSources[0]
3535
default:

MobiusCore/Test/EffectHandlers/EffectHandlerTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,5 @@ private func handleEffect(effect: Effect, callback: EffectCallback<Event>) -> Di
7272
callback.send(.eventForEffect1)
7373
}
7474
callback.end()
75-
return AnonymousDisposable {}
75+
return EmptyDisposable()
7676
}

MobiusCore/Test/EffectHandlers/EffectRouterDSLTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ class EffectRouterDSLTests: QuickSpec {
156156
expect(effect).to(equal(.effect1))
157157
callback.send(.eventForEffect1)
158158
callback.end()
159-
return AnonymousDisposable {}
159+
return EmptyDisposable()
160160
}
161161
.asConnectable
162162
.connect { events.append($0) }

MobiusCore/Test/EffectHandlers/EffectRouterTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class EffectRouterTests: QuickSpec {
8787
.to { _, callback in
8888
callback.send(.eventForEffect2)
8989
callback.end()
90-
return AnonymousDisposable {}
90+
return EmptyDisposable()
9191
}
9292
.asConnectable
9393

@@ -108,7 +108,7 @@ class EffectRouterTests: QuickSpec {
108108

109109
beforeEach {
110110
let handler = AnyEffectHandler<Effect, Event> { _, _ in
111-
AnonymousDisposable {}
111+
EmptyDisposable()
112112
}
113113
let invalidRouter = EffectRouter<Effect, Event>()
114114
.routeEffects(equalTo: .multipleHandlersForThisEffect).to(handler)
@@ -152,7 +152,7 @@ class EffectRouterTests: QuickSpec {
152152
.routeEffects(equalTo: .effect2)
153153
.to { _, callback in
154154
callback.end()
155-
return AnonymousDisposable {}
155+
return EmptyDisposable()
156156
}
157157
.asConnectable
158158

MobiusCore/Test/NonReentrancyTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class NonReentrancyTests: QuickSpec {
5656

5757
let testEffectHandler = AnyEffectHandler<Effect, Event> {
5858
handleEffect($0, $1)
59-
return AnonymousDisposable {}
59+
return EmptyDisposable()
6060
}
6161

6262
let effectConnectable = EffectRouter<Effect, Event>()

MobiusExtras/Test/EventSource+ExtensionsTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class EventSourceExtensionsTests: QuickSpec {
1616
beforeEach {
1717
intEventSource = AnyEventSource { (consumer: @escaping (Int) -> Void) in
1818
subscribedIntConsumer = consumer
19-
return AnonymousDisposable {}
19+
return EmptyDisposable()
2020
}
2121
}
2222

0 commit comments

Comments
 (0)