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
@@ -1,26 +1,26 @@
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 RelayRecordSourceMutator = require("../mutations/RelayRecordSourceMutator");
6
- var RelayRecordSourceProxy = require("../mutations/RelayRecordSourceProxy");
7
- var getOperation = require("../util/getOperation");
8
- var RelayConcreteNode = require("../util/RelayConcreteNode");
9
- var _require = require("./ClientID"),
5
+ var RelayRecordSourceMutator = require('../mutations/RelayRecordSourceMutator');
6
+ var RelayRecordSourceProxy = require('../mutations/RelayRecordSourceProxy');
7
+ var getOperation = require('../util/getOperation');
8
+ var RelayConcreteNode = require('../util/RelayConcreteNode');
9
+ var _require = require('./ClientID'),
10
10
  isClientID = _require.isClientID;
11
- var cloneRelayHandleSourceField = require("./cloneRelayHandleSourceField");
12
- var cloneRelayScalarHandleSourceField = require("./cloneRelayScalarHandleSourceField");
13
- var _require2 = require("./RelayConcreteVariables"),
11
+ var cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
12
+ var cloneRelayScalarHandleSourceField = require('./cloneRelayScalarHandleSourceField');
13
+ var _require2 = require('./RelayConcreteVariables'),
14
14
  getLocalVariables = _require2.getLocalVariables;
15
- var RelayModernRecord = require("./RelayModernRecord");
16
- var _require3 = require("./RelayRecordState"),
15
+ var RelayModernRecord = require('./RelayModernRecord');
16
+ var _require3 = require('./RelayRecordState'),
17
17
  EXISTENT = _require3.EXISTENT,
18
18
  UNKNOWN = _require3.UNKNOWN;
19
- var RelayStoreUtils = require("./RelayStoreUtils");
20
- var _require4 = require("./TypeID"),
19
+ var RelayStoreUtils = require('./RelayStoreUtils');
20
+ var _require4 = require('./TypeID'),
21
21
  TYPE_SCHEMA_TYPE = _require4.TYPE_SCHEMA_TYPE,
22
22
  generateTypeID = _require4.generateTypeID;
23
- var invariant = require("invariant");
23
+ var invariant = require('invariant');
24
24
  var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
25
25
  CONDITION = RelayConcreteNode.CONDITION,
26
26
  CLIENT_COMPONENT = RelayConcreteNode.CLIENT_COMPONENT,
@@ -33,6 +33,7 @@ var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
33
33
  LINKED_HANDLE = RelayConcreteNode.LINKED_HANDLE,
34
34
  MODULE_IMPORT = RelayConcreteNode.MODULE_IMPORT,
35
35
  RELAY_RESOLVER = RelayConcreteNode.RELAY_RESOLVER,
36
+ RELAY_LIVE_RESOLVER = RelayConcreteNode.RELAY_LIVE_RESOLVER,
36
37
  SCALAR_FIELD = RelayConcreteNode.SCALAR_FIELD,
37
38
  SCALAR_HANDLE = RelayConcreteNode.SCALAR_HANDLE,
38
39
  STREAM = RelayConcreteNode.STREAM,
@@ -82,22 +83,22 @@ var DataChecker = /*#__PURE__*/function () {
82
83
  this._assignClientAbstractTypes(node);
83
84
  this._traverse(node, dataID);
84
85
  return this._recordWasMissing === true ? {
85
- status: "missing",
86
+ status: 'missing',
86
87
  mostRecentlyInvalidatedAt: this._mostRecentlyInvalidatedAt
87
88
  } : {
88
- status: "available",
89
+ status: 'available',
89
90
  mostRecentlyInvalidatedAt: this._mostRecentlyInvalidatedAt
90
91
  };
91
92
  };
92
93
  _proto._getVariableValue = function _getVariableValue(name) {
93
- !this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, "RelayAsyncLoader(): Undefined variable `%s`.", name) : invariant(false) : void 0;
94
+ !this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayAsyncLoader(): Undefined variable `%s`.', name) : invariant(false) : void 0;
94
95
  return this._variables[name];
95
96
  };
96
97
  _proto._handleMissing = function _handleMissing() {
97
98
  this._recordWasMissing = true;
98
99
  };
99
100
  _proto._handleMissingScalarField = function _handleMissingScalarField(field, dataID) {
100
- if (field.name === "id" && field.alias == null && isClientID(dataID)) {
101
+ if (field.name === 'id' && field.alias == null && isClientID(dataID)) {
101
102
  return undefined;
102
103
  }
103
104
  var args = field.args != undefined ? getArgumentValues(field.args, this._variables) : {};
@@ -106,7 +107,7 @@ var DataChecker = /*#__PURE__*/function () {
106
107
  try {
107
108
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
108
109
  var handler = _step.value;
109
- if (handler.kind === "scalar") {
110
+ if (handler.kind === 'scalar') {
110
111
  var newValue = handler.handle(field, this._recordSourceProxy.get(dataID), args, this._recordSourceProxy);
111
112
  if (newValue !== undefined) {
112
113
  return newValue;
@@ -127,7 +128,7 @@ var DataChecker = /*#__PURE__*/function () {
127
128
  try {
128
129
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
129
130
  var handler = _step2.value;
130
- if (handler.kind === "linked") {
131
+ if (handler.kind === 'linked') {
131
132
  var newValue = handler.handle(field, this._recordSourceProxy.get(dataID), args, this._recordSourceProxy);
132
133
  if (newValue !== undefined && (newValue === null || this._mutator.getStatus(newValue) === EXISTENT)) {
133
134
  return newValue;
@@ -149,7 +150,7 @@ var DataChecker = /*#__PURE__*/function () {
149
150
  try {
150
151
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
151
152
  var handler = _step3.value;
152
- if (handler.kind === "pluralLinked") {
153
+ if (handler.kind === 'pluralLinked') {
153
154
  var newValue = handler.handle(field, this._recordSourceProxy.get(dataID), args, this._recordSourceProxy);
154
155
  if (newValue != null) {
155
156
  var allItemsKnown = newValue.every(function (linkedID) {
@@ -217,7 +218,7 @@ var DataChecker = /*#__PURE__*/function () {
217
218
  }
218
219
  } else {
219
220
  var _recordType = _this2._mutator.getType(dataID);
220
- !(_recordType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "DataChecker: Expected record `%s` to have a known type", dataID) : invariant(false) : void 0;
221
+ !(_recordType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'DataChecker: Expected record `%s` to have a known type', dataID) : invariant(false) : void 0;
221
222
  var _typeID = generateTypeID(_recordType);
222
223
  var _implementsInterface = _this2._mutator.getValue(_typeID, _abstractKey);
223
224
  if (_implementsInterface === true) {
@@ -265,7 +266,7 @@ var DataChecker = /*#__PURE__*/function () {
265
266
  case TYPE_DISCRIMINATOR:
266
267
  var abstractKey = selection.abstractKey;
267
268
  var recordType = _this2._mutator.getType(dataID);
268
- !(recordType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "DataChecker: Expected record `%s` to have a known type", dataID) : invariant(false) : void 0;
269
+ !(recordType != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'DataChecker: Expected record `%s` to have a known type', dataID) : invariant(false) : void 0;
269
270
  var typeID = generateTypeID(recordType);
270
271
  var implementsInterface = _this2._mutator.getValue(typeID, abstractKey);
271
272
  if (implementsInterface == null) {
@@ -281,12 +282,15 @@ var DataChecker = /*#__PURE__*/function () {
281
282
  case RELAY_RESOLVER:
282
283
  _this2._checkResolver(selection, dataID);
283
284
  break;
285
+ case RELAY_LIVE_RESOLVER:
286
+ _this2._checkResolver(selection, dataID);
287
+ break;
284
288
  case CLIENT_EDGE_TO_CLIENT_OBJECT:
285
289
  _this2._checkResolver(selection.backingField, dataID);
286
290
  break;
287
291
  default:
288
292
  selection;
289
- !false ? process.env.NODE_ENV !== "production" ? invariant(false, "RelayAsyncLoader(): Unexpected ast kind `%s`.", selection.kind) : invariant(false) : void 0;
293
+ !false ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayAsyncLoader(): Unexpected ast kind `%s`.', selection.kind) : invariant(false) : void 0;
290
294
  }
291
295
  });
292
296
  };
@@ -297,7 +301,7 @@ var DataChecker = /*#__PURE__*/function () {
297
301
  };
298
302
  _proto._checkModuleImport = function _checkModuleImport(moduleImport, dataID) {
299
303
  var operationLoader = this._operationLoader;
300
- !(operationLoader !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, "DataChecker: Expected an operationLoader to be configured when using `@module`.") : invariant(false) : void 0;
304
+ !(operationLoader !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'DataChecker: Expected an operationLoader to be configured when using `@module`.') : invariant(false) : void 0;
301
305
  var operationKey = getModuleOperationKey(moduleImport.documentName);
302
306
  var operationReference = this._mutator.getValue(dataID, operationKey);
303
307
  if (operationReference == null) {