react-relay 2.0.0-rc.2 → 5.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/index.js +2 -2
- package/lib/ReactRelayContext.js +6 -3
- package/lib/ReactRelayFragmentContainer.js +48 -46
- package/lib/ReactRelayFragmentMockRenderer.js +5 -1
- package/lib/ReactRelayPaginationContainer.js +102 -68
- package/lib/ReactRelayQueryFetcher.js +54 -28
- package/lib/ReactRelayQueryRenderer.js +28 -20
- package/lib/ReactRelayRefetchContainer.js +70 -58
- package/lib/ReactRelayTestMocker.js +56 -43
- package/lib/ReactRelayTypes.js +1 -1
- package/lib/RelayContext.js +8 -2
- package/lib/assertFragmentMap.js +9 -7
- package/lib/buildReactRelayContainer.js +32 -23
- package/lib/index.js +41 -0
- package/lib/isRelayEnvironment.js +1 -1
- package/lib/isRelayVariables.js +1 -1
- package/lib/readContext.js +7 -4
- package/package.json +4 -4
- package/react-relay.js +2 -2
- package/react-relay.min.js +2 -2
- package/classic.js +0 -10
- package/compat.js +0 -10
- package/lib/ConcreteQuery.js +0 -10
- package/lib/GraphQLQueryRunner.js +0 -264
- package/lib/GraphQLRange.js +0 -1124
- package/lib/GraphQLSegment.js +0 -743
- package/lib/GraphQLStoreChangeEmitter.js +0 -141
- package/lib/GraphQLStoreQueryResolver.js +0 -288
- package/lib/GraphQLStoreRangeUtils.js +0 -126
- package/lib/QueryBuilder.js +0 -228
- package/lib/ReactRelayClassicExports.js +0 -29
- package/lib/ReactRelayCompatContainerBuilder.js +0 -175
- package/lib/ReactRelayCompatPublic.js +0 -28
- package/lib/ReactRelayContainerProfiler.js +0 -30
- package/lib/ReactRelayFragmentContainer-flowtest.js +0 -201
- package/lib/ReactRelayPaginationContainer-flowtest.js +0 -213
- package/lib/ReactRelayPublic.js +0 -29
- package/lib/ReactRelayRefetchContainer-flowtest.js +0 -191
- package/lib/RelayCacheProcessor.js +0 -196
- package/lib/RelayChangeTracker.js +0 -83
- package/lib/RelayClassicContainerUtils.js +0 -49
- package/lib/RelayClassicCore.js +0 -34
- package/lib/RelayClassicRecordState.js +0 -31
- package/lib/RelayCompatContainer.js +0 -25
- package/lib/RelayCompatEnvironment.js +0 -27
- package/lib/RelayCompatMutations.js +0 -133
- package/lib/RelayCompatPaginationContainer.js +0 -27
- package/lib/RelayCompatRefetchContainer.js +0 -27
- package/lib/RelayCompatTypes.js +0 -10
- package/lib/RelayContainer.js +0 -889
- package/lib/RelayContainerComparators.js +0 -75
- package/lib/RelayContainerProxy.js +0 -21
- package/lib/RelayDefaultNetworkLayer.js +0 -192
- package/lib/RelayEnvironment.js +0 -449
- package/lib/RelayEnvironmentTypes.js +0 -10
- package/lib/RelayFetchMode.js +0 -17
- package/lib/RelayFragmentPointer.js +0 -161
- package/lib/RelayFragmentReference.js +0 -249
- package/lib/RelayFragmentSpecResolver.js +0 -305
- package/lib/RelayGraphQLMutation.js +0 -288
- package/lib/RelayGraphQLTag.js +0 -42
- package/lib/RelayInternalTypes.js +0 -15
- package/lib/RelayInternals.js +0 -24
- package/lib/RelayMetaRoute.js +0 -35
- package/lib/RelayMockRenderer.js +0 -71
- package/lib/RelayModern-flowtest.js +0 -342
- package/lib/RelayModernFlowtest_badref.graphql.js +0 -10
- package/lib/RelayModernFlowtest_notref.graphql.js +0 -10
- package/lib/RelayModernFlowtest_user.graphql.js +0 -10
- package/lib/RelayModernFlowtest_users.graphql.js +0 -10
- package/lib/RelayMutation.js +0 -322
- package/lib/RelayMutationDebugPrinter.js +0 -47
- package/lib/RelayMutationQuery.js +0 -558
- package/lib/RelayMutationQueue.js +0 -530
- package/lib/RelayMutationRequest.js +0 -103
- package/lib/RelayMutationTracker.js +0 -113
- package/lib/RelayMutationTransaction.js +0 -92
- package/lib/RelayMutationTransactionStatus.js +0 -55
- package/lib/RelayNetworkDebug.js +0 -131
- package/lib/RelayNetworkLayer.js +0 -185
- package/lib/RelayNodeInterface.js +0 -104
- package/lib/RelayOperationDescriptor.js +0 -40
- package/lib/RelayOptimisticMutationUtils.js +0 -208
- package/lib/RelayPendingQueryTracker.js +0 -166
- package/lib/RelayPropTypes.js +0 -57
- package/lib/RelayPublic.js +0 -44
- package/lib/RelayQL.js +0 -128
- package/lib/RelayQuery.js +0 -1584
- package/lib/RelayQueryCaching.js +0 -33
- package/lib/RelayQueryConfig.js +0 -58
- package/lib/RelayQueryPath.js +0 -204
- package/lib/RelayQueryRequest.js +0 -103
- package/lib/RelayQueryTracker.js +0 -86
- package/lib/RelayQueryTransform.js +0 -91
- package/lib/RelayQueryVisitor.js +0 -93
- package/lib/RelayQueryWriter.js +0 -573
- package/lib/RelayReadyState.js +0 -83
- package/lib/RelayReadyStateRenderer.js +0 -145
- package/lib/RelayRecord.js +0 -75
- package/lib/RelayRecordStatusMap.js +0 -57
- package/lib/RelayRecordStore.js +0 -433
- package/lib/RelayRecordWriter.js +0 -601
- package/lib/RelayRefQueryDescriptor.js +0 -27
- package/lib/RelayRenderer.js +0 -268
- package/lib/RelayRootContainer.js +0 -125
- package/lib/RelayRoute.js +0 -92
- package/lib/RelayRouteFragment.js +0 -44
- package/lib/RelaySelector.js +0 -201
- package/lib/RelayShallowMock.js +0 -69
- package/lib/RelayStaticContainer.js +0 -38
- package/lib/RelayStore.js +0 -12
- package/lib/RelayStoreConstants.js +0 -20
- package/lib/RelayStoreData.js +0 -660
- package/lib/RelayTaskQueue.js +0 -189
- package/lib/RelayTypes.js +0 -13
- package/lib/RelayVariable.js +0 -32
- package/lib/RelayVariables.js +0 -92
- package/lib/buildRQL.js +0 -160
- package/lib/callsFromGraphQL.js +0 -74
- package/lib/callsToGraphQL.js +0 -34
- package/lib/checkRelayQueryData.js +0 -250
- package/lib/createRelayQuery.js +0 -17
- package/lib/dedent.js +0 -49
- package/lib/diffRelayQuery.js +0 -757
- package/lib/directivesToGraphQL.js +0 -39
- package/lib/filterRelayQuery.js +0 -29
- package/lib/findRelayQueryLeaves.js +0 -293
- package/lib/flattenRelayQuery.js +0 -121
- package/lib/flattenSplitRelayQueries.js +0 -44
- package/lib/forEachRootCallArg.js +0 -40
- package/lib/fromGraphQL.js +0 -48
- package/lib/generateClientEdgeID.js +0 -22
- package/lib/generateClientID.js +0 -27
- package/lib/generateConcreteFragmentID.js +0 -30
- package/lib/generateForceIndex.js +0 -24
- package/lib/generateRQLFieldAlias.js +0 -39
- package/lib/getRangeBehavior.js +0 -58
- package/lib/getRelayQueries.js +0 -83
- package/lib/intersectRelayQuery.js +0 -149
- package/lib/isClassicRelayContext.js +0 -20
- package/lib/isClassicRelayEnvironment.js +0 -20
- package/lib/isCompatibleRelayFragmentType.js +0 -27
- package/lib/isRelayContainer.js +0 -16
- package/lib/makeLegacyStringishComponentRef.js +0 -52
- package/lib/printRelayOSSQuery.js +0 -329
- package/lib/printRelayQuery.js +0 -26
- package/lib/rangeOperationToMetadataKey.js +0 -25
- package/lib/readRelayQueryData.js +0 -551
- package/lib/relayUnstableBatchedUpdates.js +0 -12
- package/lib/relayUnstableBatchedUpdates.native.js +0 -11
- package/lib/restoreRelayCacheData.js +0 -188
- package/lib/serializeRelayQueryCall.js +0 -42
- package/lib/splitDeferredRelayQueries.js +0 -298
- package/lib/stableStringify.js +0 -85
- package/lib/testEditDistance.js +0 -112
- package/lib/throwFailedPromise.js +0 -26
- package/lib/toGraphQL.js +0 -94
- package/lib/transformRelayQueryPayload.js +0 -145
- package/lib/validateMutationConfig.js +0 -117
- package/lib/validateRelayReadQuery.js +0 -112
- package/lib/writeRelayQueryPayload.js +0 -44
- package/lib/writeRelayUpdatePayload.js +0 -513
- package/react-relay-classic.js +0 -4
- package/react-relay-classic.min.js +0 -9
- package/react-relay-compat.js +0 -4
- package/react-relay-compat.min.js +0 -9
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
* strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
var _index = 1;
|
|
13
|
-
/**
|
|
14
|
-
* Generate a new force index used to write GraphQL data in the store. A new
|
|
15
|
-
* force index can be used to overwrite previous ranges.
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
function generateForceIndex() {
|
|
21
|
-
return _index++;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
module.exports = generateForceIndex;
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
* strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
/* eslint-disable no-bitwise */
|
|
12
|
-
|
|
13
|
-
var PREFIX = '_';
|
|
14
|
-
/**
|
|
15
|
-
* @internal
|
|
16
|
-
*
|
|
17
|
-
* Sanitizes a stringified GraphQL field (including any calls and their values)
|
|
18
|
-
* to produce a valid alias.
|
|
19
|
-
*
|
|
20
|
-
* This is used to auto-alias fields in generated queries, so that developers
|
|
21
|
-
* composing multiple components together don't have to worry about collisions
|
|
22
|
-
* between components requesting the same fields. (Explicit aliases are only
|
|
23
|
-
* needed within a single component when it uses the same field multiple times,
|
|
24
|
-
* in order to differentiate these fields in the props).
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
function generateRQLFieldAlias(input) {
|
|
28
|
-
// Field names with no calls can be used as aliases without encoding
|
|
29
|
-
var index = input.indexOf('.');
|
|
30
|
-
|
|
31
|
-
if (index === -1) {
|
|
32
|
-
return input;
|
|
33
|
-
} // Unsign crc32 hash so we do not base62 encode a negative number.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return PREFIX + input.substr(0, index) + require("fbjs/lib/base62")(require("fbjs/lib/crc32")(input) >>> 0);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
module.exports = generateRQLFieldAlias;
|
package/lib/getRangeBehavior.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
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
|
-
* strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Return the action (prepend/append) to use when adding an item to
|
|
14
|
-
* the range with the specified calls.
|
|
15
|
-
*
|
|
16
|
-
* Ex:
|
|
17
|
-
* rangeBehaviors: `{'orderby(recent)': 'append'}`
|
|
18
|
-
* calls: `[{name: 'orderby', value: 'recent'}]`
|
|
19
|
-
*
|
|
20
|
-
* Returns `'append'`
|
|
21
|
-
*/
|
|
22
|
-
function getRangeBehavior(rangeBehaviors, calls) {
|
|
23
|
-
if (typeof rangeBehaviors === 'function') {
|
|
24
|
-
var rangeFilterCalls = getObjectFromCalls(calls);
|
|
25
|
-
return rangeBehaviors(rangeFilterCalls);
|
|
26
|
-
} else {
|
|
27
|
-
var rangeBehaviorKey = calls.map(require("./serializeRelayQueryCall")).sort().join('').slice(1);
|
|
28
|
-
var behavior = rangeBehaviors[rangeBehaviorKey];
|
|
29
|
-
|
|
30
|
-
if (behavior == null) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
!(typeof behavior === 'string') ? process.env.NODE_ENV !== "production" ? require("fbjs/lib/invariant")(false, 'getRangeBehavior(): Expected range behavior for key `%s` to be a ' + 'string, got `%s`.', rangeBehaviorKey, behavior) : require("fbjs/lib/invariant")(false) : void 0;
|
|
35
|
-
return behavior;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Returns an object representation of the rangeFilterCalls that
|
|
40
|
-
* will be passed to config.rangeBehaviors
|
|
41
|
-
*
|
|
42
|
-
* Example:
|
|
43
|
-
* calls: `[{name: 'orderby', value: 'recent'}]`
|
|
44
|
-
*
|
|
45
|
-
* Returns:
|
|
46
|
-
* `{orderby: 'recent'}`
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
function getObjectFromCalls(calls) {
|
|
51
|
-
var behaviors = {};
|
|
52
|
-
calls.forEach(function (call) {
|
|
53
|
-
behaviors[call.name] = call.value;
|
|
54
|
-
});
|
|
55
|
-
return behaviors;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
module.exports = getRangeBehavior;
|
package/lib/getRelayQueries.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
var queryCache = new Map();
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*
|
|
16
|
-
* `getRelayQueries` retrieves all queries for a component given a route.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
function getRelayQueries(Component, route) {
|
|
20
|
-
var queryCachingEnabled = require("./RelayQueryCaching").getEnabled();
|
|
21
|
-
|
|
22
|
-
if (!queryCachingEnabled) {
|
|
23
|
-
return buildQuerySet(Component, route);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var cache = queryCache.get(Component);
|
|
27
|
-
|
|
28
|
-
if (!cache) {
|
|
29
|
-
cache = {};
|
|
30
|
-
queryCache.set(Component, cache);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var cacheKey = route.name + ':' + require("./stableStringify")(route.params);
|
|
34
|
-
|
|
35
|
-
if (cache.hasOwnProperty(cacheKey)) {
|
|
36
|
-
return cache[cacheKey];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
var querySet = buildQuerySet(Component, route);
|
|
40
|
-
cache[cacheKey] = querySet;
|
|
41
|
-
return querySet;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
function buildQuerySet(Component, route) {
|
|
49
|
-
var querySet = {};
|
|
50
|
-
Component.getFragmentNames().forEach(function (fragmentName) {
|
|
51
|
-
querySet[fragmentName] = null;
|
|
52
|
-
});
|
|
53
|
-
Object.keys(route.queries).forEach(function (queryName) {
|
|
54
|
-
if (!Component.hasFragment(queryName)) {
|
|
55
|
-
process.env.NODE_ENV !== "production" ? require("fbjs/lib/warning")(false, 'Relay.QL: query `%s.queries.%s` is invalid, expected fragment ' + '`%s.fragments.%s` to be defined.', route.name, queryName, Component.displayName, queryName) : void 0;
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
var queryBuilder = route.queries[queryName];
|
|
60
|
-
|
|
61
|
-
if (queryBuilder) {
|
|
62
|
-
var concreteQuery = require("./buildRQL").Query(queryBuilder, Component, queryName, route.params);
|
|
63
|
-
|
|
64
|
-
!(concreteQuery !== undefined) ? process.env.NODE_ENV !== "production" ? require("fbjs/lib/invariant")(false, 'Relay.QL: query `%s.queries.%s` is invalid, a typical query is ' + 'defined using: () => Relay.QL`query { ... }`.', route.name, queryName) : require("fbjs/lib/invariant")(false) : void 0;
|
|
65
|
-
|
|
66
|
-
if (concreteQuery) {
|
|
67
|
-
var rootQuery = require("./RelayQuery").Root.create(concreteQuery, require("./RelayMetaRoute").get(route.name), route.params);
|
|
68
|
-
|
|
69
|
-
var identifyingArg = rootQuery.getIdentifyingArg();
|
|
70
|
-
|
|
71
|
-
if (!identifyingArg || identifyingArg.value !== undefined) {
|
|
72
|
-
querySet[queryName] = rootQuery;
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
querySet[queryName] = null;
|
|
79
|
-
});
|
|
80
|
-
return querySet;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
module.exports = require("relay-runtime").RelayProfiler.instrument('Relay.getQueries', getRelayQueries);
|
|
@@ -1,149 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
var _inheritsLoose2 = require("@babel/runtime/helpers/interopRequireDefault")(require("@babel/runtime/helpers/inheritsLoose"));
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @internal
|
|
16
|
-
*
|
|
17
|
-
* `intersectRelayQuery(subjectNode, patternNode)` returns a node with fields in
|
|
18
|
-
* `subjectNode` that also exist in `patternNode`. `patternNode` is expected to
|
|
19
|
-
* be flattened (and not contain fragments).
|
|
20
|
-
*
|
|
21
|
-
* If any field in `patternNode` is unterminated (i.e. has no sub-fields), we
|
|
22
|
-
* treat the field as though it contains every descendant sub-field.
|
|
23
|
-
*
|
|
24
|
-
* If `filterUnterminatedRange` is supplied, it will be invoked with any fields
|
|
25
|
-
* from `subjectNode` that are connections and unterminated in `patternNode`. If
|
|
26
|
-
* it returns true, the `edges` and `page_info` fields will be filtered out.
|
|
27
|
-
*/
|
|
28
|
-
function intersectRelayQuery(subjectNode, patternNode, filterUnterminatedRange) {
|
|
29
|
-
filterUnterminatedRange = filterUnterminatedRange || returnsFalse;
|
|
30
|
-
var visitor = new RelayQueryIntersector(filterUnterminatedRange);
|
|
31
|
-
return visitor.traverse(subjectNode, patternNode);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var RelayQueryIntersector =
|
|
35
|
-
/*#__PURE__*/
|
|
36
|
-
function (_RelayQueryTransform) {
|
|
37
|
-
(0, _inheritsLoose2["default"])(RelayQueryIntersector, _RelayQueryTransform);
|
|
38
|
-
|
|
39
|
-
function RelayQueryIntersector(filterUnterminatedRange) {
|
|
40
|
-
var _this;
|
|
41
|
-
|
|
42
|
-
_this = _RelayQueryTransform.call(this) || this;
|
|
43
|
-
_this._filterUnterminatedRange = filterUnterminatedRange;
|
|
44
|
-
return _this;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
var _proto = RelayQueryIntersector.prototype;
|
|
48
|
-
|
|
49
|
-
_proto.traverse = function traverse(subjectNode, patternNode) {
|
|
50
|
-
var _this2 = this;
|
|
51
|
-
|
|
52
|
-
if (!subjectNode.canHaveSubselections()) {
|
|
53
|
-
// Since `patternNode` exists, `subjectNode` must be in the intersection.
|
|
54
|
-
return subjectNode;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (!hasChildren(patternNode)) {
|
|
58
|
-
if (subjectNode instanceof require("./RelayQuery").Field && subjectNode.isConnection() && this._filterUnterminatedRange(subjectNode)) {
|
|
59
|
-
return filterRangeFields(subjectNode);
|
|
60
|
-
} // Unterminated `patternNode` is the same as containing every descendant
|
|
61
|
-
// sub-field, so `subjectNode` must be in the intersection.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return subjectNode;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return subjectNode.clone(subjectNode.getChildren().map(function (subjectChild) {
|
|
68
|
-
if (subjectChild instanceof require("./RelayQuery").Fragment) {
|
|
69
|
-
return _this2.visit(subjectChild, patternNode);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (subjectChild instanceof require("./RelayQuery").Field) {
|
|
73
|
-
var schemaName = subjectChild.getSchemaName();
|
|
74
|
-
var patternChild;
|
|
75
|
-
var patternChildren = patternNode.getChildren();
|
|
76
|
-
|
|
77
|
-
for (var ii = 0; ii < patternChildren.length; ii++) {
|
|
78
|
-
var child = patternChildren[ii];
|
|
79
|
-
!(child instanceof require("./RelayQuery").Field) ? process.env.NODE_ENV !== "production" ? require("fbjs/lib/invariant")(false, 'intersectRelayQuery(): Nodes in `patternNode` must be fields.') : require("fbjs/lib/invariant")(false) : void 0;
|
|
80
|
-
|
|
81
|
-
if (child.getSchemaName() === schemaName) {
|
|
82
|
-
patternChild = child;
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (patternChild) {
|
|
88
|
-
return _this2.visit(subjectChild, patternChild);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return null;
|
|
93
|
-
}));
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
return RelayQueryIntersector;
|
|
97
|
-
}(require("./RelayQueryTransform"));
|
|
98
|
-
/**
|
|
99
|
-
* @private
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
var RelayQueryRangeFilter =
|
|
104
|
-
/*#__PURE__*/
|
|
105
|
-
function (_RelayQueryTransform2) {
|
|
106
|
-
(0, _inheritsLoose2["default"])(RelayQueryRangeFilter, _RelayQueryTransform2);
|
|
107
|
-
|
|
108
|
-
function RelayQueryRangeFilter() {
|
|
109
|
-
return _RelayQueryTransform2.apply(this, arguments) || this;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
var _proto2 = RelayQueryRangeFilter.prototype;
|
|
113
|
-
|
|
114
|
-
_proto2.visitField = function visitField(node) {
|
|
115
|
-
var _ConnectionInterface$ = require("relay-runtime").ConnectionInterface.get(),
|
|
116
|
-
EDGES = _ConnectionInterface$.EDGES,
|
|
117
|
-
PAGE_INFO = _ConnectionInterface$.PAGE_INFO;
|
|
118
|
-
|
|
119
|
-
var schemaName = node.getSchemaName();
|
|
120
|
-
|
|
121
|
-
if (schemaName === EDGES || schemaName === PAGE_INFO) {
|
|
122
|
-
return null;
|
|
123
|
-
} else {
|
|
124
|
-
return node;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
return RelayQueryRangeFilter;
|
|
129
|
-
}(require("./RelayQueryTransform"));
|
|
130
|
-
|
|
131
|
-
var rangeFilter = new RelayQueryRangeFilter();
|
|
132
|
-
|
|
133
|
-
function filterRangeFields(node) {
|
|
134
|
-
return rangeFilter.traverse(node, undefined);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function returnsFalse() {
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function hasChildren(node) {
|
|
142
|
-
return !node.getChildren().every(isGenerated);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function isGenerated(node) {
|
|
146
|
-
return node.isGenerated();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
module.exports = intersectRelayQuery;
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
* strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Determine if a given value is an object that implements the `RelayContext`
|
|
14
|
-
* interface.
|
|
15
|
-
*/
|
|
16
|
-
function isClassicRelayContext(relay) {
|
|
17
|
-
return typeof relay === 'object' && relay !== null && !Array.isArray(relay) && require("./isClassicRelayEnvironment")(relay.environment) && require("./isRelayVariables")(relay.variables);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
module.exports = isClassicRelayContext;
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
* strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
/**
|
|
12
|
-
* Determine if a given value is an object that implements the `RelayEnvironment`
|
|
13
|
-
* interface.
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
function isClassicRelayEnvironment(environment) {
|
|
17
|
-
return typeof environment === 'object' && environment !== null && typeof environment.applyMutation === 'function' && typeof environment.sendMutation === 'function' && typeof environment.forceFetch === 'function' && typeof environment.getFragmentResolver === 'function' && typeof environment.getStoreData === 'function' && typeof environment.primeCache === 'function';
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
module.exports = isClassicRelayEnvironment;
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @internal
|
|
14
|
-
*
|
|
15
|
-
* Determine if the given fragment's type is compatible with the given record
|
|
16
|
-
* type. The types are considered compatible if they exactly match or in the
|
|
17
|
-
* following cases:
|
|
18
|
-
* - Types are not recorded for optimistic records; if the record type is null
|
|
19
|
-
* it is assumed to be compatible with the fragment.
|
|
20
|
-
* - Abstract fragments are assumed to be compatible with all types; being more
|
|
21
|
-
* precise would require access to the full schema inheritance hierarchy.
|
|
22
|
-
*/
|
|
23
|
-
function isCompatibleRelayFragmentType(fragment, recordType) {
|
|
24
|
-
return recordType === fragment.getType() || !recordType || fragment.isAbstract();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = isCompatibleRelayFragmentType;
|
package/lib/isRelayContainer.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
function isRelayContainer(component) {
|
|
13
|
-
return !!(component && component.getFragmentNames && component.getFragment && component.hasFragment && component.hasVariable);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
module.exports = isRelayContainer;
|
|
@@ -1,52 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Instead of ref="component", use this module to mimic a string ref.
|
|
14
|
-
* This horrible hack lets us avoid string ref warnings in React strict mode
|
|
15
|
-
* until we have time to clean up the various uses of .refs.component.
|
|
16
|
-
*
|
|
17
|
-
* Track usage at https://fburl.com/relay_containers_string_refs_dashboard
|
|
18
|
-
*
|
|
19
|
-
* @TODO (T28161354) Remove this hack once string refs have been removed.
|
|
20
|
-
*/
|
|
21
|
-
function makeLegacyStringishComponentRef(parentComponent, componentName) {
|
|
22
|
-
var hasWarned = false;
|
|
23
|
-
|
|
24
|
-
if (process.env.NODE_ENV !== "production") {
|
|
25
|
-
return function ref(childComponent) {
|
|
26
|
-
if (!Object.isExtensible(parentComponent.refs)) {
|
|
27
|
-
// Probably emptyObject. >.>
|
|
28
|
-
parentComponent.refs = {};
|
|
29
|
-
} // RelayFBContainerProxy uses this getter to avoid triggering the warning.
|
|
30
|
-
// This proxy component logs a separate warning to track its usage.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
parentComponent.refs.__INTERNAL__component = childComponent; // $FlowFixMe https://github.com/facebook/flow/issues/285
|
|
34
|
-
|
|
35
|
-
Object.defineProperty(parentComponent.refs, 'component', {
|
|
36
|
-
configurable: true,
|
|
37
|
-
get: function get() {
|
|
38
|
-
if (!hasWarned) {
|
|
39
|
-
hasWarned = true;
|
|
40
|
-
process.env.NODE_ENV !== "production" ? require("fbjs/lib/warning")(false, 'RelayContainer: Do not use `container.refs.component` for ' + 'RelayCompat or RelayModern containers. Instead pass ' + '`componentRef={ref}` to `%s`.', componentName) : void 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return childComponent;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
} else {
|
|
48
|
-
return 'component';
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
module.exports = makeLegacyStringishComponentRef;
|