@@ -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
595595function 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
909910type 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
14561456function 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
16381643function 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