Skip to content

Commit 8b12f21

Browse files
committed
Added platform extensions for ios and android
1 parent 51d0dfa commit 8b12f21

File tree

22 files changed

+53
-2
lines changed
  • firebase-app/src
  • firebase-auth/src
    • androidMain/kotlin/dev/gitlive/firebase/auth
    • iosMain/kotlin/dev/gitlive/firebase/auth
  • firebase-config/src
  • firebase-crashlytics/src
  • firebase-database/src
    • androidMain/kotlin/dev/gitlive/firebase/database
    • iosMain/kotlin/dev/gitlive/firebase/database
  • firebase-firestore/src
  • firebase-functions/src
  • firebase-installations/src
  • firebase-messaging/src
  • firebase-perf/src
  • firebase-storage/src
    • androidMain/kotlin/dev/gitlive/firebase/storage
    • iosMain/kotlin/dev/gitlive/firebase/storage

22 files changed

+53
-2
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public actual typealias FirebaseTooManyRequestsException = com.google.firebase.F
1414

1515
public actual typealias FirebaseApiNotAvailableException = com.google.firebase.FirebaseApiNotAvailableException
1616

17+
public val FirebaseApp.android: com.google.firebase.FirebaseApp get() = com.google.firebase.FirebaseApp.getInstance()
18+
1719
public actual val Firebase.app: FirebaseApp
1820
get() = FirebaseApp(com.google.firebase.FirebaseApp.getInstance())
1921

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ public actual open class FirebaseNetworkException(message: String) : FirebaseExc
1212
public actual open class FirebaseTooManyRequestsException(message: String) : FirebaseException(message)
1313
public actual open class FirebaseApiNotAvailableException(message: String) : FirebaseException(message)
1414

15+
public val Firebase.ios: FIRApp get() = FIRApp.defaultApp()!!
16+
1517
public actual val Firebase.app: FirebaseApp
1618
get() = FirebaseApp(FIRApp.defaultApp()!!)
1719

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@ import com.google.firebase.auth.ActionCodeResult.*
1212
import com.google.firebase.auth.FirebaseAuth.AuthStateListener
1313
import dev.gitlive.firebase.Firebase
1414
import dev.gitlive.firebase.FirebaseApp
15+
import dev.gitlive.firebase.auth.auth
1516
import kotlinx.coroutines.channels.awaitClose
1617
import kotlinx.coroutines.flow.Flow
1718
import kotlinx.coroutines.flow.callbackFlow
1819
import kotlinx.coroutines.tasks.await
1920

21+
public val FirebaseAuth.android: com.google.firebase.auth.FirebaseAuth get() = com.google.firebase.auth.FirebaseAuth.getInstance()
22+
2023
public actual val Firebase.auth: FirebaseAuth
2124
get() = FirebaseAuth(com.google.firebase.auth.FirebaseAuth.getInstance())
2225

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import kotlinx.coroutines.flow.Flow
1818
import platform.Foundation.NSError
1919
import platform.Foundation.NSURL
2020

21+
public val FirebaseAuth.ios: FIRAuth get() = FIRAuth.auth()
22+
2123
public actual val Firebase.auth: FirebaseAuth
2224
get() = FirebaseAuth(FIRAuth.auth())
2325

firebase-config/src/androidMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import com.google.firebase.remoteconfig.FirebaseRemoteConfig as AndroidFirebaseR
1515
import com.google.firebase.remoteconfig.FirebaseRemoteConfigInfo as AndroidFirebaseRemoteConfigInfo
1616
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings as AndroidFirebaseRemoteConfigSettings
1717

18+
public val FirebaseRemoteConfig.android: AndroidFirebaseRemoteConfig get() = AndroidFirebaseRemoteConfig.getInstance()
19+
1820
public actual val Firebase.remoteConfig: FirebaseRemoteConfig
1921
get() = FirebaseRemoteConfig(com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance())
2022

firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import kotlin.time.Duration
2020
import kotlin.time.Duration.Companion.seconds
2121
import kotlin.time.DurationUnit
2222

23+
public val FirebaseRemoteConfig.ios: FIRRemoteConfig get() = FIRRemoteConfig.remoteConfig()
24+
2325
public actual val Firebase.remoteConfig: FirebaseRemoteConfig
2426
get() = FirebaseRemoteConfig(FIRRemoteConfig.remoteConfig())
2527

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ package dev.gitlive.firebase.crashlytics
22

33
import com.google.firebase.FirebaseException
44
import com.google.firebase.crashlytics.CustomKeysAndValues.Builder
5+
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
56
import dev.gitlive.firebase.Firebase
67
import dev.gitlive.firebase.FirebaseApp
78

9+
public val FirebaseCrashlytics.android: com.google.firebase.crashlytics.FirebaseCrashlytics get() = com.google.firebase.crashlytics.FirebaseCrashlytics.getInstance()
10+
811
public actual val Firebase.crashlytics: FirebaseCrashlytics get() =
912
FirebaseCrashlytics(com.google.firebase.crashlytics.FirebaseCrashlytics.getInstance())
1013

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import dev.gitlive.firebase.Firebase
77
import dev.gitlive.firebase.FirebaseApp
88
import dev.gitlive.firebase.FirebaseException
99

10+
public val FirebaseCrashlytics.ios: FIRCrashlytics get() = FIRCrashlytics.crashlytics()
11+
1012
public actual val Firebase.crashlytics: FirebaseCrashlytics get() =
1113
FirebaseCrashlytics(FIRCrashlytics.crashlytics())
1214

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ import kotlinx.serialization.KSerializer
4040
import java.util.WeakHashMap
4141
import kotlin.time.Duration.Companion.seconds
4242

43+
public val FirebaseDatabase.android: com.google.firebase.database.FirebaseDatabase get() = com.google.firebase.database.FirebaseDatabase.getInstance()
44+
4345
internal suspend fun <T> Task<T>.awaitWhileOnline(database: FirebaseDatabase): T =
4446
merge(
4547
flow { emit(await()) },

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ import kotlinx.serialization.KSerializer
4242
import platform.Foundation.NSError
4343
import platform.Foundation.allObjects
4444

45+
public val FirebaseDatabase.ios: FIRDatabase get() = FIRDatabase.database()
46+
4547
public actual val Firebase.database: FirebaseDatabase
4648
by lazy { FirebaseDatabase(FIRDatabase.database()) }
4749

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import com.google.firebase.firestore.memoryEagerGcSettings as androidMemoryEager
3030
import com.google.firebase.firestore.memoryLruGcSettings as androidMemoryLruGcSettings
3131
import com.google.firebase.firestore.persistentCacheSettings as androidPersistentCacheSettings
3232

33+
public val FirebaseFirestore.android: AndroidFirebaseFirestore get() = AndroidFirebaseFirestore.getInstance()
34+
3335
public actual val Firebase.firestore: FirebaseFirestore get() =
3436
FirebaseFirestore(AndroidFirebaseFirestore.getInstance())
3537

@@ -55,7 +57,6 @@ public val LocalCacheSettings.android: AndroidLocalCacheSettings get() = when (t
5557
internal actual typealias NativeFirebaseFirestore = AndroidFirebaseFirestore
5658

5759
public operator fun FirebaseFirestore.Companion.invoke(android: AndroidFirebaseFirestore): FirebaseFirestore = FirebaseFirestore(android)
58-
public val FirebaseFirestore.android: AndroidFirebaseFirestore get() = native
5960

6061
public actual data class FirebaseFirestoreSettings(
6162
actual val sslEnabled: Boolean,

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package dev.gitlive.firebase.firestore
88

99
import cocoapods.FirebaseFirestoreInternal.*
1010
import cocoapods.FirebaseFirestoreInternal.FIRDocumentChangeType.*
11+
import com.google.firebase.firestore.FirebaseFirestore
1112
import dev.gitlive.firebase.Firebase
1213
import dev.gitlive.firebase.FirebaseApp
1314
import dev.gitlive.firebase.FirebaseException
@@ -19,6 +20,8 @@ import platform.Foundation.numberWithLong
1920
import platform.darwin.dispatch_get_main_queue
2021
import platform.darwin.dispatch_queue_t
2122

23+
public val FirebaseFirestore.ios: FIRFirestore get() = FIRFirestore.firestore()
24+
2225
public actual val Firebase.firestore: FirebaseFirestore get() =
2326
FirebaseFirestore(FIRFirestore.firestore())
2427

@@ -39,7 +42,6 @@ public val LocalCacheSettings.ios: FIRLocalCacheSettingsProtocol get() = when (t
3942
internal actual typealias NativeFirebaseFirestore = FIRFirestore
4043

4144
public operator fun FirebaseFirestore.Companion.invoke(ios: FIRFirestore): FirebaseFirestore = FirebaseFirestore(ios)
42-
public val FirebaseFirestore.ios: FIRFirestore get() = native
4345

4446
public actual data class FirebaseFirestoreSettings(
4547
actual val sslEnabled: Boolean,

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import kotlinx.serialization.DeserializationStrategy
1515
import java.util.concurrent.TimeUnit
1616
import kotlin.time.Duration
1717

18+
public val FirebaseFunctions.android: com.google.firebase.functions.FirebaseFunctions get() = com.google.firebase.functions.FirebaseFunctions.getInstance()
19+
1820
public actual val Firebase.functions: FirebaseFunctions
1921
get() = FirebaseFunctions(com.google.firebase.functions.FirebaseFunctions.getInstance())
2022

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import platform.Foundation.NSError
2020
import kotlin.time.Duration
2121
import kotlin.time.DurationUnit
2222

23+
public val FirebaseFunctions.ios: FIRFunctions get() = FIRFunctions.functions()
24+
2325
public actual val Firebase.functions: FirebaseFunctions
2426
get() = FirebaseFunctions(FIRFunctions.functions())
2527

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import dev.gitlive.firebase.Firebase
44
import dev.gitlive.firebase.FirebaseApp
55
import kotlinx.coroutines.tasks.await
66

7+
public val FirebaseInstallations.android: com.google.firebase.installations.FirebaseInstallations get() = com.google.firebase.installations.FirebaseInstallations.getInstance()
8+
79
public actual val Firebase.installations: FirebaseInstallations
810
get() = FirebaseInstallations(com.google.firebase.installations.FirebaseInstallations.getInstance())
911

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import dev.gitlive.firebase.FirebaseException
77
import kotlinx.coroutines.CompletableDeferred
88
import platform.Foundation.*
99

10+
public val FirebaseInstallations.ios: FIRInstallations get() = FIRInstallations.installations()
11+
1012
public actual val Firebase.installations: FirebaseInstallations
1113
get() = FirebaseInstallations(FIRInstallations.installations())
1214

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
package dev.gitlive.firebase.messaging
44

55
import dev.gitlive.firebase.Firebase
6+
import dev.gitlive.firebase.installations.FirebaseInstallations
7+
import dev.gitlive.firebase.messaging.messaging
68
import kotlinx.coroutines.tasks.await
79

10+
public val FirebaseMessaging.android: com.google.firebase.messaging.FirebaseMessaging get() = com.google.firebase.messaging.FirebaseMessaging.getInstance()
11+
812
public actual val Firebase.messaging: FirebaseMessaging
913
get() = FirebaseMessaging(com.google.firebase.messaging.FirebaseMessaging.getInstance())
1014

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import dev.gitlive.firebase.Firebase
55
import kotlinx.coroutines.CompletableDeferred
66
import platform.Foundation.NSError
77

8+
public val FirebaseMessaging.ios: FIRMessaging get() = FIRMessaging.messaging()
9+
810
public actual val Firebase.messaging: FirebaseMessaging
911
get() = FirebaseMessaging(FIRMessaging.messaging())
1012

firebase-perf/src/androidMain/kotlin/dev/gitlive/firebase/perf/performance.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@ package dev.gitlive.firebase.perf
33
import com.google.firebase.FirebaseException
44
import dev.gitlive.firebase.Firebase
55
import dev.gitlive.firebase.FirebaseApp
6+
import dev.gitlive.firebase.messaging.FirebaseMessaging
7+
import dev.gitlive.firebase.messaging.messaging
68
import dev.gitlive.firebase.perf.metrics.Trace
79

10+
public val FirebasePerformance.android: com.google.firebase.perf.FirebasePerformance get() = com.google.firebase.perf.FirebasePerformance.getInstance()
11+
812
public actual val Firebase.performance: FirebasePerformance get() =
913
FirebasePerformance(com.google.firebase.perf.FirebasePerformance.getInstance())
1014

firebase-perf/src/iosMain/kotlin/dev/gitlive/firebase/perf/performance.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import dev.gitlive.firebase.FirebaseApp
66
import dev.gitlive.firebase.FirebaseException
77
import dev.gitlive.firebase.perf.metrics.Trace
88

9+
public val FirebasePerformance.ios: FIRPerformance get() = FIRPerformance.sharedInstance()
10+
911
public actual val Firebase.performance: FirebasePerformance get() =
1012
FirebasePerformance(FIRPerformance.sharedInstance())
1113

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import com.google.firebase.storage.StorageMetadata
1515
import com.google.firebase.storage.UploadTask
1616
import dev.gitlive.firebase.Firebase
1717
import dev.gitlive.firebase.FirebaseApp
18+
import dev.gitlive.firebase.perf.FirebasePerformance
19+
import dev.gitlive.firebase.storage.storage
1820
import kotlinx.coroutines.cancel
1921
import kotlinx.coroutines.channels.awaitClose
2022
import kotlinx.coroutines.channels.trySendBlocking
@@ -25,6 +27,8 @@ import kotlinx.coroutines.tasks.await
2527
import kotlin.time.Duration
2628
import kotlin.time.Duration.Companion.milliseconds
2729

30+
public val FirebaseStorage.android: com.google.firebase.storage.FirebaseStorage get() = com.google.firebase.storage.FirebaseStorage.getInstance()
31+
2832
public actual val Firebase.storage: FirebaseStorage get() = FirebaseStorage(com.google.firebase.storage.FirebaseStorage.getInstance())
2933

3034
public actual fun Firebase.storage(url: String): FirebaseStorage = FirebaseStorage(com.google.firebase.storage.FirebaseStorage.getInstance(url))

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import kotlin.time.Duration
3030
import kotlin.time.Duration.Companion.seconds
3131
import kotlin.time.DurationUnit
3232

33+
public val FirebaseStorage.ios: FIRStorage get() = FIRStorage.storage()
34+
3335
public actual val Firebase.storage: FirebaseStorage get() =
3436
FirebaseStorage(FIRStorage.storage())
3537

0 commit comments

Comments
 (0)