@@ -36,7 +36,7 @@ type SubsequentResultNode = DeferredFragmentNode | StreamRecord;
36
36
* @internal
37
37
*/
38
38
export class IncrementalGraph {
39
- private _pending : Set < SubsequentResultNode > ;
39
+ private _rootNodes : Set < SubsequentResultNode > ;
40
40
private _deferredFragmentNodes : Map <
41
41
DeferredFragmentRecord ,
42
42
DeferredFragmentNode
@@ -48,7 +48,7 @@ export class IncrementalGraph {
48
48
> ;
49
49
50
50
constructor ( ) {
51
- this . _pending = new Set ( ) ;
51
+ this . _rootNodes = new Set ( ) ;
52
52
this . _deferredFragmentNodes = new Map ( ) ;
53
53
this . _completedQueue = [ ] ;
54
54
this . _nextQueue = [ ] ;
@@ -57,13 +57,13 @@ export class IncrementalGraph {
57
57
getNewPending (
58
58
incrementalDataRecords : ReadonlyArray < IncrementalDataRecord > ,
59
59
) : ReadonlyArray < SubsequentResultRecord > {
60
- const newPending = new Set < SubsequentResultNode > ( ) ;
60
+ const initialResultChildren = new Set < SubsequentResultNode > ( ) ;
61
61
this . _addIncrementalDataRecords (
62
62
incrementalDataRecords ,
63
63
undefined ,
64
- newPending ,
64
+ initialResultChildren ,
65
65
) ;
66
- return this . _pendingNodesToResults ( newPending ) ;
66
+ return this . _promoteNonEmptyToRoot ( initialResultChildren ) ;
67
67
}
68
68
69
69
addCompletedReconcilableDeferredGroupedFieldSet (
@@ -122,7 +122,7 @@ export class IncrementalGraph {
122
122
}
123
123
124
124
hasNext ( ) : boolean {
125
- return this . _pending . size > 0 ;
125
+ return this . _rootNodes . size > 0 ;
126
126
}
127
127
128
128
completeDeferredFragment ( deferredFragmentRecord : DeferredFragmentRecord ) :
@@ -137,7 +137,7 @@ export class IncrementalGraph {
137
137
// TODO: add test case?
138
138
/* c8 ignore next 3 */
139
139
if ( deferredFragmentNode === undefined ) {
140
- return undefined ;
140
+ return ;
141
141
}
142
142
if ( deferredFragmentNode . deferredGroupedFieldSetRecords . size > 0 ) {
143
143
return ;
@@ -156,7 +156,7 @@ export class IncrementalGraph {
156
156
) ;
157
157
}
158
158
}
159
- const newPending = this . _pendingNodesToResults (
159
+ const newPending = this . _promoteNonEmptyToRoot (
160
160
deferredFragmentNode . children ,
161
161
) ;
162
162
return { newPending, reconcilableResults } ;
@@ -188,8 +188,8 @@ export class IncrementalGraph {
188
188
}
189
189
190
190
private _removePending ( subsequentResultNode : SubsequentResultNode ) : void {
191
- this . _pending . delete ( subsequentResultNode ) ;
192
- if ( this . _pending . size === 0 ) {
191
+ this . _rootNodes . delete ( subsequentResultNode ) ;
192
+ if ( this . _rootNodes . size === 0 ) {
193
193
for ( const resolve of this . _nextQueue ) {
194
194
resolve ( { value : undefined , done : true } ) ;
195
195
}
@@ -199,14 +199,14 @@ export class IncrementalGraph {
199
199
private _addIncrementalDataRecords (
200
200
incrementalDataRecords : ReadonlyArray < IncrementalDataRecord > ,
201
201
parents : ReadonlyArray < DeferredFragmentRecord > | undefined ,
202
- newPending ?: Set < SubsequentResultNode > | undefined ,
202
+ initialResultChildren ?: Set < SubsequentResultNode > | undefined ,
203
203
) : void {
204
204
for ( const incrementalDataRecord of incrementalDataRecords ) {
205
205
if ( isDeferredGroupedFieldSetRecord ( incrementalDataRecord ) ) {
206
206
for ( const deferredFragmentRecord of incrementalDataRecord . deferredFragmentRecords ) {
207
207
const deferredFragmentNode = this . _addDeferredFragmentNode (
208
208
deferredFragmentRecord ,
209
- newPending ,
209
+ initialResultChildren ,
210
210
) ;
211
211
deferredFragmentNode . deferredGroupedFieldSetRecords . add (
212
212
incrementalDataRecord ,
@@ -216,21 +216,21 @@ export class IncrementalGraph {
216
216
this . _onDeferredGroupedFieldSet ( incrementalDataRecord ) ;
217
217
}
218
218
} else if ( parents === undefined ) {
219
- invariant ( newPending !== undefined ) ;
220
- newPending . add ( incrementalDataRecord ) ;
219
+ invariant ( initialResultChildren !== undefined ) ;
220
+ initialResultChildren . add ( incrementalDataRecord ) ;
221
221
} else {
222
222
for ( const parent of parents ) {
223
223
const deferredFragmentNode = this . _addDeferredFragmentNode (
224
224
parent ,
225
- newPending ,
225
+ initialResultChildren ,
226
226
) ;
227
227
deferredFragmentNode . children . add ( incrementalDataRecord ) ;
228
228
}
229
229
}
230
230
}
231
231
}
232
232
233
- private _pendingNodesToResults (
233
+ private _promoteNonEmptyToRoot (
234
234
newPendingNodes : Set < SubsequentResultNode > ,
235
235
) : ReadonlyArray < SubsequentResultRecord > {
236
236
const newPendingResults : Array < SubsequentResultRecord > = [ ] ;
@@ -242,7 +242,7 @@ export class IncrementalGraph {
242
242
this . _onDeferredGroupedFieldSet ( deferredGroupedFieldSetRecord ) ;
243
243
}
244
244
}
245
- this . _pending . add ( node ) ;
245
+ this . _rootNodes . add ( node ) ;
246
246
newPendingResults . push ( node . deferredFragmentRecord ) ;
247
247
continue ;
248
248
}
@@ -251,7 +251,7 @@ export class IncrementalGraph {
251
251
newPendingNodes . add ( child ) ;
252
252
}
253
253
} else {
254
- this . _pending . add ( node ) ;
254
+ this . _rootNodes . add ( node ) ;
255
255
newPendingResults . push ( node ) ;
256
256
257
257
// eslint-disable-next-line @typescript-eslint/no-floating-promises
@@ -266,7 +266,7 @@ export class IncrementalGraph {
266
266
) : boolean {
267
267
return this . _fragmentsToNodes (
268
268
deferredGroupedFieldSetRecord . deferredFragmentRecords ,
269
- ) . some ( ( node ) => this . _pending . has ( node ) ) ;
269
+ ) . some ( ( node ) => this . _rootNodes . has ( node ) ) ;
270
270
}
271
271
272
272
private _fragmentsToNodes (
@@ -281,7 +281,7 @@ export class IncrementalGraph {
281
281
282
282
private _addDeferredFragmentNode (
283
283
deferredFragmentRecord : DeferredFragmentRecord ,
284
- newPending : Set < SubsequentResultNode > | undefined ,
284
+ initialResultChildren : Set < SubsequentResultNode > | undefined ,
285
285
) : DeferredFragmentNode {
286
286
let deferredFragmentNode = this . _deferredFragmentNodes . get (
287
287
deferredFragmentRecord ,
@@ -301,11 +301,14 @@ export class IncrementalGraph {
301
301
) ;
302
302
const parent = deferredFragmentRecord . parent ;
303
303
if ( parent === undefined ) {
304
- invariant ( newPending !== undefined ) ;
305
- newPending . add ( deferredFragmentNode ) ;
304
+ invariant ( initialResultChildren !== undefined ) ;
305
+ initialResultChildren . add ( deferredFragmentNode ) ;
306
306
return deferredFragmentNode ;
307
307
}
308
- const parentNode = this . _addDeferredFragmentNode ( parent , newPending ) ;
308
+ const parentNode = this . _addDeferredFragmentNode (
309
+ parent ,
310
+ initialResultChildren ,
311
+ ) ;
309
312
parentNode . children . add ( deferredFragmentNode ) ;
310
313
return deferredFragmentNode ;
311
314
}
0 commit comments