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.
Files changed (137) hide show
  1. package/experimental.js +1 -1
  2. package/index.js +1 -1
  3. package/lib/experimental.js +3 -3
  4. package/lib/handlers/RelayDefaultHandlerProvider.js +12 -12
  5. package/lib/handlers/connection/ConnectionHandler.js +17 -17
  6. package/lib/handlers/connection/ConnectionInterface.js +10 -10
  7. package/lib/handlers/connection/MutationHandlers.js +16 -16
  8. package/lib/index.js +61 -61
  9. package/lib/multi-actor-environment/ActorIdentifier.js +5 -5
  10. package/lib/multi-actor-environment/ActorSpecificEnvironment.js +8 -8
  11. package/lib/multi-actor-environment/ActorUtils.js +4 -4
  12. package/lib/multi-actor-environment/MultiActorEnvironment.js +12 -12
  13. package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
  14. package/lib/multi-actor-environment/index.js +3 -3
  15. package/lib/mutations/RelayDeclarativeMutationConfig.js +26 -26
  16. package/lib/mutations/RelayRecordProxy.js +9 -9
  17. package/lib/mutations/RelayRecordSourceMutator.js +7 -7
  18. package/lib/mutations/RelayRecordSourceProxy.js +12 -12
  19. package/lib/mutations/RelayRecordSourceSelectorProxy.js +9 -9
  20. package/lib/mutations/applyOptimisticMutation.js +9 -9
  21. package/lib/mutations/commitLocalUpdate.js +1 -1
  22. package/lib/mutations/commitMutation.js +15 -15
  23. package/lib/mutations/createUpdatableProxy.js +13 -13
  24. package/lib/mutations/readUpdatableFragment.js +6 -6
  25. package/lib/mutations/readUpdatableQuery.js +3 -3
  26. package/lib/mutations/validateMutation.js +9 -7
  27. package/lib/network/ConvertToExecuteFunction.js +2 -2
  28. package/lib/network/RelayNetwork.js +8 -8
  29. package/lib/network/RelayNetworkTypes.js +1 -1
  30. package/lib/network/RelayObservable.js +23 -22
  31. package/lib/network/RelayQueryResponseCache.js +5 -5
  32. package/lib/network/wrapNetworkWithLogObserver.js +8 -8
  33. package/lib/query/GraphQLTag.js +16 -16
  34. package/lib/query/PreloadableQueryRegistry.js +1 -1
  35. package/lib/query/fetchQuery.js +13 -13
  36. package/lib/query/fetchQueryInternal.js +8 -8
  37. package/lib/query/fetchQuery_DEPRECATED.js +5 -5
  38. package/lib/store/ClientID.js +7 -7
  39. package/lib/store/DataChecker.js +29 -25
  40. package/lib/store/OperationExecutor.js +87 -87
  41. package/lib/store/RelayConcreteVariables.js +6 -6
  42. package/lib/store/RelayExperimentalGraphResponseHandler.js +12 -12
  43. package/lib/store/RelayExperimentalGraphResponseTransform.js +16 -16
  44. package/lib/store/RelayModernEnvironment.js +21 -21
  45. package/lib/store/RelayModernFragmentSpecResolver.js +16 -16
  46. package/lib/store/RelayModernOperationDescriptor.js +6 -6
  47. package/lib/store/RelayModernRecord.js +23 -23
  48. package/lib/store/RelayModernSelector.js +23 -23
  49. package/lib/store/RelayModernStore.js +35 -35
  50. package/lib/store/RelayOperationTracker.js +3 -3
  51. package/lib/store/RelayOptimisticRecordSource.js +8 -8
  52. package/lib/store/RelayPublishQueue.js +22 -22
  53. package/lib/store/RelayReader.js +48 -50
  54. package/lib/store/RelayRecordSource.js +3 -3
  55. package/lib/store/RelayRecordState.js +4 -4
  56. package/lib/store/RelayReferenceMarker.js +18 -14
  57. package/lib/store/RelayResponseNormalizer.js +40 -36
  58. package/lib/store/RelayStoreSubscriptions.js +8 -8
  59. package/lib/store/RelayStoreTypes.js +1 -1
  60. package/lib/store/RelayStoreUtils.js +40 -35
  61. package/lib/store/ResolverCache.js +16 -16
  62. package/lib/store/ResolverFragments.js +6 -6
  63. package/lib/store/StoreInspector.js +16 -16
  64. package/lib/store/TypeID.js +3 -3
  65. package/lib/store/ViewerPattern.js +5 -5
  66. package/lib/store/cloneRelayHandleSourceField.js +6 -6
  67. package/lib/store/cloneRelayScalarHandleSourceField.js +6 -6
  68. package/lib/store/createFragmentSpecResolver.js +3 -3
  69. package/lib/store/createRelayContext.js +4 -4
  70. package/lib/store/defaultGetDataID.js +2 -2
  71. package/lib/store/defaultRequiredFieldLogger.js +3 -3
  72. package/lib/store/experimental-live-resolvers/LiveResolverCache.js +33 -33
  73. package/lib/store/experimental-live-resolvers/LiveResolverStore.js +36 -36
  74. package/lib/store/experimental-live-resolvers/LiveResolverSuspenseSentinel.js +1 -1
  75. package/lib/store/experimental-live-resolvers/getOutputTypeRecordIDs.js +5 -5
  76. package/lib/store/experimental-live-resolvers/isLiveStateValue.js +2 -2
  77. package/lib/store/experimental-live-resolvers/resolverDataInjector.js +6 -6
  78. package/lib/store/experimental-live-resolvers/weakObjectWrapper.js +6 -6
  79. package/lib/store/hasOverlappingIDs.js +1 -1
  80. package/lib/store/hasSignificantOverlappingIDs.js +3 -3
  81. package/lib/store/isRelayModernEnvironment.js +2 -2
  82. package/lib/store/normalizeResponse.js +1 -1
  83. package/lib/store/readInlineData.js +6 -6
  84. package/lib/subscription/requestSubscription.js +9 -9
  85. package/lib/util/JSResourceTypes.flow.js +1 -1
  86. package/lib/util/NormalizationNode.js +1 -1
  87. package/lib/util/ReaderNode.js +1 -1
  88. package/lib/util/RelayConcreteNode.js +36 -36
  89. package/lib/util/RelayDefaultHandleKey.js +2 -2
  90. package/lib/util/RelayError.js +3 -3
  91. package/lib/util/RelayFeatureFlags.js +1 -1
  92. package/lib/util/RelayProfiler.js +1 -1
  93. package/lib/util/RelayReplaySubject.js +10 -10
  94. package/lib/util/RelayRuntimeTypes.js +1 -1
  95. package/lib/util/StringInterner.js +3 -3
  96. package/lib/util/createPayloadFor3DField.js +2 -2
  97. package/lib/util/deepFreeze.js +3 -3
  98. package/lib/util/generateID.js +1 -1
  99. package/lib/util/getFragmentIdentifier.js +12 -12
  100. package/lib/util/getOperation.js +2 -2
  101. package/lib/util/getPaginationMetadata.js +6 -6
  102. package/lib/util/getPaginationVariables.js +9 -9
  103. package/lib/util/getPendingOperationsForFragment.js +5 -5
  104. package/lib/util/getRefetchMetadata.js +7 -7
  105. package/lib/util/getRelayHandleKey.js +4 -4
  106. package/lib/util/getRequestIdentifier.js +4 -4
  107. package/lib/util/getValueAtPath.js +5 -5
  108. package/lib/util/handlePotentialSnapshotErrors.js +6 -6
  109. package/lib/util/isEmptyObject.js +1 -1
  110. package/lib/util/isPromise.js +2 -2
  111. package/lib/util/isScalarAndEqual.js +2 -2
  112. package/lib/util/recycleNodesInto.js +6 -20
  113. package/lib/util/registerEnvironmentWithDevTools.js +2 -2
  114. package/lib/util/resolveImmediate.js +1 -1
  115. package/lib/util/stableCopy.js +2 -2
  116. package/lib/util/withDuration.js +2 -2
  117. package/lib/util/withProvidedVariables.js +3 -3
  118. package/mutations/validateMutation.js.flow +2 -0
  119. package/network/RelayObservable.js.flow +3 -2
  120. package/package.json +1 -1
  121. package/relay-runtime-experimental.js +2 -2
  122. package/relay-runtime-experimental.min.js +2 -2
  123. package/relay-runtime.js +2 -2
  124. package/relay-runtime.min.js +2 -2
  125. package/store/DataChecker.js.flow +9 -1
  126. package/store/RelayModernSelector.js.flow +6 -3
  127. package/store/RelayReader.js.flow +7 -7
  128. package/store/RelayReferenceMarker.js.flow +6 -1
  129. package/store/RelayResponseNormalizer.js.flow +6 -1
  130. package/store/RelayStoreTypes.js.flow +7 -1
  131. package/store/RelayStoreUtils.js.flow +22 -7
  132. package/store/experimental-live-resolvers/resolverDataInjector.js.flow +1 -0
  133. package/store/experimental-live-resolvers/weakObjectWrapper.js.flow +1 -0
  134. package/util/NormalizationNode.js.flow +15 -2
  135. package/util/ReaderNode.js.flow +1 -1
  136. package/util/createPayloadFor3DField.js.flow +1 -0
  137. package/util/recycleNodesInto.js.flow +8 -30
@@ -1,10 +1,10 @@
1
- "use strict";
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("../util/RelayConcreteNode"),
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("../util/RelayFeatureFlags");
27
- var _require2 = require("./experimental-live-resolvers/LiveResolverSuspenseSentinel"),
26
+ var RelayFeatureFlags = require('../util/RelayFeatureFlags');
27
+ var _require2 = require('./experimental-live-resolvers/LiveResolverSuspenseSentinel'),
28
28
  isSuspenseSentinel = _require2.isSuspenseSentinel;
29
- var RelayConcreteVariables = require("./RelayConcreteVariables");
30
- var RelayModernRecord = require("./RelayModernRecord");
31
- var _require3 = require("./RelayStoreUtils"),
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("./ResolverCache"),
42
+ var _require4 = require('./ResolverCache'),
44
43
  NoopResolverCache = _require4.NoopResolverCache;
45
- var _require5 = require("./ResolverFragments"),
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("./TypeID"),
47
+ var _require6 = require('./TypeID'),
49
48
  generateTypeID = _require6.generateTypeID;
50
- var invariant = require("invariant");
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, "RelayReader(): Undefined variable `%s`.", name) : invariant(false) : void 0;
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) === "THROW") {
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 "THROW":
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 "LOG":
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 !== "NONE") {
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("Relay Resolver fields are not yet supported.");
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("Client edges are not yet supported.");
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, "RelayReader(): Unexpected ast kind `%s`.", selection.kind) : invariant(false) : void 0;
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("Relay Resolver fields are not yet supported.");
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("Relay Resolver fields are not yet supported.");
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("Relay Resolver fields are not yet supported.");
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, "RelayReader(): Unexpected ast kind `%s`.", selection.kind) : invariant(false) : void 0;
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 !== "ClientExtension") ? process.env.NODE_ENV !== "production" ? invariant(false, "Client extension client edges are not yet implemented.") : invariant(false) : void 0;
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 "PluralConcrete":
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 "SingularConcrete":
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 === "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;
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 === "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;
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, "RelayReader(): Expected data for field `%s` on record `%s` " + "to be an array, got `%s`.", applicationName, RelayModernRecord.getDataID(record), prevData) : invariant(false) : void 0;
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 === "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;
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: "FragmentSpread",
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 === "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;
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] = fragmentSpread.args ? getArgumentValues(fragmentSpread.args, this._variables) : {};
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 === "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;
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 === "THROW") {
703
+ if (this._missingRequiredFields.action === 'THROW') {
706
704
  return;
707
705
  }
708
- if (additional.action === "THROW") {
706
+ if (additional.action === 'THROW') {
709
707
  this._missingRequiredFields = additional;
710
708
  return;
711
709
  }
712
710
  this._missingRequiredFields = {
713
- action: "LOG",
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 === "function" ? field.resolverModule : field.resolverModule["default"];
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, "Expected plural Client Edge Relay Resolver to return an array containing IDs or objects with shape {id}.") : invariant(false) : void 0;
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: "PluralConcrete",
748
+ kind: 'PluralConcrete',
751
749
  ids: clientEdgeResolverResponse.map(function (response) {
752
- return extractIdFromResponse(response, "Expected this plural Client Edge Relay Resolver to return an array containing IDs or objects with shape {id}.");
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: "SingularConcrete",
758
- id: extractIdFromResponse(clientEdgeResolverResponse, "Expected this Client Edge Relay Resolver to return an ID of type `string` or an object with shape {id}.")
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, "Expected at least one of backingField.normalizationInfo or field.concreteType to be non-null. " + "This indicates a bug in Relay.") : invariant(false) : void 0;
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, "Expected at least one of backingField.normalizationInfo or field.concreteType to be non-null. " + "This indicates a bug in Relay.") : invariant(false) : void 0;
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, "Unexpected Client Edge to plural server type. This should be prevented by the compiler.") : invariant(false) : void 0;
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 === "string") {
792
+ if (typeof individualResponse === 'string') {
795
793
  return individualResponse;
796
- } else if (typeof individualResponse === "object" && individualResponse != null && typeof individualResponse.id === "string") {
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
- "use strict";
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("./RelayModernRecord");
6
- var RelayRecordState = require("./RelayRecordState");
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,8 +1,8 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var RelayRecordState = {
4
- EXISTENT: "EXISTENT",
5
- NONEXISTENT: "NONEXISTENT",
6
- UNKNOWN: "UNKNOWN"
4
+ EXISTENT: 'EXISTENT',
5
+ NONEXISTENT: 'NONEXISTENT',
6
+ UNKNOWN: 'UNKNOWN'
7
7
  };
8
8
  module.exports = RelayRecordState;
@@ -1,18 +1,18 @@
1
- "use strict";
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("../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"),
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("./RelayModernRecord");
12
- var RelayStoreUtils = require("./RelayStoreUtils");
13
- var _require2 = require("./TypeID"),
11
+ var RelayModernRecord = require('./RelayModernRecord');
12
+ var RelayStoreUtils = require('./RelayStoreUtils');
13
+ var _require2 = require('./TypeID'),
14
14
  generateTypeID = _require2.generateTypeID;
15
- var invariant = require("invariant");
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 === "Operation" || node.kind === "SplitOperation") {
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, "RelayReferenceMarker(): Undefined variable `%s`.", name) : invariant(false) : void 0;
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, "RelayReferenceMarker: Unknown AST node `%s`.", selection) : invariant(false) : void 0;
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, "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;
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) {