Skip to content

Commit 9a9e697

Browse files
authored
Merge pull request #42 from GitLiveApp/functions-emulator
Added firebase functions method for use of function emulator.
2 parents 7ae2717 + 35ba3e9 commit 9a9e697

File tree

5 files changed

+8
-0
lines changed
  • firebase-common/src/jsMain/kotlin/dev/gitlive/firebase
  • firebase-functions/src

5 files changed

+8
-0
lines changed

firebase-common/src/jsMain/kotlin/dev/gitlive/firebase/externals.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ external object firebase {
9292
object functions {
9393
class Functions {
9494
fun httpsCallable(name: String, options: Json?): HttpsCallable
95+
fun useFunctionsEmulator(origin: String)
9596
}
9697
interface HttpsCallableResult {
9798
val data: Any?

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
@@ -28,6 +28,8 @@ actual fun Firebase.functions(app: FirebaseApp, region: String) =
2828
actual class FirebaseFunctions internal constructor(val android: com.google.firebase.functions.FirebaseFunctions) {
2929
actual fun httpsCallable(name: String, timeout: Long?) =
3030
HttpsCallableReference(android.getHttpsCallable(name).apply { timeout?.let { setTimeout(it, TimeUnit.MILLISECONDS) } })
31+
32+
actual fun useFunctionsEmulator(origin: String) = android.useFunctionsEmulator(origin)
3133
}
3234

3335
actual class HttpsCallableReference internal constructor(val android: com.google.firebase.functions.HttpsCallableReference) {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import kotlinx.serialization.SerializationStrategy
1313

1414
expect class FirebaseFunctions {
1515
fun httpsCallable(name: String, timeout: Long? = null): HttpsCallableReference
16+
fun useFunctionsEmulator(origin: String)
1617
}
1718

1819
expect class HttpsCallableReference {

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
@@ -30,6 +30,8 @@ actual fun Firebase.functions(app: FirebaseApp, region: String) =
3030
actual class FirebaseFunctions internal constructor(val ios: FIRFunctions) {
3131
actual fun httpsCallable(name: String, timeout: Long?) =
3232
HttpsCallableReference(ios.HTTPSCallableWithName(name).apply { timeout?.let { setTimeoutInterval(it/1000.0) } })
33+
34+
actual fun useFunctionsEmulator(origin: String) = ios.useFunctionsEmulatorOrigin(origin)
3335
}
3436

3537
actual class HttpsCallableReference internal constructor(val ios: FIRHTTPSCallable) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ actual fun Firebase.functions(app: FirebaseApp, region: String) =
2525
actual class FirebaseFunctions internal constructor(val js: firebase.functions.Functions) {
2626
actual fun httpsCallable(name: String, timeout: Long?) =
2727
rethrow { HttpsCallableReference(js.httpsCallable(name, timeout?.let { json("timeout" to timeout.toDouble()) })) }
28+
29+
actual fun useFunctionsEmulator(origin: String) = js.useFunctionsEmulator(origin)
2830
}
2931

3032
@Suppress("UNCHECKED_CAST")

0 commit comments

Comments
 (0)