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,30 +4,24 @@
|
|
|
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 useIsMountedRef = require('./useIsMountedRef');
|
|
18
|
-
|
|
19
17
|
var useRelayEnvironment = require('./useRelayEnvironment');
|
|
20
|
-
|
|
21
18
|
var React = require('react');
|
|
22
|
-
|
|
23
19
|
var _require = require('relay-runtime'),
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
defaultCommitMutation = _require.commitMutation;
|
|
26
21
|
var useState = React.useState,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
useEffect = React.useEffect,
|
|
23
|
+
useRef = React.useRef,
|
|
24
|
+
useCallback = React.useCallback;
|
|
31
25
|
function useMutation(mutation) {
|
|
32
26
|
var commitMutationFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultCommitMutation;
|
|
33
27
|
var environment = useRelayEnvironment();
|
|
@@ -35,15 +29,12 @@ function useMutation(mutation) {
|
|
|
35
29
|
var environmentRef = useRef(environment);
|
|
36
30
|
var mutationRef = useRef(mutation);
|
|
37
31
|
var inFlightMutationsRef = useRef(new Set());
|
|
38
|
-
|
|
39
32
|
var _useState = useState(false),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
isMutationInFlight = _useState[0],
|
|
34
|
+
setMutationInFlight = _useState[1];
|
|
43
35
|
var cleanup = useCallback(function (disposable) {
|
|
44
36
|
if (environmentRef.current === environment && mutationRef.current === mutation) {
|
|
45
37
|
inFlightMutationsRef.current["delete"](disposable);
|
|
46
|
-
|
|
47
38
|
if (isMountedRef.current) {
|
|
48
39
|
setMutationInFlight(inFlightMutationsRef.current.size > 0);
|
|
49
40
|
}
|
|
@@ -52,11 +43,9 @@ function useMutation(mutation) {
|
|
|
52
43
|
useEffect(function () {
|
|
53
44
|
if (environmentRef.current !== environment || mutationRef.current !== mutation) {
|
|
54
45
|
inFlightMutationsRef.current = new Set();
|
|
55
|
-
|
|
56
46
|
if (isMountedRef.current) {
|
|
57
47
|
setMutationInFlight(false);
|
|
58
48
|
}
|
|
59
|
-
|
|
60
49
|
environmentRef.current = environment;
|
|
61
50
|
mutationRef.current = mutation;
|
|
62
51
|
}
|
|
@@ -65,30 +54,25 @@ function useMutation(mutation) {
|
|
|
65
54
|
if (isMountedRef.current) {
|
|
66
55
|
setMutationInFlight(true);
|
|
67
56
|
}
|
|
68
|
-
|
|
69
57
|
var disposable = commitMutationFn(environment, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, config), {}, {
|
|
70
58
|
mutation: mutation,
|
|
71
59
|
onCompleted: function onCompleted(response, errors) {
|
|
72
60
|
var _config$onCompleted;
|
|
73
|
-
|
|
74
61
|
cleanup(disposable);
|
|
75
62
|
(_config$onCompleted = config.onCompleted) === null || _config$onCompleted === void 0 ? void 0 : _config$onCompleted.call(config, response, errors);
|
|
76
63
|
},
|
|
77
64
|
onError: function onError(error) {
|
|
78
65
|
var _config$onError;
|
|
79
|
-
|
|
80
66
|
cleanup(disposable);
|
|
81
67
|
(_config$onError = config.onError) === null || _config$onError === void 0 ? void 0 : _config$onError.call(config, error);
|
|
82
68
|
},
|
|
83
69
|
onUnsubscribe: function onUnsubscribe() {
|
|
84
70
|
var _config$onUnsubscribe;
|
|
85
|
-
|
|
86
71
|
cleanup(disposable);
|
|
87
72
|
(_config$onUnsubscribe = config.onUnsubscribe) === null || _config$onUnsubscribe === void 0 ? void 0 : _config$onUnsubscribe.call(config);
|
|
88
73
|
},
|
|
89
74
|
onNext: function onNext() {
|
|
90
75
|
var _config$onNext;
|
|
91
|
-
|
|
92
76
|
(_config$onNext = config.onNext) === null || _config$onNext === void 0 ? void 0 : _config$onNext.call(config);
|
|
93
77
|
}
|
|
94
78
|
}));
|
|
@@ -97,5 +81,4 @@ function useMutation(mutation) {
|
|
|
97
81
|
}, [cleanup, commitMutationFn, environment, isMountedRef, mutation]);
|
|
98
82
|
return [commit, isMutationInFlight];
|
|
99
83
|
}
|
|
100
|
-
|
|
101
84
|
module.exports = useMutation;
|
|
@@ -4,87 +4,82 @@
|
|
|
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 HooksImplementation = require('./HooksImplementation');
|
|
18
|
-
|
|
19
17
|
var useLoadMoreFunction = require('./useLoadMoreFunction');
|
|
20
|
-
|
|
21
18
|
var useRefetchableFragmentNode = require('./useRefetchableFragmentNode');
|
|
22
|
-
|
|
23
19
|
var useStaticFragmentNodeWarning = require('./useStaticFragmentNodeWarning');
|
|
24
|
-
|
|
25
20
|
var _require = require('react'),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
useCallback = _require.useCallback,
|
|
22
|
+
useDebugValue = _require.useDebugValue,
|
|
23
|
+
useState = _require.useState;
|
|
30
24
|
var _require2 = require('relay-runtime'),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
getFragment = _require2.getFragment,
|
|
26
|
+
getFragmentIdentifier = _require2.getFragmentIdentifier,
|
|
27
|
+
getPaginationMetadata = _require2.getPaginationMetadata;
|
|
28
|
+
|
|
29
|
+
// This separate type export is only needed as long as we are injecting
|
|
30
|
+
// a separate hooks implementation in ./HooksImplementation -- it can
|
|
31
|
+
// be removed after we stop doing that.
|
|
34
32
|
|
|
35
33
|
function usePaginationFragment_LEGACY(fragmentInput, parentFragmentRef) {
|
|
36
34
|
var fragmentNode = getFragment(fragmentInput);
|
|
37
35
|
useStaticFragmentNodeWarning(fragmentNode, 'first argument of usePaginationFragment()');
|
|
38
36
|
var componentDisplayName = 'usePaginationFragment()';
|
|
39
|
-
|
|
40
37
|
var _getPaginationMetadat = getPaginationMetadata(fragmentNode, componentDisplayName),
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
connectionPathInFragmentData = _getPaginationMetadat.connectionPathInFragmentData,
|
|
39
|
+
paginationRequest = _getPaginationMetadat.paginationRequest,
|
|
40
|
+
paginationMetadata = _getPaginationMetadat.paginationMetadata,
|
|
41
|
+
identifierField = _getPaginationMetadat.identifierField;
|
|
46
42
|
var _useRefetchableFragme = useRefetchableFragmentNode(fragmentNode, parentFragmentRef, componentDisplayName),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef); // Backward pagination
|
|
43
|
+
fragmentData = _useRefetchableFragme.fragmentData,
|
|
44
|
+
fragmentRef = _useRefetchableFragme.fragmentRef,
|
|
45
|
+
refetch = _useRefetchableFragme.refetch;
|
|
46
|
+
var fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef);
|
|
52
47
|
|
|
48
|
+
// Backward pagination
|
|
53
49
|
var _useLoadMore = useLoadMore({
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
componentDisplayName: componentDisplayName,
|
|
51
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
52
|
+
direction: 'backward',
|
|
53
|
+
fragmentData: fragmentData,
|
|
54
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
55
|
+
fragmentNode: fragmentNode,
|
|
56
|
+
fragmentRef: fragmentRef,
|
|
57
|
+
identifierField: identifierField,
|
|
58
|
+
paginationMetadata: paginationMetadata,
|
|
59
|
+
paginationRequest: paginationRequest
|
|
60
|
+
}),
|
|
61
|
+
loadPrevious = _useLoadMore[0],
|
|
62
|
+
hasPrevious = _useLoadMore[1],
|
|
63
|
+
isLoadingPrevious = _useLoadMore[2],
|
|
64
|
+
disposeFetchPrevious = _useLoadMore[3];
|
|
65
|
+
|
|
66
|
+
// Forward pagination
|
|
71
67
|
var _useLoadMore2 = useLoadMore({
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
68
|
+
componentDisplayName: componentDisplayName,
|
|
69
|
+
connectionPathInFragmentData: connectionPathInFragmentData,
|
|
70
|
+
direction: 'forward',
|
|
71
|
+
fragmentData: fragmentData,
|
|
72
|
+
fragmentIdentifier: fragmentIdentifier,
|
|
73
|
+
fragmentNode: fragmentNode,
|
|
74
|
+
fragmentRef: fragmentRef,
|
|
75
|
+
identifierField: identifierField,
|
|
76
|
+
paginationMetadata: paginationMetadata,
|
|
77
|
+
paginationRequest: paginationRequest
|
|
78
|
+
}),
|
|
79
|
+
loadNext = _useLoadMore2[0],
|
|
80
|
+
hasNext = _useLoadMore2[1],
|
|
81
|
+
isLoadingNext = _useLoadMore2[2],
|
|
82
|
+
disposeFetchNext = _useLoadMore2[3];
|
|
88
83
|
var refetchPagination = useCallback(function (variables, options) {
|
|
89
84
|
disposeFetchNext();
|
|
90
85
|
disposeFetchPrevious();
|
|
@@ -92,7 +87,6 @@ function usePaginationFragment_LEGACY(fragmentInput, parentFragmentRef) {
|
|
|
92
87
|
__environment: undefined
|
|
93
88
|
}));
|
|
94
89
|
}, [disposeFetchNext, disposeFetchPrevious, refetch]);
|
|
95
|
-
|
|
96
90
|
if (process.env.NODE_ENV !== "production") {
|
|
97
91
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
98
92
|
useDebugValue({
|
|
@@ -104,7 +98,6 @@ function usePaginationFragment_LEGACY(fragmentInput, parentFragmentRef) {
|
|
|
104
98
|
isLoadingPrevious: isLoadingPrevious
|
|
105
99
|
});
|
|
106
100
|
}
|
|
107
|
-
|
|
108
101
|
return {
|
|
109
102
|
data: fragmentData,
|
|
110
103
|
loadNext: loadNext,
|
|
@@ -116,12 +109,10 @@ function usePaginationFragment_LEGACY(fragmentInput, parentFragmentRef) {
|
|
|
116
109
|
refetch: refetchPagination
|
|
117
110
|
};
|
|
118
111
|
}
|
|
119
|
-
|
|
120
112
|
function useLoadMore(args) {
|
|
121
113
|
var _useState = useState(false),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
114
|
+
isLoadingMore = _useState[0],
|
|
115
|
+
setIsLoadingMore = _useState[1];
|
|
125
116
|
var observer = {
|
|
126
117
|
start: function start() {
|
|
127
118
|
return setIsLoadingMore(true);
|
|
@@ -133,25 +124,20 @@ function useLoadMore(args) {
|
|
|
133
124
|
return setIsLoadingMore(false);
|
|
134
125
|
}
|
|
135
126
|
};
|
|
136
|
-
|
|
137
127
|
var handleReset = function handleReset() {
|
|
138
128
|
return setIsLoadingMore(false);
|
|
139
129
|
};
|
|
140
|
-
|
|
141
130
|
var _useLoadMoreFunction = useLoadMoreFunction((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, args), {}, {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
131
|
+
observer: observer,
|
|
132
|
+
onReset: handleReset
|
|
133
|
+
})),
|
|
134
|
+
loadMore = _useLoadMoreFunction[0],
|
|
135
|
+
hasMore = _useLoadMoreFunction[1],
|
|
136
|
+
disposeFetch = _useLoadMoreFunction[2];
|
|
149
137
|
return [loadMore, hasMore, isLoadingMore, disposeFetch];
|
|
150
138
|
}
|
|
151
|
-
|
|
152
139
|
function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
153
140
|
var impl = HooksImplementation.get();
|
|
154
|
-
|
|
155
141
|
if (impl) {
|
|
156
142
|
return impl.usePaginationFragment(fragmentInput, parentFragmentRef);
|
|
157
143
|
} else {
|
|
@@ -159,5 +145,4 @@ function usePaginationFragment(fragmentInput, parentFragmentRef) {
|
|
|
159
145
|
return usePaginationFragment_LEGACY(fragmentInput, parentFragmentRef);
|
|
160
146
|
}
|
|
161
147
|
}
|
|
162
|
-
|
|
163
148
|
module.exports = usePaginationFragment;
|
|
@@ -4,49 +4,38 @@
|
|
|
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 _require = require('./loadQuery'),
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
|
|
16
16
|
var useLazyLoadQueryNode = require('./useLazyLoadQueryNode');
|
|
17
|
-
|
|
18
17
|
var useMemoOperationDescriptor = require('./useMemoOperationDescriptor');
|
|
19
|
-
|
|
20
18
|
var useRelayEnvironment = require('./useRelayEnvironment');
|
|
21
|
-
|
|
22
19
|
var invariant = require('invariant');
|
|
23
|
-
|
|
24
20
|
var _require2 = require('react'),
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
useDebugValue = _require2.useDebugValue;
|
|
27
22
|
var _require3 = require('relay-runtime'),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var warning = require("fbjs/lib/warning"); // This separate type export is only needed as long as we are injecting
|
|
33
|
-
// a separate hooks implementation in ./HooksImplementation -- it can
|
|
34
|
-
// be removed after we stop doing that.
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
_require3$__internal = _require3.__internal,
|
|
24
|
+
fetchQueryDeduped = _require3$__internal.fetchQueryDeduped,
|
|
25
|
+
fetchQuery = _require3$__internal.fetchQuery;
|
|
26
|
+
var warning = require("fbjs/lib/warning");
|
|
37
27
|
function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
|
|
38
28
|
// We need to use this hook in order to be able to track if
|
|
39
29
|
// loadQuery was called during render
|
|
40
30
|
useTrackLoadQueryInRender();
|
|
41
31
|
var environment = useRelayEnvironment();
|
|
42
32
|
var fetchKey = preloadedQuery.fetchKey,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
fetchPolicy = preloadedQuery.fetchPolicy,
|
|
34
|
+
source = preloadedQuery.source,
|
|
35
|
+
variables = preloadedQuery.variables,
|
|
36
|
+
networkCacheConfig = preloadedQuery.networkCacheConfig;
|
|
47
37
|
var operation = useMemoOperationDescriptor(gqlQuery, variables, networkCacheConfig);
|
|
48
38
|
var useLazyLoadQueryNodeParams;
|
|
49
|
-
|
|
50
39
|
if (preloadedQuery.kind === 'PreloadedQuery_DEPRECATED') {
|
|
51
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;
|
|
52
41
|
useLazyLoadQueryNodeParams = {
|
|
@@ -72,7 +61,6 @@ function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
|
|
|
72
61
|
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;
|
|
73
62
|
var fallbackFetchObservable = fetchQuery(environment, operation);
|
|
74
63
|
var fetchObservable;
|
|
75
|
-
|
|
76
64
|
if (source != null && environment === preloadedQuery.environment) {
|
|
77
65
|
// If the source observable exists and the environments match, reuse
|
|
78
66
|
// the source observable.
|
|
@@ -94,7 +82,6 @@ function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
|
|
|
94
82
|
// fall back and re-execute and de-dupe the query (at render time).
|
|
95
83
|
fetchObservable = fallbackFetchObservable;
|
|
96
84
|
}
|
|
97
|
-
|
|
98
85
|
useLazyLoadQueryNodeParams = {
|
|
99
86
|
componentDisplayName: 'usePreloadedQuery()',
|
|
100
87
|
fetchObservable: fetchObservable,
|
|
@@ -104,9 +91,7 @@ function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
|
|
|
104
91
|
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy
|
|
105
92
|
};
|
|
106
93
|
}
|
|
107
|
-
|
|
108
94
|
var data = useLazyLoadQueryNode(useLazyLoadQueryNodeParams);
|
|
109
|
-
|
|
110
95
|
if (process.env.NODE_ENV !== "production") {
|
|
111
96
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
112
97
|
useDebugValue({
|
|
@@ -118,8 +103,6 @@ function usePreloadedQuery(gqlQuery, preloadedQuery, options) {
|
|
|
118
103
|
renderPolicy: options === null || options === void 0 ? void 0 : options.UNSTABLE_renderPolicy
|
|
119
104
|
});
|
|
120
105
|
}
|
|
121
|
-
|
|
122
106
|
return data;
|
|
123
107
|
}
|
|
124
|
-
|
|
125
108
|
module.exports = usePreloadedQuery;
|
|
@@ -4,46 +4,37 @@
|
|
|
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 _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
16
|
-
|
|
17
16
|
var _require = require('./loadQuery'),
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
loadQuery = _require.loadQuery,
|
|
18
|
+
useTrackLoadQueryInRender = _require.useTrackLoadQueryInRender;
|
|
21
19
|
var useIsMountedRef = require('./useIsMountedRef');
|
|
22
|
-
|
|
23
20
|
var useRelayEnvironment = require('./useRelayEnvironment');
|
|
24
|
-
|
|
25
21
|
var _require2 = require('react'),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
useCallback = _require2.useCallback,
|
|
23
|
+
useEffect = _require2.useEffect,
|
|
24
|
+
useRef = _require2.useRef,
|
|
25
|
+
useState = _require2.useState;
|
|
31
26
|
var _require3 = require('relay-runtime'),
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
getRequest = _require3.getRequest;
|
|
34
28
|
var initialNullQueryReferenceState = {
|
|
35
29
|
kind: 'NullQueryReference'
|
|
36
30
|
};
|
|
37
|
-
|
|
38
31
|
function requestIsLiveQuery(preloadableRequest) {
|
|
39
32
|
if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
|
|
40
33
|
return preloadableRequest.params.metadata.live !== undefined;
|
|
41
34
|
}
|
|
42
|
-
|
|
43
35
|
var request = getRequest(preloadableRequest);
|
|
44
36
|
return request.params.metadata.live !== undefined;
|
|
45
37
|
}
|
|
46
|
-
|
|
47
38
|
function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
48
39
|
/**
|
|
49
40
|
* We want to always call `queryReference.dispose()` for every call to
|
|
@@ -64,24 +55,22 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
64
55
|
* Finally, when the hook unmounts, we also dispose of all remaining uncommitted
|
|
65
56
|
* query references.
|
|
66
57
|
*/
|
|
58
|
+
|
|
67
59
|
var initialQueryReferenceInternal = initialQueryReference !== null && initialQueryReference !== void 0 ? initialQueryReference : initialNullQueryReferenceState;
|
|
68
60
|
var environment = useRelayEnvironment();
|
|
69
61
|
useTrackLoadQueryInRender();
|
|
70
62
|
var isMountedRef = useIsMountedRef();
|
|
71
63
|
var undisposedQueryReferencesRef = useRef(new Set([initialQueryReferenceInternal]));
|
|
72
|
-
|
|
73
64
|
var _useState = useState(function () {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
65
|
+
return initialQueryReferenceInternal;
|
|
66
|
+
}),
|
|
67
|
+
queryReference = _useState[0],
|
|
68
|
+
setQueryReference = _useState[1];
|
|
79
69
|
var _useState2 = useState(function () {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
70
|
+
return initialQueryReferenceInternal;
|
|
71
|
+
}),
|
|
72
|
+
previousInitialQueryReference = _useState2[0],
|
|
73
|
+
setPreviousInitialQueryReference = _useState2[1];
|
|
85
74
|
if (initialQueryReferenceInternal !== previousInitialQueryReference) {
|
|
86
75
|
// Rendering the query reference makes it "managed" by this hook, so
|
|
87
76
|
// we start keeping track of it so we can dispose it when it is no longer
|
|
@@ -92,7 +81,6 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
92
81
|
setPreviousInitialQueryReference(initialQueryReferenceInternal);
|
|
93
82
|
setQueryReference(initialQueryReferenceInternal);
|
|
94
83
|
}
|
|
95
|
-
|
|
96
84
|
var disposeQuery = useCallback(function () {
|
|
97
85
|
if (isMountedRef.current) {
|
|
98
86
|
undisposedQueryReferencesRef.current.add(initialNullQueryReferenceState);
|
|
@@ -105,10 +93,8 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
105
93
|
networkCacheConfig: options.networkCacheConfig,
|
|
106
94
|
__nameForWarning: options.__nameForWarning
|
|
107
95
|
} : options;
|
|
108
|
-
|
|
109
96
|
if (isMountedRef.current) {
|
|
110
97
|
var _options$__environmen;
|
|
111
|
-
|
|
112
98
|
var updatedQueryReference = loadQuery((_options$__environmen = options === null || options === void 0 ? void 0 : options.__environment) !== null && _options$__environmen !== void 0 ? _options$__environmen : environment, preloadableRequest, variables, mergedOptions);
|
|
113
99
|
undisposedQueryReferencesRef.current.add(updatedQueryReference);
|
|
114
100
|
setQueryReference(updatedQueryReference);
|
|
@@ -139,16 +125,16 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
139
125
|
// so that the queryReference is correctly re-retained, and
|
|
140
126
|
// potentially refetched if necessary.
|
|
141
127
|
maybeHiddenOrFastRefresh.current = false;
|
|
142
|
-
|
|
143
128
|
if (queryReference.kind !== 'NullQueryReference') {
|
|
144
129
|
queryLoaderCallback(queryReference.variables, {
|
|
145
130
|
fetchPolicy: queryReference.fetchPolicy,
|
|
146
131
|
networkCacheConfig: queryReference.networkCacheConfig
|
|
147
132
|
});
|
|
148
133
|
}
|
|
149
|
-
|
|
150
134
|
return;
|
|
151
|
-
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// When a new queryReference is committed, we iterate over all
|
|
152
138
|
// query references in undisposedQueryReferences and dispose all of
|
|
153
139
|
// the refs that aren't the currently committed one. This ensures
|
|
154
140
|
// that we don't leave any dangling query references for the
|
|
@@ -167,24 +153,17 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
167
153
|
// associated with updates that were scheduled prior to the currently
|
|
168
154
|
// committing state change. (A useEffect callback is called during the commit
|
|
169
155
|
// phase.)
|
|
170
|
-
|
|
171
|
-
|
|
172
156
|
var undisposedQueryReferences = undisposedQueryReferencesRef.current;
|
|
173
|
-
|
|
174
157
|
if (isMountedRef.current) {
|
|
175
158
|
var _iterator = (0, _createForOfIteratorHelper2["default"])(undisposedQueryReferences),
|
|
176
|
-
|
|
177
|
-
|
|
159
|
+
_step;
|
|
178
160
|
try {
|
|
179
161
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
180
162
|
var undisposedQueryReference = _step.value;
|
|
181
|
-
|
|
182
163
|
if (undisposedQueryReference === queryReference) {
|
|
183
164
|
break;
|
|
184
165
|
}
|
|
185
|
-
|
|
186
166
|
undisposedQueryReferences["delete"](undisposedQueryReference);
|
|
187
|
-
|
|
188
167
|
if (undisposedQueryReference.kind !== 'NullQueryReference') {
|
|
189
168
|
if (requestIsLiveQuery(preloadableRequest)) {
|
|
190
169
|
undisposedQueryReference.dispose && undisposedQueryReference.dispose();
|
|
@@ -205,12 +184,10 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
205
184
|
// undisposedQueryReferences.current is never reassigned
|
|
206
185
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
207
186
|
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(undisposedQueryReferencesRef.current),
|
|
208
|
-
|
|
209
|
-
|
|
187
|
+
_step2;
|
|
210
188
|
try {
|
|
211
189
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
212
190
|
var undisposedQueryReference = _step2.value;
|
|
213
|
-
|
|
214
191
|
if (undisposedQueryReference.kind !== 'NullQueryReference') {
|
|
215
192
|
if (requestIsLiveQuery(preloadableRequest)) {
|
|
216
193
|
undisposedQueryReference.dispose && undisposedQueryReference.dispose();
|
|
@@ -228,5 +205,4 @@ function useQueryLoader(preloadableRequest, initialQueryReference) {
|
|
|
228
205
|
}, [preloadableRequest]);
|
|
229
206
|
return [queryReference.kind === 'NullQueryReference' ? null : queryReference, queryLoaderCallback, disposeQuery];
|
|
230
207
|
}
|
|
231
|
-
|
|
232
208
|
module.exports = useQueryLoader;
|
|
@@ -4,32 +4,26 @@
|
|
|
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 HooksImplementation = require('./HooksImplementation');
|
|
14
|
-
|
|
15
15
|
var useRefetchableFragmentNode = require('./useRefetchableFragmentNode');
|
|
16
|
-
|
|
17
16
|
var useStaticFragmentNodeWarning = require('./useStaticFragmentNodeWarning');
|
|
18
|
-
|
|
19
17
|
var _require = require('react'),
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
useDebugValue = _require.useDebugValue;
|
|
22
19
|
var _require2 = require('relay-runtime'),
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
getFragment = _require2.getFragment;
|
|
25
21
|
function useRefetchableFragment_LEGACY(fragmentInput, fragmentRef) {
|
|
26
22
|
var fragmentNode = getFragment(fragmentInput);
|
|
27
23
|
useStaticFragmentNodeWarning(fragmentNode, 'first argument of useRefetchableFragment()');
|
|
28
|
-
|
|
29
24
|
var _useRefetchableFragme = useRefetchableFragmentNode(fragmentNode, fragmentRef, 'useRefetchableFragment()'),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
fragmentData = _useRefetchableFragme.fragmentData,
|
|
26
|
+
refetch = _useRefetchableFragme.refetch;
|
|
33
27
|
if (process.env.NODE_ENV !== "production") {
|
|
34
28
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
35
29
|
useDebugValue({
|
|
@@ -37,16 +31,13 @@ function useRefetchableFragment_LEGACY(fragmentInput, fragmentRef) {
|
|
|
37
31
|
data: fragmentData
|
|
38
32
|
});
|
|
39
33
|
}
|
|
40
|
-
/* $FlowExpectedError[prop-missing] : Exposed options is a subset of internal
|
|
41
|
-
* options */
|
|
42
|
-
|
|
43
34
|
|
|
35
|
+
// $FlowFixMe[incompatible-return]
|
|
36
|
+
// $FlowFixMe[prop-missing]
|
|
44
37
|
return [fragmentData, refetch];
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
function useRefetchableFragment(fragmentInput, parentFragmentRef) {
|
|
48
40
|
var impl = HooksImplementation.get();
|
|
49
|
-
|
|
50
41
|
if (impl) {
|
|
51
42
|
return impl.useRefetchableFragment(fragmentInput, parentFragmentRef);
|
|
52
43
|
} else {
|
|
@@ -54,5 +45,4 @@ function useRefetchableFragment(fragmentInput, parentFragmentRef) {
|
|
|
54
45
|
return useRefetchableFragment_LEGACY(fragmentInput, parentFragmentRef);
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
|
-
|
|
58
48
|
module.exports = useRefetchableFragment;
|