Skip to content

Commit 2b54a93

Browse files
authored
Merge pull request #283 from GitLiveApp/switch_to_trySend
replace safeOffer with trySend
2 parents 566d9aa + 3677e7f commit 2b54a93

File tree

10 files changed

+24
-40
lines changed
  • firebase-auth/src
    • androidMain/kotlin/dev/gitlive/firebase/auth
    • iosMain/kotlin/dev/gitlive/firebase/auth
    • jsMain/kotlin/dev/gitlive/firebase/auth
  • firebase-common/src/commonMain/kotlin/dev/gitlive/firebase
  • firebase-database/src
    • androidMain/kotlin/dev/gitlive/firebase/database
    • iosMain/kotlin/dev/gitlive/firebase/database
    • jsMain/kotlin/dev/gitlive/firebase/database
  • firebase-firestore/src

10 files changed

+24
-40
lines changed

firebase-auth/src/androidMain/kotlin/dev/gitlive/firebase/auth/auth.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import com.google.firebase.auth.ActionCodeResult.*
1111
import com.google.firebase.auth.FirebaseAuth.AuthStateListener
1212
import dev.gitlive.firebase.Firebase
1313
import dev.gitlive.firebase.FirebaseApp
14-
import dev.gitlive.firebase.safeOffer
1514
import kotlinx.coroutines.channels.awaitClose
1615
import kotlinx.coroutines.flow.Flow
1716
import kotlinx.coroutines.flow.callbackFlow
@@ -30,7 +29,7 @@ actual class FirebaseAuth internal constructor(val android: com.google.firebase.
3029
actual val authStateChanged: Flow<FirebaseUser?> get() = callbackFlow {
3130
val listener = object : AuthStateListener {
3231
override fun onAuthStateChanged(auth: com.google.firebase.auth.FirebaseAuth) {
33-
safeOffer(auth.currentUser?.let { FirebaseUser(it) })
32+
trySend(auth.currentUser?.let { FirebaseUser(it) })
3433
}
3534
}
3635
android.addAuthStateListener(listener)
@@ -40,7 +39,7 @@ actual class FirebaseAuth internal constructor(val android: com.google.firebase.
4039
actual val idTokenChanged get(): Flow<FirebaseUser?> = callbackFlow {
4140
val listener = object : com.google.firebase.auth.FirebaseAuth.IdTokenListener {
4241
override fun onIdTokenChanged(auth: com.google.firebase.auth.FirebaseAuth) {
43-
safeOffer(auth.currentUser?.let { FirebaseUser(it) })
42+
trySend(auth.currentUser?.let { FirebaseUser(it) })
4443
}
4544
}
4645
android.addIdTokenListener(listener)

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/auth.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import cocoapods.FirebaseAuth.*
88
import dev.gitlive.firebase.Firebase
99
import dev.gitlive.firebase.FirebaseApp
1010
import dev.gitlive.firebase.FirebaseException
11-
import dev.gitlive.firebase.safeOffer
1211
import dev.gitlive.firebase.auth.ActionCodeResult.*
1312
import kotlinx.cinterop.*
1413
import kotlinx.coroutines.CompletableDeferred
@@ -29,12 +28,12 @@ actual class FirebaseAuth internal constructor(val ios: FIRAuth) {
2928
get() = ios.currentUser?.let { FirebaseUser(it) }
3029

3130
actual val authStateChanged get() = callbackFlow<FirebaseUser?> {
32-
val handle = ios.addAuthStateDidChangeListener { _, user -> safeOffer(user?.let { FirebaseUser(it) }) }
31+
val handle = ios.addAuthStateDidChangeListener { _, user -> trySend(user?.let { FirebaseUser(it) }) }
3332
awaitClose { ios.removeAuthStateDidChangeListener(handle) }
3433
}
3534

3635
actual val idTokenChanged get() = callbackFlow<FirebaseUser?> {
37-
val handle = ios.addIDTokenDidChangeListener { _, user -> safeOffer(user?.let { FirebaseUser(it) }) }
36+
val handle = ios.addIDTokenDidChangeListener { _, user -> trySend(user?.let { FirebaseUser(it) }) }
3837
awaitClose { ios.removeIDTokenDidChangeListener(handle) }
3938
}
4039

firebase-auth/src/jsMain/kotlin/dev/gitlive/firebase/auth/auth.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ actual class FirebaseAuth internal constructor(val js: firebase.auth.Auth) {
2323

2424
actual val authStateChanged get() = callbackFlow<FirebaseUser?> {
2525
val unsubscribe = js.onAuthStateChanged {
26-
safeOffer(it?.let { FirebaseUser(it) })
26+
trySend(it?.let { FirebaseUser(it) })
2727
}
2828
awaitClose { unsubscribe() }
2929
}
3030

3131
actual val idTokenChanged get() = callbackFlow<FirebaseUser?> {
3232
val unsubscribe = js.onIdTokenChanged {
33-
safeOffer(it?.let { FirebaseUser(it) })
33+
trySend(it?.let { FirebaseUser(it) })
3434
}
3535
awaitClose { unsubscribe() }
3636
}

firebase-common/src/commonMain/kotlin/dev/gitlive/firebase/extensions.kt

Lines changed: 0 additions & 11 deletions
This file was deleted.

firebase-database/src/androidMain/kotlin/dev/gitlive/firebase/database/database.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import dev.gitlive.firebase.Firebase
1313
import dev.gitlive.firebase.FirebaseApp
1414
import dev.gitlive.firebase.database.ChildEvent.Type
1515
import dev.gitlive.firebase.decode
16-
import dev.gitlive.firebase.safeOffer
17-
import kotlinx.coroutines.FlowPreview
1816
import kotlinx.coroutines.channels.awaitClose
1917
import kotlinx.coroutines.coroutineScope
2018
import kotlinx.coroutines.flow.Flow
@@ -116,7 +114,7 @@ actual open class Query internal constructor(
116114
get() = callbackFlow {
117115
val listener = object : ValueEventListener {
118116
override fun onDataChange(snapshot: com.google.firebase.database.DataSnapshot) {
119-
safeOffer(DataSnapshot(snapshot))
117+
trySend(DataSnapshot(snapshot))
120118
}
121119

122120
override fun onCancelled(error: com.google.firebase.database.DatabaseError) {
@@ -132,22 +130,22 @@ actual open class Query internal constructor(
132130

133131
val moved by lazy { types.contains(Type.MOVED) }
134132
override fun onChildMoved(snapshot: com.google.firebase.database.DataSnapshot, previousChildName: String?) {
135-
if(moved) safeOffer(ChildEvent(DataSnapshot(snapshot), Type.MOVED, previousChildName))
133+
if(moved) trySend(ChildEvent(DataSnapshot(snapshot), Type.MOVED, previousChildName))
136134
}
137135

138136
val changed by lazy { types.contains(Type.CHANGED) }
139137
override fun onChildChanged(snapshot: com.google.firebase.database.DataSnapshot, previousChildName: String?) {
140-
if(changed) safeOffer(ChildEvent(DataSnapshot(snapshot), Type.CHANGED, previousChildName))
138+
if(changed) trySend(ChildEvent(DataSnapshot(snapshot), Type.CHANGED, previousChildName))
141139
}
142140

143141
val added by lazy { types.contains(Type.ADDED) }
144142
override fun onChildAdded(snapshot: com.google.firebase.database.DataSnapshot, previousChildName: String?) {
145-
if(added) safeOffer(ChildEvent(DataSnapshot(snapshot), Type.ADDED, previousChildName))
143+
if(added) trySend(ChildEvent(DataSnapshot(snapshot), Type.ADDED, previousChildName))
146144
}
147145

148146
val removed by lazy { types.contains(Type.REMOVED) }
149147
override fun onChildRemoved(snapshot: com.google.firebase.database.DataSnapshot) {
150-
if(removed) safeOffer(ChildEvent(DataSnapshot(snapshot), Type.REMOVED, null))
148+
if(removed) trySend(ChildEvent(DataSnapshot(snapshot), Type.REMOVED, null))
151149
}
152150

153151
override fun onCancelled(error: com.google.firebase.database.DatabaseError) {

firebase-database/src/iosMain/kotlin/dev/gitlive/firebase/database/database.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import dev.gitlive.firebase.FirebaseApp
1111
import dev.gitlive.firebase.database.ChildEvent.Type
1212
import dev.gitlive.firebase.database.ChildEvent.Type.*
1313
import dev.gitlive.firebase.decode
14-
import dev.gitlive.firebase.safeOffer
1514
import kotlinx.coroutines.CompletableDeferred
1615
import kotlinx.coroutines.FlowPreview
1716
import kotlinx.coroutines.channels.ClosedSendChannelException
@@ -108,7 +107,7 @@ actual open class Query internal constructor(
108107
val handle = ios.observeEventType(
109108
FIRDataEventTypeValue,
110109
withBlock = { snapShot ->
111-
safeOffer(DataSnapshot(snapShot!!))
110+
trySend(DataSnapshot(snapShot!!))
112111
}
113112
) { close(DatabaseException(it.toString(), null)) }
114113
awaitClose { ios.removeObserverWithHandle(handle) }
@@ -119,7 +118,7 @@ actual open class Query internal constructor(
119118
ios.observeEventType(
120119
type.toEventType(),
121120
andPreviousSiblingKeyWithBlock = { snapShot, key ->
122-
safeOffer(ChildEvent(DataSnapshot(snapShot!!), type, key))
121+
trySend(ChildEvent(DataSnapshot(snapShot!!), type, key))
123122
}
124123
) { close(DatabaseException(it.toString(), null)) }
125124
}

firebase-database/src/jsMain/kotlin/dev/gitlive/firebase/database/database.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ actual open class Query internal constructor(open val js: firebase.database.Quer
5353
val listener = rethrow {
5454
js.on(
5555
"value",
56-
{ it, _ -> safeOffer(DataSnapshot(it)) },
56+
{ it, _ -> trySend(DataSnapshot(it)) },
5757
{ close(DatabaseException(it)).run { Unit } }
5858
)
5959
}
@@ -67,7 +67,7 @@ actual open class Query internal constructor(open val js: firebase.database.Quer
6767
eventType to js.on(
6868
eventType,
6969
{ snapshot, previousChildName ->
70-
safeOffer(
70+
trySend(
7171
ChildEvent(
7272
DataSnapshot(snapshot),
7373
type,

firebase-firestore/src/androidMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ actual class DocumentReference(val android: com.google.firebase.firestore.Docume
301301

302302
actual val snapshots get() = callbackFlow<DocumentSnapshot> {
303303
val listener = android.addSnapshotListener { snapshot, exception ->
304-
snapshot?.let { safeOffer(DocumentSnapshot(snapshot)) }
304+
snapshot?.let { trySend(DocumentSnapshot(snapshot)) }
305305
exception?.let { close(exception) }
306306
}
307307
awaitClose { listener.remove() }
@@ -316,7 +316,7 @@ actual open class Query(open val android: com.google.firebase.firestore.Query) {
316316

317317
actual val snapshots get() = callbackFlow<QuerySnapshot> {
318318
val listener = android.addSnapshotListener { snapshot, exception ->
319-
snapshot?.let { safeOffer(QuerySnapshot(snapshot)) }
319+
snapshot?.let { trySend(QuerySnapshot(snapshot)) }
320320
exception?.let { close(exception) }
321321
}
322322
awaitClose { listener.remove() }
@@ -325,7 +325,7 @@ actual open class Query(open val android: com.google.firebase.firestore.Query) {
325325
actual fun snapshots(includeMetadataChanges: Boolean) = callbackFlow<QuerySnapshot> {
326326
val metadataChanges = if(includeMetadataChanges) MetadataChanges.INCLUDE else MetadataChanges.EXCLUDE
327327
val listener = android.addSnapshotListener(metadataChanges) { snapshot, exception ->
328-
snapshot?.let { safeOffer(QuerySnapshot(snapshot)) }
328+
snapshot?.let { trySend(QuerySnapshot(snapshot)) }
329329
exception?.let { close(exception) }
330330
}
331331
awaitClose { listener.remove() }

firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ actual class DocumentReference(val ios: FIRDocumentReference) {
217217

218218
actual val snapshots get() = callbackFlow<DocumentSnapshot> {
219219
val listener = ios.addSnapshotListener { snapshot, error ->
220-
snapshot?.let { safeOffer(DocumentSnapshot(snapshot)) }
220+
snapshot?.let { trySend(DocumentSnapshot(snapshot)) }
221221
error?.let { close(error.toException()) }
222222
}
223223
awaitClose { listener.remove() }
@@ -232,15 +232,15 @@ actual open class Query(open val ios: FIRQuery) {
232232

233233
actual val snapshots get() = callbackFlow<QuerySnapshot> {
234234
val listener = ios.addSnapshotListener { snapshot, error ->
235-
snapshot?.let { safeOffer(QuerySnapshot(snapshot)) }
235+
snapshot?.let { trySend(QuerySnapshot(snapshot)) }
236236
error?.let { close(error.toException()) }
237237
}
238238
awaitClose { listener.remove() }
239239
}
240240

241241
actual fun snapshots(includeMetadataChanges: Boolean) = callbackFlow<QuerySnapshot> {
242242
val listener = ios.addSnapshotListenerWithIncludeMetadataChanges(includeMetadataChanges) { snapshot, error ->
243-
snapshot?.let { safeOffer(QuerySnapshot(snapshot)) }
243+
snapshot?.let { trySend(QuerySnapshot(snapshot)) }
244244
error?.let { close(error.toException()) }
245245
}
246246
awaitClose { listener.remove() }

firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ actual class DocumentReference(val js: firebase.firestore.DocumentReference) {
273273

274274
actual val snapshots get() = callbackFlow<DocumentSnapshot> {
275275
val unsubscribe = js.onSnapshot(
276-
{ safeOffer(DocumentSnapshot(it)) },
276+
{ trySend(DocumentSnapshot(it)) },
277277
{ close(errorToException(it)) }
278278
)
279279
awaitClose { unsubscribe() }
@@ -339,7 +339,7 @@ actual open class Query(open val js: firebase.firestore.Query) {
339339
actual val snapshots get() = callbackFlow<QuerySnapshot> {
340340
val unsubscribe = rethrow {
341341
js.onSnapshot(
342-
{ safeOffer(QuerySnapshot(it)) },
342+
{ trySend(QuerySnapshot(it)) },
343343
{ close(errorToException(it)) }
344344
)
345345
}
@@ -350,7 +350,7 @@ actual open class Query(open val js: firebase.firestore.Query) {
350350
val unsubscribe = rethrow {
351351
js.onSnapshot(
352352
json("includeMetadataChanges" to includeMetadataChanges),
353-
{ safeOffer(QuerySnapshot(it)) },
353+
{ trySend(QuerySnapshot(it)) },
354354
{ close(errorToException(it)) }
355355
)
356356
}

0 commit comments

Comments
 (0)