Skip to content

Commit 527045b

Browse files
committed
use properties instead of functions
1 parent e6e2c18 commit 527045b

File tree

1 file changed

+38
-36
lines changed
  • firebase-database/ktx/src/main/kotlin/com/google/firebase/database/ktx

1 file changed

+38
-36
lines changed

firebase-database/ktx/src/main/kotlin/com/google/firebase/database/ktx/Database.kt

Lines changed: 38 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -73,59 +73,61 @@ inline fun <reified T> MutableData.getValue(): T? {
7373
* - When the returned flow starts being collected, a [ValueEventListener] will be attached.
7474
* - When the flow completes, the listener will be removed.
7575
*/
76-
fun Query.snapshots() = callbackFlow<DataSnapshot> {
77-
val listener = addValueEventListener(object : ValueEventListener {
78-
override fun onDataChange(snapshot: DataSnapshot) {
79-
repo.scheduleNow {
80-
trySendBlocking(snapshot)
76+
val Query.snapshots
77+
get() = callbackFlow<DataSnapshot> {
78+
val listener = addValueEventListener(object : ValueEventListener {
79+
override fun onDataChange(snapshot: DataSnapshot) {
80+
repo.scheduleNow {
81+
trySendBlocking(snapshot)
82+
}
8183
}
82-
}
8384

84-
override fun onCancelled(error: DatabaseError) {
85-
cancel(message = "Error getting Query snapshot", cause = error.toException())
86-
}
87-
})
88-
awaitClose { removeEventListener(listener) }
89-
}
85+
override fun onCancelled(error: DatabaseError) {
86+
cancel(message = "Error getting Query snapshot", cause = error.toException())
87+
}
88+
})
89+
awaitClose { removeEventListener(listener) }
90+
}
9091

9192
/**
9293
* Starts listening to this query's child events and emits its values via a [Flow].
9394
*
9495
* - When the returned flow starts being collected, a [ChildEventListener] will be attached.
9596
* - When the flow completes, the listener will be removed.
9697
*/
97-
fun Query.childEvents() = callbackFlow<ChildEvent> {
98-
val listener = addChildEventListener(object : ChildEventListener {
99-
override fun onChildAdded(snapshot: DataSnapshot, previousChildName: String?) {
100-
repo.scheduleNow {
101-
trySendBlocking(ChildEvent.Added(snapshot, previousChildName))
98+
val Query.childEvents
99+
get() = callbackFlow<ChildEvent> {
100+
val listener = addChildEventListener(object : ChildEventListener {
101+
override fun onChildAdded(snapshot: DataSnapshot, previousChildName: String?) {
102+
repo.scheduleNow {
103+
trySendBlocking(ChildEvent.Added(snapshot, previousChildName))
104+
}
102105
}
103-
}
104106

105-
override fun onChildChanged(snapshot: DataSnapshot, previousChildName: String?) {
106-
repo.scheduleNow {
107-
trySendBlocking(ChildEvent.Changed(snapshot, previousChildName))
107+
override fun onChildChanged(snapshot: DataSnapshot, previousChildName: String?) {
108+
repo.scheduleNow {
109+
trySendBlocking(ChildEvent.Changed(snapshot, previousChildName))
110+
}
108111
}
109-
}
110112

111-
override fun onChildRemoved(snapshot: DataSnapshot) {
112-
repo.scheduleNow {
113-
trySendBlocking(ChildEvent.Removed(snapshot))
113+
override fun onChildRemoved(snapshot: DataSnapshot) {
114+
repo.scheduleNow {
115+
trySendBlocking(ChildEvent.Removed(snapshot))
116+
}
114117
}
115-
}
116118

117-
override fun onChildMoved(snapshot: DataSnapshot, previousChildName: String?) {
118-
repo.scheduleNow {
119-
trySendBlocking(ChildEvent.Moved(snapshot, previousChildName))
119+
override fun onChildMoved(snapshot: DataSnapshot, previousChildName: String?) {
120+
repo.scheduleNow {
121+
trySendBlocking(ChildEvent.Moved(snapshot, previousChildName))
122+
}
120123
}
121-
}
122124

123-
override fun onCancelled(error: DatabaseError) {
124-
cancel(message = "Error getting Query childEvent", cause = error.toException())
125-
}
126-
})
127-
awaitClose { removeEventListener(listener) }
128-
}
125+
override fun onCancelled(error: DatabaseError) {
126+
cancel(message = "Error getting Query childEvent", cause = error.toException())
127+
}
128+
})
129+
awaitClose { removeEventListener(listener) }
130+
}
129131

130132
internal const val LIBRARY_NAME: String = "fire-db-ktx"
131133

0 commit comments

Comments
 (0)