Skip to content

Commit 45bfa94

Browse files
committed
Remove response from InitializationReference
1 parent a6e7ceb commit 45bfa94

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

packages/react-client/src/ReactFlightClient.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ function wakeChunk<T>(
583583
if (typeof listener === 'function') {
584584
listener(value);
585585
} else {
586-
fulfillReference(listener, value, chunk);
586+
fulfillReference(response, listener, value, chunk);
587587
}
588588
}
589589

@@ -593,6 +593,7 @@ function wakeChunk<T>(
593593
}
594594

595595
function rejectChunk(
596+
response: Response,
596597
listeners: Array<InitializationReference | (mixed => mixed)>,
597598
error: mixed,
598599
): void {
@@ -601,7 +602,7 @@ function rejectChunk(
601602
if (typeof listener === 'function') {
602603
listener(error);
603604
} else {
604-
rejectReference(listener, error);
605+
rejectReference(response, listener.handler, error);
605606
}
606607
}
607608
}
@@ -655,7 +656,7 @@ function wakeChunkIfInitialized<T>(
655656
if (cyclicHandler !== null) {
656657
// This reference points back to this chunk. We can resolve the cycle by
657658
// using the value from that handler.
658-
fulfillReference(reference, cyclicHandler.value, chunk);
659+
fulfillReference(response, reference, cyclicHandler.value, chunk);
659660
resolveListeners.splice(i, 1);
660661
i--;
661662
if (rejectListeners !== null) {
@@ -677,7 +678,7 @@ function wakeChunkIfInitialized<T>(
677678
return;
678679
case ERRORED:
679680
if (rejectListeners !== null) {
680-
rejectChunk(rejectListeners, chunk.reason);
681+
rejectChunk(response, rejectListeners, chunk.reason);
681682
}
682683
return;
683684
}
@@ -707,7 +708,7 @@ function wakeChunkIfInitialized<T>(
707708
break;
708709
case ERRORED:
709710
if (rejectListeners) {
710-
rejectChunk(rejectListeners, chunk.reason);
711+
rejectChunk(response, rejectListeners, chunk.reason);
711712
}
712713
break;
713714
}
@@ -765,7 +766,7 @@ function triggerErrorOnChunk<T>(
765766
erroredChunk.status = ERRORED;
766767
erroredChunk.reason = error;
767768
if (listeners !== null) {
768-
rejectChunk(listeners, error);
769+
rejectChunk(response, listeners, error);
769770
}
770771
}
771772

@@ -907,7 +908,6 @@ function resolveModuleChunk<T>(
907908
}
908909

909910
type InitializationReference = {
910-
response: Response, // TODO: Remove Response from here and pass it through instead.
911911
handler: InitializationHandler,
912912
parentObject: Object,
913913
key: string,
@@ -1046,7 +1046,7 @@ function initializeModelChunk<T>(chunk: ResolvedModelChunk<T>): void {
10461046
if (typeof listener === 'function') {
10471047
listener(value);
10481048
} else {
1049-
fulfillReference(listener, value, cyclicChunk);
1049+
fulfillReference(response, listener, value, cyclicChunk);
10501050
}
10511051
}
10521052
}
@@ -1454,11 +1454,12 @@ function getChunk(response: Response, id: number): SomeChunk<any> {
14541454
}
14551455

14561456
function fulfillReference(
1457+
response: Response,
14571458
reference: InitializationReference,
14581459
value: any,
14591460
fulfilledChunk: SomeChunk<any>,
14601461
): void {
1461-
const {response, handler, parentObject, key, map, path} = reference;
1462+
const {handler, parentObject, key, map, path} = reference;
14621463

14631464
for (let i = 1; i < path.length; i++) {
14641465
while (
@@ -1528,7 +1529,11 @@ function fulfillReference(
15281529
return;
15291530
}
15301531
default: {
1531-
rejectReference(reference, referencedChunk.reason);
1532+
rejectReference(
1533+
response,
1534+
reference.handler,
1535+
referencedChunk.reason,
1536+
);
15321537
return;
15331538
}
15341539
}
@@ -1636,11 +1641,10 @@ function fulfillReference(
16361641
}
16371642

16381643
function rejectReference(
1639-
reference: InitializationReference,
1644+
response: Response,
1645+
handler: InitializationHandler,
16401646
error: mixed,
16411647
): void {
1642-
const {handler, response} = reference;
1643-
16441648
if (handler.errored) {
16451649
// We've already errored. We could instead build up an AggregateError
16461650
// but if there are multiple errors we just take the first one like
@@ -1731,7 +1735,6 @@ function waitForReference<T>(
17311735
}
17321736

17331737
const reference: InitializationReference = {
1734-
response,
17351738
handler,
17361739
parentObject,
17371740
key,

0 commit comments

Comments
 (0)