react-relay 0.0.0-main-b1b31af9 → 0.0.0-main-4b91f033
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ReactRelayContext.js +1 -1
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/legacy.js +1 -1
- package/lib/relay-hooks/useFragmentInternal_CURRENT.js +26 -2
- package/lib/relay-hooks/useFragmentInternal_EXPERIMENTAL.js +26 -2
- package/package.json +2 -2
- package/relay-hooks/useFragmentInternal_CURRENT.js.flow +33 -0
- package/relay-hooks/useFragmentInternal_EXPERIMENTAL.js.flow +33 -0
package/ReactRelayContext.js
CHANGED
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -374,6 +374,14 @@ function useFragmentInternal(fragmentNode, fragmentRef, hookDisplayName, queryOp
|
|
|
374
374
|
clientEdgeQueries = _useMemo[0],
|
|
375
375
|
activeRequestPromises = _useMemo[1];
|
|
376
376
|
if (activeRequestPromises.length) {
|
|
377
|
+
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
378
|
+
var fragmentOwner = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
379
|
+
environment.__log({
|
|
380
|
+
name: 'suspense.client_edge',
|
|
381
|
+
fragment: fragmentNode,
|
|
382
|
+
fragmentOwner: fragmentOwner,
|
|
383
|
+
isMount: committedFragmentSelectorRef.current === false
|
|
384
|
+
});
|
|
377
385
|
throw Promise.all(activeRequestPromises);
|
|
378
386
|
}
|
|
379
387
|
useEffect(function () {
|
|
@@ -404,15 +412,31 @@ function useFragmentInternal(fragmentNode, fragmentRef, hookDisplayName, queryOp
|
|
|
404
412
|
if (isMissingData(state)) {
|
|
405
413
|
var suspendingLiveResolvers = getSuspendingLiveResolver(state);
|
|
406
414
|
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
|
|
415
|
+
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
416
|
+
var _fragmentOwner = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
417
|
+
environment.__log({
|
|
418
|
+
name: 'suspense.resolver',
|
|
419
|
+
fragment: fragmentNode,
|
|
420
|
+
fragmentOwner: _fragmentOwner,
|
|
421
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
422
|
+
suspendingLiveResolvers: suspendingLiveResolvers
|
|
423
|
+
});
|
|
407
424
|
throw Promise.all(suspendingLiveResolvers.map(function (liveStateID) {
|
|
408
425
|
return environment.getStore().getLiveResolverPromise(liveStateID);
|
|
409
426
|
}));
|
|
410
427
|
}
|
|
411
428
|
if (RelayFeatureFlags.ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE || environment !== previousEnvironment || committedFragmentSelectorRef.current === false || !areEqualSelectors(committedFragmentSelectorRef.current, fragmentSelector)) {
|
|
412
429
|
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
413
|
-
var
|
|
414
|
-
var pendingOperationsResult = getPendingOperationsForFragment(environment, fragmentNode,
|
|
430
|
+
var _fragmentOwner2 = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
431
|
+
var pendingOperationsResult = getPendingOperationsForFragment(environment, fragmentNode, _fragmentOwner2);
|
|
415
432
|
if (pendingOperationsResult) {
|
|
433
|
+
environment.__log({
|
|
434
|
+
name: 'suspense.missing_data',
|
|
435
|
+
fragment: fragmentNode,
|
|
436
|
+
fragmentOwner: _fragmentOwner2,
|
|
437
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
438
|
+
pendingOperations: pendingOperationsResult.pendingOperations
|
|
439
|
+
});
|
|
416
440
|
throw pendingOperationsResult.promise;
|
|
417
441
|
}
|
|
418
442
|
}
|
|
@@ -380,6 +380,14 @@ function useFragmentInternal_EXPERIMENTAL(fragmentNode, fragmentRef, hookDisplay
|
|
|
380
380
|
clientEdgeQueries = _useMemo[0],
|
|
381
381
|
activeRequestPromises = _useMemo[1];
|
|
382
382
|
if (activeRequestPromises.length) {
|
|
383
|
+
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
384
|
+
var fragmentOwner = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
385
|
+
environment.__log({
|
|
386
|
+
name: 'suspense.client_edge',
|
|
387
|
+
fragment: fragmentNode,
|
|
388
|
+
fragmentOwner: fragmentOwner,
|
|
389
|
+
isMount: committedFragmentSelectorRef.current === false
|
|
390
|
+
});
|
|
383
391
|
var allPromises = Promise.all(activeRequestPromises);
|
|
384
392
|
allPromises.displayName = "RelayClientEdge(".concat(activeRequestPromises.map(function (promise) {
|
|
385
393
|
return promise.displayName;
|
|
@@ -414,6 +422,15 @@ function useFragmentInternal_EXPERIMENTAL(fragmentNode, fragmentRef, hookDisplay
|
|
|
414
422
|
if (isMissingData(state)) {
|
|
415
423
|
var suspendingLiveResolvers = getSuspendingLiveResolver(state);
|
|
416
424
|
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
|
|
425
|
+
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
426
|
+
var _fragmentOwner = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
427
|
+
environment.__log({
|
|
428
|
+
name: 'suspense.resolver',
|
|
429
|
+
fragment: fragmentNode,
|
|
430
|
+
fragmentOwner: _fragmentOwner,
|
|
431
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
432
|
+
suspendingLiveResolvers: suspendingLiveResolvers
|
|
433
|
+
});
|
|
417
434
|
var promise = Promise.all(suspendingLiveResolvers.map(function (liveStateID) {
|
|
418
435
|
return environment.getStore().getLiveResolverPromise(liveStateID);
|
|
419
436
|
}));
|
|
@@ -422,9 +439,16 @@ function useFragmentInternal_EXPERIMENTAL(fragmentNode, fragmentRef, hookDisplay
|
|
|
422
439
|
}
|
|
423
440
|
if (RelayFeatureFlags.ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE || environment !== previousEnvironment || committedFragmentSelectorRef.current === false || !areEqualSelectors(committedFragmentSelectorRef.current, fragmentSelector)) {
|
|
424
441
|
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
425
|
-
var
|
|
426
|
-
var pendingOperationsResult = getPendingOperationsForFragment(environment, fragmentNode,
|
|
442
|
+
var _fragmentOwner2 = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
443
|
+
var pendingOperationsResult = getPendingOperationsForFragment(environment, fragmentNode, _fragmentOwner2);
|
|
427
444
|
if (pendingOperationsResult) {
|
|
445
|
+
environment.__log({
|
|
446
|
+
name: 'suspense.missing_data',
|
|
447
|
+
fragment: fragmentNode,
|
|
448
|
+
fragmentOwner: _fragmentOwner2,
|
|
449
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
450
|
+
pendingOperations: pendingOperationsResult.pendingOperations
|
|
451
|
+
});
|
|
428
452
|
throw pendingOperationsResult.promise;
|
|
429
453
|
}
|
|
430
454
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-relay",
|
|
3
3
|
"description": "A framework for building GraphQL-driven React applications.",
|
|
4
|
-
"version": "0.0.0-main-
|
|
4
|
+
"version": "0.0.0-main-4b91f033",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
7
7
|
"relay",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"fbjs": "^3.0.2",
|
|
21
21
|
"invariant": "^2.2.4",
|
|
22
22
|
"nullthrows": "^1.1.1",
|
|
23
|
-
"relay-runtime": "0.0.0-main-
|
|
23
|
+
"relay-runtime": "0.0.0-main-4b91f033"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"react": "^16.9.0 || ^17 || ^18 || ^19"
|
|
@@ -497,6 +497,18 @@ hook useFragmentInternal(
|
|
|
497
497
|
}, [state, environment, fragmentNode, fragmentRef, queryOptions]);
|
|
498
498
|
|
|
499
499
|
if (activeRequestPromises.length) {
|
|
500
|
+
invariant(fragmentSelector != null, 'refinement, see invariants above');
|
|
501
|
+
const fragmentOwner =
|
|
502
|
+
fragmentSelector.kind === 'PluralReaderSelector'
|
|
503
|
+
? fragmentSelector.selectors[0].owner
|
|
504
|
+
: fragmentSelector.owner;
|
|
505
|
+
environment.__log({
|
|
506
|
+
name: 'suspense.client_edge',
|
|
507
|
+
fragment: fragmentNode,
|
|
508
|
+
fragmentOwner,
|
|
509
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
510
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
511
|
+
});
|
|
500
512
|
throw Promise.all(activeRequestPromises);
|
|
501
513
|
}
|
|
502
514
|
|
|
@@ -524,6 +536,19 @@ hook useFragmentInternal(
|
|
|
524
536
|
// Suspend if a Live Resolver within this fragment is in a suspended state:
|
|
525
537
|
const suspendingLiveResolvers = getSuspendingLiveResolver(state);
|
|
526
538
|
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
|
|
539
|
+
invariant(fragmentSelector != null, 'refinement, see invariants above');
|
|
540
|
+
const fragmentOwner =
|
|
541
|
+
fragmentSelector.kind === 'PluralReaderSelector'
|
|
542
|
+
? fragmentSelector.selectors[0].owner
|
|
543
|
+
: fragmentSelector.owner;
|
|
544
|
+
environment.__log({
|
|
545
|
+
name: 'suspense.resolver',
|
|
546
|
+
fragment: fragmentNode,
|
|
547
|
+
fragmentOwner,
|
|
548
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
549
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
550
|
+
suspendingLiveResolvers,
|
|
551
|
+
});
|
|
527
552
|
throw Promise.all(
|
|
528
553
|
suspendingLiveResolvers.map(liveStateID => {
|
|
529
554
|
// $FlowFixMe[prop-missing] This is expected to be a RelayModernStore
|
|
@@ -553,6 +578,14 @@ hook useFragmentInternal(
|
|
|
553
578
|
fragmentOwner,
|
|
554
579
|
);
|
|
555
580
|
if (pendingOperationsResult) {
|
|
581
|
+
environment.__log({
|
|
582
|
+
name: 'suspense.missing_data',
|
|
583
|
+
fragment: fragmentNode,
|
|
584
|
+
fragmentOwner,
|
|
585
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
586
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
587
|
+
pendingOperations: pendingOperationsResult.pendingOperations,
|
|
588
|
+
});
|
|
556
589
|
throw pendingOperationsResult.promise;
|
|
557
590
|
}
|
|
558
591
|
}
|
|
@@ -520,6 +520,18 @@ hook useFragmentInternal_EXPERIMENTAL(
|
|
|
520
520
|
}, [state, environment, fragmentNode, fragmentRef, queryOptions]);
|
|
521
521
|
|
|
522
522
|
if (activeRequestPromises.length) {
|
|
523
|
+
invariant(fragmentSelector != null, 'refinement, see invariants above');
|
|
524
|
+
const fragmentOwner =
|
|
525
|
+
fragmentSelector.kind === 'PluralReaderSelector'
|
|
526
|
+
? fragmentSelector.selectors[0].owner
|
|
527
|
+
: fragmentSelector.owner;
|
|
528
|
+
environment.__log({
|
|
529
|
+
name: 'suspense.client_edge',
|
|
530
|
+
fragment: fragmentNode,
|
|
531
|
+
fragmentOwner,
|
|
532
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
533
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
534
|
+
});
|
|
523
535
|
const allPromises = Promise.all(activeRequestPromises);
|
|
524
536
|
// $FlowExpectedError[prop-missing] Expando to annotate Promises.
|
|
525
537
|
allPromises.displayName = `RelayClientEdge(${activeRequestPromises
|
|
@@ -552,6 +564,19 @@ hook useFragmentInternal_EXPERIMENTAL(
|
|
|
552
564
|
// Suspend if a Live Resolver within this fragment is in a suspended state:
|
|
553
565
|
const suspendingLiveResolvers = getSuspendingLiveResolver(state);
|
|
554
566
|
if (suspendingLiveResolvers != null && suspendingLiveResolvers.length > 0) {
|
|
567
|
+
invariant(fragmentSelector != null, 'refinement, see invariants above');
|
|
568
|
+
const fragmentOwner =
|
|
569
|
+
fragmentSelector.kind === 'PluralReaderSelector'
|
|
570
|
+
? fragmentSelector.selectors[0].owner
|
|
571
|
+
: fragmentSelector.owner;
|
|
572
|
+
environment.__log({
|
|
573
|
+
name: 'suspense.resolver',
|
|
574
|
+
fragment: fragmentNode,
|
|
575
|
+
fragmentOwner,
|
|
576
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
577
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
578
|
+
suspendingLiveResolvers,
|
|
579
|
+
});
|
|
555
580
|
const promise = Promise.all(
|
|
556
581
|
suspendingLiveResolvers.map(liveStateID => {
|
|
557
582
|
// $FlowFixMe[prop-missing] This is expected to be a RelayModernStore
|
|
@@ -584,6 +609,14 @@ hook useFragmentInternal_EXPERIMENTAL(
|
|
|
584
609
|
fragmentOwner,
|
|
585
610
|
);
|
|
586
611
|
if (pendingOperationsResult) {
|
|
612
|
+
environment.__log({
|
|
613
|
+
name: 'suspense.missing_data',
|
|
614
|
+
fragment: fragmentNode,
|
|
615
|
+
fragmentOwner,
|
|
616
|
+
// $FlowFixMe[react-rule-unsafe-ref]
|
|
617
|
+
isMount: committedFragmentSelectorRef.current === false,
|
|
618
|
+
pendingOperations: pendingOperationsResult.pendingOperations,
|
|
619
|
+
});
|
|
587
620
|
throw pendingOperationsResult.promise;
|
|
588
621
|
}
|
|
589
622
|
}
|