UNPKG

2.11 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'use strict';
12
13var getRefetchMetadata = require('./getRefetchMetadata');
14
15var invariant = require("fbjs/lib/invariant");
16
17function getPaginationMetadata(fragmentNode, componentDisplayName) {
18 var _ref, _fragmentNode$metadat;
19
20 var _getRefetchMetadata = getRefetchMetadata(fragmentNode, componentDisplayName),
21 paginationRequest = _getRefetchMetadata.refetchableRequest,
22 fragmentRefPathInResponse = _getRefetchMetadata.fragmentRefPathInResponse,
23 refetchMetadata = _getRefetchMetadata.refetchMetadata;
24
25 var paginationMetadata = refetchMetadata.connection;
26 !(paginationMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getPaginationMetadata(): Expected fragment `%s` to include a ' + 'connection when using `%s`. Did you forget to add a @connection ' + 'directive to the connection field in the fragment?', componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
27 var connectionPathInFragmentData = paginationMetadata.path;
28 var connectionMetadata = ((_ref = (_fragmentNode$metadat = fragmentNode.metadata) === null || _fragmentNode$metadat === void 0 ? void 0 : _fragmentNode$metadat.connection) !== null && _ref !== void 0 ? _ref : [])[0];
29 !(connectionMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getPaginationMetadata(): Expected fragment `%s` to include a ' + 'connection when using `%s`. Did you forget to add a @connection ' + 'directive to the connection field in the fragment?', componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
30 return {
31 connectionPathInFragmentData: connectionPathInFragmentData,
32 fragmentRefPathInResponse: fragmentRefPathInResponse,
33 paginationRequest: paginationRequest,
34 paginationMetadata: paginationMetadata,
35 stream: connectionMetadata.stream === true
36 };
37}
38
39module.exports = getPaginationMetadata;
\No newline at end of file