Skip to content

Commit 4fa99ad

Browse files
committed
Rename DeferredJsonMerger -> IncrementalResultsMerger and DeferredFragmentIdentifier -> IncrementalResultIdentifier
1 parent 4c93fa3 commit 4fa99ad

File tree

17 files changed

+449
-435
lines changed

17 files changed

+449
-435
lines changed

libraries/apollo-api/api/apollo-api.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ public final class com/apollographql/apollo/api/CustomScalarAdapters$Builder {
426426
public final fun deferredFragmentIdentifiers (Ljava/util/Set;)Lcom/apollographql/apollo/api/CustomScalarAdapters$Builder;
427427
public final fun errors (Ljava/util/List;)Lcom/apollographql/apollo/api/CustomScalarAdapters$Builder;
428428
public final fun falseVariables (Ljava/util/Set;)Lcom/apollographql/apollo/api/CustomScalarAdapters$Builder;
429+
public final fun pendingResultIds (Ljava/util/Set;)Lcom/apollographql/apollo/api/CustomScalarAdapters$Builder;
429430
}
430431

431432
public final class com/apollographql/apollo/api/CustomScalarAdapters$Key : com/apollographql/apollo/api/ExecutionContext$Key {

libraries/apollo-api/api/apollo-api.klib.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,7 @@ final class com.apollographql.apollo.api/CustomScalarAdapters : com.apollographq
938938
final fun deferredFragmentIdentifiers(kotlin.collections/Set<com.apollographql.apollo.api/DeferredFragmentIdentifier>?): com.apollographql.apollo.api/CustomScalarAdapters.Builder // com.apollographql.apollo.api/CustomScalarAdapters.Builder.deferredFragmentIdentifiers|deferredFragmentIdentifiers(kotlin.collections.Set<com.apollographql.apollo.api.DeferredFragmentIdentifier>?){}[0]
939939
final fun errors(kotlin.collections/List<com.apollographql.apollo.api/Error>?): com.apollographql.apollo.api/CustomScalarAdapters.Builder // com.apollographql.apollo.api/CustomScalarAdapters.Builder.errors|errors(kotlin.collections.List<com.apollographql.apollo.api.Error>?){}[0]
940940
final fun falseVariables(kotlin.collections/Set<kotlin/String>?): com.apollographql.apollo.api/CustomScalarAdapters.Builder // com.apollographql.apollo.api/CustomScalarAdapters.Builder.falseVariables|falseVariables(kotlin.collections.Set<kotlin.String>?){}[0]
941+
final fun pendingResultIds(kotlin.collections/Set<com.apollographql.apollo.api/DeferredFragmentIdentifier>?): com.apollographql.apollo.api/CustomScalarAdapters.Builder // com.apollographql.apollo.api/CustomScalarAdapters.Builder.pendingResultIds|pendingResultIds(kotlin.collections.Set<com.apollographql.apollo.api.DeferredFragmentIdentifier>?){}[0]
941942
}
942943

943944
final object Key : com.apollographql.apollo.api/ExecutionContext.Key<com.apollographql.apollo.api/CustomScalarAdapters> { // com.apollographql.apollo.api/CustomScalarAdapters.Key|null[0]

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/BooleanExpression.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ fun <T : Any> and(vararg other: BooleanExpression<T>): BooleanExpression<T> = Bo
5050
fun <T : Any> not(other: BooleanExpression<T>): BooleanExpression<T> = BooleanExpression.Not(other)
5151
fun variable(name: String): BooleanExpression<BVariable> = BooleanExpression.Element(BVariable(name))
5252
fun label(label: String? = null): BooleanExpression<BLabel> = BooleanExpression.Element(BLabel(label))
53-
fun possibleTypes(vararg typenames: String): BooleanExpression<BPossibleTypes> = BooleanExpression.Element(BPossibleTypes(typenames.toSet()))
53+
fun possibleTypes(vararg typenames: String): BooleanExpression<BPossibleTypes> =
54+
BooleanExpression.Element(BPossibleTypes(typenames.toSet()))
5455

5556
internal fun <T : Any> BooleanExpression<T>.evaluate(block: (T) -> Boolean): Boolean {
5657
return when (this) {
@@ -66,30 +67,30 @@ internal fun <T : Any> BooleanExpression<T>.evaluate(block: (T) -> Boolean): Boo
6667
fun BooleanExpression<BTerm>.evaluate(
6768
variables: Set<String>?,
6869
typename: String?,
69-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>?,
70+
pendingResultIds: Set<IncrementalResultIdentifier>?,
7071
path: List<Any>?,
7172
): Boolean {
7273
// Remove "data" from the path
7374
val croppedPath = path?.drop(1)
7475
return evaluate {
7576
when (it) {
7677
is BVariable -> !(variables?.contains(it.name) ?: false)
77-
is BLabel -> !isDeferredFragmentPending(deferredFragmentIdentifiers, croppedPath!!, it.label)
78+
is BLabel -> !isDeferredFragmentPending(pendingResultIds, croppedPath!!, it.label)
7879
is BPossibleTypes -> it.possibleTypes.contains(typename)
7980
}
8081
}
8182
}
8283

8384
private fun isDeferredFragmentPending(
84-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>?,
85+
pendingResultIds: Set<IncrementalResultIdentifier>?,
8586
path: List<Any>,
8687
label: String?,
8788
): Boolean {
88-
if (deferredFragmentIdentifiers == null) {
89+
if (pendingResultIds == null) {
8990
// By default, parse all deferred fragments - this is the case when parsing from the normalized cache.
9091
return false
9192
}
92-
return deferredFragmentIdentifiers.contains(DeferredFragmentIdentifier(path, label))
93+
return pendingResultIds.contains(IncrementalResultIdentifier(path, label))
9394
}
9495

9596
/**

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/CustomScalarAdapters.kt

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ class CustomScalarAdapters private constructor(
1919
@JvmField
2020
val falseVariables: Set<String>?,
2121
/**
22-
* Defer identifiers used to determine whether the parser must parse @defer fragments
22+
* Pending incremental result identifiers used to determine whether the parser must parse deferred fragments
2323
*/
2424
@JvmField
25-
val deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>?,
25+
val deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>?,
2626
/**
2727
* Errors to use with @catch
2828
*/
@@ -125,21 +125,26 @@ class CustomScalarAdapters private constructor(
125125
fun newBuilder(): Builder {
126126
return Builder().addAll(this)
127127
.falseVariables(falseVariables)
128-
.deferredFragmentIdentifiers(deferredFragmentIdentifiers)
128+
.pendingResultIds(deferredFragmentIdentifiers)
129129
}
130130

131131
class Builder {
132132
private val adaptersMap: MutableMap<String, Adapter<*>> = mutableMapOf()
133133
private var falseVariables: Set<String>? = null
134-
private var deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>? = null
134+
private var pendingResultIds: Set<IncrementalResultIdentifier>? = null
135135
private var errors: List<Error>? = null
136136

137137
fun falseVariables(falseVariables: Set<String>?) = apply {
138138
this.falseVariables = falseVariables
139139
}
140140

141-
fun deferredFragmentIdentifiers(deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>?) = apply {
142-
this.deferredFragmentIdentifiers = deferredFragmentIdentifiers
141+
@Deprecated("Use pendingResultIds instead", ReplaceWith("pendingResultIds(pendingResultIds = deferredFragmentIdentifiers)"))
142+
fun deferredFragmentIdentifiers(deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>?) = apply {
143+
this.pendingResultIds = deferredFragmentIdentifiers
144+
}
145+
146+
fun pendingResultIds(pendingResultIds: Set<IncrementalResultIdentifier>?) = apply {
147+
this.pendingResultIds = pendingResultIds
143148
}
144149

145150
fun errors(errors: List<Error>?) = apply {
@@ -173,7 +178,7 @@ class CustomScalarAdapters private constructor(
173178
return CustomScalarAdapters(
174179
adaptersMap,
175180
falseVariables,
176-
deferredFragmentIdentifiers,
181+
pendingResultIds,
177182
errors,
178183
)
179184
}

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/Executables.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ fun <D : Executable.Data> Executable<D>.parseData(
7171
jsonReader: JsonReader,
7272
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
7373
falseVariables: Set<String>? = null,
74-
deferredFragmentIds: Set<DeferredFragmentIdentifier>? = null,
75-
errors: List<Error>? = null
74+
deferredFragmentIds: Set<IncrementalResultIdentifier>? = null,
75+
errors: List<Error>? = null,
7676
): D? {
7777
val customScalarAdapters1 = customScalarAdapters.newBuilder()
7878
.falseVariables(falseVariables)
79-
.deferredFragmentIdentifiers(deferredFragmentIds)
79+
.pendingResultIds(pendingResultIds = deferredFragmentIds)
8080
.errors(errors)
8181
.build()
8282
return adapter().nullable().fromJson(jsonReader, customScalarAdapters1)
@@ -89,4 +89,4 @@ fun <D : Executable.Data> Executable<D>.composeData(
8989
value: D
9090
) {
9191
adapter().toJson(jsonWriter, customScalarAdapters, value)
92-
}
92+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,9 @@ data class DeferredFragmentIdentifier(
77
val path: List<Any>,
88
val label: String?,
99
)
10+
11+
/**
12+
* Identifies an incremental result.
13+
* [DeferredFragmentIdentifier] is kept to not break the API/ABI, but this alias is more descriptive of its purpose.
14+
*/
15+
typealias IncrementalResultIdentifier = DeferredFragmentIdentifier

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/Operations.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ fun <D : Operation.Data> Operation<D>.composeJsonRequest(
7070
fun <D : Operation.Data> Operation<D>.parseJsonResponse(
7171
jsonReader: JsonReader,
7272
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
73-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>? = null,
73+
deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>? = null,
7474
): ApolloResponse<D> {
7575
return jsonReader.use {
7676
ResponseParser.parse(
@@ -103,7 +103,7 @@ fun <D : Operation.Data> Operation<D>.parseResponse(
103103
jsonReader: JsonReader,
104104
requestUuid: Uuid? = null,
105105
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
106-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>? = null,
106+
deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>? = null,
107107
): ApolloResponse<D> {
108108
return try {
109109
ResponseParser.parse(
@@ -177,7 +177,7 @@ fun <D : Operation.Data> JsonReader.toApolloResponse(
177177
operation: Operation<D>,
178178
requestUuid: Uuid? = null,
179179
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
180-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>? = null,
180+
deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>? = null,
181181
): ApolloResponse<D> {
182182
return use {
183183
try {
@@ -213,7 +213,7 @@ fun <D : Operation.Data> JsonReader.parseResponse(
213213
operation: Operation<D>,
214214
requestUuid: Uuid? = null,
215215
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
216-
deferredFragmentIdentifiers: Set<DeferredFragmentIdentifier>? = null,
216+
deferredFragmentIdentifiers: Set<IncrementalResultIdentifier>? = null,
217217
): ApolloResponse<D> {
218218
return try {
219219
ResponseParser.parse(

libraries/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/internal/ResponseParser.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package com.apollographql.apollo.api.internal
33
import com.apollographql.apollo.annotations.ApolloInternal
44
import com.apollographql.apollo.api.ApolloResponse
55
import com.apollographql.apollo.api.CustomScalarAdapters
6-
import com.apollographql.apollo.api.DeferredFragmentIdentifier
76
import com.apollographql.apollo.api.Error
7+
import com.apollographql.apollo.api.IncrementalResultIdentifier
88
import com.apollographql.apollo.api.Operation
99
import com.apollographql.apollo.api.falseVariables
1010
import com.apollographql.apollo.api.json.JsonReader
@@ -24,7 +24,7 @@ internal object ResponseParser {
2424
operation: Operation<D>,
2525
requestUuid: Uuid?,
2626
customScalarAdapters: CustomScalarAdapters,
27-
deferredFragmentIds: Set<DeferredFragmentIdentifier>?,
27+
pendingResultIds: Set<IncrementalResultIdentifier>?,
2828
): ApolloResponse<D> {
2929
jsonReader.beginObject()
3030

@@ -36,8 +36,9 @@ internal object ResponseParser {
3636
when (val name = jsonReader.nextName()) {
3737
"data" -> {
3838
val falseVariables = operation.falseVariables(customScalarAdapters)
39-
data = operation.parseData(jsonReader, customScalarAdapters, falseVariables, deferredFragmentIds, errors)
39+
data = operation.parseData(jsonReader, customScalarAdapters, falseVariables, pendingResultIds, errors)
4040
}
41+
4142
"errors" -> errors = jsonReader.readErrors()
4243
"extensions" -> extensions = jsonReader.readAny() as? Map<String, Any?>
4344
else -> {
@@ -100,7 +101,8 @@ private fun JsonReader.readError(): Error {
100101

101102

102103
@Suppress("DEPRECATION")
103-
return Error.Builder(message = message).locations(locations).path(path).extensions(extensions).nonStandardFields(nonStandardFields).build()
104+
return Error.Builder(message = message).locations(locations).path(path).extensions(extensions).nonStandardFields(nonStandardFields)
105+
.build()
104106
}
105107

106108
private fun JsonReader.readPath(): List<Any>? {
@@ -164,4 +166,4 @@ fun JsonReader.readErrors(): List<Error> {
164166
}
165167
endArray()
166168
return list
167-
}
169+
}

libraries/apollo-runtime/api/android/apollo-runtime.api

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,12 +215,12 @@ public final class com/apollographql/apollo/interceptor/RetryOnErrorInterceptorK
215215
public static final fun RetryOnErrorInterceptor (Lcom/apollographql/apollo/network/NetworkMonitor;)Lcom/apollographql/apollo/interceptor/ApolloInterceptor;
216216
}
217217

218-
public final class com/apollographql/apollo/internal/DeferredJsonMerger {
218+
public final class com/apollographql/apollo/internal/IncrementalResultsMerger {
219219
public fun <init> ()V
220220
public final fun getHasNext ()Z
221221
public final fun getMerged ()Ljava/util/Map;
222-
public final fun getPendingFragmentIds ()Ljava/util/Set;
223-
public final fun isEmptyPayload ()Z
222+
public final fun getPendingResultIds ()Ljava/util/Set;
223+
public final fun isEmptyResponse ()Z
224224
public final fun merge (Ljava/util/Map;)Ljava/util/Map;
225225
public final fun merge (Lokio/BufferedSource;)Ljava/util/Map;
226226
public final fun reset ()V

libraries/apollo-runtime/api/apollo-runtime.klib.api

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -200,22 +200,22 @@ final class com.apollographql.apollo.interceptor/AutoPersistedQueryInterceptor :
200200
}
201201
}
202202

203-
final class com.apollographql.apollo.internal/DeferredJsonMerger { // com.apollographql.apollo.internal/DeferredJsonMerger|null[0]
204-
constructor <init>() // com.apollographql.apollo.internal/DeferredJsonMerger.<init>|<init>(){}[0]
205-
206-
final val merged // com.apollographql.apollo.internal/DeferredJsonMerger.merged|{}merged[0]
207-
final fun <get-merged>(): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/DeferredJsonMerger.merged.<get-merged>|<get-merged>(){}[0]
208-
final val pendingFragmentIds // com.apollographql.apollo.internal/DeferredJsonMerger.pendingFragmentIds|{}pendingFragmentIds[0]
209-
final fun <get-pendingFragmentIds>(): kotlin.collections/Set<com.apollographql.apollo.api/DeferredFragmentIdentifier> // com.apollographql.apollo.internal/DeferredJsonMerger.pendingFragmentIds.<get-pendingFragmentIds>|<get-pendingFragmentIds>(){}[0]
210-
211-
final var hasNext // com.apollographql.apollo.internal/DeferredJsonMerger.hasNext|{}hasNext[0]
212-
final fun <get-hasNext>(): kotlin/Boolean // com.apollographql.apollo.internal/DeferredJsonMerger.hasNext.<get-hasNext>|<get-hasNext>(){}[0]
213-
final var isEmptyPayload // com.apollographql.apollo.internal/DeferredJsonMerger.isEmptyPayload|{}isEmptyPayload[0]
214-
final fun <get-isEmptyPayload>(): kotlin/Boolean // com.apollographql.apollo.internal/DeferredJsonMerger.isEmptyPayload.<get-isEmptyPayload>|<get-isEmptyPayload>(){}[0]
215-
216-
final fun merge(kotlin.collections/Map<kotlin/String, kotlin/Any?>): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/DeferredJsonMerger.merge|merge(kotlin.collections.Map<kotlin.String,kotlin.Any?>){}[0]
217-
final fun merge(okio/BufferedSource): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/DeferredJsonMerger.merge|merge(okio.BufferedSource){}[0]
218-
final fun reset() // com.apollographql.apollo.internal/DeferredJsonMerger.reset|reset(){}[0]
203+
final class com.apollographql.apollo.internal/IncrementalResultsMerger { // com.apollographql.apollo.internal/IncrementalResultsMerger|null[0]
204+
constructor <init>() // com.apollographql.apollo.internal/IncrementalResultsMerger.<init>|<init>(){}[0]
205+
206+
final val merged // com.apollographql.apollo.internal/IncrementalResultsMerger.merged|{}merged[0]
207+
final fun <get-merged>(): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/IncrementalResultsMerger.merged.<get-merged>|<get-merged>(){}[0]
208+
final val pendingResultIds // com.apollographql.apollo.internal/IncrementalResultsMerger.pendingResultIds|{}pendingResultIds[0]
209+
final fun <get-pendingResultIds>(): kotlin.collections/Set<com.apollographql.apollo.api/DeferredFragmentIdentifier> // com.apollographql.apollo.internal/IncrementalResultsMerger.pendingResultIds.<get-pendingResultIds>|<get-pendingResultIds>(){}[0]
210+
211+
final var hasNext // com.apollographql.apollo.internal/IncrementalResultsMerger.hasNext|{}hasNext[0]
212+
final fun <get-hasNext>(): kotlin/Boolean // com.apollographql.apollo.internal/IncrementalResultsMerger.hasNext.<get-hasNext>|<get-hasNext>(){}[0]
213+
final var isEmptyResponse // com.apollographql.apollo.internal/IncrementalResultsMerger.isEmptyResponse|{}isEmptyResponse[0]
214+
final fun <get-isEmptyResponse>(): kotlin/Boolean // com.apollographql.apollo.internal/IncrementalResultsMerger.isEmptyResponse.<get-isEmptyResponse>|<get-isEmptyResponse>(){}[0]
215+
216+
final fun merge(kotlin.collections/Map<kotlin/String, kotlin/Any?>): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/IncrementalResultsMerger.merge|merge(kotlin.collections.Map<kotlin.String,kotlin.Any?>){}[0]
217+
final fun merge(okio/BufferedSource): kotlin.collections/Map<kotlin/String, kotlin/Any?> // com.apollographql.apollo.internal/IncrementalResultsMerger.merge|merge(okio.BufferedSource){}[0]
218+
final fun reset() // com.apollographql.apollo.internal/IncrementalResultsMerger.reset|reset(){}[0]
219219
}
220220

221221
final class com.apollographql.apollo.internal/MultipartReader : okio/Closeable { // com.apollographql.apollo.internal/MultipartReader|null[0]

0 commit comments

Comments
 (0)