UNPKG

1.4 kBJavaScriptView Raw
1/**
2 * Copyright (c) Facebook, Inc. and its 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// flowlint ambiguous-object-type:error
12'use strict';
13
14var useRefetchableFragmentNode = require('./useRefetchableFragmentNode');
15
16var useStaticFragmentNodeWarning = require('./useStaticFragmentNodeWarning');
17
18var _require = require('react'),
19 useDebugValue = _require.useDebugValue;
20
21var _require2 = require('relay-runtime'),
22 getFragment = _require2.getFragment;
23
24function useRefetchableFragment(fragmentInput, fragmentRef) {
25 var fragmentNode = getFragment(fragmentInput);
26 useStaticFragmentNodeWarning(fragmentNode, 'first argument of useRefetchableFragment()');
27
28 var _useRefetchableFragme = useRefetchableFragmentNode(fragmentNode, fragmentRef, 'useRefetchableFragment()'),
29 fragmentData = _useRefetchableFragme.fragmentData,
30 refetch = _useRefetchableFragme.refetch;
31
32 if (process.env.NODE_ENV !== "production") {
33 // eslint-disable-next-line react-hooks/rules-of-hooks
34 useDebugValue({
35 fragment: fragmentNode.name,
36 data: fragmentData
37 });
38 }
39 /* $FlowExpectedError[prop-missing] : Exposed options is a subset of internal
40 * options */
41
42
43 return [fragmentData, refetch];
44}
45
46module.exports = useRefetchableFragment;
\No newline at end of file