relay-runtime 0.0.0-main-1decb243 → 0.0.0-main-c52ed92a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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
package/lib/store/RelayReader.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
6
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
|
-
var _require = require(
|
|
7
|
+
var _require = require('../util/RelayConcreteNode'),
|
|
8
8
|
ACTOR_CHANGE = _require.ACTOR_CHANGE,
|
|
9
9
|
ALIASED_FRAGMENT_SPREAD = _require.ALIASED_FRAGMENT_SPREAD,
|
|
10
10
|
ALIASED_INLINE_FRAGMENT_SPREAD = _require.ALIASED_INLINE_FRAGMENT_SPREAD,
|
|
@@ -23,31 +23,30 @@ var _require = require("../util/RelayConcreteNode"),
|
|
|
23
23
|
REQUIRED_FIELD = _require.REQUIRED_FIELD,
|
|
24
24
|
SCALAR_FIELD = _require.SCALAR_FIELD,
|
|
25
25
|
STREAM = _require.STREAM;
|
|
26
|
-
var RelayFeatureFlags = require(
|
|
27
|
-
var _require2 = require(
|
|
26
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
27
|
+
var _require2 = require('./experimental-live-resolvers/LiveResolverSuspenseSentinel'),
|
|
28
28
|
isSuspenseSentinel = _require2.isSuspenseSentinel;
|
|
29
|
-
var RelayConcreteVariables = require(
|
|
30
|
-
var RelayModernRecord = require(
|
|
31
|
-
var _require3 = require(
|
|
29
|
+
var RelayConcreteVariables = require('./RelayConcreteVariables');
|
|
30
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
31
|
+
var _require3 = require('./RelayStoreUtils'),
|
|
32
32
|
CLIENT_EDGE_TRAVERSAL_PATH = _require3.CLIENT_EDGE_TRAVERSAL_PATH,
|
|
33
33
|
FRAGMENT_OWNER_KEY = _require3.FRAGMENT_OWNER_KEY,
|
|
34
34
|
FRAGMENT_PROP_NAME_KEY = _require3.FRAGMENT_PROP_NAME_KEY,
|
|
35
35
|
FRAGMENTS_KEY = _require3.FRAGMENTS_KEY,
|
|
36
36
|
ID_KEY = _require3.ID_KEY,
|
|
37
|
-
IS_WITHIN_UNMATCHED_TYPE_REFINEMENT = _require3.IS_WITHIN_UNMATCHED_TYPE_REFINEMENT,
|
|
38
37
|
MODULE_COMPONENT_KEY = _require3.MODULE_COMPONENT_KEY,
|
|
39
38
|
ROOT_ID = _require3.ROOT_ID,
|
|
40
39
|
getArgumentValues = _require3.getArgumentValues,
|
|
41
40
|
getModuleComponentKey = _require3.getModuleComponentKey,
|
|
42
41
|
getStorageKey = _require3.getStorageKey;
|
|
43
|
-
var _require4 = require(
|
|
42
|
+
var _require4 = require('./ResolverCache'),
|
|
44
43
|
NoopResolverCache = _require4.NoopResolverCache;
|
|
45
|
-
var _require5 = require(
|
|
44
|
+
var _require5 = require('./ResolverFragments'),
|
|
46
45
|
RESOLVER_FRAGMENT_MISSING_DATA_SENTINEL = _require5.RESOLVER_FRAGMENT_MISSING_DATA_SENTINEL,
|
|
47
46
|
withResolverContext = _require5.withResolverContext;
|
|
48
|
-
var _require6 = require(
|
|
47
|
+
var _require6 = require('./TypeID'),
|
|
49
48
|
generateTypeID = _require6.generateTypeID;
|
|
50
|
-
var invariant = require(
|
|
49
|
+
var invariant = require('invariant');
|
|
51
50
|
function read(recordSource, selector, resolverCache) {
|
|
52
51
|
var reader = new RelayReader(recordSource, selector, resolverCache !== null && resolverCache !== void 0 ? resolverCache : new NoopResolverCache());
|
|
53
52
|
return reader.read();
|
|
@@ -137,17 +136,17 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
137
136
|
return hadRequiredData ? data : null;
|
|
138
137
|
};
|
|
139
138
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
140
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
139
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
141
140
|
return this._variables[name];
|
|
142
141
|
};
|
|
143
142
|
_proto._maybeReportUnexpectedNull = function _maybeReportUnexpectedNull(fieldPath, action) {
|
|
144
143
|
var _this$_missingRequire;
|
|
145
|
-
if (((_this$_missingRequire = this._missingRequiredFields) === null || _this$_missingRequire === void 0 ? void 0 : _this$_missingRequire.action) ===
|
|
144
|
+
if (((_this$_missingRequire = this._missingRequiredFields) === null || _this$_missingRequire === void 0 ? void 0 : _this$_missingRequire.action) === 'THROW') {
|
|
146
145
|
return;
|
|
147
146
|
}
|
|
148
147
|
var owner = this._fragmentName;
|
|
149
148
|
switch (action) {
|
|
150
|
-
case
|
|
149
|
+
case 'THROW':
|
|
151
150
|
this._missingRequiredFields = {
|
|
152
151
|
action: action,
|
|
153
152
|
field: {
|
|
@@ -156,7 +155,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
156
155
|
}
|
|
157
156
|
};
|
|
158
157
|
return;
|
|
159
|
-
case
|
|
158
|
+
case 'LOG':
|
|
160
159
|
if (this._missingRequiredFields == null) {
|
|
161
160
|
this._missingRequiredFields = {
|
|
162
161
|
action: action,
|
|
@@ -188,7 +187,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
188
187
|
var fieldValue = this._readRequiredField(selection, record, data);
|
|
189
188
|
if (fieldValue == null) {
|
|
190
189
|
var action = selection.action;
|
|
191
|
-
if (action !==
|
|
190
|
+
if (action !== 'NONE') {
|
|
192
191
|
this._maybeReportUnexpectedNull(selection.path, action);
|
|
193
192
|
}
|
|
194
193
|
return false;
|
|
@@ -225,7 +224,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
225
224
|
case RELAY_RESOLVER:
|
|
226
225
|
{
|
|
227
226
|
if (!RelayFeatureFlags.ENABLE_RELAY_RESOLVERS) {
|
|
228
|
-
throw new Error(
|
|
227
|
+
throw new Error('Relay Resolver fields are not yet supported.');
|
|
229
228
|
}
|
|
230
229
|
this._readResolverField(selection, record, data);
|
|
231
230
|
break;
|
|
@@ -285,12 +284,12 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
285
284
|
if (RelayFeatureFlags.ENABLE_CLIENT_EDGES) {
|
|
286
285
|
this._readClientEdge(selection, record, data);
|
|
287
286
|
} else {
|
|
288
|
-
throw new Error(
|
|
287
|
+
throw new Error('Client edges are not yet supported.');
|
|
289
288
|
}
|
|
290
289
|
break;
|
|
291
290
|
default:
|
|
292
291
|
selection;
|
|
293
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
292
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Unexpected ast kind `%s`.', selection.kind) : invariant(false) : void 0;
|
|
294
293
|
}
|
|
295
294
|
}
|
|
296
295
|
return true;
|
|
@@ -307,23 +306,23 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
307
306
|
}
|
|
308
307
|
case RELAY_RESOLVER:
|
|
309
308
|
if (!RelayFeatureFlags.ENABLE_RELAY_RESOLVERS) {
|
|
310
|
-
throw new Error(
|
|
309
|
+
throw new Error('Relay Resolver fields are not yet supported.');
|
|
311
310
|
}
|
|
312
311
|
return this._readResolverField(selection.field, record, data);
|
|
313
312
|
case RELAY_LIVE_RESOLVER:
|
|
314
313
|
if (!RelayFeatureFlags.ENABLE_RELAY_RESOLVERS) {
|
|
315
|
-
throw new Error(
|
|
314
|
+
throw new Error('Relay Resolver fields are not yet supported.');
|
|
316
315
|
}
|
|
317
316
|
return this._readResolverField(selection.field, record, data);
|
|
318
317
|
case CLIENT_EDGE_TO_CLIENT_OBJECT:
|
|
319
318
|
case CLIENT_EDGE_TO_SERVER_OBJECT:
|
|
320
319
|
if (!RelayFeatureFlags.ENABLE_RELAY_RESOLVERS) {
|
|
321
|
-
throw new Error(
|
|
320
|
+
throw new Error('Relay Resolver fields are not yet supported.');
|
|
322
321
|
}
|
|
323
322
|
return this._readClientEdge(selection.field, record, data);
|
|
324
323
|
default:
|
|
325
324
|
selection.field.kind;
|
|
326
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
325
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Unexpected ast kind `%s`.', selection.kind) : invariant(false) : void 0;
|
|
327
326
|
}
|
|
328
327
|
};
|
|
329
328
|
_proto._readResolverField = function _readResolverField(field, record, data) {
|
|
@@ -473,7 +472,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
473
472
|
_proto._readClientEdge = function _readClientEdge(field, record, data) {
|
|
474
473
|
var _backingField$alias;
|
|
475
474
|
var backingField = field.backingField;
|
|
476
|
-
!(backingField.kind !==
|
|
475
|
+
!(backingField.kind !== 'ClientExtension') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Client extension client edges are not yet implemented.') : invariant(false) : void 0;
|
|
477
476
|
var applicationName = (_backingField$alias = backingField.alias) !== null && _backingField$alias !== void 0 ? _backingField$alias : backingField.name;
|
|
478
477
|
var backingFieldData = {};
|
|
479
478
|
this._traverseSelections([backingField], record, backingFieldData);
|
|
@@ -484,20 +483,20 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
484
483
|
}
|
|
485
484
|
var validClientEdgeResolverResponse = assertValidClientEdgeResolverResponse(field, clientEdgeResolverResponse);
|
|
486
485
|
switch (validClientEdgeResolverResponse.kind) {
|
|
487
|
-
case
|
|
486
|
+
case 'PluralConcrete':
|
|
488
487
|
var storeIDs = getStoreIDsForPluralClientEdgeResolver(field, validClientEdgeResolverResponse.ids, this._resolverCache);
|
|
489
488
|
this._clientEdgeTraversalPath.push(null);
|
|
490
489
|
var edgeValues = this._readLinkedIds(field.linkedField, storeIDs, record, data);
|
|
491
490
|
this._clientEdgeTraversalPath.pop();
|
|
492
491
|
data[applicationName] = edgeValues;
|
|
493
492
|
return edgeValues;
|
|
494
|
-
case
|
|
493
|
+
case 'SingularConcrete':
|
|
495
494
|
var _getStoreIDAndTravers = getStoreIDAndTraversalPathSegmentForSingularClientEdgeResolver(field, validClientEdgeResolverResponse.id, this._resolverCache),
|
|
496
495
|
storeID = _getStoreIDAndTravers[0],
|
|
497
496
|
traversalPathSegment = _getStoreIDAndTravers[1];
|
|
498
497
|
this._clientEdgeTraversalPath.push(traversalPathSegment);
|
|
499
498
|
var prevData = data[applicationName];
|
|
500
|
-
!(prevData == null || typeof prevData ===
|
|
499
|
+
!(prevData == null || typeof prevData === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Expected data for field `%s` on record `%s` ' + 'to be an object, got `%s`.', applicationName, RelayModernRecord.getDataID(record), prevData) : invariant(false) : void 0;
|
|
501
500
|
var edgeValue = this._traverse(field.linkedField, storeID, prevData);
|
|
502
501
|
this._clientEdgeTraversalPath.pop();
|
|
503
502
|
data[applicationName] = edgeValue;
|
|
@@ -530,7 +529,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
530
529
|
return linkedID;
|
|
531
530
|
}
|
|
532
531
|
var prevData = data[applicationName];
|
|
533
|
-
!(prevData == null || typeof prevData ===
|
|
532
|
+
!(prevData == null || typeof prevData === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Expected data for field `%s` on record `%s` ' + 'to be an object, got `%s`.', applicationName, RelayModernRecord.getDataID(record), prevData) : invariant(false) : void 0;
|
|
534
533
|
var value = this._traverse(field, linkedID, prevData);
|
|
535
534
|
data[applicationName] = value;
|
|
536
535
|
return value;
|
|
@@ -576,7 +575,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
576
575
|
return linkedIDs;
|
|
577
576
|
}
|
|
578
577
|
var prevData = data[applicationName];
|
|
579
|
-
!(prevData == null || Array.isArray(prevData)) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
578
|
+
!(prevData == null || Array.isArray(prevData)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Expected data for field `%s` on record `%s` ' + 'to be an array, got `%s`.', applicationName, RelayModernRecord.getDataID(record), prevData) : invariant(false) : void 0;
|
|
580
579
|
var linkedArray = prevData || [];
|
|
581
580
|
linkedIDs.forEach(function (linkedID, nextIndex) {
|
|
582
581
|
if (linkedID == null) {
|
|
@@ -587,7 +586,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
587
586
|
return;
|
|
588
587
|
}
|
|
589
588
|
var prevItem = linkedArray[nextIndex];
|
|
590
|
-
!(prevItem == null || typeof prevItem ===
|
|
589
|
+
!(prevItem == null || typeof prevItem === 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader(): Expected data for field `%s` on record `%s` ' + 'to be an object, got `%s`.', applicationName, RelayModernRecord.getDataID(record), prevItem) : invariant(false) : void 0;
|
|
591
590
|
linkedArray[nextIndex] = _this2._traverse(field, linkedID, prevItem);
|
|
592
591
|
});
|
|
593
592
|
data[applicationName] = linkedArray;
|
|
@@ -603,7 +602,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
603
602
|
return;
|
|
604
603
|
}
|
|
605
604
|
this._createFragmentPointer({
|
|
606
|
-
kind:
|
|
605
|
+
kind: 'FragmentSpread',
|
|
607
606
|
name: moduleImport.fragmentName,
|
|
608
607
|
args: moduleImport.args
|
|
609
608
|
}, record, data);
|
|
@@ -664,13 +663,12 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
664
663
|
if (fragmentPointers == null) {
|
|
665
664
|
fragmentPointers = data[FRAGMENTS_KEY] = {};
|
|
666
665
|
}
|
|
667
|
-
!(typeof fragmentPointers ===
|
|
666
|
+
!(typeof fragmentPointers === 'object' && fragmentPointers != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader: Expected fragment spread data to be an object, got `%s`.', fragmentPointers) : invariant(false) : void 0;
|
|
668
667
|
if (data[ID_KEY] == null) {
|
|
669
668
|
data[ID_KEY] = RelayModernRecord.getDataID(record);
|
|
670
669
|
}
|
|
671
|
-
fragmentPointers[fragmentSpread.name] =
|
|
670
|
+
fragmentPointers[fragmentSpread.name] = getArgumentValues(fragmentSpread.args, this._variables, this._isWithinUnmatchedTypeRefinement);
|
|
672
671
|
data[FRAGMENT_OWNER_KEY] = this._owner;
|
|
673
|
-
data[IS_WITHIN_UNMATCHED_TYPE_REFINEMENT] = this._isWithinUnmatchedTypeRefinement;
|
|
674
672
|
if (RelayFeatureFlags.ENABLE_CLIENT_EDGES) {
|
|
675
673
|
if (this._clientEdgeTraversalPath.length > 0 && this._clientEdgeTraversalPath[this._clientEdgeTraversalPath.length - 1] !== null) {
|
|
676
674
|
data[CLIENT_EDGE_TRAVERSAL_PATH] = (0, _toConsumableArray2["default"])(this._clientEdgeTraversalPath);
|
|
@@ -682,7 +680,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
682
680
|
if (fragmentPointers == null) {
|
|
683
681
|
fragmentPointers = data[FRAGMENTS_KEY] = {};
|
|
684
682
|
}
|
|
685
|
-
!(typeof fragmentPointers ===
|
|
683
|
+
!(typeof fragmentPointers === 'object' && fragmentPointers != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReader: Expected fragment spread data to be an object, got `%s`.', fragmentPointers) : invariant(false) : void 0;
|
|
686
684
|
if (data[ID_KEY] == null) {
|
|
687
685
|
data[ID_KEY] = RelayModernRecord.getDataID(record);
|
|
688
686
|
}
|
|
@@ -702,15 +700,15 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
702
700
|
this._missingRequiredFields = additional;
|
|
703
701
|
return;
|
|
704
702
|
}
|
|
705
|
-
if (this._missingRequiredFields.action ===
|
|
703
|
+
if (this._missingRequiredFields.action === 'THROW') {
|
|
706
704
|
return;
|
|
707
705
|
}
|
|
708
|
-
if (additional.action ===
|
|
706
|
+
if (additional.action === 'THROW') {
|
|
709
707
|
this._missingRequiredFields = additional;
|
|
710
708
|
return;
|
|
711
709
|
}
|
|
712
710
|
this._missingRequiredFields = {
|
|
713
|
-
action:
|
|
711
|
+
action: 'LOG',
|
|
714
712
|
fields: [].concat((0, _toConsumableArray2["default"])(this._missingRequiredFields.fields), (0, _toConsumableArray2["default"])(additional.fields))
|
|
715
713
|
};
|
|
716
714
|
};
|
|
@@ -723,7 +721,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
723
721
|
return RelayReader;
|
|
724
722
|
}();
|
|
725
723
|
function getResolverValue(field, variables, fragmentKey) {
|
|
726
|
-
var resolverFunction = typeof field.resolverModule ===
|
|
724
|
+
var resolverFunction = typeof field.resolverModule === 'function' ? field.resolverModule : field.resolverModule["default"];
|
|
727
725
|
var resolverResult = null;
|
|
728
726
|
var resolverError = null;
|
|
729
727
|
try {
|
|
@@ -745,17 +743,17 @@ function getResolverValue(field, variables, fragmentKey) {
|
|
|
745
743
|
}
|
|
746
744
|
function assertValidClientEdgeResolverResponse(field, clientEdgeResolverResponse) {
|
|
747
745
|
if (field.linkedField.plural) {
|
|
748
|
-
!Array.isArray(clientEdgeResolverResponse) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
746
|
+
!Array.isArray(clientEdgeResolverResponse) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected plural Client Edge Relay Resolver to return an array containing IDs or objects with shape {id}.') : invariant(false) : void 0;
|
|
749
747
|
return {
|
|
750
|
-
kind:
|
|
748
|
+
kind: 'PluralConcrete',
|
|
751
749
|
ids: clientEdgeResolverResponse.map(function (response) {
|
|
752
|
-
return extractIdFromResponse(response,
|
|
750
|
+
return extractIdFromResponse(response, 'Expected this plural Client Edge Relay Resolver to return an array containing IDs or objects with shape {id}.');
|
|
753
751
|
})
|
|
754
752
|
};
|
|
755
753
|
} else {
|
|
756
754
|
return {
|
|
757
|
-
kind:
|
|
758
|
-
id: extractIdFromResponse(clientEdgeResolverResponse,
|
|
755
|
+
kind: 'SingularConcrete',
|
|
756
|
+
id: extractIdFromResponse(clientEdgeResolverResponse, 'Expected this Client Edge Relay Resolver to return an ID of type `string` or an object with shape {id}.')
|
|
759
757
|
};
|
|
760
758
|
}
|
|
761
759
|
}
|
|
@@ -763,7 +761,7 @@ function getStoreIDAndTraversalPathSegmentForSingularClientEdgeResolver(field, c
|
|
|
763
761
|
if (field.kind === CLIENT_EDGE_TO_CLIENT_OBJECT) {
|
|
764
762
|
if (field.backingField.normalizationInfo == null) {
|
|
765
763
|
var concreteType = field.concreteType;
|
|
766
|
-
!(concreteType != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
764
|
+
!(concreteType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected at least one of backingField.normalizationInfo or field.concreteType to be non-null. ' + 'This indicates a bug in Relay.') : invariant(false) : void 0;
|
|
767
765
|
return [resolverCache.ensureClientRecord(clientEdgeResolverResponse, concreteType), null];
|
|
768
766
|
} else {
|
|
769
767
|
return [clientEdgeResolverResponse, null];
|
|
@@ -779,7 +777,7 @@ function getStoreIDsForPluralClientEdgeResolver(field, clientEdgeResolverRespons
|
|
|
779
777
|
if (field.kind === CLIENT_EDGE_TO_CLIENT_OBJECT) {
|
|
780
778
|
if (field.backingField.normalizationInfo == null) {
|
|
781
779
|
var concreteType = field.concreteType;
|
|
782
|
-
!(concreteType != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
780
|
+
!(concreteType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected at least one of backingField.normalizationInfo or field.concreteType to be non-null. ' + 'This indicates a bug in Relay.') : invariant(false) : void 0;
|
|
783
781
|
return clientEdgeResolverResponse.map(function (id) {
|
|
784
782
|
return resolverCache.ensureClientRecord(id, concreteType);
|
|
785
783
|
});
|
|
@@ -787,13 +785,13 @@ function getStoreIDsForPluralClientEdgeResolver(field, clientEdgeResolverRespons
|
|
|
787
785
|
return clientEdgeResolverResponse;
|
|
788
786
|
}
|
|
789
787
|
} else {
|
|
790
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
788
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unexpected Client Edge to plural server type. This should be prevented by the compiler.') : invariant(false) : void 0;
|
|
791
789
|
}
|
|
792
790
|
}
|
|
793
791
|
function extractIdFromResponse(individualResponse, errorMessage) {
|
|
794
|
-
if (typeof individualResponse ===
|
|
792
|
+
if (typeof individualResponse === 'string') {
|
|
795
793
|
return individualResponse;
|
|
796
|
-
} else if (typeof individualResponse ===
|
|
794
|
+
} else if (typeof individualResponse === 'object' && individualResponse != null && typeof individualResponse.id === 'string') {
|
|
797
795
|
return individualResponse.id;
|
|
798
796
|
}
|
|
799
797
|
!false ? process.env.NODE_ENV !== "production" ? invariant(false, errorMessage) : invariant(false) : void 0;
|
|
@@ -1,9 +1,9 @@
|
|
|
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 RelayModernRecord = require(
|
|
6
|
-
var RelayRecordState = require(
|
|
5
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
6
|
+
var RelayRecordState = require('./RelayRecordState');
|
|
7
7
|
var EXISTENT = RelayRecordState.EXISTENT,
|
|
8
8
|
NONEXISTENT = RelayRecordState.NONEXISTENT,
|
|
9
9
|
UNKNOWN = RelayRecordState.UNKNOWN;
|
|
@@ -1,18 +1,18 @@
|
|
|
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 getOperation = require(
|
|
6
|
-
var RelayConcreteNode = require(
|
|
7
|
-
var cloneRelayHandleSourceField = require(
|
|
8
|
-
var getOutputTypeRecordIDs = require(
|
|
9
|
-
var _require = require(
|
|
5
|
+
var getOperation = require('../util/getOperation');
|
|
6
|
+
var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
7
|
+
var cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
8
|
+
var getOutputTypeRecordIDs = require('./experimental-live-resolvers/getOutputTypeRecordIDs');
|
|
9
|
+
var _require = require('./RelayConcreteVariables'),
|
|
10
10
|
getLocalVariables = _require.getLocalVariables;
|
|
11
|
-
var RelayModernRecord = require(
|
|
12
|
-
var RelayStoreUtils = require(
|
|
13
|
-
var _require2 = require(
|
|
11
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
12
|
+
var RelayStoreUtils = require('./RelayStoreUtils');
|
|
13
|
+
var _require2 = require('./TypeID'),
|
|
14
14
|
generateTypeID = _require2.generateTypeID;
|
|
15
|
-
var invariant = require(
|
|
15
|
+
var invariant = require('invariant');
|
|
16
16
|
var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
|
|
17
17
|
CONDITION = RelayConcreteNode.CONDITION,
|
|
18
18
|
CLIENT_COMPONENT = RelayConcreteNode.CLIENT_COMPONENT,
|
|
@@ -28,6 +28,7 @@ var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
|
|
|
28
28
|
STREAM = RelayConcreteNode.STREAM,
|
|
29
29
|
TYPE_DISCRIMINATOR = RelayConcreteNode.TYPE_DISCRIMINATOR,
|
|
30
30
|
RELAY_RESOLVER = RelayConcreteNode.RELAY_RESOLVER,
|
|
31
|
+
RELAY_LIVE_RESOLVER = RelayConcreteNode.RELAY_LIVE_RESOLVER,
|
|
31
32
|
CLIENT_EDGE_TO_CLIENT_OBJECT = RelayConcreteNode.CLIENT_EDGE_TO_CLIENT_OBJECT;
|
|
32
33
|
var getStorageKey = RelayStoreUtils.getStorageKey,
|
|
33
34
|
getModuleOperationKey = RelayStoreUtils.getModuleOperationKey;
|
|
@@ -49,7 +50,7 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
49
50
|
}
|
|
50
51
|
var _proto = RelayReferenceMarker.prototype;
|
|
51
52
|
_proto.mark = function mark(node, dataID) {
|
|
52
|
-
if (node.kind ===
|
|
53
|
+
if (node.kind === 'Operation' || node.kind === 'SplitOperation') {
|
|
53
54
|
this._operationName = node.name;
|
|
54
55
|
}
|
|
55
56
|
this._traverse(node, dataID);
|
|
@@ -63,7 +64,7 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
63
64
|
this._traverseSelections(node.selections, record);
|
|
64
65
|
};
|
|
65
66
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
66
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
67
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReferenceMarker(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
67
68
|
return this._variables[name];
|
|
68
69
|
};
|
|
69
70
|
_proto._traverseSelections = function _traverseSelections(selections, record) {
|
|
@@ -142,12 +143,15 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
142
143
|
case RELAY_RESOLVER:
|
|
143
144
|
_this._traverseResolverField(selection, record);
|
|
144
145
|
break;
|
|
146
|
+
case RELAY_LIVE_RESOLVER:
|
|
147
|
+
_this._traverseResolverField(selection, record);
|
|
148
|
+
break;
|
|
145
149
|
case CLIENT_EDGE_TO_CLIENT_OBJECT:
|
|
146
150
|
_this._traverseClientEdgeToClientObject(selection, record);
|
|
147
151
|
break;
|
|
148
152
|
default:
|
|
149
153
|
selection;
|
|
150
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
154
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReferenceMarker: Unknown AST node `%s`.', selection) : invariant(false) : void 0;
|
|
151
155
|
}
|
|
152
156
|
});
|
|
153
157
|
};
|
|
@@ -223,7 +227,7 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
223
227
|
_proto._traverseModuleImport = function _traverseModuleImport(moduleImport, record) {
|
|
224
228
|
var _this$_operationName;
|
|
225
229
|
var operationLoader = this._operationLoader;
|
|
226
|
-
!(operationLoader !== null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
230
|
+
!(operationLoader !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReferenceMarker: Expected an operationLoader to be configured when using `@module`. ' + 'Could not load fragment `%s` in operation `%s`.', moduleImport.fragmentName, (_this$_operationName = this._operationName) !== null && _this$_operationName !== void 0 ? _this$_operationName : '(unknown)') : invariant(false) : void 0;
|
|
227
231
|
var operationKey = getModuleOperationKey(moduleImport.documentName);
|
|
228
232
|
var operationReference = RelayModernRecord.getValue(record, operationKey);
|
|
229
233
|
if (operationReference == null) {
|