react-relay 0.0.0-main-1decb243 → 0.0.0-main-c52ed92a
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/ReactRelayContext.js +1 -1
- package/buildReactRelayContainer.js.flow +3 -3
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/legacy.js +1 -1
- package/lib/ReactRelayContainerUtils.js +3 -3
- package/lib/ReactRelayContext.js +3 -3
- package/lib/ReactRelayFragmentContainer.js +7 -7
- package/lib/ReactRelayFragmentMockRenderer.js +3 -3
- package/lib/ReactRelayLocalQueryRenderer.js +5 -5
- package/lib/ReactRelayPaginationContainer.js +31 -31
- package/lib/ReactRelayQueryFetcher.js +9 -9
- package/lib/ReactRelayQueryRenderer.js +10 -10
- package/lib/ReactRelayQueryRendererContext.js +2 -2
- package/lib/ReactRelayRefetchContainer.js +13 -13
- package/lib/ReactRelayTestMocker.js +12 -12
- package/lib/ReactRelayTypes.js +1 -1
- package/lib/RelayContext.js +5 -5
- package/lib/assertFragmentMap.js +4 -4
- package/lib/buildReactRelayContainer.js +9 -9
- package/lib/getRootVariablesForFragments.js +3 -3
- package/lib/hooks.js +18 -18
- package/lib/index.js +25 -25
- package/lib/isRelayEnvironment.js +2 -2
- package/lib/jest-react/enqueueTask.js +5 -5
- package/lib/jest-react/internalAct.js +7 -7
- package/lib/legacy.js +8 -8
- package/lib/multi-actor/ActorChange.js +4 -4
- package/lib/multi-actor/index.js +1 -1
- package/lib/multi-actor/useRelayActorEnvironment.js +6 -6
- package/lib/relay-hooks/EntryPointContainer.react.js +7 -7
- package/lib/relay-hooks/EntryPointTypes.flow.js +1 -1
- package/lib/relay-hooks/FragmentResource.js +33 -33
- package/lib/relay-hooks/HooksImplementation.js +2 -2
- package/lib/relay-hooks/InternalLogger.js +1 -1
- package/lib/relay-hooks/LRUCache.js +3 -3
- package/lib/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js +9 -9
- package/lib/relay-hooks/MatchContainer.js +5 -5
- package/lib/relay-hooks/NestedRelayEntryPointBuilderUtils.js +1 -1
- package/lib/relay-hooks/ProfilerContext.js +2 -2
- package/lib/relay-hooks/QueryResource.js +20 -20
- package/lib/relay-hooks/RelayEnvironmentProvider.js +3 -3
- package/lib/relay-hooks/SuspenseResource.js +3 -3
- package/lib/relay-hooks/loadEntryPoint.js +3 -3
- package/lib/relay-hooks/loadQuery.js +13 -13
- package/lib/relay-hooks/preloadQuery_DEPRECATED.js +18 -18
- package/lib/relay-hooks/prepareEntryPoint_DEPRECATED.js +2 -2
- package/lib/relay-hooks/react-cache/RelayReactCache.js +6 -6
- package/lib/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js +35 -35
- package/lib/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +23 -23
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +63 -41
- package/lib/relay-hooks/react-cache/useFragment_REACT_CACHE.js +8 -8
- package/lib/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +8 -8
- package/lib/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js +11 -11
- package/lib/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +14 -14
- package/lib/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +31 -31
- package/lib/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +7 -7
- package/lib/relay-hooks/useBlockingPaginationFragment.js +11 -11
- package/lib/relay-hooks/useClientQuery.js +3 -3
- package/lib/relay-hooks/useEntryPointLoader.js +11 -11
- package/lib/relay-hooks/useFetchTrackingRef.js +3 -3
- package/lib/relay-hooks/useFragment.js +9 -9
- package/lib/relay-hooks/useFragmentNode.js +7 -7
- package/lib/relay-hooks/useIsMountedRef.js +2 -2
- package/lib/relay-hooks/useIsOperationNodeActive.js +6 -6
- package/lib/relay-hooks/useIsParentQueryActive.js +5 -5
- package/lib/relay-hooks/useLazyLoadQuery.js +7 -7
- package/lib/relay-hooks/useLazyLoadQueryNode.js +8 -8
- package/lib/relay-hooks/useLoadMoreFunction.js +20 -20
- package/lib/relay-hooks/useMemoOperationDescriptor.js +4 -4
- package/lib/relay-hooks/useMemoVariables.js +2 -2
- package/lib/relay-hooks/useMutation.js +5 -5
- package/lib/relay-hooks/usePaginationFragment.js +11 -11
- package/lib/relay-hooks/usePreloadedQuery.js +14 -14
- package/lib/relay-hooks/useQueryLoader.js +13 -13
- package/lib/relay-hooks/useRefetchableFragment.js +8 -8
- package/lib/relay-hooks/useRefetchableFragmentNode.js +31 -31
- package/lib/relay-hooks/useRelayEnvironment.js +5 -5
- package/lib/relay-hooks/useStaticFragmentNodeWarning.js +3 -3
- package/lib/relay-hooks/useSubscribeToInvalidationState.js +4 -4
- package/lib/relay-hooks/useSubscription.js +4 -4
- package/lib/relay-hooks/useUnsafeRef_DEPRECATED.js +2 -2
- package/package.json +2 -2
- package/react-relay-hooks.js +1 -1
- package/react-relay-hooks.min.js +1 -1
- package/react-relay-legacy.js +1 -1
- package/react-relay-legacy.min.js +1 -1
- package/react-relay.js +1 -1
- package/react-relay.min.js +1 -1
- package/relay-hooks/EntryPointContainer.react.js.flow +5 -0
- package/relay-hooks/EntryPointTypes.flow.js.flow +8 -3
- package/relay-hooks/loadQuery.js.flow +21 -1
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +22 -2
- package/relay-hooks/useQueryLoader.js.flow +1 -1
package/ReactRelayContext.js
CHANGED
|
@@ -54,7 +54,9 @@ function buildReactRelayContainer<TBase: React$ComponentType<any>>(
|
|
|
54
54
|
|
|
55
55
|
function forwardRef(
|
|
56
56
|
props: any,
|
|
57
|
-
ref:
|
|
57
|
+
ref:
|
|
58
|
+
| ((null | React$ElementRef<TBase>) => mixed)
|
|
59
|
+
| {-current: null | React$ElementRef<TBase>, ...},
|
|
58
60
|
) {
|
|
59
61
|
const context = useContext(ReactRelayContext);
|
|
60
62
|
invariant(
|
|
@@ -78,8 +80,6 @@ function buildReactRelayContainer<TBase: React$ComponentType<any>>(
|
|
|
78
80
|
);
|
|
79
81
|
}
|
|
80
82
|
forwardRef.displayName = containerName;
|
|
81
|
-
/* $FlowFixMe[incompatible-call] (site=www) Error found while fixing forwardRef and
|
|
82
|
-
* TRefFor types */
|
|
83
83
|
const ForwardContainer = React.forwardRef(forwardRef);
|
|
84
84
|
|
|
85
85
|
if (__DEV__) {
|
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
function getComponentName(component) {
|
|
4
|
-
return component.displayName || component.name ||
|
|
4
|
+
return component.displayName || component.name || 'Component';
|
|
5
5
|
}
|
|
6
6
|
function getContainerName(Component) {
|
|
7
|
-
return
|
|
7
|
+
return 'Relay(' + getComponentName(Component) + ')';
|
|
8
8
|
}
|
|
9
9
|
module.exports = {
|
|
10
10
|
getComponentName: getComponentName,
|
package/lib/ReactRelayContext.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var React = require(
|
|
4
|
-
var _require = require(
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var _require = require('relay-runtime'),
|
|
5
5
|
createRelayContext = _require.__internal.createRelayContext;
|
|
6
6
|
module.exports = createRelayContext(React);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -7,14 +7,14 @@ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
7
7
|
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _excluded = ["componentRef", "__relayContext", "__rootIsQueryRenderer"];
|
|
10
|
-
var buildReactRelayContainer = require(
|
|
11
|
-
var _require = require(
|
|
10
|
+
var buildReactRelayContainer = require('./buildReactRelayContainer');
|
|
11
|
+
var _require = require('./ReactRelayContainerUtils'),
|
|
12
12
|
getContainerName = _require.getContainerName;
|
|
13
|
-
var _require2 = require(
|
|
13
|
+
var _require2 = require('./RelayContext'),
|
|
14
14
|
assertRelayContext = _require2.assertRelayContext;
|
|
15
15
|
var areEqual = require("fbjs/lib/areEqual");
|
|
16
|
-
var React = require(
|
|
17
|
-
var _require3 = require(
|
|
16
|
+
var React = require('react');
|
|
17
|
+
var _require3 = require('relay-runtime'),
|
|
18
18
|
createFragmentSpecResolver = _require3.createFragmentSpecResolver,
|
|
19
19
|
getDataIDsFromObject = _require3.getDataIDsFromObject,
|
|
20
20
|
isScalarAndEqual = _require3.isScalarAndEqual;
|
|
@@ -100,7 +100,7 @@ function createContainerWithFragments(Component, fragments) {
|
|
|
100
100
|
var keys = Object.keys(nextProps);
|
|
101
101
|
for (var ii = 0; ii < keys.length; ii++) {
|
|
102
102
|
var key = keys[ii];
|
|
103
|
-
if (key ===
|
|
103
|
+
if (key === '__relayContext') {
|
|
104
104
|
if (nextState.prevPropsContext.environment !== this.state.prevPropsContext.environment) {
|
|
105
105
|
return true;
|
|
106
106
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var ReactRelayContext = require(
|
|
4
|
-
var React = require(
|
|
3
|
+
var ReactRelayContext = require('./ReactRelayContext');
|
|
4
|
+
var React = require('react');
|
|
5
5
|
function ReactRelayFragmentMockRenderer(props) {
|
|
6
6
|
return /*#__PURE__*/React.createElement(ReactRelayContext.Provider, {
|
|
7
7
|
value: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var ReactRelayContext = require(
|
|
4
|
-
var ReactRelayQueryRendererContext = require(
|
|
3
|
+
var ReactRelayContext = require('./ReactRelayContext');
|
|
4
|
+
var ReactRelayQueryRendererContext = require('./ReactRelayQueryRendererContext');
|
|
5
5
|
var areEqual = require("fbjs/lib/areEqual");
|
|
6
|
-
var React = require(
|
|
7
|
-
var _require = require(
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var _require = require('relay-runtime'),
|
|
8
8
|
createOperationDescriptor = _require.createOperationDescriptor,
|
|
9
9
|
deepFreeze = _require.deepFreeze,
|
|
10
10
|
getRequest = _require.getRequest;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -10,19 +10,19 @@ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
10
10
|
var _excluded = ["componentRef"],
|
|
11
11
|
_excluded2 = ["componentRef", "__relayContext", "__rootIsQueryRenderer"],
|
|
12
12
|
_excluded3 = ["componentRef", "__relayContext", "__rootIsQueryRenderer"];
|
|
13
|
-
var buildReactRelayContainer = require(
|
|
14
|
-
var getRootVariablesForFragments = require(
|
|
15
|
-
var _require = require(
|
|
13
|
+
var buildReactRelayContainer = require('./buildReactRelayContainer');
|
|
14
|
+
var getRootVariablesForFragments = require('./getRootVariablesForFragments');
|
|
15
|
+
var _require = require('./ReactRelayContainerUtils'),
|
|
16
16
|
getComponentName = _require.getComponentName,
|
|
17
17
|
getContainerName = _require.getContainerName;
|
|
18
|
-
var ReactRelayContext = require(
|
|
19
|
-
var ReactRelayQueryFetcher = require(
|
|
20
|
-
var _require2 = require(
|
|
18
|
+
var ReactRelayContext = require('./ReactRelayContext');
|
|
19
|
+
var ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
|
|
20
|
+
var _require2 = require('./RelayContext'),
|
|
21
21
|
assertRelayContext = _require2.assertRelayContext;
|
|
22
22
|
var areEqual = require("fbjs/lib/areEqual");
|
|
23
|
-
var invariant = require(
|
|
24
|
-
var React = require(
|
|
25
|
-
var _require3 = require(
|
|
23
|
+
var invariant = require('invariant');
|
|
24
|
+
var React = require('react');
|
|
25
|
+
var _require3 = require('relay-runtime'),
|
|
26
26
|
ConnectionInterface = _require3.ConnectionInterface,
|
|
27
27
|
Observable = _require3.Observable,
|
|
28
28
|
RelayFeatureFlags = _require3.RelayFeatureFlags,
|
|
@@ -33,14 +33,14 @@ var _require3 = require("relay-runtime"),
|
|
|
33
33
|
getVariablesFromObject = _require3.getVariablesFromObject,
|
|
34
34
|
isScalarAndEqual = _require3.isScalarAndEqual;
|
|
35
35
|
var warning = require("fbjs/lib/warning");
|
|
36
|
-
var FORWARD =
|
|
36
|
+
var FORWARD = 'forward';
|
|
37
37
|
function createGetConnectionFromProps(metadata) {
|
|
38
38
|
var path = metadata.path;
|
|
39
|
-
!path ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
39
|
+
!path ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Unable to synthesize a ' + 'getConnectionFromProps function.') : invariant(false) : void 0;
|
|
40
40
|
return function (props) {
|
|
41
41
|
var data = props[metadata.fragmentName];
|
|
42
42
|
for (var i = 0; i < path.length; i++) {
|
|
43
|
-
if (!data || typeof data !==
|
|
43
|
+
if (!data || typeof data !== 'object') {
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
46
|
data = data[path[i]];
|
|
@@ -50,7 +50,7 @@ function createGetConnectionFromProps(metadata) {
|
|
|
50
50
|
}
|
|
51
51
|
function createGetFragmentVariables(metadata) {
|
|
52
52
|
var countVariable = metadata.count;
|
|
53
|
-
!countVariable ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
53
|
+
!countVariable ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Unable to synthesize a ' + 'getFragmentVariables function.') : invariant(false) : void 0;
|
|
54
54
|
return function (prevVars, totalCount) {
|
|
55
55
|
return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, prevVars), {}, (0, _defineProperty2["default"])({}, countVariable, totalCount));
|
|
56
56
|
};
|
|
@@ -65,22 +65,22 @@ function findConnectionMetadata(fragments) {
|
|
|
65
65
|
isRelayModern = true;
|
|
66
66
|
}
|
|
67
67
|
if (connectionMetadata) {
|
|
68
|
-
!(connectionMetadata.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
69
|
-
!!foundConnectionMetadata ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
68
|
+
!(connectionMetadata.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Only a single @connection is ' + 'supported, `%s` has %s.', fragmentName, connectionMetadata.length) : invariant(false) : void 0;
|
|
69
|
+
!!foundConnectionMetadata ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Only a single fragment with ' + '@connection is supported.') : invariant(false) : void 0;
|
|
70
70
|
foundConnectionMetadata = (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, connectionMetadata[0]), {}, {
|
|
71
71
|
fragmentName: fragmentName
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
!(!isRelayModern || foundConnectionMetadata !== null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
75
|
+
!(!isRelayModern || foundConnectionMetadata !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: A @connection directive must be present.') : invariant(false) : void 0;
|
|
76
76
|
return foundConnectionMetadata || {};
|
|
77
77
|
}
|
|
78
78
|
function toObserver(observerOrCallback) {
|
|
79
|
-
return typeof observerOrCallback ===
|
|
79
|
+
return typeof observerOrCallback === 'function' ? {
|
|
80
80
|
error: observerOrCallback,
|
|
81
81
|
complete: observerOrCallback,
|
|
82
82
|
unsubscribe: function unsubscribe(subscription) {
|
|
83
|
-
typeof observerOrCallback ===
|
|
83
|
+
typeof observerOrCallback === 'function' && observerOrCallback();
|
|
84
84
|
}
|
|
85
85
|
} : observerOrCallback || {};
|
|
86
86
|
}
|
|
@@ -91,7 +91,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
91
91
|
var metadata = findConnectionMetadata(fragments);
|
|
92
92
|
var getConnectionFromProps = connectionConfig.getConnectionFromProps || createGetConnectionFromProps(metadata);
|
|
93
93
|
var direction = connectionConfig.direction || metadata.direction;
|
|
94
|
-
!direction ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
94
|
+
!direction ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Unable to infer direction of the ' + 'connection, possibly because both first and last are provided.') : invariant(false) : void 0;
|
|
95
95
|
var getFragmentVariables = connectionConfig.getFragmentVariables || createGetFragmentVariables(metadata);
|
|
96
96
|
return _class = /*#__PURE__*/function (_React$Component) {
|
|
97
97
|
(0, _inheritsLoose2["default"])(_class, _React$Component);
|
|
@@ -111,7 +111,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
111
111
|
return !!_this._refetchSubscription;
|
|
112
112
|
});
|
|
113
113
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_refetchConnection", function (totalCount, observerOrCallback, refetchVariables) {
|
|
114
|
-
if (!_this._canFetchPage(
|
|
114
|
+
if (!_this._canFetchPage('refetchConnection')) {
|
|
115
115
|
return {
|
|
116
116
|
dispose: function dispose() {}
|
|
117
117
|
};
|
|
@@ -130,7 +130,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
130
130
|
};
|
|
131
131
|
});
|
|
132
132
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_loadMore", function (pageSize, observerOrCallback, options) {
|
|
133
|
-
if (!_this._canFetchPage(
|
|
133
|
+
if (!_this._canFetchPage('loadMore')) {
|
|
134
134
|
return {
|
|
135
135
|
dispose: function dispose() {}
|
|
136
136
|
};
|
|
@@ -151,7 +151,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
151
151
|
END_CURSOR = _ConnectionInterface$.END_CURSOR,
|
|
152
152
|
START_CURSOR = _ConnectionInterface$.START_CURSOR;
|
|
153
153
|
var cursor = connectionData.cursor;
|
|
154
|
-
process.env.NODE_ENV !== "production" ? warning(cursor != null && cursor !==
|
|
154
|
+
process.env.NODE_ENV !== "production" ? warning(cursor != null && cursor !== '', 'ReactRelayPaginationContainer: Cannot `loadMore` without valid `%s` (got `%s`)', direction === FORWARD ? END_CURSOR : START_CURSOR, cursor) : void 0;
|
|
155
155
|
var paginatingVariables = {
|
|
156
156
|
count: pageSize,
|
|
157
157
|
cursor: cursor,
|
|
@@ -244,7 +244,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
244
244
|
var keys = Object.keys(nextProps);
|
|
245
245
|
for (var ii = 0; ii < keys.length; ii++) {
|
|
246
246
|
var key = keys[ii];
|
|
247
|
-
if (key ===
|
|
247
|
+
if (key === '__relayContext') {
|
|
248
248
|
if (nextState.prevContext.environment !== this.state.prevContext.environment) {
|
|
249
249
|
return true;
|
|
250
250
|
}
|
|
@@ -300,18 +300,18 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
300
300
|
HAS_PREV_PAGE = _ConnectionInterface$2.HAS_PREV_PAGE,
|
|
301
301
|
END_CURSOR = _ConnectionInterface$2.END_CURSOR,
|
|
302
302
|
START_CURSOR = _ConnectionInterface$2.START_CURSOR;
|
|
303
|
-
!(typeof connectionData ===
|
|
303
|
+
!(typeof connectionData === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`' + 'to return `null` or a plain object with %s and %s properties, got `%s`.', componentName, EDGES, PAGE_INFO, connectionData) : invariant(false) : void 0;
|
|
304
304
|
var edges = connectionData[EDGES];
|
|
305
305
|
var pageInfo = connectionData[PAGE_INFO];
|
|
306
306
|
if (edges == null || pageInfo == null) {
|
|
307
307
|
return null;
|
|
308
308
|
}
|
|
309
|
-
!Array.isArray(edges) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
310
|
-
!(typeof pageInfo ===
|
|
309
|
+
!Array.isArray(edges) ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`' + 'to return an object with %s: Array, got `%s`.', componentName, EDGES, edges) : invariant(false) : void 0;
|
|
310
|
+
!(typeof pageInfo === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`' + 'to return an object with %s: Object, got `%s`.', componentName, PAGE_INFO, pageInfo) : invariant(false) : void 0;
|
|
311
311
|
var hasMore = direction === FORWARD ? pageInfo[HAS_NEXT_PAGE] : pageInfo[HAS_PREV_PAGE];
|
|
312
312
|
var cursor = direction === FORWARD ? pageInfo[END_CURSOR] : pageInfo[START_CURSOR];
|
|
313
|
-
if (typeof hasMore !==
|
|
314
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
313
|
+
if (typeof hasMore !== 'boolean' || edges.length !== 0 && typeof cursor === 'undefined') {
|
|
314
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'ReactRelayPaginationContainer: Cannot paginate without %s fields in `%s`. ' + 'Be sure to fetch %s (got `%s`) and %s (got `%s`).', PAGE_INFO, componentName, direction === FORWARD ? HAS_NEXT_PAGE : HAS_PREV_PAGE, hasMore, direction === FORWARD ? END_CURSOR : START_CURSOR, cursor) : void 0;
|
|
315
315
|
return null;
|
|
316
316
|
}
|
|
317
317
|
return {
|
|
@@ -328,7 +328,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
328
328
|
};
|
|
329
329
|
_proto._canFetchPage = function _canFetchPage(method) {
|
|
330
330
|
if (this._isUnmounted) {
|
|
331
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
331
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'ReactRelayPaginationContainer: Unexpected call of `%s` ' + 'on unmounted container `%s`. It looks like some instances ' + 'of your container still trying to fetch data but they already ' + 'unmounted. Please make sure you clear all timers, intervals, async ' + 'calls, etc that may trigger `%s` call.', method, containerName, method) : void 0;
|
|
332
332
|
return false;
|
|
333
333
|
}
|
|
334
334
|
return true;
|
|
@@ -351,7 +351,7 @@ function createContainerWithFragments(Component, fragments, connectionConfig) {
|
|
|
351
351
|
count: paginatingVariables.count,
|
|
352
352
|
cursor: paginatingVariables.cursor
|
|
353
353
|
}, fragmentVariables);
|
|
354
|
-
!(typeof fetchVariables ===
|
|
354
|
+
!(typeof fetchVariables === 'object' && fetchVariables !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayPaginationContainer: Expected `getVariables()` to ' + 'return an object, got `%s` in `%s`.', fetchVariables, componentName) : invariant(false) : void 0;
|
|
355
355
|
fetchVariables = (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, fetchVariables), this._refetchVariables);
|
|
356
356
|
fragmentVariables = (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, fetchVariables), fragmentVariables);
|
|
357
357
|
var cacheConfig = options ? {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
-
var invariant = require(
|
|
6
|
-
var _require = require(
|
|
5
|
+
var invariant = require('invariant');
|
|
6
|
+
var _require = require('relay-runtime'),
|
|
7
7
|
fetchQuery = _require.__internal.fetchQuery,
|
|
8
8
|
createOperationDescriptor = _require.createOperationDescriptor,
|
|
9
9
|
isRelayModernEnvironment = _require.isRelayModernEnvironment;
|
|
@@ -24,8 +24,8 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
_proto.lookupInStore = function lookupInStore(environment, operation, fetchPolicy) {
|
|
27
|
-
if (fetchPolicy ===
|
|
28
|
-
if (environment.check(operation).status ===
|
|
27
|
+
if (fetchPolicy === 'store-and-network' || fetchPolicy === 'store-or-network') {
|
|
28
|
+
if (environment.check(operation).status === 'available') {
|
|
29
29
|
this._retainCachedOperation(environment, operation);
|
|
30
30
|
return environment.lookup(operation.fragment);
|
|
31
31
|
}
|
|
@@ -82,8 +82,8 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
82
82
|
});
|
|
83
83
|
};
|
|
84
84
|
_proto.setOnDataChange = function setOnDataChange(onDataChange) {
|
|
85
|
-
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
86
|
-
if (typeof onDataChange ===
|
|
85
|
+
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayQueryFetcher: `setOnDataChange` should have been called after having called `fetch`') : invariant(false) : void 0;
|
|
86
|
+
if (typeof onDataChange === 'function') {
|
|
87
87
|
this._fetchOptions.onDataChangeCallbacks = this._fetchOptions.onDataChangeCallbacks || [];
|
|
88
88
|
this._fetchOptions.onDataChangeCallbacks.push(onDataChange);
|
|
89
89
|
if (this._didFetchFinish) {
|
|
@@ -160,7 +160,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
160
160
|
return this._snapshot;
|
|
161
161
|
};
|
|
162
162
|
_proto.retry = function retry(cacheConfigOverride) {
|
|
163
|
-
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
163
|
+
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayQueryFetcher: `retry` should be called after having called `fetch`') : invariant(false) : void 0;
|
|
164
164
|
return this.fetch({
|
|
165
165
|
environment: this._fetchOptions.environment,
|
|
166
166
|
operation: this._fetchOptions.operation,
|
|
@@ -200,7 +200,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
200
200
|
_proto._onQueryDataAvailable = function _onQueryDataAvailable(_ref2) {
|
|
201
201
|
var _this3 = this;
|
|
202
202
|
var notifyFirstResult = _ref2.notifyFirstResult;
|
|
203
|
-
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
203
|
+
!this._fetchOptions ? process.env.NODE_ENV !== "production" ? invariant(false, 'ReactRelayQueryFetcher: `_onQueryDataAvailable` should have been called after having called `fetch`') : invariant(false) : void 0;
|
|
204
204
|
var _this$_fetchOptions = this._fetchOptions,
|
|
205
205
|
environment = _this$_fetchOptions.environment,
|
|
206
206
|
onDataChangeCallbacks = _this$_fetchOptions.onDataChangeCallbacks,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
5
5
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
6
6
|
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
7
7
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
-
var ReactRelayContext = require(
|
|
9
|
-
var ReactRelayQueryFetcher = require(
|
|
10
|
-
var ReactRelayQueryRendererContext = require(
|
|
8
|
+
var ReactRelayContext = require('./ReactRelayContext');
|
|
9
|
+
var ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
|
|
10
|
+
var ReactRelayQueryRendererContext = require('./ReactRelayQueryRendererContext');
|
|
11
11
|
var areEqual = require("fbjs/lib/areEqual");
|
|
12
|
-
var React = require(
|
|
13
|
-
var _require = require(
|
|
12
|
+
var React = require('react');
|
|
13
|
+
var _require = require('relay-runtime'),
|
|
14
14
|
RelayFeatureFlags = _require.RelayFeatureFlags;
|
|
15
|
-
var _require2 = require(
|
|
15
|
+
var _require2 = require('relay-runtime'),
|
|
16
16
|
createOperationDescriptor = _require2.createOperationDescriptor,
|
|
17
17
|
deepFreeze = _require2.deepFreeze,
|
|
18
18
|
getRequest = _require2.getRequest;
|
|
@@ -185,11 +185,11 @@ function getRenderProps(error, snapshot, queryFetcher, retryCallbacks) {
|
|
|
185
185
|
props: snapshot ? snapshot.data : null,
|
|
186
186
|
retry: function retry(cacheConfigOverride) {
|
|
187
187
|
var syncSnapshot = queryFetcher.retry(cacheConfigOverride);
|
|
188
|
-
if (syncSnapshot && typeof retryCallbacks.handleDataChange ===
|
|
188
|
+
if (syncSnapshot && typeof retryCallbacks.handleDataChange === 'function') {
|
|
189
189
|
retryCallbacks.handleDataChange({
|
|
190
190
|
snapshot: syncSnapshot
|
|
191
191
|
});
|
|
192
|
-
} else if (error && typeof retryCallbacks.handleRetryAfterError ===
|
|
192
|
+
} else if (error && typeof retryCallbacks.handleRetryAfterError === 'function') {
|
|
193
193
|
retryCallbacks.handleRetryAfterError(error);
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -232,7 +232,7 @@ function fetchQueryAndComputeStateFromProps(props, queryFetcher, retryCallbacks,
|
|
|
232
232
|
var relayContext = {
|
|
233
233
|
environment: genericEnvironment
|
|
234
234
|
};
|
|
235
|
-
if (typeof requestCacheKey ===
|
|
235
|
+
if (typeof requestCacheKey === 'string' && requestCache[requestCacheKey]) {
|
|
236
236
|
var snapshot = requestCache[requestCacheKey].snapshot;
|
|
237
237
|
if (snapshot) {
|
|
238
238
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -8,17 +8,17 @@ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
8
8
|
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _excluded = ["componentRef", "__relayContext", "__rootIsQueryRenderer"];
|
|
11
|
-
var buildReactRelayContainer = require(
|
|
12
|
-
var getRootVariablesForFragments = require(
|
|
13
|
-
var _require = require(
|
|
11
|
+
var buildReactRelayContainer = require('./buildReactRelayContainer');
|
|
12
|
+
var getRootVariablesForFragments = require('./getRootVariablesForFragments');
|
|
13
|
+
var _require = require('./ReactRelayContainerUtils'),
|
|
14
14
|
getContainerName = _require.getContainerName;
|
|
15
|
-
var ReactRelayContext = require(
|
|
16
|
-
var ReactRelayQueryFetcher = require(
|
|
17
|
-
var _require2 = require(
|
|
15
|
+
var ReactRelayContext = require('./ReactRelayContext');
|
|
16
|
+
var ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
|
|
17
|
+
var _require2 = require('./RelayContext'),
|
|
18
18
|
assertRelayContext = _require2.assertRelayContext;
|
|
19
19
|
var areEqual = require("fbjs/lib/areEqual");
|
|
20
|
-
var React = require(
|
|
21
|
-
var _require3 = require(
|
|
20
|
+
var React = require('react');
|
|
21
|
+
var _require3 = require('relay-runtime'),
|
|
22
22
|
Observable = _require3.Observable,
|
|
23
23
|
createFragmentSpecResolver = _require3.createFragmentSpecResolver,
|
|
24
24
|
createOperationDescriptor = _require3.createOperationDescriptor,
|
|
@@ -45,7 +45,7 @@ function createContainerWithFragments(Component, fragments, taggedNode) {
|
|
|
45
45
|
});
|
|
46
46
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_refetch", function (refetchVariables, renderVariables, observerOrCallback, options) {
|
|
47
47
|
if (_this._isUnmounted) {
|
|
48
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
48
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'ReactRelayRefetchContainer: Unexpected call of `refetch` ' + 'on unmounted container `%s`. It looks like some instances ' + 'of your container still trying to refetch the data but they already ' + 'unmounted. Please make sure you clear all timers, intervals, async ' + 'calls, etc that may trigger `refetch`.', containerName) : void 0;
|
|
49
49
|
return {
|
|
50
50
|
dispose: function dispose() {}
|
|
51
51
|
};
|
|
@@ -53,7 +53,7 @@ function createContainerWithFragments(Component, fragments, taggedNode) {
|
|
|
53
53
|
var _assertRelayContext = assertRelayContext(_this.props.__relayContext),
|
|
54
54
|
environment = _assertRelayContext.environment;
|
|
55
55
|
var rootVariables = getRootVariablesForFragments(fragments, _this.props);
|
|
56
|
-
var fetchVariables = typeof refetchVariables ===
|
|
56
|
+
var fetchVariables = typeof refetchVariables === 'function' ? refetchVariables(_this._getFragmentVariables()) : refetchVariables;
|
|
57
57
|
fetchVariables = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, rootVariables), fetchVariables);
|
|
58
58
|
var fragmentVariables = renderVariables ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fetchVariables), renderVariables) : fetchVariables;
|
|
59
59
|
var cacheConfig = options ? {
|
|
@@ -62,7 +62,7 @@ function createContainerWithFragments(Component, fragments, taggedNode) {
|
|
|
62
62
|
if (cacheConfig != null && (options === null || options === void 0 ? void 0 : options.metadata) != null) {
|
|
63
63
|
cacheConfig.metadata = options === null || options === void 0 ? void 0 : options.metadata;
|
|
64
64
|
}
|
|
65
|
-
var observer = typeof observerOrCallback ===
|
|
65
|
+
var observer = typeof observerOrCallback === 'function' ? {
|
|
66
66
|
next: observerOrCallback,
|
|
67
67
|
error: observerOrCallback
|
|
68
68
|
} : observerOrCallback || {};
|
|
@@ -201,7 +201,7 @@ function createContainerWithFragments(Component, fragments, taggedNode) {
|
|
|
201
201
|
var keys = Object.keys(nextProps);
|
|
202
202
|
for (var ii = 0; ii < keys.length; ii++) {
|
|
203
203
|
var key = keys[ii];
|
|
204
|
-
if (key ===
|
|
204
|
+
if (key === '__relayContext') {
|
|
205
205
|
if (this.state.prevPropsContext.environment !== nextState.prevPropsContext.environment) {
|
|
206
206
|
return true;
|
|
207
207
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
5
5
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
6
|
var areEqual = require("fbjs/lib/areEqual");
|
|
7
|
-
var invariant = require(
|
|
8
|
-
var _require = require(
|
|
7
|
+
var invariant = require('invariant');
|
|
8
|
+
var _require = require('relay-runtime'),
|
|
9
9
|
Network = _require.Network,
|
|
10
10
|
createOperationDescriptor = _require.createOperationDescriptor,
|
|
11
11
|
isRelayModernEnvironment = _require.isRelayModernEnvironment;
|
|
@@ -18,7 +18,7 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
18
18
|
if (isRelayModernEnvironment(env)) {
|
|
19
19
|
this._mockNetworkLayer(env);
|
|
20
20
|
} else {
|
|
21
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
21
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Network mocking is currently only supported in Relay Modern. ' + 'You will not be able to resolve requests made with Relay ' + 'Classic environments.') : void 0;
|
|
22
22
|
}
|
|
23
23
|
this._environment = env;
|
|
24
24
|
}
|
|
@@ -35,7 +35,7 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
35
35
|
};
|
|
36
36
|
ReactRelayTestMocker.stripUnused = function stripUnused(variables) {
|
|
37
37
|
if (variables.input) {
|
|
38
|
-
var toRemove = [
|
|
38
|
+
var toRemove = ['client_mutation_id', 'actor_id', 'clientMutationId', 'actorId'];
|
|
39
39
|
var strippedVariables = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, variables), {}, {
|
|
40
40
|
input: (0, _objectSpread2["default"])({}, variables.input)
|
|
41
41
|
});
|
|
@@ -60,7 +60,7 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
60
60
|
var ident = ReactRelayTestMocker.getIdentifier(request);
|
|
61
61
|
if (_this._defaults[ident]) {
|
|
62
62
|
var payload = _this._defaults[ident];
|
|
63
|
-
return typeof payload ===
|
|
63
|
+
return typeof payload === 'function' ? payload(strippedVars) : payload;
|
|
64
64
|
}
|
|
65
65
|
_this._pendingFetches.push({
|
|
66
66
|
ident: ident,
|
|
@@ -119,11 +119,11 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
119
119
|
variables = config.variables,
|
|
120
120
|
payload = config.payload;
|
|
121
121
|
var operationDescriptor = createOperationDescriptor(query, variables);
|
|
122
|
-
!(payload.data != null && payload.errors === undefined) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
122
|
+
!(payload.data != null && payload.errors === undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Only `data` can be written when using `writeDirect`. You may need to ' + 'wrap your payload in an object like `{data: payload}`.') : invariant(false) : void 0;
|
|
123
123
|
this._environment.commitPayload(operationDescriptor, payload.data);
|
|
124
124
|
};
|
|
125
125
|
_proto.networkWrite = function networkWrite(config) {
|
|
126
|
-
!this._environment.hasMockedNetwork ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
126
|
+
!this._environment.hasMockedNetwork ? process.env.NODE_ENV !== "production" ? invariant(false, 'You cannot resolve queries without a mocked environment. Did you mean ' + 'to use `writeDirect` instead?') : invariant(false) : void 0;
|
|
127
127
|
var query = config.query,
|
|
128
128
|
variables = config.variables,
|
|
129
129
|
payload = config.payload;
|
|
@@ -137,7 +137,7 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
137
137
|
this._pendingFetches.forEach(function (pending) {
|
|
138
138
|
var pendingVars = pending.variables;
|
|
139
139
|
if (pending.ident === ident) {
|
|
140
|
-
!(!toResolve || variables) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
140
|
+
!(!toResolve || variables) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Multiple queries with the same name are currently pending. You ' + 'should pass variables to `write` so that it can determine which ' + 'to resolve') : invariant(false) : void 0;
|
|
141
141
|
if (variables) {
|
|
142
142
|
if (areEqual(pendingVars, usedVars)) {
|
|
143
143
|
toResolve = pending;
|
|
@@ -147,9 +147,9 @@ var ReactRelayTestMocker = /*#__PURE__*/function () {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
-
var varMessage = usedVars ?
|
|
151
|
-
!toResolve ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
152
|
-
var realPayload = typeof payload ===
|
|
150
|
+
var varMessage = usedVars ? ' - variables: ' + JSON.stringify(usedVars) : '';
|
|
151
|
+
!toResolve ? process.env.NODE_ENV !== "production" ? invariant(false, 'You are attempting to resolve a query that has not been fetched ' + '(%s%s).\n\tPlease ensure you passed the correct variables, or use ' + '`writeDirect` instead.', ident, varMessage) : invariant(false) : void 0;
|
|
152
|
+
var realPayload = typeof payload === 'function' ? payload(toResolve.variables) : payload;
|
|
153
153
|
if (realPayload.errors != null && realPayload.errors.length > 0) {
|
|
154
154
|
this._environment.mock.rejectQuery(toResolve, {
|
|
155
155
|
error: realPayload.errors[0]
|
package/lib/ReactRelayTypes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
package/lib/RelayContext.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var isRelayEnvironment = require(
|
|
4
|
-
var invariant = require(
|
|
3
|
+
var isRelayEnvironment = require('./isRelayEnvironment');
|
|
4
|
+
var invariant = require('invariant');
|
|
5
5
|
function assertRelayContext(relay) {
|
|
6
|
-
!isRelayContext(relay) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
6
|
+
!isRelayContext(relay) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayContext: Expected `context.relay` to be an object conforming to ' + 'the `RelayContext` interface, got `%s`.', relay) : invariant(false) : void 0;
|
|
7
7
|
return relay;
|
|
8
8
|
}
|
|
9
9
|
function isRelayContext(context) {
|
|
10
|
-
return typeof context ===
|
|
10
|
+
return typeof context === 'object' && context !== null && !Array.isArray(context) && isRelayEnvironment(context.environment);
|
|
11
11
|
}
|
|
12
12
|
module.exports = {
|
|
13
13
|
assertRelayContext: assertRelayContext,
|