Skip to content

Commit a27ea60

Browse files
committed
add private modifier
= requires reordering of methods because of eslint rule `@typescript-eslint/member-ordering` = adds underscore to private `_initialResult` property for consistency
1 parent 3e56887 commit a27ea60

File tree

1 file changed

+98
-98
lines changed

1 file changed

+98
-98
lines changed

src/execution/IncrementalPublisher.ts

Lines changed: 98 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -108,20 +108,20 @@ export type FormattedIncrementalResult<
108108
* @internal
109109
*/
110110
export class IncrementalPublisher {
111-
initialResult: {
111+
private _initialResult: {
112112
children: Set<IncrementalDataRecord>;
113113
isCompleted: boolean;
114114
};
115115

116-
_released: Set<IncrementalDataRecord>;
117-
_pending: Set<IncrementalDataRecord>;
116+
private _released: Set<IncrementalDataRecord>;
117+
private _pending: Set<IncrementalDataRecord>;
118118

119119
// these are assigned within the Promise executor called synchronously within the constructor
120-
_signalled!: Promise<unknown>;
121-
_resolve!: () => void;
120+
private _signalled!: Promise<unknown>;
121+
private _resolve!: () => void;
122122

123123
constructor() {
124-
this.initialResult = {
124+
this._initialResult = {
125125
children: new Set(),
126126
isCompleted: false,
127127
};
@@ -130,47 +130,10 @@ export class IncrementalPublisher {
130130
this._reset();
131131
}
132132

133-
_trigger() {
134-
this._resolve();
135-
this._reset();
136-
}
137-
138-
_reset() {
139-
// promiseWithResolvers uses void only as a generic type parameter
140-
// see: https://typescript-eslint.io/rules/no-invalid-void-type/
141-
// eslint-disable-next-line @typescript-eslint/no-invalid-void-type
142-
const { promise: signalled, resolve } = promiseWithResolvers<void>();
143-
this._resolve = resolve;
144-
this._signalled = signalled;
145-
}
146-
147133
hasNext(): boolean {
148134
return this._pending.size > 0;
149135
}
150136

151-
_introduce(item: IncrementalDataRecord) {
152-
this._pending.add(item);
153-
}
154-
155-
_release(item: IncrementalDataRecord): void {
156-
if (this._pending.has(item)) {
157-
this._released.add(item);
158-
this._trigger();
159-
}
160-
}
161-
162-
_push(item: IncrementalDataRecord): void {
163-
this._released.add(item);
164-
this._pending.add(item);
165-
this._trigger();
166-
}
167-
168-
_delete(item: IncrementalDataRecord) {
169-
this._released.delete(item);
170-
this._pending.delete(item);
171-
this._trigger();
172-
}
173-
174137
subscribe(): AsyncGenerator<
175138
SubsequentIncrementalExecutionResult,
176139
void,
@@ -247,46 +210,6 @@ export class IncrementalPublisher {
247210
};
248211
}
249212

250-
_getIncrementalResult(
251-
completedRecords: ReadonlySet<IncrementalDataRecord>,
252-
): SubsequentIncrementalExecutionResult | undefined {
253-
const incrementalResults: Array<IncrementalResult> = [];
254-
let encounteredCompletedAsyncIterator = false;
255-
for (const incrementalDataRecord of completedRecords) {
256-
const incrementalResult: IncrementalResult = {};
257-
for (const child of incrementalDataRecord.children) {
258-
this._publish(child);
259-
}
260-
if (isStreamItemsRecord(incrementalDataRecord)) {
261-
const items = incrementalDataRecord.items;
262-
if (incrementalDataRecord.isCompletedAsyncIterator) {
263-
// async iterable resolver just finished but there may be pending payloads
264-
encounteredCompletedAsyncIterator = true;
265-
continue;
266-
}
267-
(incrementalResult as IncrementalStreamResult).items = items;
268-
} else {
269-
const data = incrementalDataRecord.data;
270-
(incrementalResult as IncrementalDeferResult).data = data ?? null;
271-
}
272-
273-
incrementalResult.path = incrementalDataRecord.path;
274-
if (incrementalDataRecord.label != null) {
275-
incrementalResult.label = incrementalDataRecord.label;
276-
}
277-
if (incrementalDataRecord.errors.length > 0) {
278-
incrementalResult.errors = incrementalDataRecord.errors;
279-
}
280-
incrementalResults.push(incrementalResult);
281-
}
282-
283-
return incrementalResults.length
284-
? { incremental: incrementalResults, hasNext: this.hasNext() }
285-
: encounteredCompletedAsyncIterator && !this.hasNext()
286-
? { hasNext: false }
287-
: undefined;
288-
}
289-
290213
prepareNewDeferredFragmentRecord(opts: {
291214
label: string | undefined;
292215
path: Path | undefined;
@@ -298,7 +221,7 @@ export class IncrementalPublisher {
298221
if (parentContext) {
299222
parentContext.children.add(deferredFragmentRecord);
300223
} else {
301-
this.initialResult.children.add(deferredFragmentRecord);
224+
this._initialResult.children.add(deferredFragmentRecord);
302225
}
303226

304227
return deferredFragmentRecord;
@@ -316,7 +239,7 @@ export class IncrementalPublisher {
316239
if (parentContext) {
317240
parentContext.children.add(streamItemsRecord);
318241
} else {
319-
this.initialResult.children.add(streamItemsRecord);
242+
this._initialResult.children.add(streamItemsRecord);
320243
}
321244

322245
return streamItemsRecord;
@@ -352,19 +275,11 @@ export class IncrementalPublisher {
352275
}
353276

354277
publishInitial() {
355-
for (const child of this.initialResult.children) {
278+
for (const child of this._initialResult.children) {
356279
this._publish(child);
357280
}
358281
}
359282

360-
_publish(incrementalDataRecord: IncrementalDataRecord) {
361-
if (incrementalDataRecord.isCompleted) {
362-
this._push(incrementalDataRecord);
363-
} else {
364-
this._introduce(incrementalDataRecord);
365-
}
366-
}
367-
368283
filter(
369284
nullPath: Path,
370285
erroringIncrementalDataRecord: IncrementalDataRecord | undefined,
@@ -375,7 +290,7 @@ export class IncrementalPublisher {
375290

376291
const children =
377292
erroringIncrementalDataRecord === undefined
378-
? this.initialResult.children
293+
? this._initialResult.children
379294
: erroringIncrementalDataRecord.children;
380295

381296
for (const child of this._getDescendants(children)) {
@@ -386,7 +301,7 @@ export class IncrementalPublisher {
386301
this._delete(child);
387302
const parent =
388303
child.parentContext === undefined
389-
? this.initialResult
304+
? this._initialResult
390305
: child.parentContext;
391306
parent.children.delete(child);
392307

@@ -404,7 +319,92 @@ export class IncrementalPublisher {
404319
});
405320
}
406321

407-
_getDescendants(
322+
private _trigger() {
323+
this._resolve();
324+
this._reset();
325+
}
326+
327+
private _reset() {
328+
// promiseWithResolvers uses void only as a generic type parameter
329+
// see: https://typescript-eslint.io/rules/no-invalid-void-type/
330+
// eslint-disable-next-line @typescript-eslint/no-invalid-void-type
331+
const { promise: signalled, resolve } = promiseWithResolvers<void>();
332+
this._resolve = resolve;
333+
this._signalled = signalled;
334+
}
335+
336+
private _introduce(item: IncrementalDataRecord) {
337+
this._pending.add(item);
338+
}
339+
340+
private _release(item: IncrementalDataRecord): void {
341+
if (this._pending.has(item)) {
342+
this._released.add(item);
343+
this._trigger();
344+
}
345+
}
346+
347+
private _push(item: IncrementalDataRecord): void {
348+
this._released.add(item);
349+
this._pending.add(item);
350+
this._trigger();
351+
}
352+
353+
private _delete(item: IncrementalDataRecord) {
354+
this._released.delete(item);
355+
this._pending.delete(item);
356+
this._trigger();
357+
}
358+
359+
private _getIncrementalResult(
360+
completedRecords: ReadonlySet<IncrementalDataRecord>,
361+
): SubsequentIncrementalExecutionResult | undefined {
362+
const incrementalResults: Array<IncrementalResult> = [];
363+
let encounteredCompletedAsyncIterator = false;
364+
for (const incrementalDataRecord of completedRecords) {
365+
const incrementalResult: IncrementalResult = {};
366+
for (const child of incrementalDataRecord.children) {
367+
this._publish(child);
368+
}
369+
if (isStreamItemsRecord(incrementalDataRecord)) {
370+
const items = incrementalDataRecord.items;
371+
if (incrementalDataRecord.isCompletedAsyncIterator) {
372+
// async iterable resolver just finished but there may be pending payloads
373+
encounteredCompletedAsyncIterator = true;
374+
continue;
375+
}
376+
(incrementalResult as IncrementalStreamResult).items = items;
377+
} else {
378+
const data = incrementalDataRecord.data;
379+
(incrementalResult as IncrementalDeferResult).data = data ?? null;
380+
}
381+
382+
incrementalResult.path = incrementalDataRecord.path;
383+
if (incrementalDataRecord.label != null) {
384+
incrementalResult.label = incrementalDataRecord.label;
385+
}
386+
if (incrementalDataRecord.errors.length > 0) {
387+
incrementalResult.errors = incrementalDataRecord.errors;
388+
}
389+
incrementalResults.push(incrementalResult);
390+
}
391+
392+
return incrementalResults.length
393+
? { incremental: incrementalResults, hasNext: this.hasNext() }
394+
: encounteredCompletedAsyncIterator && !this.hasNext()
395+
? { hasNext: false }
396+
: undefined;
397+
}
398+
399+
private _publish(incrementalDataRecord: IncrementalDataRecord) {
400+
if (incrementalDataRecord.isCompleted) {
401+
this._push(incrementalDataRecord);
402+
} else {
403+
this._introduce(incrementalDataRecord);
404+
}
405+
}
406+
407+
private _getDescendants(
408408
children: ReadonlySet<IncrementalDataRecord>,
409409
descendants = new Set<IncrementalDataRecord>(),
410410
): ReadonlySet<IncrementalDataRecord> {
@@ -415,7 +415,7 @@ export class IncrementalPublisher {
415415
return descendants;
416416
}
417417

418-
_matchesPath(
418+
private _matchesPath(
419419
testPath: Array<string | number>,
420420
basePath: Array<string | number>,
421421
): boolean {

0 commit comments

Comments
 (0)