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
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
5
5
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
6
|
-
var _require = require(
|
|
6
|
+
var _require = require('../multi-actor-environment/ActorUtils'),
|
|
7
7
|
ACTOR_IDENTIFIER_FIELD_NAME = _require.ACTOR_IDENTIFIER_FIELD_NAME,
|
|
8
8
|
getActorIdentifierFromPayload = _require.getActorIdentifierFromPayload;
|
|
9
|
-
var _require2 = require(
|
|
9
|
+
var _require2 = require('../util/RelayConcreteNode'),
|
|
10
10
|
ACTOR_CHANGE = _require2.ACTOR_CHANGE,
|
|
11
11
|
CLIENT_COMPONENT = _require2.CLIENT_COMPONENT,
|
|
12
12
|
CLIENT_EDGE_TO_CLIENT_OBJECT = _require2.CLIENT_EDGE_TO_CLIENT_OBJECT,
|
|
@@ -18,20 +18,21 @@ var _require2 = require("../util/RelayConcreteNode"),
|
|
|
18
18
|
LINKED_FIELD = _require2.LINKED_FIELD,
|
|
19
19
|
LINKED_HANDLE = _require2.LINKED_HANDLE,
|
|
20
20
|
MODULE_IMPORT = _require2.MODULE_IMPORT,
|
|
21
|
+
RELAY_LIVE_RESOLVER = _require2.RELAY_LIVE_RESOLVER,
|
|
21
22
|
RELAY_RESOLVER = _require2.RELAY_RESOLVER,
|
|
22
23
|
SCALAR_FIELD = _require2.SCALAR_FIELD,
|
|
23
24
|
SCALAR_HANDLE = _require2.SCALAR_HANDLE,
|
|
24
25
|
STREAM = _require2.STREAM,
|
|
25
26
|
TYPE_DISCRIMINATOR = _require2.TYPE_DISCRIMINATOR;
|
|
26
|
-
var _require3 = require(
|
|
27
|
+
var _require3 = require('./ClientID'),
|
|
27
28
|
generateClientID = _require3.generateClientID,
|
|
28
29
|
isClientID = _require3.isClientID;
|
|
29
|
-
var _require4 = require(
|
|
30
|
+
var _require4 = require('./RelayConcreteVariables'),
|
|
30
31
|
getLocalVariables = _require4.getLocalVariables;
|
|
31
|
-
var RelayModernRecord = require(
|
|
32
|
-
var _require5 = require(
|
|
32
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
33
|
+
var _require5 = require('./RelayModernSelector'),
|
|
33
34
|
createNormalizationSelector = _require5.createNormalizationSelector;
|
|
34
|
-
var _require6 = require(
|
|
35
|
+
var _require6 = require('./RelayStoreUtils'),
|
|
35
36
|
ROOT_ID = _require6.ROOT_ID,
|
|
36
37
|
TYPENAME_KEY = _require6.TYPENAME_KEY,
|
|
37
38
|
getArgumentValues = _require6.getArgumentValues,
|
|
@@ -39,11 +40,11 @@ var _require6 = require("./RelayStoreUtils"),
|
|
|
39
40
|
getModuleComponentKey = _require6.getModuleComponentKey,
|
|
40
41
|
getModuleOperationKey = _require6.getModuleOperationKey,
|
|
41
42
|
getStorageKey = _require6.getStorageKey;
|
|
42
|
-
var _require7 = require(
|
|
43
|
+
var _require7 = require('./TypeID'),
|
|
43
44
|
TYPE_SCHEMA_TYPE = _require7.TYPE_SCHEMA_TYPE,
|
|
44
45
|
generateTypeID = _require7.generateTypeID;
|
|
45
46
|
var areEqual = require("fbjs/lib/areEqual");
|
|
46
|
-
var invariant = require(
|
|
47
|
+
var invariant = require('invariant');
|
|
47
48
|
var warning = require("fbjs/lib/warning");
|
|
48
49
|
function normalize(recordSource, selector, response, options) {
|
|
49
50
|
var dataID = selector.dataID,
|
|
@@ -70,7 +71,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
70
71
|
var _proto = RelayResponseNormalizer.prototype;
|
|
71
72
|
_proto.normalizeResponse = function normalizeResponse(node, dataID, data) {
|
|
72
73
|
var record = this._recordSource.get(dataID);
|
|
73
|
-
!record ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
74
|
+
!record ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer(): Expected root record `%s` to exist.', dataID) : invariant(false) : void 0;
|
|
74
75
|
this._assignClientAbstractTypes(node);
|
|
75
76
|
this._traverseSelections(node, record, data);
|
|
76
77
|
return {
|
|
@@ -109,12 +110,12 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
109
110
|
}
|
|
110
111
|
};
|
|
111
112
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
112
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
113
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
113
114
|
return this._variables[name];
|
|
114
115
|
};
|
|
115
116
|
_proto._getRecordType = function _getRecordType(data) {
|
|
116
117
|
var typeName = data[TYPENAME_KEY];
|
|
117
|
-
!(typeName != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
118
|
+
!(typeName != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer(): Expected a typename for record `%s`.', JSON.stringify(data, null, 2)) : invariant(false) : void 0;
|
|
118
119
|
return typeName;
|
|
119
120
|
};
|
|
120
121
|
_proto._traverseSelections = function _traverseSelections(node, record, data) {
|
|
@@ -218,12 +219,15 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
218
219
|
case RELAY_RESOLVER:
|
|
219
220
|
this._normalizeResolver(selection, record, data);
|
|
220
221
|
break;
|
|
222
|
+
case RELAY_LIVE_RESOLVER:
|
|
223
|
+
this._normalizeResolver(selection, record, data);
|
|
224
|
+
break;
|
|
221
225
|
case CLIENT_EDGE_TO_CLIENT_OBJECT:
|
|
222
226
|
this._normalizeResolver(selection.backingField, record, data);
|
|
223
227
|
break;
|
|
224
228
|
default:
|
|
225
229
|
selection;
|
|
226
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
230
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer(): Unexpected ast kind `%s`.', selection.kind) : invariant(false) : void 0;
|
|
227
231
|
}
|
|
228
232
|
}
|
|
229
233
|
};
|
|
@@ -235,13 +239,13 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
235
239
|
_proto._normalizeDefer = function _normalizeDefer(defer, record, data) {
|
|
236
240
|
var isDeferred = defer["if"] === null || this._getVariableValue(defer["if"]);
|
|
237
241
|
if (process.env.NODE_ENV !== "production") {
|
|
238
|
-
process.env.NODE_ENV !== "production" ? warning(typeof isDeferred ===
|
|
242
|
+
process.env.NODE_ENV !== "production" ? warning(typeof isDeferred === 'boolean', 'RelayResponseNormalizer: Expected value for @defer `if` argument to ' + 'be a boolean, got `%s`.', isDeferred) : void 0;
|
|
239
243
|
}
|
|
240
244
|
if (isDeferred === false) {
|
|
241
245
|
this._traverseSelections(defer, record, data);
|
|
242
246
|
} else {
|
|
243
247
|
this._incrementalPlaceholders.push({
|
|
244
|
-
kind:
|
|
248
|
+
kind: 'defer',
|
|
245
249
|
data: data,
|
|
246
250
|
label: defer.label,
|
|
247
251
|
path: (0, _toConsumableArray2["default"])(this._path),
|
|
@@ -255,11 +259,11 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
255
259
|
this._traverseSelections(stream, record, data);
|
|
256
260
|
var isStreamed = stream["if"] === null || this._getVariableValue(stream["if"]);
|
|
257
261
|
if (process.env.NODE_ENV !== "production") {
|
|
258
|
-
process.env.NODE_ENV !== "production" ? warning(typeof isStreamed ===
|
|
262
|
+
process.env.NODE_ENV !== "production" ? warning(typeof isStreamed === 'boolean', 'RelayResponseNormalizer: Expected value for @stream `if` argument ' + 'to be a boolean, got `%s`.', isStreamed) : void 0;
|
|
259
263
|
}
|
|
260
264
|
if (isStreamed === true) {
|
|
261
265
|
this._incrementalPlaceholders.push({
|
|
262
|
-
kind:
|
|
266
|
+
kind: 'stream',
|
|
263
267
|
label: stream.label,
|
|
264
268
|
path: (0, _toConsumableArray2["default"])(this._path),
|
|
265
269
|
parentID: RelayModernRecord.getDataID(record),
|
|
@@ -270,7 +274,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
270
274
|
}
|
|
271
275
|
};
|
|
272
276
|
_proto._normalizeModuleImport = function _normalizeModuleImport(moduleImport, record, data) {
|
|
273
|
-
!(typeof data ===
|
|
277
|
+
!(typeof data === 'object' && data) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected data for @module to be an object.') : invariant(false) : void 0;
|
|
274
278
|
var typeName = RelayModernRecord.getType(record);
|
|
275
279
|
var componentKey = getModuleComponentKey(moduleImport.documentName);
|
|
276
280
|
var componentReference = moduleImport.componentModuleProvider || data[componentKey];
|
|
@@ -280,7 +284,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
280
284
|
RelayModernRecord.setValue(record, operationKey, operationReference !== null && operationReference !== void 0 ? operationReference : null);
|
|
281
285
|
if (operationReference != null) {
|
|
282
286
|
this._followupPayloads.push({
|
|
283
|
-
kind:
|
|
287
|
+
kind: 'ModuleImportPayload',
|
|
284
288
|
args: moduleImport.args,
|
|
285
289
|
data: data,
|
|
286
290
|
dataID: RelayModernRecord.getDataID(record),
|
|
@@ -293,7 +297,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
293
297
|
}
|
|
294
298
|
};
|
|
295
299
|
_proto._normalizeField = function _normalizeField(selection, record, data) {
|
|
296
|
-
!(typeof data ===
|
|
300
|
+
!(typeof data === 'object' && data) ? process.env.NODE_ENV !== "production" ? invariant(false, 'writeField(): Expected data for field `%s` to be an object.', selection.name) : invariant(false) : void 0;
|
|
297
301
|
var responseKey = selection.alias || selection.name;
|
|
298
302
|
var storageKey = getStorageKey(selection, this._variables);
|
|
299
303
|
var fieldValue = data[responseKey];
|
|
@@ -304,7 +308,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
304
308
|
return;
|
|
305
309
|
} else if (!this._treatMissingFieldsAsNull) {
|
|
306
310
|
if (process.env.NODE_ENV !== "production") {
|
|
307
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
311
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'RelayResponseNormalizer: Payload did not contain a value ' + 'for field `%s: %s`. Check that you are parsing with the same ' + 'query that was used to fetch the payload.', responseKey, storageKey) : void 0;
|
|
308
312
|
}
|
|
309
313
|
return;
|
|
310
314
|
}
|
|
@@ -332,13 +336,13 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
332
336
|
this._path.pop();
|
|
333
337
|
} else {
|
|
334
338
|
selection;
|
|
335
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
339
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer(): Unexpected ast kind `%s` during normalization.', selection.kind) : invariant(false) : void 0;
|
|
336
340
|
}
|
|
337
341
|
};
|
|
338
342
|
_proto._normalizeActorChange = function _normalizeActorChange(selection, record, data) {
|
|
339
343
|
var _field$concreteType;
|
|
340
344
|
var field = selection.linkedField;
|
|
341
|
-
!(typeof data ===
|
|
345
|
+
!(typeof data === 'object' && data) ? process.env.NODE_ENV !== "production" ? invariant(false, '_normalizeActorChange(): Expected data for field `%s` to be an object.', field.name) : invariant(false) : void 0;
|
|
342
346
|
var responseKey = field.alias || field.name;
|
|
343
347
|
var storageKey = getStorageKey(field, this._variables);
|
|
344
348
|
var fieldValue = data[responseKey];
|
|
@@ -349,7 +353,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
349
353
|
return;
|
|
350
354
|
} else if (!this._treatMissingFieldsAsNull) {
|
|
351
355
|
if (process.env.NODE_ENV !== "production") {
|
|
352
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
356
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'RelayResponseNormalizer: Payload did not contain a value ' + 'for field `%s: %s`. Check that you are parsing with the same ' + 'query that was used to fetch the payload.', responseKey, storageKey) : void 0;
|
|
353
357
|
}
|
|
354
358
|
return;
|
|
355
359
|
}
|
|
@@ -360,17 +364,17 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
360
364
|
var actorIdentifier = getActorIdentifierFromPayload(fieldValue);
|
|
361
365
|
if (actorIdentifier == null) {
|
|
362
366
|
if (process.env.NODE_ENV !== "production") {
|
|
363
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
367
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'RelayResponseNormalizer: Payload did not contain a value ' + 'for field `%s`. Check that you are parsing with the same ' + 'query that was used to fetch the payload. Payload is `%s`.', ACTOR_IDENTIFIER_FIELD_NAME, JSON.stringify(fieldValue, null, 2)) : void 0;
|
|
364
368
|
}
|
|
365
369
|
RelayModernRecord.setValue(record, storageKey, null);
|
|
366
370
|
return;
|
|
367
371
|
}
|
|
368
372
|
var typeName = (_field$concreteType = field.concreteType) !== null && _field$concreteType !== void 0 ? _field$concreteType : this._getRecordType(fieldValue);
|
|
369
373
|
var nextID = this._getDataId(fieldValue, typeName) || RelayModernRecord.getLinkedRecordID(record, storageKey) || generateClientID(RelayModernRecord.getDataID(record), storageKey);
|
|
370
|
-
!(typeof nextID ===
|
|
374
|
+
!(typeof nextID === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected id on field `%s` to be a string.', storageKey) : invariant(false) : void 0;
|
|
371
375
|
RelayModernRecord.setActorLinkedRecordID(record, storageKey, actorIdentifier, nextID);
|
|
372
376
|
this._followupPayloads.push({
|
|
373
|
-
kind:
|
|
377
|
+
kind: 'ActorPayload',
|
|
374
378
|
data: fieldValue,
|
|
375
379
|
dataID: nextID,
|
|
376
380
|
path: [].concat((0, _toConsumableArray2["default"])(this._path), [responseKey]),
|
|
@@ -382,9 +386,9 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
382
386
|
};
|
|
383
387
|
_proto._normalizeLink = function _normalizeLink(field, record, storageKey, fieldValue) {
|
|
384
388
|
var _field$concreteType2;
|
|
385
|
-
!(typeof fieldValue ===
|
|
389
|
+
!(typeof fieldValue === 'object' && fieldValue) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected data for field `%s` to be an object.', storageKey) : invariant(false) : void 0;
|
|
386
390
|
var nextID = this._getDataId(fieldValue, (_field$concreteType2 = field.concreteType) !== null && _field$concreteType2 !== void 0 ? _field$concreteType2 : this._getRecordType(fieldValue)) || RelayModernRecord.getLinkedRecordID(record, storageKey) || generateClientID(RelayModernRecord.getDataID(record), storageKey);
|
|
387
|
-
!(typeof nextID ===
|
|
391
|
+
!(typeof nextID === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected id on field `%s` to be a string.', storageKey) : invariant(false) : void 0;
|
|
388
392
|
if (process.env.NODE_ENV !== "production") {
|
|
389
393
|
this._validateConflictingLinkedFieldsWithIdenticalId(RelayModernRecord.getLinkedRecordID(record, storageKey), nextID, storageKey);
|
|
390
394
|
}
|
|
@@ -401,7 +405,7 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
401
405
|
};
|
|
402
406
|
_proto._normalizePluralLink = function _normalizePluralLink(field, record, storageKey, fieldValue) {
|
|
403
407
|
var _this = this;
|
|
404
|
-
!Array.isArray(fieldValue) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
408
|
+
!Array.isArray(fieldValue) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected data for field `%s` to be an array ' + 'of objects.', storageKey) : invariant(false) : void 0;
|
|
405
409
|
var prevIDs = RelayModernRecord.getLinkedRecordIDs(record, storageKey);
|
|
406
410
|
var nextIDs = [];
|
|
407
411
|
fieldValue.forEach(function (item, nextIndex) {
|
|
@@ -411,9 +415,9 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
411
415
|
return;
|
|
412
416
|
}
|
|
413
417
|
_this._path.push(String(nextIndex));
|
|
414
|
-
!(typeof item ===
|
|
418
|
+
!(typeof item === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected elements for field `%s` to be ' + 'objects.', storageKey) : invariant(false) : void 0;
|
|
415
419
|
var nextID = _this._getDataId(item, (_field$concreteType3 = field.concreteType) !== null && _field$concreteType3 !== void 0 ? _field$concreteType3 : _this._getRecordType(item)) || prevIDs && prevIDs[nextIndex] || generateClientID(RelayModernRecord.getDataID(record), storageKey, nextIndex);
|
|
416
|
-
!(typeof nextID ===
|
|
420
|
+
!(typeof nextID === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayResponseNormalizer: Expected id of elements of field `%s` to ' + 'be strings.', storageKey) : invariant(false) : void 0;
|
|
417
421
|
nextIDs.push(nextID);
|
|
418
422
|
var nextRecord = _this._recordSource.get(nextID);
|
|
419
423
|
if (!nextRecord) {
|
|
@@ -437,18 +441,18 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
|
|
|
437
441
|
var _field$concreteType4;
|
|
438
442
|
var typeName = (_field$concreteType4 = field.concreteType) !== null && _field$concreteType4 !== void 0 ? _field$concreteType4 : this._getRecordType(payload);
|
|
439
443
|
var dataID = RelayModernRecord.getDataID(record);
|
|
440
|
-
process.env.NODE_ENV !== "production" ? warning(isClientID(dataID) && dataID !== ROOT_ID || RelayModernRecord.getType(record) === typeName,
|
|
444
|
+
process.env.NODE_ENV !== "production" ? warning(isClientID(dataID) && dataID !== ROOT_ID || RelayModernRecord.getType(record) === typeName, 'RelayResponseNormalizer: Invalid record `%s`. Expected %s to be ' + 'consistent, but the record was assigned conflicting types `%s` ' + 'and `%s`. The GraphQL server likely violated the globally unique ' + 'id requirement by returning the same id for different objects.', dataID, TYPENAME_KEY, RelayModernRecord.getType(record), typeName) : void 0;
|
|
441
445
|
};
|
|
442
446
|
_proto._validateConflictingFieldsWithIdenticalId = function _validateConflictingFieldsWithIdenticalId(record, storageKey, fieldValue) {
|
|
443
447
|
if (process.env.NODE_ENV !== "production") {
|
|
444
448
|
var dataID = RelayModernRecord.getDataID(record);
|
|
445
449
|
var previousValue = RelayModernRecord.getValue(record, storageKey);
|
|
446
|
-
process.env.NODE_ENV !== "production" ? warning(storageKey === TYPENAME_KEY || previousValue === undefined || areEqual(previousValue, fieldValue),
|
|
450
|
+
process.env.NODE_ENV !== "production" ? warning(storageKey === TYPENAME_KEY || previousValue === undefined || areEqual(previousValue, fieldValue), 'RelayResponseNormalizer: Invalid record. The record contains two ' + 'instances of the same id: `%s` with conflicting field, %s and its values: %s and %s. ' + 'If two fields are different but share ' + 'the same id, one field will overwrite the other.', dataID, storageKey, previousValue, fieldValue) : void 0;
|
|
447
451
|
}
|
|
448
452
|
};
|
|
449
453
|
_proto._validateConflictingLinkedFieldsWithIdenticalId = function _validateConflictingLinkedFieldsWithIdenticalId(prevID, nextID, storageKey) {
|
|
450
454
|
if (process.env.NODE_ENV !== "production") {
|
|
451
|
-
process.env.NODE_ENV !== "production" ? warning(prevID === undefined || prevID === nextID,
|
|
455
|
+
process.env.NODE_ENV !== "production" ? warning(prevID === undefined || prevID === nextID, 'RelayResponseNormalizer: Invalid record. The record contains ' + 'references to the conflicting field, %s and its id values: %s and %s. ' + 'We need to make sure that the record the field points ' + 'to remains consistent or one field will overwrite the other.', storageKey, prevID, nextID) : void 0;
|
|
452
456
|
}
|
|
453
457
|
};
|
|
454
458
|
return RelayResponseNormalizer;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var deepFreeze = require(
|
|
4
|
-
var recycleNodesInto = require(
|
|
5
|
-
var RelayFeatureFlags = require(
|
|
6
|
-
var hasOverlappingIDs = require(
|
|
7
|
-
var hasSignificantOverlappingIDs = require(
|
|
8
|
-
var RelayReader = require(
|
|
3
|
+
var deepFreeze = require('../util/deepFreeze');
|
|
4
|
+
var recycleNodesInto = require('../util/recycleNodesInto');
|
|
5
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
6
|
+
var hasOverlappingIDs = require('./hasOverlappingIDs');
|
|
7
|
+
var hasSignificantOverlappingIDs = require('./hasSignificantOverlappingIDs');
|
|
8
|
+
var RelayReader = require('./RelayReader');
|
|
9
9
|
var RelayStoreSubscriptions = /*#__PURE__*/function () {
|
|
10
10
|
function RelayStoreSubscriptions(log, resolverCache) {
|
|
11
11
|
this._subscriptions = new Set();
|
|
@@ -105,7 +105,7 @@ var RelayStoreSubscriptions = /*#__PURE__*/function () {
|
|
|
105
105
|
if (nextSnapshot.data !== snapshot.data) {
|
|
106
106
|
if (this.__log && RelayFeatureFlags.ENABLE_NOTIFY_SUBSCRIPTION) {
|
|
107
107
|
this.__log({
|
|
108
|
-
name:
|
|
108
|
+
name: 'store.notify.subscription',
|
|
109
109
|
sourceOperation: sourceOperation,
|
|
110
110
|
snapshot: snapshot,
|
|
111
111
|
nextSnapshot: nextSnapshot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
5
|
-
var getRelayHandleKey = require(
|
|
6
|
-
var RelayConcreteNode = require(
|
|
7
|
-
var stableCopy = require(
|
|
8
|
-
var invariant = require(
|
|
5
|
+
var getRelayHandleKey = require('../util/getRelayHandleKey');
|
|
6
|
+
var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
7
|
+
var stableCopy = require('../util/stableCopy');
|
|
8
|
+
var invariant = require('invariant');
|
|
9
9
|
var VARIABLE = RelayConcreteNode.VARIABLE,
|
|
10
10
|
LITERAL = RelayConcreteNode.LITERAL,
|
|
11
11
|
OBJECT_VALUE = RelayConcreteNode.OBJECT_VALUE,
|
|
12
12
|
LIST_VALUE = RelayConcreteNode.LIST_VALUE;
|
|
13
|
-
var MODULE_COMPONENT_KEY_PREFIX =
|
|
14
|
-
var MODULE_OPERATION_KEY_PREFIX =
|
|
13
|
+
var MODULE_COMPONENT_KEY_PREFIX = '__module_component_';
|
|
14
|
+
var MODULE_OPERATION_KEY_PREFIX = '__module_operation_';
|
|
15
15
|
function getArgumentValue(arg, variables) {
|
|
16
16
|
if (arg.kind === VARIABLE) {
|
|
17
17
|
return getStableVariableValue(arg.variableName, variables);
|
|
@@ -31,11 +31,16 @@ function getArgumentValue(arg, variables) {
|
|
|
31
31
|
return _value;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
function getArgumentValues(args, variables) {
|
|
34
|
+
function getArgumentValues(args, variables, isWithinUnmatchedTypeRefinement) {
|
|
35
35
|
var values = {};
|
|
36
|
-
|
|
37
|
-
values[
|
|
38
|
-
}
|
|
36
|
+
if (isWithinUnmatchedTypeRefinement == true) {
|
|
37
|
+
values[RelayStoreUtils.FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT] = true;
|
|
38
|
+
}
|
|
39
|
+
if (args) {
|
|
40
|
+
args.forEach(function (arg) {
|
|
41
|
+
values[arg.name] = getArgumentValue(arg, variables);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
39
44
|
return values;
|
|
40
45
|
}
|
|
41
46
|
function getHandleStorageKey(handleField, variables) {
|
|
@@ -70,7 +75,7 @@ function getStorageKey(field, variables) {
|
|
|
70
75
|
return args && args.length !== 0 ? formatStorageKey(name, getArgumentValues(args, variables)) : name;
|
|
71
76
|
}
|
|
72
77
|
function getArguments(field) {
|
|
73
|
-
if (field.kind ===
|
|
78
|
+
if (field.kind === 'RelayResolver' || field.kind === 'RelayLiveResolver') {
|
|
74
79
|
var _field$fragment2;
|
|
75
80
|
if (field.args == null) {
|
|
76
81
|
var _field$fragment;
|
|
@@ -81,7 +86,7 @@ function getArguments(field) {
|
|
|
81
86
|
}
|
|
82
87
|
return field.args.concat(field.fragment.args);
|
|
83
88
|
}
|
|
84
|
-
var args = typeof field.args ===
|
|
89
|
+
var args = typeof field.args === 'undefined' ? undefined : field.args;
|
|
85
90
|
return args;
|
|
86
91
|
}
|
|
87
92
|
function getStableStorageKey(name, args) {
|
|
@@ -97,14 +102,14 @@ function formatStorageKey(name, argValues) {
|
|
|
97
102
|
var value = argValues[argName];
|
|
98
103
|
if (value != null) {
|
|
99
104
|
var _JSON$stringify;
|
|
100
|
-
values.push(argName +
|
|
105
|
+
values.push(argName + ':' + ((_JSON$stringify = JSON.stringify(value)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : 'undefined'));
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
}
|
|
104
|
-
return values.length === 0 ? name : name + "(".concat(values.join(
|
|
109
|
+
return values.length === 0 ? name : name + "(".concat(values.join(','), ")");
|
|
105
110
|
}
|
|
106
111
|
function getStableVariableValue(name, variables) {
|
|
107
|
-
!variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
112
|
+
!variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'getVariableValue(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
108
113
|
return stableCopy(variables[name]);
|
|
109
114
|
}
|
|
110
115
|
function getModuleComponentKey(documentName) {
|
|
@@ -114,25 +119,25 @@ function getModuleOperationKey(documentName) {
|
|
|
114
119
|
return "".concat(MODULE_OPERATION_KEY_PREFIX).concat(documentName);
|
|
115
120
|
}
|
|
116
121
|
var RelayStoreUtils = {
|
|
117
|
-
ACTOR_IDENTIFIER_KEY:
|
|
118
|
-
CLIENT_EDGE_TRAVERSAL_PATH:
|
|
119
|
-
FRAGMENTS_KEY:
|
|
120
|
-
FRAGMENT_OWNER_KEY:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
RELAY_RESOLVER_VALUE_KEY:
|
|
132
|
-
RELAY_RESOLVER_INVALIDATION_KEY:
|
|
133
|
-
RELAY_RESOLVER_SNAPSHOT_KEY:
|
|
134
|
-
RELAY_RESOLVER_ERROR_KEY:
|
|
135
|
-
RELAY_RESOLVER_OUTPUT_TYPE_RECORD_IDS:
|
|
122
|
+
ACTOR_IDENTIFIER_KEY: '__actorIdentifier',
|
|
123
|
+
CLIENT_EDGE_TRAVERSAL_PATH: '__clientEdgeTraversalPath',
|
|
124
|
+
FRAGMENTS_KEY: '__fragments',
|
|
125
|
+
FRAGMENT_OWNER_KEY: '__fragmentOwner',
|
|
126
|
+
FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT: '$isWithinUnmatchedTypeRefinement',
|
|
127
|
+
FRAGMENT_PROP_NAME_KEY: '__fragmentPropName',
|
|
128
|
+
MODULE_COMPONENT_KEY: '__module_component',
|
|
129
|
+
ID_KEY: '__id',
|
|
130
|
+
REF_KEY: '__ref',
|
|
131
|
+
REFS_KEY: '__refs',
|
|
132
|
+
ROOT_ID: 'client:root',
|
|
133
|
+
ROOT_TYPE: '__Root',
|
|
134
|
+
TYPENAME_KEY: '__typename',
|
|
135
|
+
INVALIDATED_AT_KEY: '__invalidated_at',
|
|
136
|
+
RELAY_RESOLVER_VALUE_KEY: '__resolverValue',
|
|
137
|
+
RELAY_RESOLVER_INVALIDATION_KEY: '__resolverValueMayBeInvalid',
|
|
138
|
+
RELAY_RESOLVER_SNAPSHOT_KEY: '__resolverSnapshot',
|
|
139
|
+
RELAY_RESOLVER_ERROR_KEY: '__resolverError',
|
|
140
|
+
RELAY_RESOLVER_OUTPUT_TYPE_RECORD_IDS: '__resolverOutputTypeRecordIDs',
|
|
136
141
|
formatStorageKey: formatStorageKey,
|
|
137
142
|
getArgumentValue: getArgumentValue,
|
|
138
143
|
getArgumentValues: getArgumentValues,
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
5
|
-
var recycleNodesInto = require(
|
|
6
|
-
var _require = require(
|
|
5
|
+
var recycleNodesInto = require('../util/recycleNodesInto');
|
|
6
|
+
var _require = require('../util/RelayConcreteNode'),
|
|
7
7
|
RELAY_LIVE_RESOLVER = _require.RELAY_LIVE_RESOLVER;
|
|
8
|
-
var _require2 = require(
|
|
8
|
+
var _require2 = require('./ClientID'),
|
|
9
9
|
generateClientID = _require2.generateClientID;
|
|
10
|
-
var RelayModernRecord = require(
|
|
11
|
-
var _require3 = require(
|
|
10
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
11
|
+
var _require3 = require('./RelayStoreUtils'),
|
|
12
12
|
RELAY_RESOLVER_ERROR_KEY = _require3.RELAY_RESOLVER_ERROR_KEY,
|
|
13
13
|
RELAY_RESOLVER_INVALIDATION_KEY = _require3.RELAY_RESOLVER_INVALIDATION_KEY,
|
|
14
14
|
RELAY_RESOLVER_SNAPSHOT_KEY = _require3.RELAY_RESOLVER_SNAPSHOT_KEY,
|
|
15
15
|
RELAY_RESOLVER_VALUE_KEY = _require3.RELAY_RESOLVER_VALUE_KEY,
|
|
16
16
|
getStorageKey = _require3.getStorageKey;
|
|
17
|
-
var invariant = require(
|
|
17
|
+
var invariant = require('invariant');
|
|
18
18
|
var warning = require("fbjs/lib/warning");
|
|
19
19
|
var emptySet = new Set();
|
|
20
20
|
var NoopResolverCache = /*#__PURE__*/function () {
|
|
21
21
|
function NoopResolverCache() {}
|
|
22
22
|
var _proto = NoopResolverCache.prototype;
|
|
23
23
|
_proto.readFromCacheOrEvaluate = function readFromCacheOrEvaluate(recordID, field, variables, evaluate, getDataForResolverFragment) {
|
|
24
|
-
!(field.kind !== RELAY_LIVE_RESOLVER) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
24
|
+
!(field.kind !== RELAY_LIVE_RESOLVER) ? process.env.NODE_ENV !== "production" ? invariant(false, 'This store does not support Live Resolvers') : invariant(false) : void 0;
|
|
25
25
|
var _evaluate = evaluate(),
|
|
26
26
|
resolverResult = _evaluate.resolverResult,
|
|
27
27
|
snapshot = _evaluate.snapshot,
|
|
@@ -30,7 +30,7 @@ var NoopResolverCache = /*#__PURE__*/function () {
|
|
|
30
30
|
};
|
|
31
31
|
_proto.invalidateDataIDs = function invalidateDataIDs(updatedDataIDs) {};
|
|
32
32
|
_proto.ensureClientRecord = function ensureClientRecord(id, typeName) {
|
|
33
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
33
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'Client Edges to Client Objects are not supported in this version of Relay Store') : invariant(false) : void 0;
|
|
34
34
|
};
|
|
35
35
|
_proto.notifyUpdatedSubscribers = function notifyUpdatedSubscribers(updatedDataIDs) {};
|
|
36
36
|
return NoopResolverCache;
|
|
@@ -53,21 +53,21 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
53
53
|
_proto2.readFromCacheOrEvaluate = function readFromCacheOrEvaluate(recordID, field, variables, evaluate, getDataForResolverFragment) {
|
|
54
54
|
var recordSource = this._getRecordSource();
|
|
55
55
|
var record = recordSource.get(recordID);
|
|
56
|
-
!(record != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
56
|
+
!(record != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'We expect record to exist in the store.') : invariant(false) : void 0;
|
|
57
57
|
var storageKey = getStorageKey(field, variables);
|
|
58
58
|
var linkedID = RelayModernRecord.getLinkedRecordID(record, storageKey);
|
|
59
59
|
var linkedRecord = linkedID == null ? null : recordSource.get(linkedID);
|
|
60
60
|
if (linkedRecord == null || this._isInvalid(linkedRecord, getDataForResolverFragment)) {
|
|
61
61
|
var _linkedID;
|
|
62
62
|
linkedID = (_linkedID = linkedID) !== null && _linkedID !== void 0 ? _linkedID : generateClientID(recordID, storageKey);
|
|
63
|
-
linkedRecord = RelayModernRecord.create(linkedID,
|
|
63
|
+
linkedRecord = RelayModernRecord.create(linkedID, '__RELAY_RESOLVER__');
|
|
64
64
|
var evaluationResult = evaluate();
|
|
65
65
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_VALUE_KEY, evaluationResult.resolverResult);
|
|
66
66
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_SNAPSHOT_KEY, evaluationResult.snapshot);
|
|
67
67
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_ERROR_KEY, evaluationResult.error);
|
|
68
68
|
recordSource.set(linkedID, linkedRecord);
|
|
69
69
|
var currentRecord = recordSource.get(recordID);
|
|
70
|
-
!(currentRecord != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
70
|
+
!(currentRecord != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected the parent record to still be in the record source.') : invariant(false) : void 0;
|
|
71
71
|
var nextRecord = RelayModernRecord.clone(currentRecord);
|
|
72
72
|
RelayModernRecord.setLinkedRecordID(nextRecord, storageKey, linkedID);
|
|
73
73
|
recordSource.set(recordID, nextRecord);
|
|
@@ -141,7 +141,7 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
141
141
|
_proto2._markInvalidatedResolverRecord = function _markInvalidatedResolverRecord(dataID, recordSource, updatedDataIDs) {
|
|
142
142
|
var record = recordSource.get(dataID);
|
|
143
143
|
if (!record) {
|
|
144
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
144
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Expected a resolver record with ID %s, but it was missing.', dataID) : void 0;
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
var nextRecord = RelayModernRecord.clone(record);
|
|
@@ -156,7 +156,7 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
156
156
|
var originalInputs = snapshot === null || snapshot === void 0 ? void 0 : snapshot.data;
|
|
157
157
|
var readerSelector = snapshot === null || snapshot === void 0 ? void 0 : snapshot.selector;
|
|
158
158
|
if (originalInputs == null || readerSelector == null) {
|
|
159
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
159
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Expected previous inputs and reader selector on resolver record with ID %s, but they were missing.', RelayModernRecord.getDataID(record)) : void 0;
|
|
160
160
|
return true;
|
|
161
161
|
}
|
|
162
162
|
var _getDataForResolverFr = getDataForResolverFragment(readerSelector),
|
|
@@ -168,10 +168,10 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
168
168
|
return false;
|
|
169
169
|
};
|
|
170
170
|
_proto2.ensureClientRecord = function ensureClientRecord(id, typename) {
|
|
171
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
171
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'Client Edges to Client Objects are not supported in this version of Relay Store') : invariant(false) : void 0;
|
|
172
172
|
};
|
|
173
173
|
_proto2.notifyUpdatedSubscribers = function notifyUpdatedSubscribers(updatedDataIDs) {
|
|
174
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
174
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'Processing @outputType records is not supported in this version of Relay Store') : invariant(false) : void 0;
|
|
175
175
|
};
|
|
176
176
|
return RecordResolverCache;
|
|
177
177
|
}();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var _require = require(
|
|
3
|
+
var _require = require('../query/GraphQLTag'),
|
|
4
4
|
getFragment = _require.getFragment;
|
|
5
|
-
var _require2 = require(
|
|
5
|
+
var _require2 = require('./RelayModernSelector'),
|
|
6
6
|
getSelector = _require2.getSelector;
|
|
7
|
-
var invariant = require(
|
|
7
|
+
var invariant = require('invariant');
|
|
8
8
|
var contextStack = [];
|
|
9
9
|
function withResolverContext(context, cb) {
|
|
10
10
|
contextStack.push(context);
|
|
@@ -16,13 +16,13 @@ function withResolverContext(context, cb) {
|
|
|
16
16
|
}
|
|
17
17
|
function readFragment(fragmentInput, fragmentKey) {
|
|
18
18
|
if (!contextStack.length) {
|
|
19
|
-
throw new Error(
|
|
19
|
+
throw new Error('readFragment should be called only from within a Relay Resolver function.');
|
|
20
20
|
}
|
|
21
21
|
var context = contextStack[contextStack.length - 1];
|
|
22
22
|
var fragmentNode = getFragment(fragmentInput);
|
|
23
23
|
var fragmentSelector = getSelector(fragmentNode, fragmentKey);
|
|
24
24
|
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected a selector for the fragment of the resolver ".concat(fragmentNode.name, ", but got null.")) : invariant(false) : void 0;
|
|
25
|
-
!(fragmentSelector.kind ===
|
|
25
|
+
!(fragmentSelector.kind === 'SingularReaderSelector') ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected a singular reader selector for the fragment of the resolver ".concat(fragmentNode.name, ", but it was plural.")) : invariant(false) : void 0;
|
|
26
26
|
var _context$getDataForRe = context.getDataForResolverFragment(fragmentSelector, fragmentKey),
|
|
27
27
|
data = _context$getDataForRe.data,
|
|
28
28
|
isMissingData = _context$getDataForRe.isMissingData;
|