From d36ddfc2c23a56b1eb6964e720e81d591a26c1f3 Mon Sep 17 00:00:00 2001
From: Gijs van Veen <gijs@splendo.com>
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>()
+        JsFieldPath(*fieldNames)
     })
     actual val documentId: FieldPath get() = FieldPath.documentId
     actual val encoded: EncodedFieldPath = js