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