relay-runtime 0.0.0-main-1decb243 → 0.0.0-main-556d696f
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/experimental.js +1 -1
- package/index.js +1 -1
- package/lib/experimental.js +3 -3
- package/lib/handlers/RelayDefaultHandlerProvider.js +12 -12
- package/lib/handlers/connection/ConnectionHandler.js +17 -17
- package/lib/handlers/connection/ConnectionInterface.js +10 -10
- package/lib/handlers/connection/MutationHandlers.js +16 -16
- package/lib/index.js +61 -61
- package/lib/multi-actor-environment/ActorIdentifier.js +5 -5
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +8 -8
- package/lib/multi-actor-environment/ActorUtils.js +4 -4
- package/lib/multi-actor-environment/MultiActorEnvironment.js +12 -12
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
- package/lib/multi-actor-environment/index.js +3 -3
- package/lib/mutations/RelayDeclarativeMutationConfig.js +26 -26
- package/lib/mutations/RelayRecordProxy.js +9 -9
- package/lib/mutations/RelayRecordSourceMutator.js +7 -7
- package/lib/mutations/RelayRecordSourceProxy.js +12 -12
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +9 -9
- package/lib/mutations/applyOptimisticMutation.js +9 -9
- package/lib/mutations/commitLocalUpdate.js +1 -1
- package/lib/mutations/commitMutation.js +15 -15
- package/lib/mutations/createUpdatableProxy.js +13 -13
- package/lib/mutations/readUpdatableFragment.js +6 -6
- package/lib/mutations/readUpdatableQuery.js +3 -3
- package/lib/mutations/validateMutation.js +9 -7
- package/lib/network/ConvertToExecuteFunction.js +2 -2
- package/lib/network/RelayNetwork.js +8 -8
- package/lib/network/RelayNetworkTypes.js +1 -1
- package/lib/network/RelayObservable.js +23 -22
- package/lib/network/RelayQueryResponseCache.js +5 -5
- package/lib/network/wrapNetworkWithLogObserver.js +8 -8
- package/lib/query/GraphQLTag.js +16 -16
- package/lib/query/PreloadableQueryRegistry.js +1 -1
- package/lib/query/fetchQuery.js +13 -13
- package/lib/query/fetchQueryInternal.js +8 -8
- package/lib/query/fetchQuery_DEPRECATED.js +5 -5
- package/lib/store/ClientID.js +7 -7
- package/lib/store/DataChecker.js +29 -25
- package/lib/store/OperationExecutor.js +87 -87
- package/lib/store/RelayConcreteVariables.js +6 -6
- package/lib/store/RelayExperimentalGraphResponseHandler.js +12 -12
- package/lib/store/RelayExperimentalGraphResponseTransform.js +16 -16
- package/lib/store/RelayModernEnvironment.js +21 -21
- package/lib/store/RelayModernFragmentSpecResolver.js +16 -16
- package/lib/store/RelayModernOperationDescriptor.js +6 -6
- package/lib/store/RelayModernRecord.js +23 -23
- package/lib/store/RelayModernSelector.js +23 -23
- package/lib/store/RelayModernStore.js +35 -35
- package/lib/store/RelayOperationTracker.js +3 -3
- package/lib/store/RelayOptimisticRecordSource.js +8 -8
- package/lib/store/RelayPublishQueue.js +22 -22
- package/lib/store/RelayReader.js +48 -50
- package/lib/store/RelayRecordSource.js +3 -3
- package/lib/store/RelayRecordState.js +4 -4
- package/lib/store/RelayReferenceMarker.js +18 -14
- package/lib/store/RelayResponseNormalizer.js +40 -36
- package/lib/store/RelayStoreSubscriptions.js +8 -8
- package/lib/store/RelayStoreTypes.js +1 -1
- package/lib/store/RelayStoreUtils.js +40 -35
- package/lib/store/ResolverCache.js +16 -16
- package/lib/store/ResolverFragments.js +6 -6
- package/lib/store/StoreInspector.js +16 -16
- package/lib/store/TypeID.js +3 -3
- package/lib/store/ViewerPattern.js +5 -5
- package/lib/store/cloneRelayHandleSourceField.js +6 -6
- package/lib/store/cloneRelayScalarHandleSourceField.js +6 -6
- package/lib/store/createFragmentSpecResolver.js +3 -3
- package/lib/store/createRelayContext.js +4 -4
- package/lib/store/defaultGetDataID.js +2 -2
- package/lib/store/defaultRequiredFieldLogger.js +3 -3
- package/lib/store/experimental-live-resolvers/LiveResolverCache.js +33 -33
- package/lib/store/experimental-live-resolvers/LiveResolverStore.js +36 -36
- package/lib/store/experimental-live-resolvers/LiveResolverSuspenseSentinel.js +1 -1
- package/lib/store/experimental-live-resolvers/getOutputTypeRecordIDs.js +5 -5
- package/lib/store/experimental-live-resolvers/isLiveStateValue.js +2 -2
- package/lib/store/experimental-live-resolvers/resolverDataInjector.js +6 -6
- package/lib/store/experimental-live-resolvers/weakObjectWrapper.js +6 -6
- package/lib/store/hasOverlappingIDs.js +1 -1
- package/lib/store/hasSignificantOverlappingIDs.js +3 -3
- package/lib/store/isRelayModernEnvironment.js +2 -2
- package/lib/store/normalizeResponse.js +1 -1
- package/lib/store/readInlineData.js +6 -6
- package/lib/subscription/requestSubscription.js +9 -9
- package/lib/util/JSResourceTypes.flow.js +1 -1
- package/lib/util/NormalizationNode.js +1 -1
- package/lib/util/ReaderNode.js +1 -1
- package/lib/util/RelayConcreteNode.js +36 -36
- package/lib/util/RelayDefaultHandleKey.js +2 -2
- package/lib/util/RelayError.js +3 -3
- package/lib/util/RelayFeatureFlags.js +1 -1
- package/lib/util/RelayProfiler.js +1 -1
- package/lib/util/RelayReplaySubject.js +10 -10
- package/lib/util/RelayRuntimeTypes.js +1 -1
- package/lib/util/StringInterner.js +3 -3
- package/lib/util/createPayloadFor3DField.js +2 -2
- package/lib/util/deepFreeze.js +3 -3
- package/lib/util/generateID.js +1 -1
- package/lib/util/getFragmentIdentifier.js +12 -12
- package/lib/util/getOperation.js +2 -2
- package/lib/util/getPaginationMetadata.js +6 -6
- package/lib/util/getPaginationVariables.js +9 -9
- package/lib/util/getPendingOperationsForFragment.js +5 -5
- package/lib/util/getRefetchMetadata.js +7 -7
- package/lib/util/getRelayHandleKey.js +4 -4
- package/lib/util/getRequestIdentifier.js +4 -4
- package/lib/util/getValueAtPath.js +5 -5
- package/lib/util/handlePotentialSnapshotErrors.js +6 -6
- package/lib/util/isEmptyObject.js +1 -1
- package/lib/util/isPromise.js +2 -2
- package/lib/util/isScalarAndEqual.js +2 -2
- package/lib/util/recycleNodesInto.js +6 -20
- package/lib/util/registerEnvironmentWithDevTools.js +2 -2
- package/lib/util/resolveImmediate.js +1 -1
- package/lib/util/stableCopy.js +2 -2
- package/lib/util/withDuration.js +2 -2
- package/lib/util/withProvidedVariables.js +3 -3
- package/mutations/validateMutation.js.flow +2 -0
- package/network/RelayObservable.js.flow +3 -2
- package/package.json +1 -1
- package/relay-runtime-experimental.js +2 -2
- package/relay-runtime-experimental.min.js +2 -2
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/DataChecker.js.flow +9 -1
- package/store/RelayModernSelector.js.flow +6 -3
- package/store/RelayReader.js.flow +7 -7
- package/store/RelayReferenceMarker.js.flow +6 -1
- package/store/RelayResponseNormalizer.js.flow +6 -1
- package/store/RelayStoreTypes.js.flow +7 -1
- package/store/RelayStoreUtils.js.flow +22 -7
- package/store/experimental-live-resolvers/resolverDataInjector.js.flow +1 -0
- package/store/experimental-live-resolvers/weakObjectWrapper.js.flow +1 -0
- package/util/NormalizationNode.js.flow +15 -2
- package/util/ReaderNode.js.flow +1 -1
- package/util/createPayloadFor3DField.js.flow +1 -0
- package/util/recycleNodesInto.js.flow +8 -30
|
@@ -10,7 +10,7 @@ exports.normalizeResponseWithMetadata = normalizeResponseWithMetadata;
|
|
|
10
10
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
11
11
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
var _require = require(
|
|
13
|
+
var _require = require('../util/RelayConcreteNode'),
|
|
14
14
|
CLIENT_EXTENSION = _require.CLIENT_EXTENSION,
|
|
15
15
|
CONDITION = _require.CONDITION,
|
|
16
16
|
DEFER = _require.DEFER,
|
|
@@ -20,16 +20,16 @@ var _require = require("../util/RelayConcreteNode"),
|
|
|
20
20
|
LINKED_HANDLE = _require.LINKED_HANDLE,
|
|
21
21
|
SCALAR_FIELD = _require.SCALAR_FIELD,
|
|
22
22
|
SCALAR_HANDLE = _require.SCALAR_HANDLE;
|
|
23
|
-
var _require2 = require(
|
|
23
|
+
var _require2 = require('./RelayConcreteVariables'),
|
|
24
24
|
getLocalVariables = _require2.getLocalVariables;
|
|
25
|
-
var _require3 = require(
|
|
25
|
+
var _require3 = require('./RelayModernSelector'),
|
|
26
26
|
createNormalizationSelector = _require3.createNormalizationSelector;
|
|
27
|
-
var _require4 = require(
|
|
27
|
+
var _require4 = require('./RelayStoreUtils'),
|
|
28
28
|
ROOT_TYPE = _require4.ROOT_TYPE,
|
|
29
29
|
TYPENAME_KEY = _require4.TYPENAME_KEY,
|
|
30
30
|
getStorageKey = _require4.getStorageKey;
|
|
31
|
-
var invariant = require(
|
|
32
|
-
var _require5 = require(
|
|
31
|
+
var invariant = require('invariant');
|
|
32
|
+
var _require5 = require('relay-runtime'),
|
|
33
33
|
generateClientID = _require5.generateClientID;
|
|
34
34
|
function normalizeResponse(response, selector, options) {
|
|
35
35
|
var node = selector.node,
|
|
@@ -74,14 +74,14 @@ var GraphModeNormalizer = /*#__PURE__*/function () {
|
|
|
74
74
|
};
|
|
75
75
|
_proto._getObjectType = function _getObjectType(data) {
|
|
76
76
|
var typeName = data[TYPENAME_KEY];
|
|
77
|
-
!(typeName != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
77
|
+
!(typeName != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected a typename for record `%s`.', JSON.stringify(data, null, 2)) : invariant(false) : void 0;
|
|
78
78
|
return typeName;
|
|
79
79
|
};
|
|
80
80
|
_proto._getStorageKey = function _getStorageKey(selection) {
|
|
81
81
|
return getStorageKey(selection, this._variables);
|
|
82
82
|
};
|
|
83
83
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
84
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
84
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unexpected undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
85
85
|
return this._variables[name];
|
|
86
86
|
};
|
|
87
87
|
_proto.normalizeResponse = function* normalizeResponse(node, dataID, data) {
|
|
@@ -89,13 +89,13 @@ var GraphModeNormalizer = /*#__PURE__*/function () {
|
|
|
89
89
|
yield* this._traverseSelections(node, data, rootFields, dataID, new Set());
|
|
90
90
|
var $streamID = this._getStreamID();
|
|
91
91
|
yield (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, rootFields), {}, {
|
|
92
|
-
$kind:
|
|
92
|
+
$kind: 'Record',
|
|
93
93
|
$streamID: $streamID,
|
|
94
94
|
__id: dataID,
|
|
95
95
|
__typename: ROOT_TYPE
|
|
96
96
|
});
|
|
97
97
|
yield {
|
|
98
|
-
$kind:
|
|
98
|
+
$kind: 'Complete'
|
|
99
99
|
};
|
|
100
100
|
};
|
|
101
101
|
_proto._flushFields = function* _flushFields(cacheKey, typename, fields) {
|
|
@@ -104,14 +104,14 @@ var GraphModeNormalizer = /*#__PURE__*/function () {
|
|
|
104
104
|
if (maybeStreamID == null) {
|
|
105
105
|
this._cacheKeyToStreamID.set(cacheKey, $streamID);
|
|
106
106
|
yield (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fields), {}, {
|
|
107
|
-
$kind:
|
|
107
|
+
$kind: 'Record',
|
|
108
108
|
__typename: typename,
|
|
109
109
|
__id: cacheKey,
|
|
110
110
|
$streamID: $streamID
|
|
111
111
|
});
|
|
112
112
|
} else if (Object.keys(fields).length > 0) {
|
|
113
113
|
yield (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fields), {}, {
|
|
114
|
-
$kind:
|
|
114
|
+
$kind: 'Extend',
|
|
115
115
|
$streamID: $streamID
|
|
116
116
|
});
|
|
117
117
|
}
|
|
@@ -190,7 +190,7 @@ var GraphModeNormalizer = /*#__PURE__*/function () {
|
|
|
190
190
|
yield* this._traverseSelections(selection, data, parentFields, parentID, sentFields);
|
|
191
191
|
} else {
|
|
192
192
|
this._incrementalPlaceholders.push({
|
|
193
|
-
kind:
|
|
193
|
+
kind: 'defer',
|
|
194
194
|
data: data,
|
|
195
195
|
label: selection.label,
|
|
196
196
|
path: (0, _toConsumableArray2["default"])(this._path),
|
|
@@ -244,17 +244,17 @@ var GraphModeNormalizer = /*#__PURE__*/function () {
|
|
|
244
244
|
if (value == null) {
|
|
245
245
|
return null;
|
|
246
246
|
}
|
|
247
|
-
!(typeof value.__id ===
|
|
247
|
+
!(typeof value.__id === 'number') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected objects in a plural linked field to have an __id.') : invariant(false) : void 0;
|
|
248
248
|
return value.__id;
|
|
249
249
|
});
|
|
250
250
|
return {
|
|
251
251
|
__ids: ids
|
|
252
252
|
};
|
|
253
253
|
}
|
|
254
|
-
!(typeof fieldData ===
|
|
254
|
+
!(typeof fieldData === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected data for field `%s` to be an object.', storageKey) : invariant(false) : void 0;
|
|
255
255
|
var objType = (_selection$concreteTy = selection.concreteType) !== null && _selection$concreteTy !== void 0 ? _selection$concreteTy : this._getObjectType(fieldData);
|
|
256
256
|
var nextID = this._getDataID(fieldData, objType) || generateClientID(parentID, storageKey, index);
|
|
257
|
-
!(typeof nextID ===
|
|
257
|
+
!(typeof nextID === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected id on field `%s` to be a string.', storageKey) : invariant(false) : void 0;
|
|
258
258
|
var fields = {};
|
|
259
259
|
yield* this._traverseSelections(selection, fieldData, fields, nextID, this._getSentFields(nextID));
|
|
260
260
|
var $streamID = yield* this._flushFields(nextID, objType, fields);
|
|
@@ -1,22 +1,22 @@
|
|
|
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
|
-
var RelayDefaultHandlerProvider = require(
|
|
6
|
-
var _require = require(
|
|
5
|
+
var RelayDefaultHandlerProvider = require('../handlers/RelayDefaultHandlerProvider');
|
|
6
|
+
var _require = require('../multi-actor-environment/ActorIdentifier'),
|
|
7
7
|
INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE = _require.INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE,
|
|
8
8
|
assertInternalActorIdentifier = _require.assertInternalActorIdentifier;
|
|
9
|
-
var RelayObservable = require(
|
|
10
|
-
var wrapNetworkWithLogObserver = require(
|
|
11
|
-
var RelayOperationTracker = require(
|
|
12
|
-
var registerEnvironmentWithDevTools = require(
|
|
13
|
-
var defaultGetDataID = require(
|
|
14
|
-
var defaultRequiredFieldLogger = require(
|
|
15
|
-
var normalizeResponse = require(
|
|
16
|
-
var OperationExecutor = require(
|
|
17
|
-
var RelayPublishQueue = require(
|
|
18
|
-
var RelayRecordSource = require(
|
|
19
|
-
var invariant = require(
|
|
9
|
+
var RelayObservable = require('../network/RelayObservable');
|
|
10
|
+
var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
|
|
11
|
+
var RelayOperationTracker = require('../store/RelayOperationTracker');
|
|
12
|
+
var registerEnvironmentWithDevTools = require('../util/registerEnvironmentWithDevTools');
|
|
13
|
+
var defaultGetDataID = require('./defaultGetDataID');
|
|
14
|
+
var defaultRequiredFieldLogger = require('./defaultRequiredFieldLogger');
|
|
15
|
+
var normalizeResponse = require('./normalizeResponse');
|
|
16
|
+
var OperationExecutor = require('./OperationExecutor');
|
|
17
|
+
var RelayPublishQueue = require('./RelayPublishQueue');
|
|
18
|
+
var RelayRecordSource = require('./RelayRecordSource');
|
|
19
|
+
var invariant = require('invariant');
|
|
20
20
|
var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
21
21
|
function RelayModernEnvironment(config) {
|
|
22
22
|
var _this = this;
|
|
@@ -26,12 +26,12 @@ var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
|
26
26
|
var operationLoader = config.operationLoader;
|
|
27
27
|
if (process.env.NODE_ENV !== "production") {
|
|
28
28
|
if (operationLoader != null) {
|
|
29
|
-
!(typeof operationLoader ===
|
|
29
|
+
!(typeof operationLoader === 'object' && typeof operationLoader.get === 'function' && typeof operationLoader.load === 'function') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernEnvironment: Expected `operationLoader` to be an object ' + 'with get() and load() functions, got `%s`.', operationLoader) : invariant(false) : void 0;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
this.__log = (_config$log = config.log) !== null && _config$log !== void 0 ? _config$log : emptyFunction;
|
|
33
33
|
this.requiredFieldLogger = (_config$requiredField = config.requiredFieldLogger) !== null && _config$requiredField !== void 0 ? _config$requiredField : defaultRequiredFieldLogger;
|
|
34
|
-
this._defaultRenderPolicy = (_config$UNSTABLE_defa = config.UNSTABLE_defaultRenderPolicy) !== null && _config$UNSTABLE_defa !== void 0 ? _config$UNSTABLE_defa :
|
|
34
|
+
this._defaultRenderPolicy = (_config$UNSTABLE_defa = config.UNSTABLE_defaultRenderPolicy) !== null && _config$UNSTABLE_defa !== void 0 ? _config$UNSTABLE_defa : 'partial';
|
|
35
35
|
this._operationLoader = operationLoader;
|
|
36
36
|
this._operationExecutions = new Map();
|
|
37
37
|
this._network = wrapNetworkWithLogObserver(this, config.network);
|
|
@@ -47,7 +47,7 @@ var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
|
47
47
|
return _this._network = wrapNetworkWithLogObserver(_this, newNet);
|
|
48
48
|
};
|
|
49
49
|
if (process.env.NODE_ENV !== "production") {
|
|
50
|
-
var _require2 = require(
|
|
50
|
+
var _require2 = require('./StoreInspector'),
|
|
51
51
|
inspect = _require2.inspect;
|
|
52
52
|
this.DEBUG_inspect = function (dataID) {
|
|
53
53
|
return inspect(_this, dataID);
|
|
@@ -72,7 +72,7 @@ var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
|
72
72
|
};
|
|
73
73
|
_proto.isRequestActive = function isRequestActive(requestIdentifier) {
|
|
74
74
|
var activeState = this._operationExecutions.get(requestIdentifier);
|
|
75
|
-
return activeState ===
|
|
75
|
+
return activeState === 'active';
|
|
76
76
|
};
|
|
77
77
|
_proto.UNSTABLE_getDefaultRenderPolicy = function UNSTABLE_getDefaultRenderPolicy() {
|
|
78
78
|
return this._defaultRenderPolicy;
|
|
@@ -263,7 +263,7 @@ var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
|
263
263
|
};
|
|
264
264
|
_proto.toJSON = function toJSON() {
|
|
265
265
|
var _this$configName;
|
|
266
|
-
return "RelayModernEnvironment(".concat((_this$configName = this.configName) !== null && _this$configName !== void 0 ? _this$configName :
|
|
266
|
+
return "RelayModernEnvironment(".concat((_this$configName = this.configName) !== null && _this$configName !== void 0 ? _this$configName : '', ")");
|
|
267
267
|
};
|
|
268
268
|
_proto._execute = function _execute(_ref5) {
|
|
269
269
|
var _this10 = this;
|
|
@@ -309,8 +309,8 @@ var RelayModernEnvironment = /*#__PURE__*/function () {
|
|
|
309
309
|
return RelayModernEnvironment;
|
|
310
310
|
}();
|
|
311
311
|
function operationHasClientAbstractTypes(operation) {
|
|
312
|
-
return operation.root.node.kind ===
|
|
312
|
+
return operation.root.node.kind === 'Operation' && operation.root.node.clientAbstractTypes != null;
|
|
313
313
|
}
|
|
314
|
-
RelayModernEnvironment.prototype[
|
|
314
|
+
RelayModernEnvironment.prototype['@@RelayModernEnvironment'] = true;
|
|
315
315
|
function emptyFunction() {}
|
|
316
316
|
module.exports = RelayModernEnvironment;
|
|
@@ -1,28 +1,28 @@
|
|
|
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
|
-
var getPendingOperationsForFragment = require(
|
|
7
|
-
var handlePotentialSnapshotErrors = require(
|
|
8
|
-
var isScalarAndEqual = require(
|
|
9
|
-
var recycleNodesInto = require(
|
|
10
|
-
var RelayFeatureFlags = require(
|
|
11
|
-
var _require = require(
|
|
6
|
+
var getPendingOperationsForFragment = require('../util/getPendingOperationsForFragment');
|
|
7
|
+
var handlePotentialSnapshotErrors = require('../util/handlePotentialSnapshotErrors');
|
|
8
|
+
var isScalarAndEqual = require('../util/isScalarAndEqual');
|
|
9
|
+
var recycleNodesInto = require('../util/recycleNodesInto');
|
|
10
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
11
|
+
var _require = require('./RelayModernOperationDescriptor'),
|
|
12
12
|
createRequestDescriptor = _require.createRequestDescriptor;
|
|
13
|
-
var _require2 = require(
|
|
13
|
+
var _require2 = require('./RelayModernSelector'),
|
|
14
14
|
areEqualSelectors = _require2.areEqualSelectors,
|
|
15
15
|
createReaderSelector = _require2.createReaderSelector,
|
|
16
16
|
getSelectorsFromObject = _require2.getSelectorsFromObject;
|
|
17
17
|
var areEqual = require("fbjs/lib/areEqual");
|
|
18
|
-
var invariant = require(
|
|
18
|
+
var invariant = require('invariant');
|
|
19
19
|
var warning = require("fbjs/lib/warning");
|
|
20
20
|
var RelayModernFragmentSpecResolver = /*#__PURE__*/function () {
|
|
21
21
|
function RelayModernFragmentSpecResolver(context, fragments, props, callback, rootIsQueryRenderer) {
|
|
22
22
|
var _this = this;
|
|
23
23
|
(0, _defineProperty2["default"])(this, "_onChange", function () {
|
|
24
24
|
_this._stale = true;
|
|
25
|
-
if (typeof _this._callback ===
|
|
25
|
+
if (typeof _this._callback === 'function') {
|
|
26
26
|
_this._callback();
|
|
27
27
|
}
|
|
28
28
|
});
|
|
@@ -91,18 +91,18 @@ var RelayModernFragmentSpecResolver = /*#__PURE__*/function () {
|
|
|
91
91
|
resolver.dispose();
|
|
92
92
|
}
|
|
93
93
|
resolver = null;
|
|
94
|
-
} else if (ownedSelector.kind ===
|
|
94
|
+
} else if (ownedSelector.kind === 'PluralReaderSelector') {
|
|
95
95
|
if (resolver == null) {
|
|
96
96
|
resolver = new SelectorListResolver(this._context.environment, this._rootIsQueryRenderer, ownedSelector, this._callback != null, this._onChange);
|
|
97
97
|
} else {
|
|
98
|
-
!(resolver instanceof SelectorListResolver) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
98
|
+
!(resolver instanceof SelectorListResolver) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernFragmentSpecResolver: Expected prop `%s` to always be an array.', key) : invariant(false) : void 0;
|
|
99
99
|
resolver.setSelector(ownedSelector);
|
|
100
100
|
}
|
|
101
101
|
} else {
|
|
102
102
|
if (resolver == null) {
|
|
103
103
|
resolver = new SelectorResolver(this._context.environment, this._rootIsQueryRenderer, ownedSelector, this._callback != null, this._onChange);
|
|
104
104
|
} else {
|
|
105
|
-
!(resolver instanceof SelectorResolver) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
105
|
+
!(resolver instanceof SelectorResolver) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernFragmentSpecResolver: Expected prop `%s` to always be an object.', key) : invariant(false) : void 0;
|
|
106
106
|
resolver.setSelector(ownedSelector);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
@@ -165,13 +165,13 @@ var SelectorResolver = /*#__PURE__*/function () {
|
|
|
165
165
|
var promise = pendingOperationsResult === null || pendingOperationsResult === void 0 ? void 0 : pendingOperationsResult.promise;
|
|
166
166
|
if (promise != null) {
|
|
167
167
|
if (this._rootIsQueryRenderer) {
|
|
168
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
168
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Relay Container for fragment `%s` has missing data and ' + 'would suspend. When using features such as @defer or @module, ' + 'use `useFragment` instead of a Relay Container.', this._selector.node.name) : void 0;
|
|
169
169
|
} else {
|
|
170
170
|
var _pendingOperationsRes;
|
|
171
171
|
var pendingOperations = (_pendingOperationsRes = pendingOperationsResult === null || pendingOperationsResult === void 0 ? void 0 : pendingOperationsResult.pendingOperations) !== null && _pendingOperationsRes !== void 0 ? _pendingOperationsRes : [];
|
|
172
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
172
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Relay Container for fragment `%s` suspended. When using ' + 'features such as @defer or @module, use `useFragment` instead ' + 'of a Relay Container.', this._selector.node.name) : void 0;
|
|
173
173
|
this._environment.__log({
|
|
174
|
-
name:
|
|
174
|
+
name: 'suspense.fragment',
|
|
175
175
|
data: this._data,
|
|
176
176
|
fragment: this._selector.node,
|
|
177
177
|
isRelayHooks: false,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var deepFreeze = require(
|
|
4
|
-
var getRequestIdentifier = require(
|
|
5
|
-
var _require = require(
|
|
3
|
+
var deepFreeze = require('../util/deepFreeze');
|
|
4
|
+
var getRequestIdentifier = require('../util/getRequestIdentifier');
|
|
5
|
+
var _require = require('./RelayConcreteVariables'),
|
|
6
6
|
getOperationVariables = _require.getOperationVariables;
|
|
7
|
-
var _require2 = require(
|
|
7
|
+
var _require2 = require('./RelayModernSelector'),
|
|
8
8
|
createNormalizationSelector = _require2.createNormalizationSelector,
|
|
9
9
|
createReaderSelector = _require2.createReaderSelector;
|
|
10
|
-
var _require3 = require(
|
|
10
|
+
var _require3 = require('./RelayStoreUtils'),
|
|
11
11
|
ROOT_ID = _require3.ROOT_ID;
|
|
12
12
|
function createOperationDescriptor(request, variables, cacheConfig) {
|
|
13
13
|
var dataID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ROOT_ID;
|
|
@@ -1,14 +1,14 @@
|
|
|
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
|
-
var deepFreeze = require(
|
|
6
|
-
var _require = require(
|
|
5
|
+
var deepFreeze = require('../util/deepFreeze');
|
|
6
|
+
var _require = require('./ClientID'),
|
|
7
7
|
generateClientObjectClientID = _require.generateClientObjectClientID,
|
|
8
8
|
isClientID = _require.isClientID;
|
|
9
|
-
var _require2 = require(
|
|
9
|
+
var _require2 = require('./experimental-live-resolvers/LiveResolverSuspenseSentinel'),
|
|
10
10
|
isSuspenseSentinel = _require2.isSuspenseSentinel;
|
|
11
|
-
var _require3 = require(
|
|
11
|
+
var _require3 = require('./RelayStoreUtils'),
|
|
12
12
|
ACTOR_IDENTIFIER_KEY = _require3.ACTOR_IDENTIFIER_KEY,
|
|
13
13
|
ID_KEY = _require3.ID_KEY,
|
|
14
14
|
INVALIDATED_AT_KEY = _require3.INVALIDATED_AT_KEY,
|
|
@@ -18,7 +18,7 @@ var _require3 = require("./RelayStoreUtils"),
|
|
|
18
18
|
ROOT_ID = _require3.ROOT_ID,
|
|
19
19
|
TYPENAME_KEY = _require3.TYPENAME_KEY;
|
|
20
20
|
var areEqual = require("fbjs/lib/areEqual");
|
|
21
|
-
var invariant = require(
|
|
21
|
+
var invariant = require('invariant');
|
|
22
22
|
var warning = require("fbjs/lib/warning");
|
|
23
23
|
function clone(record) {
|
|
24
24
|
return (0, _objectSpread2["default"])({}, record);
|
|
@@ -52,8 +52,8 @@ function getType(record) {
|
|
|
52
52
|
}
|
|
53
53
|
function getValue(record, storageKey) {
|
|
54
54
|
var value = record[storageKey];
|
|
55
|
-
if (value && typeof value ===
|
|
56
|
-
!(!value.hasOwnProperty(REF_KEY) && !value.hasOwnProperty(REFS_KEY)) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
55
|
+
if (value && typeof value === 'object') {
|
|
56
|
+
!(!value.hasOwnProperty(REF_KEY) && !value.hasOwnProperty(REFS_KEY)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getValue(): Expected a scalar (non-link) value for `%s.%s` ' + 'but found %s.', record[ID_KEY], storageKey, value.hasOwnProperty(REF_KEY) ? 'a linked record' : 'plural linked records') : invariant(false) : void 0;
|
|
57
57
|
}
|
|
58
58
|
return value;
|
|
59
59
|
}
|
|
@@ -66,7 +66,7 @@ function getLinkedRecordID(record, storageKey) {
|
|
|
66
66
|
return maybeLink;
|
|
67
67
|
}
|
|
68
68
|
var link = maybeLink;
|
|
69
|
-
!(typeof link ===
|
|
69
|
+
!(typeof link === 'object' && link && typeof link[REF_KEY] === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getLinkedRecordID(): Expected `%s.%s` to be a linked ID, ' + 'was `%s`.%s', record[ID_KEY], storageKey, JSON.stringify(link), typeof link === 'object' && link[REFS_KEY] !== undefined ? ' It appears to be a plural linked record: did you mean to call ' + 'getLinkedRecords() instead of getLinkedRecord()?' : '') : invariant(false) : void 0;
|
|
70
70
|
return link[REF_KEY];
|
|
71
71
|
}
|
|
72
72
|
function getLinkedRecordIDs(record, storageKey) {
|
|
@@ -74,7 +74,7 @@ function getLinkedRecordIDs(record, storageKey) {
|
|
|
74
74
|
if (links == null) {
|
|
75
75
|
return links;
|
|
76
76
|
}
|
|
77
|
-
!(typeof links ===
|
|
77
|
+
!(typeof links === 'object' && Array.isArray(links[REFS_KEY])) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getLinkedRecordIDs(): Expected `%s.%s` to contain an array ' + 'of linked IDs, got `%s`.%s', record[ID_KEY], storageKey, JSON.stringify(links), typeof links === 'object' && links[REF_KEY] !== undefined ? ' It appears to be a singular linked record: did you mean to call ' + 'getLinkedRecord() instead of getLinkedRecords()?' : '') : invariant(false) : void 0;
|
|
78
78
|
return links[REFS_KEY];
|
|
79
79
|
}
|
|
80
80
|
function getInvalidationEpoch(record) {
|
|
@@ -82,7 +82,7 @@ function getInvalidationEpoch(record) {
|
|
|
82
82
|
return null;
|
|
83
83
|
}
|
|
84
84
|
var invalidatedAt = record[INVALIDATED_AT_KEY];
|
|
85
|
-
if (typeof invalidatedAt !==
|
|
85
|
+
if (typeof invalidatedAt !== 'number') {
|
|
86
86
|
return null;
|
|
87
87
|
}
|
|
88
88
|
return invalidatedAt;
|
|
@@ -92,10 +92,10 @@ function update(prevRecord, nextRecord) {
|
|
|
92
92
|
var _getType, _getType2;
|
|
93
93
|
var prevID = getDataID(prevRecord);
|
|
94
94
|
var nextID = getDataID(nextRecord);
|
|
95
|
-
process.env.NODE_ENV !== "production" ? warning(prevID === nextID,
|
|
95
|
+
process.env.NODE_ENV !== "production" ? warning(prevID === nextID, 'RelayModernRecord: Invalid record update, expected both versions of ' + 'the record to have the same id, got `%s` and `%s`.', prevID, nextID) : void 0;
|
|
96
96
|
var prevType = (_getType = getType(prevRecord)) !== null && _getType !== void 0 ? _getType : null;
|
|
97
97
|
var nextType = (_getType2 = getType(nextRecord)) !== null && _getType2 !== void 0 ? _getType2 : null;
|
|
98
|
-
process.env.NODE_ENV !== "production" ? warning(isClientID(nextID) && nextID !== ROOT_ID || prevType === nextType,
|
|
98
|
+
process.env.NODE_ENV !== "production" ? warning(isClientID(nextID) && nextID !== ROOT_ID || prevType === nextType, 'RelayModernRecord: Invalid record update, expected both versions of ' + 'record `%s` to have the same `%s` but got conflicting types `%s` ' + 'and `%s`. The GraphQL server likely violated the globally unique ' + 'id requirement by returning the same id for different objects.', prevID, TYPENAME_KEY, prevType, nextType) : void 0;
|
|
99
99
|
}
|
|
100
100
|
var updated = null;
|
|
101
101
|
var keys = Object.keys(nextRecord);
|
|
@@ -113,10 +113,10 @@ function merge(record1, record2) {
|
|
|
113
113
|
var _getType3, _getType4;
|
|
114
114
|
var prevID = getDataID(record1);
|
|
115
115
|
var nextID = getDataID(record2);
|
|
116
|
-
process.env.NODE_ENV !== "production" ? warning(prevID === nextID,
|
|
116
|
+
process.env.NODE_ENV !== "production" ? warning(prevID === nextID, 'RelayModernRecord: Invalid record merge, expected both versions of ' + 'the record to have the same id, got `%s` and `%s`.', prevID, nextID) : void 0;
|
|
117
117
|
var prevType = (_getType3 = getType(record1)) !== null && _getType3 !== void 0 ? _getType3 : null;
|
|
118
118
|
var nextType = (_getType4 = getType(record2)) !== null && _getType4 !== void 0 ? _getType4 : null;
|
|
119
|
-
process.env.NODE_ENV !== "production" ? warning(isClientID(nextID) && nextID !== ROOT_ID || prevType === nextType,
|
|
119
|
+
process.env.NODE_ENV !== "production" ? warning(isClientID(nextID) && nextID !== ROOT_ID || prevType === nextType, 'RelayModernRecord: Invalid record merge, expected both versions of ' + 'record `%s` to have the same `%s` but got conflicting types `%s` ' + 'and `%s`. The GraphQL server likely violated the globally unique ' + 'id requirement by returning the same id for different objects.', prevID, TYPENAME_KEY, prevType, nextType) : void 0;
|
|
120
120
|
}
|
|
121
121
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, record1), record2);
|
|
122
122
|
}
|
|
@@ -127,12 +127,12 @@ function setValue(record, storageKey, value) {
|
|
|
127
127
|
if (process.env.NODE_ENV !== "production") {
|
|
128
128
|
var prevID = getDataID(record);
|
|
129
129
|
if (storageKey === ID_KEY) {
|
|
130
|
-
process.env.NODE_ENV !== "production" ? warning(prevID === value,
|
|
130
|
+
process.env.NODE_ENV !== "production" ? warning(prevID === value, 'RelayModernRecord: Invalid field update, expected both versions of ' + 'the record to have the same id, got `%s` and `%s`.', prevID, value) : void 0;
|
|
131
131
|
} else if (storageKey === TYPENAME_KEY) {
|
|
132
132
|
var _getType5;
|
|
133
133
|
var prevType = (_getType5 = getType(record)) !== null && _getType5 !== void 0 ? _getType5 : null;
|
|
134
134
|
var nextType = value !== null && value !== void 0 ? value : null;
|
|
135
|
-
process.env.NODE_ENV !== "production" ? warning(isClientID(getDataID(record)) && getDataID(record) !== ROOT_ID || prevType === nextType,
|
|
135
|
+
process.env.NODE_ENV !== "production" ? warning(isClientID(getDataID(record)) && getDataID(record) !== ROOT_ID || prevType === nextType, 'RelayModernRecord: Invalid field update, expected both versions of ' + 'record `%s` to have the same `%s` but got conflicting types `%s` ' + 'and `%s`. The GraphQL server likely violated the globally unique ' + 'id requirement by returning the same id for different objects.', prevID, TYPENAME_KEY, prevType, nextType) : void 0;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
record[storageKey] = value;
|
|
@@ -158,7 +158,7 @@ function getActorLinkedRecordID(record, storageKey) {
|
|
|
158
158
|
if (link == null) {
|
|
159
159
|
return link;
|
|
160
160
|
}
|
|
161
|
-
!(typeof link ===
|
|
161
|
+
!(typeof link === 'object' && typeof link[REF_KEY] === 'string' && link[ACTOR_IDENTIFIER_KEY] != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getActorLinkedRecordID(): Expected `%s.%s` to be an actor specific linked ID, ' + 'was `%s`.', record[ID_KEY], storageKey, JSON.stringify(link)) : invariant(false) : void 0;
|
|
162
162
|
return [link[ACTOR_IDENTIFIER_KEY], link[REF_KEY]];
|
|
163
163
|
}
|
|
164
164
|
function getResolverLinkedRecordID(record, typeName) {
|
|
@@ -166,10 +166,10 @@ function getResolverLinkedRecordID(record, typeName) {
|
|
|
166
166
|
if (id == null || isSuspenseSentinel(id)) {
|
|
167
167
|
return null;
|
|
168
168
|
}
|
|
169
|
-
if (typeof id ===
|
|
169
|
+
if (typeof id === 'object') {
|
|
170
170
|
id = id.id;
|
|
171
171
|
}
|
|
172
|
-
!(typeof id ===
|
|
172
|
+
!(typeof id === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordID(): Expected value to be a linked ID, ' + 'was `%s`.', JSON.stringify(id)) : invariant(false) : void 0;
|
|
173
173
|
return generateClientObjectClientID(typeName, id);
|
|
174
174
|
}
|
|
175
175
|
function getResolverLinkedRecordIDs(record, typeName) {
|
|
@@ -177,15 +177,15 @@ function getResolverLinkedRecordIDs(record, typeName) {
|
|
|
177
177
|
if (resolverValue == null || isSuspenseSentinel(resolverValue)) {
|
|
178
178
|
return null;
|
|
179
179
|
}
|
|
180
|
-
!Array.isArray(resolverValue) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
180
|
+
!Array.isArray(resolverValue) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordIDs(): Expected value to be an array of linked IDs, ' + 'was `%s`.', JSON.stringify(resolverValue)) : invariant(false) : void 0;
|
|
181
181
|
return resolverValue.map(function (id) {
|
|
182
182
|
if (id == null) {
|
|
183
183
|
return null;
|
|
184
184
|
}
|
|
185
|
-
if (typeof id ===
|
|
185
|
+
if (typeof id === 'object') {
|
|
186
186
|
id = id.id;
|
|
187
187
|
}
|
|
188
|
-
!(typeof id ===
|
|
188
|
+
!(typeof id === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordIDs(): Expected item within resolver linked field to be a DataID, ' + 'was `%s`.', JSON.stringify(id)) : invariant(false) : void 0;
|
|
189
189
|
return generateClientObjectClientID(typeName, id);
|
|
190
190
|
});
|
|
191
191
|
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var _require = require(
|
|
3
|
+
var _require = require('./RelayConcreteVariables'),
|
|
4
4
|
getFragmentVariables = _require.getFragmentVariables;
|
|
5
|
-
var _require2 = require(
|
|
5
|
+
var _require2 = require('./RelayStoreUtils'),
|
|
6
6
|
CLIENT_EDGE_TRAVERSAL_PATH = _require2.CLIENT_EDGE_TRAVERSAL_PATH,
|
|
7
7
|
FRAGMENT_OWNER_KEY = _require2.FRAGMENT_OWNER_KEY,
|
|
8
|
+
FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT = _require2.FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT,
|
|
8
9
|
FRAGMENTS_KEY = _require2.FRAGMENTS_KEY,
|
|
9
|
-
ID_KEY = _require2.ID_KEY
|
|
10
|
-
IS_WITHIN_UNMATCHED_TYPE_REFINEMENT = _require2.IS_WITHIN_UNMATCHED_TYPE_REFINEMENT;
|
|
10
|
+
ID_KEY = _require2.ID_KEY;
|
|
11
11
|
var areEqual = require("fbjs/lib/areEqual");
|
|
12
|
-
var invariant = require(
|
|
12
|
+
var invariant = require('invariant');
|
|
13
13
|
var warning = require("fbjs/lib/warning");
|
|
14
14
|
function getSingularSelector(fragment, item) {
|
|
15
|
-
!(typeof item ===
|
|
15
|
+
!(typeof item === 'object' && item !== null && !Array.isArray(item)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an object, got ' + '`%s`.', fragment.name, JSON.stringify(item)) : invariant(false) : void 0;
|
|
16
16
|
var dataID = item[ID_KEY];
|
|
17
17
|
var fragments = item[FRAGMENTS_KEY];
|
|
18
18
|
var mixedOwner = item[FRAGMENT_OWNER_KEY];
|
|
19
|
-
var isWithinUnmatchedTypeRefinement = item[IS_WITHIN_UNMATCHED_TYPE_REFINEMENT] === true;
|
|
20
19
|
var mixedClientEdgeTraversalPath = item[CLIENT_EDGE_TRAVERSAL_PATH];
|
|
21
|
-
if (typeof dataID ===
|
|
20
|
+
if (typeof dataID === 'string' && typeof fragments === 'object' && fragments !== null && typeof fragments[fragment.name] === 'object' && fragments[fragment.name] !== null && typeof mixedOwner === 'object' && mixedOwner !== null && (mixedClientEdgeTraversalPath == null || Array.isArray(mixedClientEdgeTraversalPath))) {
|
|
22
21
|
var owner = mixedOwner;
|
|
23
22
|
var clientEdgeTraversalPath = mixedClientEdgeTraversalPath;
|
|
24
23
|
var argumentVariables = fragments[fragment.name];
|
|
25
24
|
var fragmentVariables = getFragmentVariables(fragment, owner.variables, argumentVariables);
|
|
25
|
+
var isWithinUnmatchedTypeRefinement = argumentVariables[FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT] === true;
|
|
26
26
|
return createReaderSelector(fragment, dataID, fragmentVariables, owner, isWithinUnmatchedTypeRefinement, clientEdgeTraversalPath);
|
|
27
27
|
}
|
|
28
28
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -30,7 +30,7 @@ function getSingularSelector(fragment, item) {
|
|
|
30
30
|
if (stringifiedItem.length > 499) {
|
|
31
31
|
stringifiedItem = stringifiedItem.substr(0, 498) + "\u2026";
|
|
32
32
|
}
|
|
33
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
33
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'RelayModernSelector: Expected object to contain data for fragment `%s`, got ' + '`%s`. Make sure that the parent operation/fragment included fragment ' + '`...%s` without `@relay(mask: false)`.', fragment.name, stringifiedItem, fragment.name) : void 0;
|
|
34
34
|
}
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
@@ -47,7 +47,7 @@ function getPluralSelector(fragment, items) {
|
|
|
47
47
|
return null;
|
|
48
48
|
} else {
|
|
49
49
|
return {
|
|
50
|
-
kind:
|
|
50
|
+
kind: 'PluralReaderSelector',
|
|
51
51
|
selectors: selectors
|
|
52
52
|
};
|
|
53
53
|
}
|
|
@@ -56,10 +56,10 @@ function getSelector(fragment, item) {
|
|
|
56
56
|
if (item == null) {
|
|
57
57
|
return item;
|
|
58
58
|
} else if (fragment.metadata && fragment.metadata.plural === true) {
|
|
59
|
-
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
59
|
+
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. ' + 'Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
60
60
|
return getPluralSelector(fragment, item);
|
|
61
61
|
} else {
|
|
62
|
-
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
62
|
+
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`. ' + 'Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
63
63
|
return getSingularSelector(fragment, item);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -89,10 +89,10 @@ function getDataIDsFromFragment(fragment, item) {
|
|
|
89
89
|
if (item == null) {
|
|
90
90
|
return item;
|
|
91
91
|
} else if (fragment.metadata && fragment.metadata.plural === true) {
|
|
92
|
-
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
92
|
+
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. ' + 'Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
93
93
|
return getDataIDs(fragment, item);
|
|
94
94
|
} else {
|
|
95
|
-
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
95
|
+
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernFragmentSpecResolver: Expected value for fragment `%s` to be an object, got `%s`. ' + 'Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
96
96
|
return getDataID(fragment, item);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -108,12 +108,12 @@ function getDataIDs(fragment, items) {
|
|
|
108
108
|
return ids;
|
|
109
109
|
}
|
|
110
110
|
function getDataID(fragment, item) {
|
|
111
|
-
!(typeof item ===
|
|
111
|
+
!(typeof item === 'object' && item !== null && !Array.isArray(item)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an object, got ' + '`%s`.', fragment.name, JSON.stringify(item)) : invariant(false) : void 0;
|
|
112
112
|
var dataID = item[ID_KEY];
|
|
113
|
-
if (typeof dataID ===
|
|
113
|
+
if (typeof dataID === 'string') {
|
|
114
114
|
return dataID;
|
|
115
115
|
}
|
|
116
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
116
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'RelayModernSelector: Expected object to contain data for fragment `%s`, got ' + '`%s`. Make sure that the parent operation/fragment included fragment ' + '`...%s` without `@relay(mask: false)`, or `null` is passed as the fragment ' + "reference for `%s` if it's conditonally included and the condition isn't met.", fragment.name, JSON.stringify(item), fragment.name, fragment.name) : void 0;
|
|
117
117
|
return null;
|
|
118
118
|
}
|
|
119
119
|
function getVariablesFromObject(fragments, object) {
|
|
@@ -133,10 +133,10 @@ function getVariablesFromFragment(fragment, item) {
|
|
|
133
133
|
if (item == null) {
|
|
134
134
|
return {};
|
|
135
135
|
} else if (((_fragment$metadata = fragment.metadata) === null || _fragment$metadata === void 0 ? void 0 : _fragment$metadata.plural) === true) {
|
|
136
|
-
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
136
|
+
!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. ' + 'Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
137
137
|
return getVariablesFromPluralFragment(fragment, item);
|
|
138
138
|
} else {
|
|
139
|
-
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
139
|
+
!!Array.isArray(item) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernFragmentSpecResolver: Expected value for fragment `%s` to be an object, got `%s`. ' + 'Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.', fragment.name, JSON.stringify(item), fragment.name) : invariant(false) : void 0;
|
|
140
140
|
return getVariablesFromSingularFragment(fragment, item) || {};
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -169,9 +169,9 @@ function areEqualSelectors(a, b) {
|
|
|
169
169
|
return b == null;
|
|
170
170
|
} else if (b == null) {
|
|
171
171
|
return a == null;
|
|
172
|
-
} else if (a.kind ===
|
|
172
|
+
} else if (a.kind === 'SingularReaderSelector' && b.kind === 'SingularReaderSelector') {
|
|
173
173
|
return areEqualSingularSelectors(a, b);
|
|
174
|
-
} else if (a.kind ===
|
|
174
|
+
} else if (a.kind === 'PluralReaderSelector' && b.kind === 'PluralReaderSelector') {
|
|
175
175
|
return a.selectors.length === b.selectors.length && a.selectors.every(function (s, i) {
|
|
176
176
|
return areEqualSingularSelectors(s, b.selectors[i]);
|
|
177
177
|
});
|
|
@@ -183,7 +183,7 @@ function createReaderSelector(fragment, dataID, variables, request) {
|
|
|
183
183
|
var isWithinUnmatchedTypeRefinement = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
184
184
|
var clientEdgeTraversalPath = arguments.length > 5 ? arguments[5] : undefined;
|
|
185
185
|
return {
|
|
186
|
-
kind:
|
|
186
|
+
kind: 'SingularReaderSelector',
|
|
187
187
|
dataID: dataID,
|
|
188
188
|
isWithinUnmatchedTypeRefinement: isWithinUnmatchedTypeRefinement,
|
|
189
189
|
clientEdgeTraversalPath: clientEdgeTraversalPath !== null && clientEdgeTraversalPath !== void 0 ? clientEdgeTraversalPath : null,
|