react-relay 14.1.0 → 15.0.0
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/ReactRelayContainerUtils.js.flow +1 -0
- package/ReactRelayContext.js +1 -1
- package/ReactRelayContext.js.flow +1 -0
- package/ReactRelayFragmentContainer.js.flow +6 -2
- package/ReactRelayFragmentMockRenderer.js.flow +1 -0
- package/ReactRelayLocalQueryRenderer.js.flow +5 -3
- package/ReactRelayPaginationContainer.js.flow +21 -12
- package/ReactRelayQueryFetcher.js.flow +19 -5
- package/ReactRelayQueryRenderer.js.flow +32 -1
- package/ReactRelayQueryRendererContext.js.flow +1 -0
- package/ReactRelayRefetchContainer.js.flow +9 -5
- package/ReactRelayTestMocker.js.flow +3 -1
- package/ReactRelayTypes.js.flow +1 -0
- package/RelayContext.js.flow +1 -0
- package/__flowtests__/ReactRelayFragmentContainer-flowtest.js.flow +2 -1
- package/__flowtests__/ReactRelayPaginationContainer-flowtest.js.flow +1 -0
- package/__flowtests__/ReactRelayRefetchContainer-flowtest.js.flow +1 -0
- package/__flowtests__/RelayModern-flowtest.js.flow +1 -0
- package/__flowtests__/RelayModernFlowtest_badref.graphql.js.flow +1 -0
- package/__flowtests__/RelayModernFlowtest_notref.graphql.js.flow +1 -0
- package/__flowtests__/RelayModernFlowtest_user.graphql.js.flow +1 -0
- package/__flowtests__/RelayModernFlowtest_users.graphql.js.flow +1 -0
- package/__flowtests__/__generated__/ReactRelayFragmentContainerFlowtest_viewer.graphql.js.flow +3 -1
- package/__flowtests__/__generated__/ReactRelayFragmentContainerFlowtest_viewer2.graphql.js.flow +3 -1
- package/__flowtests__/__generated__/ReactRelayPaginationContainerFlowtestQuery.graphql.js.flow +4 -2
- package/__flowtests__/__generated__/ReactRelayPaginationContainerFlowtest_viewer.graphql.js.flow +3 -1
- package/__flowtests__/__generated__/ReactRelayRefetchContainerFlowtestQuery.graphql.js.flow +4 -2
- package/__flowtests__/__generated__/ReactRelayRefetchContainerFlowtest_viewer.graphql.js.flow +3 -1
- package/__flowtests__/__generated__/RelayModernFlowtest_badref.graphql.js.flow +4 -2
- package/__flowtests__/__generated__/RelayModernFlowtest_notref.graphql.js.flow +4 -2
- package/__flowtests__/__generated__/RelayModernFlowtest_user.graphql.js.flow +3 -1
- package/__flowtests__/__generated__/RelayModernFlowtest_users.graphql.js.flow +3 -1
- package/assertFragmentMap.js.flow +1 -0
- package/buildReactRelayContainer.js.flow +7 -5
- package/getRootVariablesForFragments.js.flow +1 -1
- package/hooks.js +1 -1
- package/hooks.js.flow +4 -0
- package/index.js +1 -1
- package/index.js.flow +4 -0
- package/isRelayEnvironment.js.flow +1 -0
- package/jest-react/enqueueTask.js.flow +1 -1
- package/jest-react/index.js.flow +1 -1
- package/jest-react/internalAct.js.flow +1 -1
- package/legacy.js +1 -1
- package/legacy.js.flow +1 -0
- package/lib/ReactRelayContainerUtils.js +2 -2
- package/lib/ReactRelayContext.js +3 -3
- package/lib/ReactRelayFragmentContainer.js +39 -66
- package/lib/ReactRelayFragmentMockRenderer.js +2 -3
- package/lib/ReactRelayLocalQueryRenderer.js +18 -30
- package/lib/ReactRelayPaginationContainer.js +66 -159
- package/lib/ReactRelayQueryFetcher.js +48 -74
- package/lib/ReactRelayQueryRenderer.js +62 -82
- package/lib/ReactRelayQueryRendererContext.js +2 -1
- package/lib/ReactRelayRefetchContainer.js +52 -99
- package/lib/ReactRelayTestMocker.js +32 -66
- package/lib/ReactRelayTypes.js +2 -0
- package/lib/RelayContext.js +4 -6
- package/lib/assertFragmentMap.js +3 -4
- package/lib/buildReactRelayContainer.js +10 -25
- package/lib/getRootVariablesForFragments.js +5 -8
- package/lib/hooks.js +5 -17
- package/lib/index.js +5 -24
- package/lib/isRelayEnvironment.js +5 -3
- package/lib/jest-react/enqueueTask.js +5 -9
- package/lib/jest-react/index.js +0 -1
- package/lib/jest-react/internalAct.js +9 -20
- package/lib/legacy.js +2 -7
- package/lib/multi-actor/ActorChange.js +2 -5
- package/lib/multi-actor/index.js +2 -1
- package/lib/multi-actor/useRelayActorEnvironment.js +4 -7
- package/lib/relay-hooks/EntryPointContainer.react.js +9 -14
- package/lib/relay-hooks/EntryPointTypes.flow.js +5 -2
- package/lib/relay-hooks/FragmentResource.js +102 -196
- package/lib/relay-hooks/HooksImplementation.js +2 -5
- package/lib/relay-hooks/InternalLogger.js +2 -2
- package/lib/relay-hooks/LRUCache.js +2 -19
- package/lib/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js +33 -53
- package/lib/relay-hooks/MatchContainer.js +14 -22
- package/lib/relay-hooks/ProfilerContext.js +3 -2
- package/lib/relay-hooks/QueryResource.js +30 -99
- package/lib/relay-hooks/RelayEnvironmentProvider.js +5 -8
- package/lib/relay-hooks/SuspenseResource.js +8 -31
- package/lib/relay-hooks/loadEntryPoint.js +19 -31
- package/lib/relay-hooks/loadQuery.js +41 -77
- package/lib/relay-hooks/preloadQuery_DEPRECATED.js +10 -35
- package/lib/relay-hooks/prepareEntryPoint_DEPRECATED.js +9 -14
- package/lib/relay-hooks/react-cache/RelayReactCache.js +7 -11
- package/lib/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js +24 -78
- package/lib/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +23 -56
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +65 -143
- package/lib/relay-hooks/react-cache/useFragment_REACT_CACHE.js +5 -14
- package/lib/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +17 -23
- package/lib/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js +73 -74
- package/lib/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +24 -38
- package/lib/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +60 -102
- package/lib/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +7 -15
- package/lib/relay-hooks/useBlockingPaginationFragment.js +71 -92
- package/lib/relay-hooks/useClientQuery.js +3 -6
- package/lib/relay-hooks/useEntryPointLoader.js +17 -36
- package/lib/relay-hooks/useFetchTrackingRef.js +10 -11
- package/lib/relay-hooks/useFragment.js +8 -18
- package/lib/relay-hooks/useFragmentNode.js +20 -31
- package/lib/relay-hooks/useIsMountedRef.js +4 -5
- package/lib/relay-hooks/useIsOperationNodeActive.js +8 -20
- package/lib/relay-hooks/useIsParentQueryActive.js +3 -6
- package/lib/relay-hooks/useLazyLoadQuery.js +6 -9
- package/lib/relay-hooks/useLazyLoadQueryNode.js +23 -33
- package/lib/relay-hooks/useLoadMoreFunction.js +45 -76
- package/lib/relay-hooks/useMemoOperationDescriptor.js +6 -14
- package/lib/relay-hooks/useMemoVariables.js +15 -33
- package/lib/relay-hooks/useMutation.js +8 -25
- package/lib/relay-hooks/usePaginationFragment.js +61 -76
- package/lib/relay-hooks/usePreloadedQuery.js +12 -29
- package/lib/relay-hooks/useQueryLoader.js +23 -47
- package/lib/relay-hooks/useRefetchableFragment.js +8 -18
- package/lib/relay-hooks/useRefetchableFragmentNode.js +64 -107
- package/lib/relay-hooks/useRelayEnvironment.js +4 -7
- package/lib/relay-hooks/useStaticFragmentNodeWarning.js +4 -7
- package/lib/relay-hooks/useSubscribeToInvalidationState.js +8 -8
- package/lib/relay-hooks/useSubscription.js +5 -9
- package/lib/relay-hooks/useUnsafeRef_DEPRECATED.js +29 -0
- package/multi-actor/ActorChange.js.flow +1 -1
- package/multi-actor/index.js.flow +1 -1
- package/multi-actor/useRelayActorEnvironment.js.flow +2 -2
- package/package.json +2 -2
- package/react-relay-hooks.js +2 -2
- package/react-relay-hooks.min.js +2 -2
- package/react-relay-legacy.js +2 -2
- package/react-relay-legacy.min.js +2 -2
- package/react-relay.js +2 -2
- package/react-relay.min.js +2 -2
- package/relay-hooks/EntryPointContainer.react.js.flow +1 -1
- package/relay-hooks/EntryPointTypes.flow.js.flow +7 -5
- package/relay-hooks/FragmentResource.js.flow +34 -8
- package/relay-hooks/HooksImplementation.js.flow +1 -1
- package/relay-hooks/InternalLogger.js.flow +1 -1
- package/relay-hooks/LRUCache.js.flow +1 -1
- package/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js.flow +15 -8
- package/relay-hooks/MatchContainer.js.flow +1 -1
- package/relay-hooks/ProfilerContext.js.flow +1 -1
- package/relay-hooks/QueryResource.js.flow +25 -5
- package/relay-hooks/RelayEnvironmentProvider.js.flow +2 -2
- package/relay-hooks/SuspenseResource.js.flow +1 -1
- package/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js.flow +3 -1
- package/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js.flow +2 -2
- package/relay-hooks/__flowtests__/__generated__/useFragmentFlowtest_user.graphql.js.flow +3 -1
- package/relay-hooks/__flowtests__/__generated__/useFragmentFlowtest_users.graphql.js.flow +3 -1
- package/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js.flow +35 -33
- package/relay-hooks/__flowtests__/useFragment-flowtest.js.flow +1 -1
- package/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js.flow +33 -32
- package/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js.flow +18 -18
- package/relay-hooks/__flowtests__/utils.js.flow +13 -2
- package/relay-hooks/loadEntryPoint.js.flow +11 -6
- package/relay-hooks/loadQuery.js.flow +11 -7
- package/relay-hooks/preloadQuery_DEPRECATED.js.flow +5 -6
- package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +13 -8
- package/relay-hooks/react-cache/RelayReactCache.js.flow +1 -1
- package/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js.flow +4 -4
- package/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js.flow +3 -3
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +4 -4
- package/relay-hooks/react-cache/useFragment_REACT_CACHE.js.flow +1 -1
- package/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js.flow +1 -1
- package/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js.flow +41 -22
- package/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js.flow +1 -2
- package/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js.flow +11 -5
- package/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js.flow +2 -2
- package/relay-hooks/useBlockingPaginationFragment.js.flow +85 -56
- package/relay-hooks/useClientQuery.js.flow +1 -1
- package/relay-hooks/useEntryPointLoader.js.flow +10 -6
- package/relay-hooks/useFetchTrackingRef.js.flow +5 -4
- package/relay-hooks/useFragment.js.flow +2 -2
- package/relay-hooks/useFragmentNode.js.flow +5 -4
- package/relay-hooks/useIsMountedRef.js.flow +1 -1
- package/relay-hooks/useIsOperationNodeActive.js.flow +1 -1
- package/relay-hooks/useIsParentQueryActive.js.flow +1 -1
- package/relay-hooks/useLazyLoadQuery.js.flow +2 -2
- package/relay-hooks/useLazyLoadQueryNode.js.flow +2 -2
- package/relay-hooks/useLoadMoreFunction.js.flow +14 -9
- package/relay-hooks/useMemoOperationDescriptor.js.flow +3 -3
- package/relay-hooks/useMemoVariables.js.flow +13 -29
- package/relay-hooks/useMutation.js.flow +4 -4
- package/relay-hooks/usePaginationFragment.js.flow +53 -46
- package/relay-hooks/usePreloadedQuery.js.flow +47 -22
- package/relay-hooks/useQueryLoader.js.flow +85 -22
- package/relay-hooks/useRefetchableFragment.js.flow +64 -33
- package/relay-hooks/useRefetchableFragmentNode.js.flow +10 -4
- package/relay-hooks/useRelayEnvironment.js.flow +2 -2
- package/relay-hooks/useStaticFragmentNodeWarning.js.flow +3 -3
- package/relay-hooks/useSubscribeToInvalidationState.js.flow +2 -2
- package/relay-hooks/useSubscription.js.flow +1 -1
- package/relay-hooks/useUnsafeRef_DEPRECATED.js.flow +25 -0
- package/lib/readContext.js +0 -27
- package/readContext.js.flow +0 -29
|
@@ -4,85 +4,77 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @emails oncall+relay
|
|
8
7
|
*
|
|
9
8
|
* @format
|
|
9
|
+
* @oncall relay
|
|
10
10
|
*/
|
|
11
|
+
|
|
11
12
|
'use strict';
|
|
12
13
|
|
|
13
14
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
14
|
-
|
|
15
15
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
|
-
|
|
17
16
|
var useLoadMoreFunction = require('../useLoadMoreFunction');
|
|
18
|
-
|
|
17
|
+
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
19
18
|
var useStaticFragmentNodeWarning = require('../useStaticFragmentNodeWarning');
|
|
20
|
-
|
|
21
19
|
var useRefetchableFragmentInternal = require('./useRefetchableFragmentInternal_REACT_CACHE');
|
|
22
|
-
|
|
23
20
|
var _require = require('react'),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
useCallback = _require.useCallback,
|
|
22
|
+
useDebugValue = _require.useDebugValue,
|
|
23
|
+
useState = _require.useState;
|
|
28
24
|
var _require2 = require('relay-runtime'),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
getFragment = _require2.getFragment,
|
|
26
|
+
getFragmentIdentifier = _require2.getFragmentIdentifier,
|
|
27
|
+
getPaginationMetadata = _require2.getPaginationMetadata;
|
|
33
28
|
function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
34
29
|
var fragmentNode = getFragment(fragmentInput);
|
|
35
30
|
useStaticFragmentNodeWarning(fragmentNode, 'first argument of usePaginationFragment()');
|
|
36
31
|
var componentDisplayName = 'usePaginationFragment()';
|
|
37
|
-
|
|
38
32
|
var _getPaginationMetadat = getPaginationMetadata(fragmentNode, componentDisplayName),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
connectionPathInFragmentData = _getPaginationMetadat.connectionPathInFragmentData,
|
|
34
|
+
paginationRequest = _getPaginationMetadat.paginationRequest,
|
|
35
|
+
paginationMetadata = _getPaginationMetadat.paginationMetadata,
|
|
36
|
+
identifierField = _getPaginationMetadat.identifierField;
|
|
44
37
|
var _useRefetchableFragme = useRefetchableFragmentInternal(fragmentNode, parentFragmentRef, componentDisplayName),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef); // Backward pagination
|
|
38
|
+
fragmentData = _useRefetchableFragme.fragmentData,
|
|
39
|
+
fragmentRef = _useRefetchableFragme.fragmentRef,
|
|
40
|
+
refetch = _useRefetchableFragme.refetch;
|
|
41
|
+
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef);
|
|
50
42
|
|
|
43
|
+
// Backward pagination
|
|
51
44
|
var _useLoadMore = useLoadMore({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
45
|
+
componentDisplayName: componentDisplayName,
|
|
46
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
47
|
+
direction: 'backward',
|
|
48
|
+
fragmentData: fragmentData,
|
|
49
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
50
|
+
fragmentNode: fragmentNode,
|
|
51
|
+
fragmentRef: fragmentRef,
|
|
52
|
+
identifierField: identifierField,
|
|
53
|
+
paginationMetadata: paginationMetadata,
|
|
54
|
+
paginationRequest: paginationRequest
|
|
55
|
+
}),
|
|
56
|
+
loadPrevious = _useLoadMore[0],
|
|
57
|
+
hasPrevious = _useLoadMore[1],
|
|
58
|
+
isLoadingPrevious = _useLoadMore[2],
|
|
59
|
+
disposeFetchPrevious = _useLoadMore[3];
|
|
60
|
+
|
|
61
|
+
// Forward pagination
|
|
69
62
|
var _useLoadMore2 = useLoadMore({
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
63
|
+
componentDisplayName: componentDisplayName,
|
|
64
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
65
|
+
direction: 'forward',
|
|
66
|
+
fragmentData: fragmentData,
|
|
67
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
68
|
+
fragmentNode: fragmentNode,
|
|
69
|
+
fragmentRef: fragmentRef,
|
|
70
|
+
identifierField: identifierField,
|
|
71
|
+
paginationMetadata: paginationMetadata,
|
|
72
|
+
paginationRequest: paginationRequest
|
|
73
|
+
}),
|
|
74
|
+
loadNext = _useLoadMore2[0],
|
|
75
|
+
hasNext = _useLoadMore2[1],
|
|
76
|
+
isLoadingNext = _useLoadMore2[2],
|
|
77
|
+
disposeFetchNext = _useLoadMore2[3];
|
|
86
78
|
var refetchPagination = useCallback(function (variables, options) {
|
|
87
79
|
disposeFetchNext();
|
|
88
80
|
disposeFetchPrevious();
|
|
@@ -90,7 +82,6 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
90
82
|
__environment: undefined
|
|
91
83
|
}));
|
|
92
84
|
}, [disposeFetchNext, disposeFetchPrevious, refetch]);
|
|
93
|
-
|
|
94
85
|
if (process.env.NODE_ENV !== "production") {
|
|
95
86
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
96
87
|
useDebugValue({
|
|
@@ -102,7 +93,6 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
102
93
|
isLoadingPrevious: isLoadingPrevious
|
|
103
94
|
});
|
|
104
95
|
}
|
|
105
|
-
|
|
106
96
|
return {
|
|
107
97
|
data: fragmentData,
|
|
108
98
|
loadNext: loadNext,
|
|
@@ -114,12 +104,25 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
114
104
|
refetch: refetchPagination
|
|
115
105
|
};
|
|
116
106
|
}
|
|
117
|
-
|
|
118
107
|
function useLoadMore(args) {
|
|
108
|
+
var environment = useRelayEnvironment();
|
|
119
109
|
var _useState = useState(false),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
110
|
+
isLoadingMore = _useState[0],
|
|
111
|
+
reallySetIsLoadingMore = _useState[1];
|
|
112
|
+
// Schedule this update since it must be observed by components at the same
|
|
113
|
+
// batch as when hasNext changes. hasNext is read from the store and store
|
|
114
|
+
// updates are scheduled, so this must be scheduled too.
|
|
115
|
+
var setIsLoadingMore = function setIsLoadingMore(value) {
|
|
116
|
+
var _environment$getSched;
|
|
117
|
+
var schedule = (_environment$getSched = environment.getScheduler()) === null || _environment$getSched === void 0 ? void 0 : _environment$getSched.schedule;
|
|
118
|
+
if (schedule) {
|
|
119
|
+
schedule(function () {
|
|
120
|
+
reallySetIsLoadingMore(value);
|
|
121
|
+
});
|
|
122
|
+
} else {
|
|
123
|
+
reallySetIsLoadingMore(value);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
123
126
|
var observer = {
|
|
124
127
|
start: function start() {
|
|
125
128
|
return setIsLoadingMore(true);
|
|
@@ -131,20 +134,16 @@ function useLoadMore(args) {
|
|
|
131
134
|
return setIsLoadingMore(false);
|
|
132
135
|
}
|
|
133
136
|
};
|
|
134
|
-
|
|
135
137
|
var handleReset = function handleReset() {
|
|
136
138
|
return setIsLoadingMore(false);
|
|
137
139
|
};
|
|
138
|
-
|
|
139
140
|
var _useLoadMoreFunction = useLoadMoreFunction((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, args), {}, {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
141
|
+
observer: observer,
|
|
142
|
+
onReset: handleReset
|
|
143
|
+
})),
|
|
144
|
+
loadMore = _useLoadMoreFunction[0],
|
|
145
|
+
hasMore = _useLoadMoreFunction[1],
|
|
146
|
+
disposeFetch = _useLoadMoreFunction[2];
|
|
147
147
|
return [loadMore, hasMore, isLoadingMore, disposeFetch];
|
|
148
148
|
}
|
|
149
|
-
|
|
150
149
|
module.exports = usePaginationFragment;
|
|
@@ -5,46 +5,37 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
|
-
* @emails oncall+relay
|
|
9
8
|
* @format
|
|
9
|
+
* @oncall relay
|
|
10
10
|
*/
|
|
11
|
+
|
|
11
12
|
'use strict';
|
|
12
13
|
|
|
13
14
|
var _require = require('../loadQuery'),
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
|
|
16
16
|
var useMemoOperationDescriptor = require('../useMemoOperationDescriptor');
|
|
17
|
-
|
|
18
17
|
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
19
|
-
|
|
20
18
|
var getQueryResultOrFetchQuery = require('./getQueryResultOrFetchQuery_REACT_CACHE');
|
|
21
|
-
|
|
22
19
|
var useFragmentInternal = require('./useFragmentInternal_REACT_CACHE');
|
|
23
|
-
|
|
24
20
|
var invariant = require('invariant');
|
|
25
|
-
|
|
26
21
|
var _require2 = require('react'),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
useDebugValue = _require2.useDebugValue,
|
|
23
|
+
useEffect = _require2.useEffect;
|
|
30
24
|
var _require3 = require('relay-runtime'),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
_require3$__internal = _require3.__internal,
|
|
26
|
+
fetchQueryDeduped = _require3$__internal.fetchQueryDeduped,
|
|
27
|
+
fetchQuery = _require3$__internal.fetchQuery;
|
|
35
28
|
var warning = require("fbjs/lib/warning");
|
|
36
|
-
|
|
37
29
|
function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
38
30
|
var environment = useRelayEnvironment();
|
|
39
31
|
useTrackLoadQueryInRender();
|
|
40
32
|
var fetchKey = preloadedQuery.fetchKey,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
fetchPolicy = preloadedQuery.fetchPolicy,
|
|
34
|
+
source = preloadedQuery.source,
|
|
35
|
+
variables = preloadedQuery.variables,
|
|
36
|
+
networkCacheConfig = preloadedQuery.networkCacheConfig;
|
|
45
37
|
var operation = useMemoOperationDescriptor(gqlQuery, variables, networkCacheConfig);
|
|
46
38
|
var fetchObservable;
|
|
47
|
-
|
|
48
39
|
if (preloadedQuery.kind === 'PreloadedQuery_DEPRECATED') {
|
|
49
40
|
!(operation.request.node.params.name === preloadedQuery.name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'usePreloadedQuery(): Expected data to be prefetched for query `%s`, ' + 'got prefetch results for query `%s`.', operation.request.node.params.name, preloadedQuery.name) : invariant(false) : void 0;
|
|
50
41
|
fetchObservable = fetchQueryDeduped(environment, operation.request.identifier, function () {
|
|
@@ -62,7 +53,6 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
62
53
|
} else {
|
|
63
54
|
process.env.NODE_ENV !== "production" ? warning(preloadedQuery.isDisposed === false, 'usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. ' + 'This is because disposing the query marks it for future garbage ' + 'collection, and as such query results may no longer be present in the Relay ' + 'store. In the future, this will become a hard error.') : void 0;
|
|
64
55
|
var fallbackFetchObservable = fetchQuery(environment, operation);
|
|
65
|
-
|
|
66
56
|
if (source != null && environment === preloadedQuery.environment) {
|
|
67
57
|
// If the source observable exists and the environments match, reuse
|
|
68
58
|
// the source observable.
|
|
@@ -84,28 +74,26 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
84
74
|
// fall back and re-execute and de-dupe the query (at render time).
|
|
85
75
|
fetchObservable = fallbackFetchObservable;
|
|
86
76
|
}
|
|
87
|
-
}
|
|
88
|
-
|
|
77
|
+
}
|
|
89
78
|
|
|
79
|
+
// Get the query going if needed -- this may suspend.
|
|
90
80
|
var _getQueryResultOrFetc = getQueryResultOrFetchQuery(environment, operation, {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
useEffect(effect); // Read the query's root fragment -- this may suspend.
|
|
81
|
+
fetchPolicy: fetchPolicy,
|
|
82
|
+
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy,
|
|
83
|
+
fetchKey: fetchKey,
|
|
84
|
+
fetchObservable: fetchObservable
|
|
85
|
+
}),
|
|
86
|
+
queryResult = _getQueryResultOrFetc[0],
|
|
87
|
+
effect = _getQueryResultOrFetc[1];
|
|
88
|
+
useEffect(effect);
|
|
100
89
|
|
|
90
|
+
// Read the query's root fragment -- this may suspend.
|
|
101
91
|
var fragmentNode = queryResult.fragmentNode,
|
|
102
|
-
|
|
103
|
-
|
|
92
|
+
fragmentRef = queryResult.fragmentRef;
|
|
104
93
|
var data = useFragmentInternal(fragmentNode, fragmentRef, 'usePreloadedQuery()', {
|
|
105
94
|
fetchPolicy: fetchPolicy,
|
|
106
95
|
networkCacheConfig: networkCacheConfig
|
|
107
96
|
});
|
|
108
|
-
|
|
109
97
|
if (process.env.NODE_ENV !== "production") {
|
|
110
98
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
111
99
|
useDebugValue({
|
|
@@ -117,8 +105,6 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
117
105
|
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy
|
|
118
106
|
});
|
|
119
107
|
}
|
|
120
|
-
|
|
121
108
|
return data;
|
|
122
109
|
}
|
|
123
|
-
|
|
124
110
|
module.exports = usePreloadedQuery_REACT_CACHE;
|