Skip to content

Commit a138c10

Browse files
committed
Revert "Make builders abstract to allow for testing"
This reverts commit 4176fe6.
1 parent 4176fe6 commit a138c10

File tree

7 files changed

+31
-60
lines changed

7 files changed

+31
-60
lines changed

firebase-firestore/api/android/firebase-firestore.api

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ public final class dev/gitlive/firebase/firestore/FieldValue$Companion {
160160
public final fun serializer ()Lkotlinx/serialization/KSerializer;
161161
}
162162

163-
public abstract class dev/gitlive/firebase/firestore/FieldValueBuilder {
164-
public abstract fun addEncoded (Ljava/lang/Object;)V
163+
public final class dev/gitlive/firebase/firestore/FieldValueBuilder {
164+
public final fun addEncoded (Ljava/lang/Object;)V
165165
public final fun addWithStrategy (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
166166
public final fun getBuildSettings ()Lkotlin/jvm/functions/Function1;
167167
public final fun setBuildSettings (Lkotlin/jvm/functions/Function1;)V
@@ -176,14 +176,13 @@ public final class dev/gitlive/firebase/firestore/FieldValueSerializer : kotlinx
176176
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
177177
}
178178

179-
public abstract class dev/gitlive/firebase/firestore/FieldsAndValuesBuilder {
180-
public fun <init> ()V
179+
public final class dev/gitlive/firebase/firestore/FieldsAndValuesBuilder {
181180
public final fun getBuildSettings ()Lkotlin/jvm/functions/Function1;
182181
public final fun setBuildSettings (Lkotlin/jvm/functions/Function1;)V
183182
public final fun to (Ldev/gitlive/firebase/firestore/FieldPath;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
184183
public final fun to (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
185-
public abstract fun toEncoded (Ldev/gitlive/firebase/firestore/FieldPath;Ljava/lang/Object;)V
186-
public abstract fun toEncoded (Ljava/lang/String;Ljava/lang/Object;)V
184+
public final fun toEncoded (Ldev/gitlive/firebase/firestore/FieldPath;Ljava/lang/Object;)V
185+
public final fun toEncoded (Ljava/lang/String;Ljava/lang/Object;)V
187186
}
188187

189188
public abstract class dev/gitlive/firebase/firestore/Filter {

firebase-firestore/api/jvm/firebase-firestore.api

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ public final class dev/gitlive/firebase/firestore/FieldValue$Companion {
160160
public final fun serializer ()Lkotlinx/serialization/KSerializer;
161161
}
162162

163-
public abstract class dev/gitlive/firebase/firestore/FieldValueBuilder {
164-
public abstract fun addEncoded (Ljava/lang/Object;)V
163+
public final class dev/gitlive/firebase/firestore/FieldValueBuilder {
164+
public final fun addEncoded (Ljava/lang/Object;)V
165165
public final fun addWithStrategy (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
166166
public final fun getBuildSettings ()Lkotlin/jvm/functions/Function1;
167167
public final fun setBuildSettings (Lkotlin/jvm/functions/Function1;)V
@@ -176,14 +176,13 @@ public final class dev/gitlive/firebase/firestore/FieldValueSerializer : kotlinx
176176
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
177177
}
178178

179-
public abstract class dev/gitlive/firebase/firestore/FieldsAndValuesBuilder {
180-
public fun <init> ()V
179+
public final class dev/gitlive/firebase/firestore/FieldsAndValuesBuilder {
181180
public final fun getBuildSettings ()Lkotlin/jvm/functions/Function1;
182181
public final fun setBuildSettings (Lkotlin/jvm/functions/Function1;)V
183182
public final fun to (Ldev/gitlive/firebase/firestore/FieldPath;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
184183
public final fun to (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V
185-
public abstract fun toEncoded (Ldev/gitlive/firebase/firestore/FieldPath;Ljava/lang/Object;)V
186-
public abstract fun toEncoded (Ljava/lang/String;Ljava/lang/Object;)V
184+
public final fun toEncoded (Ldev/gitlive/firebase/firestore/FieldPath;Ljava/lang/Object;)V
185+
public final fun toEncoded (Ljava/lang/String;Ljava/lang/Object;)V
187186
}
188187

189188
public abstract class dev/gitlive/firebase/firestore/Filter {

firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore/FieldValueBuilder.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ package dev.gitlive.firebase.firestore
33
import dev.gitlive.firebase.EncodeSettings
44
import kotlinx.serialization.SerializationStrategy
55

6-
public abstract class FieldValueBuilder internal constructor() {
6+
public class FieldValueBuilder internal constructor() {
77

8+
internal val fieldValues: MutableList<Any> = mutableListOf()
89
public var buildSettings: EncodeSettings.Builder.() -> Unit = {
910
encodeDefaults = true
1011
}
@@ -18,5 +19,7 @@ public abstract class FieldValueBuilder internal constructor() {
1819
}
1920

2021
@PublishedApi
21-
internal abstract fun addEncoded(encodedValue: Any)
22+
internal fun addEncoded(encodedValue: Any) {
23+
fieldValues += encodedValue
24+
}
2225
}

firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore/FieldsAndValuesBuilder.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package dev.gitlive.firebase.firestore
22

33
import dev.gitlive.firebase.EncodeSettings
4+
import dev.gitlive.firebase.firestore.internal.FieldAndValue
45
import kotlinx.serialization.SerializationStrategy
56

6-
public abstract class FieldsAndValuesBuilder {
7+
public class FieldsAndValuesBuilder internal constructor() {
78

9+
internal val fieldAndValues: MutableList<FieldAndValue> = mutableListOf()
810
public var buildSettings: EncodeSettings.Builder.() -> Unit = {
911
encodeDefaults = true
1012
}
@@ -26,8 +28,12 @@ public abstract class FieldsAndValuesBuilder {
2628
}
2729

2830
@PublishedApi
29-
internal abstract fun String.toEncoded(encodedValue: Any?)
31+
internal fun String.toEncoded(encodedValue: Any?) {
32+
fieldAndValues += FieldAndValue.WithStringField(this, encodedValue)
33+
}
3034

3135
@PublishedApi
32-
internal abstract fun FieldPath.toEncoded(encodedValue: Any?)
36+
internal fun FieldPath.toEncoded(encodedValue: Any?) {
37+
fieldAndValues += FieldAndValue.WithFieldPath(this, encodedValue)
38+
}
3339
}

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ public data class Transaction internal constructor(internal val nativeWrapper: N
224224
public fun update(
225225
documentRef: DocumentReference,
226226
fieldsAndValuesBuilder: FieldsAndValuesBuilder.() -> Unit,
227-
): Transaction = Transaction(nativeWrapper.updateEncoded(documentRef, dev.gitlive.firebase.firestore.internal.FieldsAndValuesBuilder().apply(fieldsAndValuesBuilder).fieldAndValues))
227+
): Transaction = Transaction(nativeWrapper.updateEncoded(documentRef, FieldsAndValuesBuilder().apply(fieldsAndValuesBuilder).fieldAndValues))
228228

229229
@PublishedApi
230230
internal fun updateEncoded(documentRef: DocumentReference, encodedData: EncodedObject): Transaction = Transaction(nativeWrapper.updateEncoded(documentRef, encodedData))
@@ -263,7 +263,7 @@ public open class Query internal constructor(internal val nativeQuery: NativeQue
263263
}
264264
}
265265

266-
public fun startAfter(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.startAfter(*dev.gitlive.firebase.firestore.internal.FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
266+
public fun startAfter(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.startAfter(*FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
267267

268268
public fun startAt(document: DocumentSnapshot): Query = Query(nativeQuery.startAt(document.native))
269269
public fun startAt(vararg fieldValues: Any?): Query = startAt({}, *fieldValues)
@@ -275,7 +275,7 @@ public open class Query internal constructor(internal val nativeQuery: NativeQue
275275
}
276276
}
277277

278-
public fun startAt(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.startAt(*dev.gitlive.firebase.firestore.internal.FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
278+
public fun startAt(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.startAt(*FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
279279

280280
public fun endBefore(document: DocumentSnapshot): Query = Query(nativeQuery.endBefore(document.native))
281281
public fun endBefore(vararg fieldValues: Any?): Query = endBefore({}, *fieldValues)
@@ -287,7 +287,7 @@ public open class Query internal constructor(internal val nativeQuery: NativeQue
287287
}
288288
}
289289

290-
public fun endBefore(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.endBefore(*dev.gitlive.firebase.firestore.internal.FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
290+
public fun endBefore(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.endBefore(*FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
291291

292292
public fun endAt(document: DocumentSnapshot): Query = Query(nativeQuery.endAt(document.native))
293293
public fun endAt(vararg fieldValues: Any?): Query = endAt({}, *fieldValues)
@@ -299,7 +299,7 @@ public open class Query internal constructor(internal val nativeQuery: NativeQue
299299
}
300300
}
301301

302-
public fun endAt(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.endAt(*dev.gitlive.firebase.firestore.internal.FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
302+
public fun endAt(builder: FieldValueBuilder.() -> Unit): Query = Query(nativeQuery.endAt(*FieldValueBuilder().apply(builder).fieldValues.toTypedArray()))
303303
}
304304

305305
@Deprecated("Deprecated in favor of using a [FilterBuilder]", replaceWith = ReplaceWith("where { field equalTo equalTo }", "dev.gitlive.firebase.firestore"))
@@ -461,7 +461,7 @@ public data class WriteBatch internal constructor(internal val nativeWrapper: Na
461461
): WriteBatch = WriteBatch(
462462
nativeWrapper.updateEncoded(
463463
documentRef,
464-
dev.gitlive.firebase.firestore.internal.FieldsAndValuesBuilder().apply(fieldAndValuesBuilder).fieldAndValues,
464+
FieldsAndValuesBuilder().apply(fieldAndValuesBuilder).fieldAndValues,
465465
),
466466
)
467467

@@ -633,7 +633,7 @@ public data class DocumentReference internal constructor(internal val native: Na
633633
public suspend fun update(
634634
fieldsAndValuesBuilder: FieldsAndValuesBuilder.() -> Unit,
635635
) {
636-
native.updateEncoded(dev.gitlive.firebase.firestore.internal.FieldsAndValuesBuilder().apply(fieldsAndValuesBuilder).fieldAndValues)
636+
native.updateEncoded(FieldsAndValuesBuilder().apply(fieldsAndValuesBuilder).fieldAndValues)
637637
}
638638

639639
public suspend fun delete() {

firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore/internal/FieldValueBuilder.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

firebase-firestore/src/commonMain/kotlin/dev/gitlive/firebase/firestore/internal/FieldsAndValuesBuilder.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)