UNPKG

2.62 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 _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
15var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
17var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
18
19var invariant = require("fbjs/lib/invariant");
20
21function getPaginationVariables(direction, count, cursor, baseVariables, paginationMetadata) {
22 var _objectSpread3;
23
24 var backwardMetadata = paginationMetadata.backward,
25 forwardMetadata = paginationMetadata.forward;
26
27 if (direction === 'backward') {
28 var _objectSpread2;
29
30 !(backwardMetadata != null && backwardMetadata.count != null && backwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected backward pagination metadata to be avialable. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
31
32 var _paginationVariables = (0, _objectSpread4["default"])({}, baseVariables, (_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, backwardMetadata.cursor, cursor), (0, _defineProperty2["default"])(_objectSpread2, backwardMetadata.count, count), _objectSpread2));
33
34 if (forwardMetadata && forwardMetadata.cursor) {
35 _paginationVariables[forwardMetadata.cursor] = null;
36 }
37
38 if (forwardMetadata && forwardMetadata.count) {
39 _paginationVariables[forwardMetadata.count] = null;
40 }
41
42 return _paginationVariables;
43 }
44
45 !(forwardMetadata != null && forwardMetadata.count != null && forwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected forward pagination metadata to be avialable. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
46 var paginationVariables = (0, _objectSpread4["default"])({}, baseVariables, (_objectSpread3 = {}, (0, _defineProperty2["default"])(_objectSpread3, forwardMetadata.cursor, cursor), (0, _defineProperty2["default"])(_objectSpread3, forwardMetadata.count, count), _objectSpread3));
47
48 if (backwardMetadata && backwardMetadata.cursor) {
49 paginationVariables[backwardMetadata.cursor] = null;
50 }
51
52 if (backwardMetadata && backwardMetadata.count) {
53 paginationVariables[backwardMetadata.count] = null;
54 }
55
56 return paginationVariables;
57}
58
59module.exports = getPaginationVariables;
\No newline at end of file