Edouard Goossens
02/07/2019, 10:18 AMactual fun observe(): ReceiveChannel<DocumentSnapshot> {
val channel = Channel<DocumentSnapshot>(Channel.CONFLATED)
val removeListener = documentReference.onSnapshot({
channel.offer(DocumentSnapshot(it))
}, {
channel.close(it)
})
channel.invokeOnClose { removeListener() }
return channel
}