react-relay 14.1.0 → 16.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 +20 -10
- package/ReactRelayQueryRenderer.js.flow +15 -11
- package/ReactRelayQueryRendererContext.js.flow +1 -0
- package/ReactRelayRefetchContainer.js.flow +9 -5
- package/ReactRelayTestMocker.js.flow +3 -1
- package/ReactRelayTypes.js.flow +2 -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 +10 -6
- 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 +0 -11
- package/lib/ReactRelayContext.js +1 -12
- package/lib/ReactRelayFragmentContainer.js +23 -122
- package/lib/ReactRelayFragmentMockRenderer.js +0 -12
- package/lib/ReactRelayLocalQueryRenderer.js +12 -41
- package/lib/ReactRelayPaginationContainer.js +45 -341
- package/lib/ReactRelayQueryFetcher.js +36 -111
- package/lib/ReactRelayQueryRenderer.js +29 -137
- package/lib/ReactRelayQueryRendererContext.js +0 -10
- package/lib/ReactRelayRefetchContainer.js +33 -166
- package/lib/ReactRelayTestMocker.js +18 -128
- package/lib/ReactRelayTypes.js +0 -9
- package/lib/RelayContext.js +0 -23
- package/lib/assertFragmentMap.js +0 -16
- package/lib/buildReactRelayContainer.js +7 -41
- package/lib/getRootVariablesForFragments.js +2 -19
- package/lib/hooks.js +3 -30
- package/lib/index.js +3 -39
- package/lib/isRelayEnvironment.js +1 -16
- package/lib/jest-react/enqueueTask.js +1 -25
- package/lib/jest-react/index.js +0 -1
- package/lib/jest-react/internalAct.js +2 -51
- package/lib/legacy.js +0 -20
- package/lib/multi-actor/ActorChange.js +0 -14
- package/lib/multi-actor/index.js +0 -10
- package/lib/multi-actor/useRelayActorEnvironment.js +2 -16
- package/lib/relay-hooks/EntryPointContainer.react.js +7 -23
- package/lib/relay-hooks/EntryPointTypes.flow.js +0 -10
- package/lib/relay-hooks/FragmentResource.js +130 -280
- package/lib/relay-hooks/HooksImplementation.js +0 -14
- package/lib/relay-hooks/InternalLogger.js +0 -11
- package/lib/relay-hooks/LRUCache.js +0 -39
- package/lib/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js +27 -65
- package/lib/relay-hooks/MatchContainer.js +9 -111
- package/lib/relay-hooks/NestedRelayEntryPointBuilderUtils.js +9 -0
- package/lib/relay-hooks/ProfilerContext.js +0 -14
- package/lib/relay-hooks/QueryResource.js +14 -149
- package/lib/relay-hooks/RelayEnvironmentProvider.js +3 -17
- package/lib/relay-hooks/SuspenseResource.js +2 -59
- package/lib/relay-hooks/loadEntryPoint.js +10 -45
- package/lib/relay-hooks/loadQuery.js +29 -169
- package/lib/relay-hooks/preloadQuery_DEPRECATED.js +8 -58
- package/lib/relay-hooks/prepareEntryPoint_DEPRECATED.js +6 -24
- package/lib/relay-hooks/react-cache/RelayReactCache.js +4 -20
- package/lib/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js +13 -102
- package/lib/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +18 -75
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +79 -222
- package/lib/relay-hooks/react-cache/useFragment_REACT_CACHE.js +3 -27
- package/lib/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +11 -33
- package/lib/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js +62 -85
- package/lib/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +20 -63
- package/lib/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +53 -179
- package/lib/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +5 -27
- package/lib/relay-hooks/useBlockingPaginationFragment.js +58 -121
- package/lib/relay-hooks/useClientQuery.js +0 -21
- package/lib/relay-hooks/useEntryPointLoader.js +12 -100
- package/lib/relay-hooks/useFetchTrackingRef.js +6 -33
- package/lib/relay-hooks/useFragment.js +5 -32
- package/lib/relay-hooks/useFragmentNode.js +14 -55
- package/lib/relay-hooks/useIsMountedRef.js +2 -14
- package/lib/relay-hooks/useIsOperationNodeActive.js +6 -29
- package/lib/relay-hooks/useIsParentQueryActive.js +1 -15
- package/lib/relay-hooks/useLazyLoadQuery.js +2 -23
- package/lib/relay-hooks/useLazyLoadQueryNode.js +18 -63
- package/lib/relay-hooks/useLoadMoreFunction.js +44 -100
- package/lib/relay-hooks/useMemoOperationDescriptor.js +4 -23
- package/lib/relay-hooks/useMemoVariables.js +8 -43
- package/lib/relay-hooks/useMutation.js +6 -34
- package/lib/relay-hooks/usePaginationFragment.js +49 -89
- package/lib/relay-hooks/usePreloadedQuery.js +10 -54
- package/lib/relay-hooks/useQueryLoader.js +18 -116
- package/lib/relay-hooks/useRefetchableFragment.js +4 -30
- package/lib/relay-hooks/useRefetchableFragmentNode.js +58 -184
- package/lib/relay-hooks/useRelayEnvironment.js +2 -16
- package/lib/relay-hooks/useStaticFragmentNodeWarning.js +2 -20
- package/lib/relay-hooks/useSubscribeToInvalidationState.js +3 -28
- package/lib/relay-hooks/useSubscription.js +3 -22
- package/lib/relay-hooks/useUnsafeRef_DEPRECATED.js +12 -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 +6 -1
- package/relay-hooks/EntryPointTypes.flow.js.flow +23 -20
- package/relay-hooks/FragmentResource.js.flow +148 -34
- 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 +19 -10
- package/relay-hooks/MatchContainer.js.flow +1 -1
- package/relay-hooks/NestedRelayEntryPointBuilderUtils.js.flow +51 -0
- 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 +9 -7
- 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 +40 -33
- package/relay-hooks/__flowtests__/useFragment-flowtest.js.flow +1 -1
- package/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js.flow +38 -32
- package/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js.flow +20 -18
- package/relay-hooks/__flowtests__/utils.js.flow +13 -2
- package/relay-hooks/loadEntryPoint.js.flow +15 -8
- package/relay-hooks/loadQuery.js.flow +32 -8
- package/relay-hooks/preloadQuery_DEPRECATED.js.flow +5 -6
- package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +17 -10
- 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 +5 -4
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +32 -14
- package/relay-hooks/react-cache/useFragment_REACT_CACHE.js.flow +4 -10
- package/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js.flow +1 -1
- package/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js.flow +39 -49
- package/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js.flow +1 -2
- package/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js.flow +29 -16
- package/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js.flow +17 -33
- package/relay-hooks/useBlockingPaginationFragment.js.flow +85 -58
- package/relay-hooks/useClientQuery.js.flow +3 -3
- 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 +7 -6
- 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 +27 -16
- package/relay-hooks/useMemoOperationDescriptor.js.flow +3 -3
- package/relay-hooks/useMemoVariables.js.flow +13 -29
- package/relay-hooks/useMutation.js.flow +30 -13
- package/relay-hooks/usePaginationFragment.js.flow +55 -54
- package/relay-hooks/usePreloadedQuery.js.flow +47 -22
- package/relay-hooks/useQueryLoader.js.flow +78 -21
- package/relay-hooks/useRefetchableFragment.js.flow +65 -33
- package/relay-hooks/useRefetchableFragmentNode.js.flow +38 -17
- 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
|
@@ -1,55 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @emails oncall+relay
|
|
9
|
-
* @format
|
|
10
|
-
*/
|
|
11
1
|
'use strict';
|
|
12
2
|
|
|
13
3
|
var _require = require('../loadQuery'),
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
|
|
16
5
|
var useMemoOperationDescriptor = require('../useMemoOperationDescriptor');
|
|
17
|
-
|
|
18
6
|
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
19
|
-
|
|
20
7
|
var getQueryResultOrFetchQuery = require('./getQueryResultOrFetchQuery_REACT_CACHE');
|
|
21
|
-
|
|
22
8
|
var useFragmentInternal = require('./useFragmentInternal_REACT_CACHE');
|
|
23
|
-
|
|
24
9
|
var _require2 = require('react'),
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
useEffect = _require2.useEffect;
|
|
27
11
|
function useLazyLoadQuery_REACT_CACHE(gqlQuery, variables, options) {
|
|
28
12
|
var _options$networkCache;
|
|
29
|
-
|
|
30
13
|
useTrackLoadQueryInRender();
|
|
31
14
|
var environment = useRelayEnvironment();
|
|
32
15
|
var queryOperationDescriptor = useMemoOperationDescriptor(gqlQuery, variables, (_options$networkCache = options === null || options === void 0 ? void 0 : options.networkCacheConfig) !== null && _options$networkCache !== void 0 ? _options$networkCache : {
|
|
33
16
|
force: true
|
|
34
|
-
});
|
|
35
|
-
|
|
17
|
+
});
|
|
36
18
|
var _getQueryResultOrFetc = getQueryResultOrFetchQuery(environment, queryOperationDescriptor, {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
useEffect(effect); // Read the query's root fragment -- this may suspend.
|
|
45
|
-
|
|
19
|
+
fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
|
|
20
|
+
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy,
|
|
21
|
+
fetchKey: options === null || options === void 0 ? void 0 : options.fetchKey
|
|
22
|
+
}),
|
|
23
|
+
queryResult = _getQueryResultOrFetc[0],
|
|
24
|
+
effect = _getQueryResultOrFetc[1];
|
|
25
|
+
useEffect(effect);
|
|
46
26
|
var fragmentNode = queryResult.fragmentNode,
|
|
47
|
-
|
|
48
|
-
|
|
27
|
+
fragmentRef = queryResult.fragmentRef;
|
|
49
28
|
return useFragmentInternal(fragmentNode, fragmentRef, 'useLazyLoadQuery()', {
|
|
50
29
|
fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
|
|
51
30
|
networkCacheConfig: options === null || options === void 0 ? void 0 : options.networkCacheConfig
|
|
52
31
|
});
|
|
53
32
|
}
|
|
54
|
-
|
|
55
33
|
module.exports = useLazyLoadQuery_REACT_CACHE;
|
|
@@ -1,88 +1,62 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @emails oncall+relay
|
|
8
|
-
*
|
|
9
|
-
* @format
|
|
10
|
-
*/
|
|
11
1
|
'use strict';
|
|
12
2
|
|
|
13
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
14
|
-
|
|
15
4
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
|
-
|
|
17
5
|
var useLoadMoreFunction = require('../useLoadMoreFunction');
|
|
18
|
-
|
|
6
|
+
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
19
7
|
var useStaticFragmentNodeWarning = require('../useStaticFragmentNodeWarning');
|
|
20
|
-
|
|
21
8
|
var useRefetchableFragmentInternal = require('./useRefetchableFragmentInternal_REACT_CACHE');
|
|
22
|
-
|
|
23
9
|
var _require = require('react'),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
10
|
+
useCallback = _require.useCallback,
|
|
11
|
+
useDebugValue = _require.useDebugValue,
|
|
12
|
+
useState = _require.useState;
|
|
28
13
|
var _require2 = require('relay-runtime'),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
getFragment = _require2.getFragment,
|
|
15
|
+
getFragmentIdentifier = _require2.getFragmentIdentifier,
|
|
16
|
+
getPaginationMetadata = _require2.getPaginationMetadata;
|
|
33
17
|
function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
34
18
|
var fragmentNode = getFragment(fragmentInput);
|
|
35
19
|
useStaticFragmentNodeWarning(fragmentNode, 'first argument of usePaginationFragment()');
|
|
36
20
|
var componentDisplayName = 'usePaginationFragment()';
|
|
37
|
-
|
|
38
21
|
var _getPaginationMetadat = getPaginationMetadata(fragmentNode, componentDisplayName),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
identifierField = _getPaginationMetadat.identifierField;
|
|
43
|
-
|
|
22
|
+
connectionPathInFragmentData = _getPaginationMetadat.connectionPathInFragmentData,
|
|
23
|
+
paginationRequest = _getPaginationMetadat.paginationRequest,
|
|
24
|
+
paginationMetadata = _getPaginationMetadat.paginationMetadata;
|
|
44
25
|
var _useRefetchableFragme = useRefetchableFragmentInternal(fragmentNode, parentFragmentRef, componentDisplayName),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef); // Backward pagination
|
|
50
|
-
|
|
26
|
+
fragmentData = _useRefetchableFragme.fragmentData,
|
|
27
|
+
fragmentRef = _useRefetchableFragme.fragmentRef,
|
|
28
|
+
refetch = _useRefetchableFragme.refetch;
|
|
29
|
+
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef);
|
|
51
30
|
var _useLoadMore = useLoadMore({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
disposeFetchPrevious = _useLoadMore[3]; // Forward pagination
|
|
67
|
-
|
|
68
|
-
|
|
31
|
+
componentDisplayName: componentDisplayName,
|
|
32
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
33
|
+
direction: 'backward',
|
|
34
|
+
fragmentData: fragmentData,
|
|
35
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
36
|
+
fragmentNode: fragmentNode,
|
|
37
|
+
fragmentRef: fragmentRef,
|
|
38
|
+
paginationMetadata: paginationMetadata,
|
|
39
|
+
paginationRequest: paginationRequest
|
|
40
|
+
}),
|
|
41
|
+
loadPrevious = _useLoadMore[0],
|
|
42
|
+
hasPrevious = _useLoadMore[1],
|
|
43
|
+
isLoadingPrevious = _useLoadMore[2],
|
|
44
|
+
disposeFetchPrevious = _useLoadMore[3];
|
|
69
45
|
var _useLoadMore2 = useLoadMore({
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
disposeFetchNext = _useLoadMore2[3];
|
|
85
|
-
|
|
46
|
+
componentDisplayName: componentDisplayName,
|
|
47
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
48
|
+
direction: 'forward',
|
|
49
|
+
fragmentData: fragmentData,
|
|
50
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
51
|
+
fragmentNode: fragmentNode,
|
|
52
|
+
fragmentRef: fragmentRef,
|
|
53
|
+
paginationMetadata: paginationMetadata,
|
|
54
|
+
paginationRequest: paginationRequest
|
|
55
|
+
}),
|
|
56
|
+
loadNext = _useLoadMore2[0],
|
|
57
|
+
hasNext = _useLoadMore2[1],
|
|
58
|
+
isLoadingNext = _useLoadMore2[2],
|
|
59
|
+
disposeFetchNext = _useLoadMore2[3];
|
|
86
60
|
var refetchPagination = useCallback(function (variables, options) {
|
|
87
61
|
disposeFetchNext();
|
|
88
62
|
disposeFetchPrevious();
|
|
@@ -90,9 +64,7 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
90
64
|
__environment: undefined
|
|
91
65
|
}));
|
|
92
66
|
}, [disposeFetchNext, disposeFetchPrevious, refetch]);
|
|
93
|
-
|
|
94
67
|
if (process.env.NODE_ENV !== "production") {
|
|
95
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
96
68
|
useDebugValue({
|
|
97
69
|
fragment: fragmentNode.name,
|
|
98
70
|
data: fragmentData,
|
|
@@ -102,7 +74,6 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
102
74
|
isLoadingPrevious: isLoadingPrevious
|
|
103
75
|
});
|
|
104
76
|
}
|
|
105
|
-
|
|
106
77
|
return {
|
|
107
78
|
data: fragmentData,
|
|
108
79
|
loadNext: loadNext,
|
|
@@ -114,12 +85,22 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
114
85
|
refetch: refetchPagination
|
|
115
86
|
};
|
|
116
87
|
}
|
|
117
|
-
|
|
118
88
|
function useLoadMore(args) {
|
|
89
|
+
var environment = useRelayEnvironment();
|
|
119
90
|
var _useState = useState(false),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
91
|
+
isLoadingMore = _useState[0],
|
|
92
|
+
reallySetIsLoadingMore = _useState[1];
|
|
93
|
+
var setIsLoadingMore = function setIsLoadingMore(value) {
|
|
94
|
+
var _environment$getSched;
|
|
95
|
+
var schedule = (_environment$getSched = environment.getScheduler()) === null || _environment$getSched === void 0 ? void 0 : _environment$getSched.schedule;
|
|
96
|
+
if (schedule) {
|
|
97
|
+
schedule(function () {
|
|
98
|
+
reallySetIsLoadingMore(value);
|
|
99
|
+
});
|
|
100
|
+
} else {
|
|
101
|
+
reallySetIsLoadingMore(value);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
123
104
|
var observer = {
|
|
124
105
|
start: function start() {
|
|
125
106
|
return setIsLoadingMore(true);
|
|
@@ -131,20 +112,16 @@ function useLoadMore(args) {
|
|
|
131
112
|
return setIsLoadingMore(false);
|
|
132
113
|
}
|
|
133
114
|
};
|
|
134
|
-
|
|
135
115
|
var handleReset = function handleReset() {
|
|
136
116
|
return setIsLoadingMore(false);
|
|
137
117
|
};
|
|
138
|
-
|
|
139
118
|
var _useLoadMoreFunction = useLoadMoreFunction((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, args), {}, {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
119
|
+
observer: observer,
|
|
120
|
+
onReset: handleReset
|
|
121
|
+
})),
|
|
122
|
+
loadMore = _useLoadMoreFunction[0],
|
|
123
|
+
hasMore = _useLoadMoreFunction[1],
|
|
124
|
+
disposeFetch = _useLoadMoreFunction[2];
|
|
147
125
|
return [loadMore, hasMore, isLoadingMore, disposeFetch];
|
|
148
126
|
}
|
|
149
|
-
|
|
150
127
|
module.exports = usePaginationFragment;
|
|
@@ -1,50 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @emails oncall+relay
|
|
9
|
-
* @format
|
|
10
|
-
*/
|
|
11
1
|
'use strict';
|
|
12
2
|
|
|
13
3
|
var _require = require('../loadQuery'),
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
|
|
16
5
|
var useMemoOperationDescriptor = require('../useMemoOperationDescriptor');
|
|
17
|
-
|
|
18
6
|
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
19
|
-
|
|
20
7
|
var getQueryResultOrFetchQuery = require('./getQueryResultOrFetchQuery_REACT_CACHE');
|
|
21
|
-
|
|
22
8
|
var useFragmentInternal = require('./useFragmentInternal_REACT_CACHE');
|
|
23
|
-
|
|
24
9
|
var invariant = require('invariant');
|
|
25
|
-
|
|
26
10
|
var _require2 = require('react'),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
11
|
+
useDebugValue = _require2.useDebugValue,
|
|
12
|
+
useEffect = _require2.useEffect;
|
|
30
13
|
var _require3 = require('relay-runtime'),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
_require3$__internal = _require3.__internal,
|
|
15
|
+
fetchQueryDeduped = _require3$__internal.fetchQueryDeduped,
|
|
16
|
+
fetchQuery = _require3$__internal.fetchQuery;
|
|
35
17
|
var warning = require("fbjs/lib/warning");
|
|
36
|
-
|
|
37
18
|
function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
38
19
|
var environment = useRelayEnvironment();
|
|
39
20
|
useTrackLoadQueryInRender();
|
|
40
21
|
var fetchKey = preloadedQuery.fetchKey,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
fetchPolicy = preloadedQuery.fetchPolicy,
|
|
23
|
+
source = preloadedQuery.source,
|
|
24
|
+
variables = preloadedQuery.variables,
|
|
25
|
+
networkCacheConfig = preloadedQuery.networkCacheConfig;
|
|
45
26
|
var operation = useMemoOperationDescriptor(gqlQuery, variables, networkCacheConfig);
|
|
46
27
|
var fetchObservable;
|
|
47
|
-
|
|
48
28
|
if (preloadedQuery.kind === 'PreloadedQuery_DEPRECATED') {
|
|
49
29
|
!(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
30
|
fetchObservable = fetchQueryDeduped(environment, operation.request.identifier, function () {
|
|
@@ -62,52 +42,31 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
62
42
|
} else {
|
|
63
43
|
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
44
|
var fallbackFetchObservable = fetchQuery(environment, operation);
|
|
65
|
-
|
|
66
45
|
if (source != null && environment === preloadedQuery.environment) {
|
|
67
|
-
// If the source observable exists and the environments match, reuse
|
|
68
|
-
// the source observable.
|
|
69
|
-
// If the source observable happens to be empty, we need to fall back
|
|
70
|
-
// and re-execute and de-dupe the query (at render time).
|
|
71
46
|
fetchObservable = source.ifEmpty(fallbackFetchObservable);
|
|
72
47
|
} else if (environment !== preloadedQuery.environment) {
|
|
73
|
-
// If a call to loadQuery is made with a particular environment, and that
|
|
74
|
-
// preloaded query is passed to usePreloadedQuery in a different environment
|
|
75
|
-
// context, we cannot re-use the existing preloaded query.
|
|
76
|
-
// Instead, we need to fall back and re-execute and de-dupe the query with
|
|
77
|
-
// the new environment (at render time).
|
|
78
|
-
// TODO T68036756 track occurences of this warning and turn it into a hard error
|
|
79
48
|
process.env.NODE_ENV !== "production" ? warning(false, 'usePreloadedQuery(): usePreloadedQuery was passed a preloaded query ' + 'that was created with a different environment than the one that is currently ' + 'in context. In the future, this will become a hard error.') : void 0;
|
|
80
49
|
fetchObservable = fallbackFetchObservable;
|
|
81
50
|
} else {
|
|
82
|
-
// if (source == null)
|
|
83
|
-
// If the source observable does not exist, we need to
|
|
84
|
-
// fall back and re-execute and de-dupe the query (at render time).
|
|
85
51
|
fetchObservable = fallbackFetchObservable;
|
|
86
52
|
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
53
|
+
}
|
|
90
54
|
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.
|
|
100
|
-
|
|
55
|
+
fetchPolicy: fetchPolicy,
|
|
56
|
+
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy,
|
|
57
|
+
fetchKey: fetchKey,
|
|
58
|
+
fetchObservable: fetchObservable
|
|
59
|
+
}),
|
|
60
|
+
queryResult = _getQueryResultOrFetc[0],
|
|
61
|
+
effect = _getQueryResultOrFetc[1];
|
|
62
|
+
useEffect(effect);
|
|
101
63
|
var fragmentNode = queryResult.fragmentNode,
|
|
102
|
-
|
|
103
|
-
|
|
64
|
+
fragmentRef = queryResult.fragmentRef;
|
|
104
65
|
var data = useFragmentInternal(fragmentNode, fragmentRef, 'usePreloadedQuery()', {
|
|
105
66
|
fetchPolicy: fetchPolicy,
|
|
106
67
|
networkCacheConfig: networkCacheConfig
|
|
107
68
|
});
|
|
108
|
-
|
|
109
69
|
if (process.env.NODE_ENV !== "production") {
|
|
110
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
111
70
|
useDebugValue({
|
|
112
71
|
query: preloadedQuery.name,
|
|
113
72
|
variables: preloadedQuery.variables,
|
|
@@ -117,8 +76,6 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
117
76
|
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy
|
|
118
77
|
});
|
|
119
78
|
}
|
|
120
|
-
|
|
121
79
|
return data;
|
|
122
80
|
}
|
|
123
|
-
|
|
124
81
|
module.exports = usePreloadedQuery_REACT_CACHE;
|