From d36ddfc2c23a56b1eb6964e720e81d591a26c1f3 Mon Sep 17 00:00:00 2001 From: Gijs van Veen Date: Thu, 4 Apr 2024 01:17:22 +0200 Subject: [PATCH] Fix fr DocumentId not working on JS --- .../dev/gitlive/firebase/firestore/externals/firestore.kt | 5 ++--- .../kotlin/dev/gitlive/firebase/firestore/firestore.kt | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/externals/firestore.kt b/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/externals/firestore.kt index d4f02686e..920b95eaf 100644 --- a/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/externals/firestore.kt +++ b/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/externals/firestore.kt @@ -8,10 +8,9 @@ import dev.gitlive.firebase.externals.FirebaseApp import kotlin.js.Json import kotlin.js.Promise +external fun documentId(): FieldPath + external class FieldPath(vararg fieldNames: String) { - companion object { - val documentId: FieldPath - } fun isEqual(other: FieldPath): Boolean } diff --git a/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt b/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt index ae2edc450..0a381c8f4 100644 --- a/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt +++ b/firebase-firestore/src/jsMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt @@ -15,6 +15,7 @@ import dev.gitlive.firebase.firestore.externals.clearIndexedDbPersistence import dev.gitlive.firebase.firestore.externals.connectFirestoreEmulator import dev.gitlive.firebase.firestore.externals.deleteDoc import dev.gitlive.firebase.firestore.externals.doc +import dev.gitlive.firebase.firestore.externals.documentId as jsDocumentId import dev.gitlive.firebase.firestore.externals.enableIndexedDbPersistence import dev.gitlive.firebase.firestore.externals.getDoc import dev.gitlive.firebase.firestore.externals.getDocs @@ -440,10 +441,10 @@ actual class SnapshotMetadata(val js: JsSnapshotMetadata) { actual class FieldPath private constructor(val js: JsFieldPath) { actual companion object { - actual val documentId = FieldPath(JsFieldPath.documentId) + actual val documentId = FieldPath(jsDocumentId()) } actual constructor(vararg fieldNames: String) : this(dev.gitlive.firebase.firestore.rethrow { - js("Reflect").construct(JsFieldPath, fieldNames).unsafeCast() + JsFieldPath(*fieldNames) }) actual val documentId: FieldPath get() = FieldPath.documentId actual val encoded: EncodedFieldPath = js