@@ -75,7 +75,7 @@ actual class WriteBatch(val android: com.google.firebase.firestore.WriteBatch) {
75
75
.let { this }
76
76
77
77
actual inline fun <reified T > set (documentRef : DocumentReference , data : T , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
78
- android.set(documentRef.android, encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
78
+ android.set(documentRef.android, encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
79
79
.let { this }
80
80
81
81
actual fun <T > set (documentRef : DocumentReference , strategy : SerializationStrategy <T >, data : T , encodeDefaults : Boolean , merge : Boolean ) = when (merge) {
@@ -88,7 +88,7 @@ actual class WriteBatch(val android: com.google.firebase.firestore.WriteBatch) {
88
88
.let { this }
89
89
90
90
actual fun <T > set (documentRef : DocumentReference , strategy : SerializationStrategy <T >, data : T , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
91
- android.set(documentRef.android, encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
91
+ android.set(documentRef.android, encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
92
92
.let { this }
93
93
94
94
@Suppress(" UNCHECKED_CAST" )
@@ -116,10 +116,10 @@ actual class WriteBatch(val android: com.google.firebase.firestore.WriteBatch) {
116
116
android.takeUnless { fieldsAndValues.isEmpty() }
117
117
?.update(
118
118
documentRef.android,
119
- fieldsAndValues[0 ].first,
119
+ fieldsAndValues[0 ].first.android ,
120
120
fieldsAndValues[0 ].second,
121
121
* fieldsAndValues.drop(1 ).flatMap { (field, value) ->
122
- listOf (field, value?.let { encode(value, true ) })
122
+ listOf (field.android , value?.let { encode(value, true ) })
123
123
}.toTypedArray()
124
124
).let { this }
125
125
@@ -142,7 +142,7 @@ actual class Transaction(val android: com.google.firebase.firestore.Transaction)
142
142
.let { this }
143
143
144
144
actual fun set (documentRef : DocumentReference , data : Any , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
145
- android.set(documentRef.android, encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
145
+ android.set(documentRef.android, encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
146
146
.let { this }
147
147
148
148
actual fun <T > set (
@@ -161,7 +161,7 @@ actual class Transaction(val android: com.google.firebase.firestore.Transaction)
161
161
.let { this }
162
162
163
163
actual fun <T > set (documentRef : DocumentReference , strategy : SerializationStrategy <T >, data : T , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
164
- android.set(documentRef.android, encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
164
+ android.set(documentRef.android, encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
165
165
.let { this }
166
166
167
167
@Suppress(" UNCHECKED_CAST" )
@@ -189,10 +189,10 @@ actual class Transaction(val android: com.google.firebase.firestore.Transaction)
189
189
android.takeUnless { fieldsAndValues.isEmpty() }
190
190
?.update(
191
191
documentRef.android,
192
- fieldsAndValues[0 ].first,
192
+ fieldsAndValues[0 ].first.android ,
193
193
fieldsAndValues[0 ].second,
194
194
* fieldsAndValues.drop(1 ).flatMap { (field, value) ->
195
- listOf (field, value?.let { encode(value, true ) })
195
+ listOf (field.android , value?.let { encode(value, true ) })
196
196
}.toTypedArray()
197
197
).let { this }
198
198
@@ -223,7 +223,7 @@ actual class DocumentReference(val android: com.google.firebase.firestore.Docume
223
223
.await().run { Unit }
224
224
225
225
actual suspend inline fun <reified T > set (data : T , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
226
- android.set(encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
226
+ android.set(encode(data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
227
227
.await().run { Unit }
228
228
229
229
actual suspend fun <T > set (strategy : SerializationStrategy <T >, data : T , encodeDefaults : Boolean , merge : Boolean ) = when (merge) {
@@ -236,7 +236,7 @@ actual class DocumentReference(val android: com.google.firebase.firestore.Docume
236
236
.await().run { Unit }
237
237
238
238
actual suspend fun <T > set (strategy : SerializationStrategy <T >, data : T , encodeDefaults : Boolean , vararg mergeFieldPaths : FieldPath ) =
239
- android.set(encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.toList() ))
239
+ android.set(encode(strategy, data, encodeDefaults)!! , SetOptions .mergeFieldPaths(mergeFieldPaths.map { it.android } ))
240
240
.await().run { Unit }
241
241
242
242
@Suppress(" UNCHECKED_CAST" )
@@ -264,10 +264,10 @@ actual class DocumentReference(val android: com.google.firebase.firestore.Docume
264
264
actual suspend fun update (vararg fieldsAndValues : Pair <FieldPath , Any ?>) =
265
265
android.takeUnless { fieldsAndValues.isEmpty() }
266
266
?.update(
267
- fieldsAndValues[0 ].first,
267
+ fieldsAndValues[0 ].first.android ,
268
268
fieldsAndValues[0 ].second,
269
269
* fieldsAndValues.drop(1 ).flatMap { (field, value) ->
270
- listOf (field, value?.let { encode(value, true ) })
270
+ listOf (field.android , value?.let { encode(value, true ) })
271
271
}.toTypedArray()
272
272
)
273
273
?.await()
@@ -303,7 +303,7 @@ actual open class Query(open val android: com.google.firebase.firestore.Query) {
303
303
}
304
304
305
305
internal actual fun _where (field : String , equalTo : Any? ) = Query (android.whereEqualTo(field, equalTo))
306
- internal actual fun _where (path : FieldPath , equalTo : Any? ) = Query (android.whereEqualTo(path, equalTo))
306
+ internal actual fun _where (path : FieldPath , equalTo : Any? ) = Query (android.whereEqualTo(path.android , equalTo))
307
307
308
308
internal actual fun _where (field : String , lessThan : Any? , greaterThan : Any? , arrayContains : Any? ) = Query (
309
309
(lessThan?.let { android.whereLessThan(field, it) } ? : android).let { android2 ->
@@ -314,9 +314,9 @@ actual open class Query(open val android: com.google.firebase.firestore.Query) {
314
314
)
315
315
316
316
internal actual fun _where (path : FieldPath , lessThan : Any? , greaterThan : Any? , arrayContains : Any? ) = Query (
317
- (lessThan?.let { android.whereLessThan(path, it) } ? : android).let { android2 ->
318
- (greaterThan?.let { android2.whereGreaterThan(path, it) } ? : android2).let { android3 ->
319
- arrayContains?.let { android3.whereArrayContains(path, it) } ? : android3
317
+ (lessThan?.let { android.whereLessThan(path.android , it) } ? : android).let { android2 ->
318
+ (greaterThan?.let { android2.whereGreaterThan(path.android , it) } ? : android2).let { android3 ->
319
+ arrayContains?.let { android3.whereArrayContains(path.android , it) } ? : android3
320
320
}
321
321
}
322
322
)
@@ -328,13 +328,13 @@ actual open class Query(open val android: com.google.firebase.firestore.Query) {
328
328
)
329
329
330
330
internal actual fun _where (path : FieldPath , inArray : List <Any >? , arrayContainsAny : List <Any >? ) = Query (
331
- (inArray?.let { android.whereIn(path, it) } ? : android).let { android2 ->
332
- arrayContainsAny?.let { android2.whereArrayContainsAny(path, it) } ? : android2
331
+ (inArray?.let { android.whereIn(path.android , it) } ? : android).let { android2 ->
332
+ arrayContainsAny?.let { android2.whereArrayContainsAny(path.android , it) } ? : android2
333
333
}
334
334
)
335
335
336
336
internal actual fun _orderBy (field : String , direction : Direction ) = Query (android.orderBy(field, direction))
337
- internal actual fun _orderBy (field : FieldPath , direction : Direction ) = Query (android.orderBy(field, direction))
337
+ internal actual fun _orderBy (field : FieldPath , direction : Direction ) = Query (android.orderBy(field.android , direction))
338
338
}
339
339
340
340
actual typealias Direction = com.google.firebase.firestore.Query .Direction
@@ -394,14 +394,16 @@ actual class SnapshotMetadata(val android: com.google.firebase.firestore.Snapsho
394
394
actual val isFromCache: Boolean get() = android.isFromCache()
395
395
}
396
396
397
- actual typealias FieldPath = com.google.firebase.firestore.FieldPath
398
-
399
- actual fun FieldPath (vararg fieldNames : String ) = FieldPath .of(* fieldNames)
397
+ actual class FieldPath private constructor(val android : com.google.firebase.firestore.FieldPath ) {
398
+ actual constructor (vararg fieldNames: String ) : this (com.google.firebase.firestore.FieldPath .of(* fieldNames))
399
+ actual val documentId: FieldPath get() = FieldPath (com.google.firebase.firestore.FieldPath .documentId())
400
+ }
400
401
401
402
actual object FieldValue {
402
- actual fun serverTimestamp () = Double .POSITIVE_INFINITY
403
- actual fun delete (): Any = com.google.firebase.firestore.FieldValue .delete()
404
- actual fun arrayUnion (vararg elements : Any ): Any = com.google.firebase.firestore.FieldValue .arrayUnion(* elements)
405
- actual fun arrayRemove (vararg elements : Any ): Any = com.google.firebase.firestore.FieldValue .arrayRemove(* elements)
403
+ actual val serverTimestamp = Double .POSITIVE_INFINITY
404
+ actual val delete: Any get() = FieldValue .delete()
405
+ actual fun arrayUnion (vararg elements : Any ): Any = FieldValue .arrayUnion(* elements)
406
+ actual fun arrayRemove (vararg elements : Any ): Any = FieldValue .arrayRemove(* elements)
407
+ actual fun delete (): Any = delete
406
408
}
407
409
0 commit comments