Skip to content

Commit 10104cc

Browse files
committed
refactor: Mark parts of observer builder as internal to not pollute api
1 parent 08d84b3 commit 10104cc

3 files changed

Lines changed: 14 additions & 12 deletions

File tree

geary-core/src/com/mineinabyss/geary/observers/Observer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ data class Observer(
1313
val listenToEvents: EntityType,
1414
val mustHoldData: Boolean,
1515
val handle: ObserverHandle,
16-
val onClose: (Observer) -> Unit,
16+
internal val onClose: (Observer) -> Unit,
1717
) : AutoCloseable {
1818
var closed = false
1919
private set

geary-core/src/com/mineinabyss/geary/observers/builders/ObserverEventsBuilder.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.mineinabyss.geary.systems.query.QueryShorthands
1010
import com.mineinabyss.geary.systems.query.ShorthandQuery
1111

1212
data class ObserverWithoutData(
13+
@PublishedApi
1314
override val listenToEvents: List<ComponentId>,
1415
override val world: Geary,
1516
override val onBuild: (Observer) -> Unit,
@@ -50,13 +51,13 @@ data class ObserverWithData<R>(
5051
}
5152

5253
abstract class ObserverEventsBuilder<Context> : ExecutableObserver<Context> {
53-
abstract val world: Geary
54-
abstract val listenToEvents: List<ComponentId>
55-
abstract val mustHoldData: Boolean
56-
abstract val onBuild: (Observer) -> Unit
57-
abstract val onClose: (Observer) -> Unit
58-
59-
val comp: ComponentProvider get() = world.componentProvider
54+
internal abstract val world: Geary
55+
internal abstract val listenToEvents: List<ComponentId>
56+
internal abstract val mustHoldData: Boolean
57+
internal abstract val onBuild: (Observer) -> Unit
58+
internal abstract val onClose: (Observer) -> Unit
59+
@PublishedApi
60+
internal val comp: ComponentProvider get() = world.componentProvider
6061

6162
abstract fun provideContext(entity: EntityId, data: Any?): Context
6263

geary-core/test@jvm/com/mineinabyss/geary/observers/RemoveObserverTest.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,22 @@ import kotlin.test.Test
1111
class RemoveObserverTest : GearyTest() {
1212
@Test
1313
fun `should stop observing events after removed`() {
14+
// arrange
1415
val called = mutableListOf<Int>()
1516
val observer = observe<OnSet>().exec(query<Int>()) { (data) ->
1617
called += data
1718
}
1819

20+
// act
1921
val entity = entity {
2022
set(1)
2123
set(2)
2224
}
23-
24-
25-
eventRunner.removeObserver(observer)
26-
25+
observer.close()
2726
entity.set(3)
2827

28+
// assert
29+
2930
called shouldBe listOf(1, 2)
3031
}
3132
}

0 commit comments

Comments
 (0)