Skip to content

Commit 5e63a3e

Browse files
committed
add DatabaseReference.child
1 parent 647934b commit 5e63a3e

File tree

5 files changed

+9
-2
lines changed
  • firebase-common/src/jsMain/kotlin/dev/teamhub/firebase
  • firebase-database/src
    • androidMain/kotlin/dev/teamhub/firebase/database
    • commonMain/kotlin/dev/teamhub/firebase/database
    • jsMain/kotlin/dev/teamhub/firebase/database
  • firebase-firestore/src/jsMain/kotlin/dev/teamhub/firebase/firestore

5 files changed

+9
-2
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ external object firebase {
112112

113113
open class Reference: Query {
114114
val key: String?
115+
fun child(path: String): Reference
115116
fun remove(): Promise<Unit>
116117
fun onDisconnect(): OnDisconnect
117118
fun update(value: Any?): Promise<Unit>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ actual class DatabaseReference internal constructor(
129129
): Query(android, persistenceEnabled) {
130130

131131
actual val key get() = android.key
132+
133+
actual fun child(path: String) = DatabaseReference(android.child(path), persistenceEnabled)
134+
132135
actual fun push() = DatabaseReference(android.push(), persistenceEnabled)
133136
actual fun onDisconnect() = OnDisconnect(android.onDisconnect(), persistenceEnabled)
134137

firebase-database/src/commonMain/kotlin/dev/teamhub/firebase/database/database.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ expect open class Query {
5151
expect class DatabaseReference : Query {
5252
val key: String?
5353
fun push(): DatabaseReference
54+
fun child(path: String): DatabaseReference
5455
fun onDisconnect(): OnDisconnect
5556
@ImplicitReflectionSerializer
5657
suspend fun setValue(value: Any?)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ actual class DatabaseReference internal constructor(override val js: firebase.da
8080

8181
actual val key get() = rethrow { js.key }
8282
actual fun push() = rethrow { DatabaseReference(js.push()) }
83+
actual fun child(path: String) = rethrow { DatabaseReference(js.child(path)) }
84+
8385
actual fun onDisconnect() = rethrow { OnDisconnect(js.onDisconnect()) }
8486

8587
actual suspend fun updateChildren(update: Map<String, Any?>) =

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,10 @@ actual class Transaction(val js: firebase.firestore.Transaction) {
172172
actual class DocumentReference(val js: firebase.firestore.DocumentReference) {
173173

174174
actual val id: String
175-
get() = rethrow { js.id }
175+
get() = rethrow { js.id }
176176

177177
actual val path: String
178-
get() = rethrow { js.path }
178+
get() = rethrow { js.path }
179179

180180
actual suspend inline fun <reified T: Any> set(data: T, merge: Boolean) =
181181
rethrow { js.set(encode(data)!!, json("merge" to merge)).await() }

0 commit comments

Comments
 (0)