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 internTable = new Map();
4
4
  var nextIndex = 1;
5
5
  var digits = initDigitTable();
6
- var INTERN_PREFIX = "\t";
7
- var ESCAPE_PREFIX = "\x0B";
6
+ var INTERN_PREFIX = '\t';
7
+ var ESCAPE_PREFIX = '\v';
8
8
  function initDigitTable() {
9
9
  var digits = new Set();
10
10
  for (var i = 0; i < 10; ++i) {
@@ -1,8 +1,8 @@
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 _require = require("../store/RelayStoreUtils"),
5
+ var _require = require('../store/RelayStoreUtils'),
6
6
  getModuleComponentKey = _require.getModuleComponentKey,
7
7
  getModuleOperationKey = _require.getModuleOperationKey;
8
8
  function createPayloadFor3DField(name, operation, component, response) {
@@ -1,4 +1,4 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  function deepFreeze(object) {
4
4
  if (!shouldBeFrozen(object)) {
@@ -7,14 +7,14 @@ function deepFreeze(object) {
7
7
  Object.freeze(object);
8
8
  Object.getOwnPropertyNames(object).forEach(function (name) {
9
9
  var property = object[name];
10
- if (property && typeof property === "object" && !Object.isFrozen(property)) {
10
+ if (property && typeof property === 'object' && !Object.isFrozen(property)) {
11
11
  deepFreeze(property);
12
12
  }
13
13
  });
14
14
  return object;
15
15
  }
16
16
  function shouldBeFrozen(value) {
17
- if (value === null || typeof value !== "object") {
17
+ if (value === null || typeof value !== 'object') {
18
18
  return false;
19
19
  }
20
20
  if (ArrayBuffer.isView(value)) {
@@ -1,4 +1,4 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var id = 100000;
4
4
  function generateID() {
@@ -1,30 +1,30 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var _require = require("../store/RelayModernSelector"),
3
+ var _require = require('../store/RelayModernSelector'),
4
4
  getDataIDsFromFragment = _require.getDataIDsFromFragment,
5
5
  getSelector = _require.getSelector,
6
6
  getVariablesFromFragment = _require.getVariablesFromFragment;
7
- var isEmptyObject = require("./isEmptyObject");
8
- var RelayFeatureFlags = require("./RelayFeatureFlags");
9
- var stableCopy = require("./stableCopy");
10
- var _require2 = require("./StringInterner"),
7
+ var isEmptyObject = require('./isEmptyObject');
8
+ var RelayFeatureFlags = require('./RelayFeatureFlags');
9
+ var stableCopy = require('./stableCopy');
10
+ var _require2 = require('./StringInterner'),
11
11
  intern = _require2.intern;
12
12
  function getFragmentIdentifier(fragmentNode, fragmentRef) {
13
13
  var selector = getSelector(fragmentNode, fragmentRef);
14
- var fragmentOwnerIdentifier = selector == null ? "null" : selector.kind === "SingularReaderSelector" ? selector.owner.identifier : "[" + selector.selectors.map(function (sel) {
14
+ var fragmentOwnerIdentifier = selector == null ? 'null' : selector.kind === 'SingularReaderSelector' ? selector.owner.identifier : '[' + selector.selectors.map(function (sel) {
15
15
  return sel.owner.identifier;
16
- }).join(",") + "]";
16
+ }).join(',') + ']';
17
17
  var fragmentVariables = getVariablesFromFragment(fragmentNode, fragmentRef);
18
18
  var dataIDs = getDataIDsFromFragment(fragmentNode, fragmentRef);
19
19
  if (RelayFeatureFlags.ENABLE_GETFRAGMENTIDENTIFIER_OPTIMIZATION) {
20
- var ids = typeof dataIDs === "undefined" ? "missing" : dataIDs == null ? "null" : Array.isArray(dataIDs) ? "[" + dataIDs.join(",") + "]" : dataIDs;
20
+ var ids = typeof dataIDs === 'undefined' ? 'missing' : dataIDs == null ? 'null' : Array.isArray(dataIDs) ? '[' + dataIDs.join(',') + ']' : dataIDs;
21
21
  ids = RelayFeatureFlags.STRING_INTERN_LEVEL <= 1 ? ids : intern(ids, RelayFeatureFlags.MAX_DATA_ID_LENGTH);
22
- return fragmentOwnerIdentifier + "/" + fragmentNode.name + "/" + (fragmentVariables == null || isEmptyObject(fragmentVariables) ? "{}" : JSON.stringify(stableCopy(fragmentVariables))) + "/" + ids;
22
+ return fragmentOwnerIdentifier + '/' + fragmentNode.name + '/' + (fragmentVariables == null || isEmptyObject(fragmentVariables) ? '{}' : JSON.stringify(stableCopy(fragmentVariables))) + '/' + ids;
23
23
  } else {
24
24
  var _JSON$stringify;
25
- var _ids = (_JSON$stringify = JSON.stringify(dataIDs)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : "missing";
25
+ var _ids = (_JSON$stringify = JSON.stringify(dataIDs)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : 'missing';
26
26
  _ids = RelayFeatureFlags.STRING_INTERN_LEVEL <= 1 ? _ids : intern(_ids, RelayFeatureFlags.MAX_DATA_ID_LENGTH);
27
- return fragmentOwnerIdentifier + "/" + fragmentNode.name + "/" + JSON.stringify(stableCopy(fragmentVariables)) + "/" + _ids;
27
+ return fragmentOwnerIdentifier + '/' + fragmentNode.name + '/' + JSON.stringify(stableCopy(fragmentVariables)) + '/' + _ids;
28
28
  }
29
29
  }
30
30
  module.exports = getFragmentIdentifier;
@@ -1,6 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var _require = require("./RelayConcreteNode"),
3
+ var _require = require('./RelayConcreteNode'),
4
4
  REQUEST = _require.REQUEST,
5
5
  SPLIT_OPERATION = _require.SPLIT_OPERATION;
6
6
  function getOperation(node) {
@@ -1,19 +1,19 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var getRefetchMetadata = require("./getRefetchMetadata");
4
- var invariant = require("invariant");
3
+ var getRefetchMetadata = require('./getRefetchMetadata');
4
+ var invariant = require('invariant');
5
5
  function getPaginationMetadata(fragmentNode, componentDisplayName) {
6
6
  var _fragmentNode$metadat, _fragmentNode$metadat2;
7
7
  var _getRefetchMetadata = getRefetchMetadata(fragmentNode, componentDisplayName),
8
8
  paginationRequest = _getRefetchMetadata.refetchableRequest,
9
9
  refetchMetadata = _getRefetchMetadata.refetchMetadata;
10
10
  var paginationMetadata = refetchMetadata.connection;
11
- !(paginationMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getPaginationMetadata(): Expected fragment `%s` to include a " + "connection when using `%s`. Did you forget to add a @connection " + "directive to the connection field in the fragment?", componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
11
+ !(paginationMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getPaginationMetadata(): Expected fragment `%s` to include a ' + 'connection when using `%s`. Did you forget to add a @connection ' + 'directive to the connection field in the fragment?', componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
12
12
  var connectionPathInFragmentData = paginationMetadata.path;
13
13
  var connectionMetadata = ((_fragmentNode$metadat = (_fragmentNode$metadat2 = fragmentNode.metadata) === null || _fragmentNode$metadat2 === void 0 ? void 0 : _fragmentNode$metadat2.connection) !== null && _fragmentNode$metadat !== void 0 ? _fragmentNode$metadat : [])[0];
14
- !(connectionMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getPaginationMetadata(): Expected fragment `%s` to include a " + "connection when using `%s`. Did you forget to add a @connection " + "directive to the connection field in the fragment?", componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
14
+ !(connectionMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getPaginationMetadata(): Expected fragment `%s` to include a ' + 'connection when using `%s`. Did you forget to add a @connection ' + 'directive to the connection field in the fragment?', componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
15
15
  var identifierInfo = refetchMetadata.identifierInfo;
16
- !((identifierInfo === null || identifierInfo === void 0 ? void 0 : identifierInfo.identifierField) == null || typeof identifierInfo.identifierField === "string") ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected `identifierField` to be a string.") : invariant(false) : void 0;
16
+ !((identifierInfo === null || identifierInfo === void 0 ? void 0 : identifierInfo.identifierField) == null || typeof identifierInfo.identifierField === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected `identifierField` to be a string.') : invariant(false) : void 0;
17
17
  return {
18
18
  connectionPathInFragmentData: connectionPathInFragmentData,
19
19
  identifierField: identifierInfo === null || identifierInfo === void 0 ? void 0 : identifierInfo.identifierField,
@@ -1,19 +1,19 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
5
  var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
6
- var invariant = require("invariant");
6
+ var invariant = require('invariant');
7
7
  var warning = require("fbjs/lib/warning");
8
8
  function getPaginationVariables(direction, count, cursor, baseVariables, extraVariables, paginationMetadata) {
9
9
  var _objectSpread3;
10
10
  var backwardMetadata = paginationMetadata.backward,
11
11
  forwardMetadata = paginationMetadata.forward;
12
- if (direction === "backward") {
12
+ if (direction === 'backward') {
13
13
  var _objectSpread2;
14
- !(backwardMetadata != null && backwardMetadata.count != null && backwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: Expected backward pagination metadata to be available. " + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
15
- process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(backwardMetadata.cursor), "Relay: `UNSTABLE_extraVariables` provided by caller should not " + "contain cursor variable `%s`. This variable is automatically " + "determined by Relay.", backwardMetadata.cursor) : void 0;
16
- process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(backwardMetadata.count), "Relay: `UNSTABLE_extraVariables` provided by caller should not " + "contain count variable `%s`. This variable is automatically " + "determined by Relay.", backwardMetadata.count) : void 0;
14
+ !(backwardMetadata != null && backwardMetadata.count != null && backwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected backward pagination metadata to be available. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
15
+ process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(backwardMetadata.cursor), 'Relay: `UNSTABLE_extraVariables` provided by caller should not ' + 'contain cursor variable `%s`. This variable is automatically ' + 'determined by Relay.', backwardMetadata.cursor) : void 0;
16
+ process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(backwardMetadata.count), 'Relay: `UNSTABLE_extraVariables` provided by caller should not ' + 'contain count variable `%s`. This variable is automatically ' + 'determined by Relay.', backwardMetadata.count) : void 0;
17
17
  var _paginationVariables = (0, _objectSpread4["default"])((0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, baseVariables), extraVariables), {}, (_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, backwardMetadata.cursor, cursor), (0, _defineProperty2["default"])(_objectSpread2, backwardMetadata.count, count), _objectSpread2));
18
18
  if (forwardMetadata && forwardMetadata.cursor) {
19
19
  _paginationVariables[forwardMetadata.cursor] = null;
@@ -23,9 +23,9 @@ function getPaginationVariables(direction, count, cursor, baseVariables, extraVa
23
23
  }
24
24
  return _paginationVariables;
25
25
  }
26
- !(forwardMetadata != null && forwardMetadata.count != null && forwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: Expected forward pagination metadata to be available. " + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
27
- process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(forwardMetadata.cursor), "Relay: `UNSTABLE_extraVariables` provided by caller should not " + "contain cursor variable `%s`. This variable is automatically " + "determined by Relay.", forwardMetadata.cursor) : void 0;
28
- process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(forwardMetadata.count), "Relay: `UNSTABLE_extraVariables` provided by caller should not " + "contain count variable `%s`. This variable is automatically " + "determined by Relay.", forwardMetadata.count) : void 0;
26
+ !(forwardMetadata != null && forwardMetadata.count != null && forwardMetadata.cursor != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected forward pagination metadata to be available. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
27
+ process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(forwardMetadata.cursor), 'Relay: `UNSTABLE_extraVariables` provided by caller should not ' + 'contain cursor variable `%s`. This variable is automatically ' + 'determined by Relay.', forwardMetadata.cursor) : void 0;
28
+ process.env.NODE_ENV !== "production" ? warning(!extraVariables.hasOwnProperty(forwardMetadata.count), 'Relay: `UNSTABLE_extraVariables` provided by caller should not ' + 'contain count variable `%s`. This variable is automatically ' + 'determined by Relay.', forwardMetadata.count) : void 0;
29
29
  var paginationVariables = (0, _objectSpread4["default"])((0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, baseVariables), extraVariables), {}, (_objectSpread3 = {}, (0, _defineProperty2["default"])(_objectSpread3, forwardMetadata.cursor, cursor), (0, _defineProperty2["default"])(_objectSpread3, forwardMetadata.count, count), _objectSpread3));
30
30
  if (backwardMetadata && backwardMetadata.cursor) {
31
31
  paginationVariables[backwardMetadata.cursor] = null;
@@ -1,6 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var _require = require("../query/fetchQueryInternal"),
3
+ var _require = require('../query/fetchQueryInternal'),
4
4
  getPromiseForActiveRequest = _require.getPromiseForActiveRequest;
5
5
  function getPendingOperationsForFragment(environment, fragmentNode, fragmentOwner) {
6
6
  var _pendingOperations$ma, _pendingOperations;
@@ -19,15 +19,15 @@ function getPendingOperationsForFragment(environment, fragmentNode, fragmentOwne
19
19
  }
20
20
  var pendingOperationName = (_pendingOperations$ma = (_pendingOperations = pendingOperations) === null || _pendingOperations === void 0 ? void 0 : _pendingOperations.map(function (op) {
21
21
  return op.node.params.name;
22
- }).join(",")) !== null && _pendingOperations$ma !== void 0 ? _pendingOperations$ma : null;
22
+ }).join(',')) !== null && _pendingOperations$ma !== void 0 ? _pendingOperations$ma : null;
23
23
  if (pendingOperationName == null || pendingOperationName.length === 0) {
24
- pendingOperationName = "Unknown pending operation";
24
+ pendingOperationName = 'Unknown pending operation';
25
25
  }
26
26
  var fragmentName = fragmentNode.name;
27
27
  var promiseDisplayName = pendingOperationName === fragmentName ? "Relay(".concat(pendingOperationName, ")") : "Relay(".concat(pendingOperationName, ":").concat(fragmentName, ")");
28
28
  promise.displayName = promiseDisplayName;
29
29
  environment.__log({
30
- name: "pendingoperation.found",
30
+ name: 'pendingoperation.found',
31
31
  fragment: fragmentNode,
32
32
  fragmentOwner: fragmentOwner,
33
33
  pendingOperations: pendingOperations
@@ -1,18 +1,18 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var invariant = require("invariant");
3
+ var invariant = require('invariant');
4
4
  function getRefetchMetadata(fragmentNode, componentDisplayName) {
5
5
  var _fragmentNode$metadat, _fragmentNode$metadat2;
6
- !(((_fragmentNode$metadat = fragmentNode.metadata) === null || _fragmentNode$metadat === void 0 ? void 0 : _fragmentNode$metadat.plural) !== true) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected fragment `%s` not to be plural when using " + "`%s`. Remove `@relay(plural: true)` from fragment `%s` " + "in order to use it with `%s`.", fragmentNode.name, componentDisplayName, fragmentNode.name, componentDisplayName) : invariant(false) : void 0;
6
+ !(((_fragmentNode$metadat = fragmentNode.metadata) === null || _fragmentNode$metadat === void 0 ? void 0 : _fragmentNode$metadat.plural) !== true) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected fragment `%s` not to be plural when using ' + '`%s`. Remove `@relay(plural: true)` from fragment `%s` ' + 'in order to use it with `%s`.', fragmentNode.name, componentDisplayName, fragmentNode.name, componentDisplayName) : invariant(false) : void 0;
7
7
  var refetchMetadata = (_fragmentNode$metadat2 = fragmentNode.metadata) === null || _fragmentNode$metadat2 === void 0 ? void 0 : _fragmentNode$metadat2.refetch;
8
- !(refetchMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected fragment `%s` to be refetchable when using `%s`. " + "Did you forget to add a @refetchable directive to the fragment?", componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
8
+ !(refetchMetadata != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected fragment `%s` to be refetchable when using `%s`. ' + 'Did you forget to add a @refetchable directive to the fragment?', componentDisplayName, fragmentNode.name) : invariant(false) : void 0;
9
9
  var refetchableRequest = refetchMetadata.operation["default"] ? refetchMetadata.operation["default"] : refetchMetadata.operation;
10
10
  var fragmentRefPathInResponse = refetchMetadata.fragmentPathInResult;
11
- !(typeof refetchableRequest !== "string") ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected refetch query to be an " + "operation and not a string when using `%s`. If you're seeing this, " + "this is likely a bug in Relay.", componentDisplayName) : invariant(false) : void 0;
11
+ !(typeof refetchableRequest !== 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected refetch query to be an ' + "operation and not a string when using `%s`. If you're seeing this, " + 'this is likely a bug in Relay.', componentDisplayName) : invariant(false) : void 0;
12
12
  var identifierInfo = refetchMetadata.identifierInfo;
13
13
  if (identifierInfo != null) {
14
- !(identifierInfo.identifierField == null || typeof identifierInfo.identifierField === "string") ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected `identifierField` to be a string.") : invariant(false) : void 0;
15
- !(identifierInfo.identifierQueryVariableName == null || typeof identifierInfo.identifierQueryVariableName === "string") ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: getRefetchMetadata(): Expected `identifierQueryVariableName` to be a string.") : invariant(false) : void 0;
14
+ !(identifierInfo.identifierField == null || typeof identifierInfo.identifierField === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected `identifierField` to be a string.') : invariant(false) : void 0;
15
+ !(identifierInfo.identifierQueryVariableName == null || typeof identifierInfo.identifierQueryVariableName === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: getRefetchMetadata(): Expected `identifierQueryVariableName` to be a string.') : invariant(false) : void 0;
16
16
  }
17
17
  return {
18
18
  fragmentRefPathInResponse: fragmentRefPathInResponse,
@@ -1,13 +1,13 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var _require = require("./RelayDefaultHandleKey"),
3
+ var _require = require('./RelayDefaultHandleKey'),
4
4
  DEFAULT_HANDLE_KEY = _require.DEFAULT_HANDLE_KEY;
5
- var invariant = require("invariant");
5
+ var invariant = require('invariant');
6
6
  function getRelayHandleKey(handleName, key, fieldName) {
7
7
  if (key && key !== DEFAULT_HANDLE_KEY) {
8
8
  return "__".concat(key, "_").concat(handleName);
9
9
  }
10
- !(fieldName != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "getRelayHandleKey: Expected either `fieldName` or `key` in `handle` to be provided") : invariant(false) : void 0;
10
+ !(fieldName != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'getRelayHandleKey: Expected either `fieldName` or `key` in `handle` to be provided') : invariant(false) : void 0;
11
11
  return "__".concat(fieldName, "_").concat(handleName);
12
12
  }
13
13
  module.exports = getRelayHandleKey;
@@ -1,10 +1,10 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var stableCopy = require("./stableCopy");
4
- var invariant = require("invariant");
3
+ var stableCopy = require('./stableCopy');
4
+ var invariant = require('invariant');
5
5
  function getRequestIdentifier(parameters, variables) {
6
6
  var requestID = parameters.cacheID != null ? parameters.cacheID : parameters.id;
7
- !(requestID != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "getRequestIdentifier: Expected request `%s` to have either a " + "valid `id` or `cacheID` property", parameters.name) : invariant(false) : void 0;
7
+ !(requestID != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'getRequestIdentifier: Expected request `%s` to have either a ' + 'valid `id` or `cacheID` property', parameters.name) : invariant(false) : void 0;
8
8
  return requestID + JSON.stringify(stableCopy(variables));
9
9
  }
10
10
  module.exports = getRequestIdentifier;
@@ -1,8 +1,8 @@
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 invariant = require("invariant");
5
+ var invariant = require('invariant');
6
6
  function getValueAtPath(data, path) {
7
7
  var result = data;
8
8
  var _iterator = (0, _createForOfIteratorHelper2["default"])(path),
@@ -13,11 +13,11 @@ function getValueAtPath(data, path) {
13
13
  if (result == null) {
14
14
  return null;
15
15
  }
16
- if (typeof key === "number") {
17
- !Array.isArray(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: Expected an array when extracting value at path. " + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
16
+ if (typeof key === 'number') {
17
+ !Array.isArray(result) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected an array when extracting value at path. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
18
18
  result = result[key];
19
19
  } else {
20
- !(typeof result === "object" && !Array.isArray(result)) ? process.env.NODE_ENV !== "production" ? invariant(false, "Relay: Expected an object when extracting value at path. " + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
20
+ !(typeof result === 'object' && !Array.isArray(result)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected an object when extracting value at path. ' + "If you're seeing this, this is likely a bug in Relay.") : invariant(false) : void 0;
21
21
  result = result[key];
22
22
  }
23
23
  }
@@ -1,4 +1,4 @@
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"));
@@ -9,7 +9,7 @@ function handlePotentialSnapshotErrors(environment, missingRequiredFields, relay
9
9
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
10
10
  var resolverError = _step.value;
11
11
  environment.requiredFieldLogger({
12
- kind: "relay_resolver.error",
12
+ kind: 'relay_resolver.error',
13
13
  owner: resolverError.field.owner,
14
14
  fieldPath: resolverError.field.path,
15
15
  error: resolverError.error
@@ -22,24 +22,24 @@ function handlePotentialSnapshotErrors(environment, missingRequiredFields, relay
22
22
  }
23
23
  if (missingRequiredFields != null) {
24
24
  switch (missingRequiredFields.action) {
25
- case "THROW":
25
+ case 'THROW':
26
26
  {
27
27
  var _missingRequiredField = missingRequiredFields.field,
28
28
  path = _missingRequiredField.path,
29
29
  owner = _missingRequiredField.owner;
30
30
  environment.requiredFieldLogger({
31
- kind: "missing_field.throw",
31
+ kind: 'missing_field.throw',
32
32
  owner: owner,
33
33
  fieldPath: path
34
34
  });
35
35
  throw new Error("Relay: Missing @required value at path '".concat(path, "' in '").concat(owner, "'."));
36
36
  }
37
- case "LOG":
37
+ case 'LOG':
38
38
  missingRequiredFields.fields.forEach(function (_ref) {
39
39
  var path = _ref.path,
40
40
  owner = _ref.owner;
41
41
  environment.requiredFieldLogger({
42
- kind: "missing_field.log",
42
+ kind: 'missing_field.log',
43
43
  owner: owner,
44
44
  fieldPath: path
45
45
  });
@@ -1,4 +1,4 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var hasOwnProperty = Object.prototype.hasOwnProperty;
4
4
  function isEmptyObject(obj) {
@@ -1,6 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  function isPromise(p) {
4
- return !!p && typeof p.then === "function";
4
+ return !!p && typeof p.then === 'function';
5
5
  }
6
6
  module.exports = isPromise;
@@ -1,6 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  function isScalarAndEqual(valueA, valueB) {
4
- return valueA === valueB && (valueA === null || typeof valueA !== "object");
4
+ return valueA === valueB && (valueA === null || typeof valueA !== 'object');
5
5
  }
6
6
  module.exports = isScalarAndEqual;
@@ -1,9 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- var hasWeakSetDefined = typeof WeakSet !== "undefined";
4
- var hasWeakMapDefined = typeof WeakMap !== "undefined";
5
3
  function recycleNodesInto(prevData, nextData) {
6
- if (prevData === nextData || typeof prevData !== "object" || prevData instanceof Set || prevData instanceof Map || hasWeakSetDefined && prevData instanceof WeakSet || hasWeakMapDefined && prevData instanceof WeakMap || !prevData || typeof nextData !== "object" || nextData instanceof Set || nextData instanceof Map || hasWeakSetDefined && nextData instanceof WeakSet || hasWeakMapDefined && nextData instanceof WeakMap || !nextData) {
4
+ if (prevData === nextData || typeof prevData !== 'object' || !prevData || prevData.constructor !== Object && !Array.isArray(prevData) || typeof nextData !== 'object' || !nextData || nextData.constructor !== Object && !Array.isArray(nextData)) {
7
5
  return nextData;
8
6
  }
9
7
  var canRecycle = false;
@@ -13,14 +11,8 @@ function recycleNodesInto(prevData, nextData) {
13
11
  canRecycle = nextArray.reduce(function (wasEqual, nextItem, ii) {
14
12
  var prevValue = prevArray[ii];
15
13
  var nextValue = recycleNodesInto(prevValue, nextItem);
16
- if (nextValue !== nextArray[ii]) {
17
- if (process.env.NODE_ENV !== "production") {
18
- if (!Object.isFrozen(nextArray)) {
19
- nextArray[ii] = nextValue;
20
- }
21
- } else {
22
- nextArray[ii] = nextValue;
23
- }
14
+ if (nextValue !== nextArray[ii] && !Object.isFrozen(nextArray)) {
15
+ nextArray[ii] = nextValue;
24
16
  }
25
17
  return wasEqual && nextValue === prevArray[ii];
26
18
  }, true) && prevArray.length === nextArray.length;
@@ -32,14 +24,8 @@ function recycleNodesInto(prevData, nextData) {
32
24
  canRecycle = nextKeys.reduce(function (wasEqual, key) {
33
25
  var prevValue = prevObject[key];
34
26
  var nextValue = recycleNodesInto(prevValue, nextObject[key]);
35
- if (nextValue !== nextObject[key]) {
36
- if (process.env.NODE_ENV !== "production") {
37
- if (!Object.isFrozen(nextObject)) {
38
- nextObject[key] = nextValue;
39
- }
40
- } else {
41
- nextObject[key] = nextValue;
42
- }
27
+ if (nextValue !== nextObject[key] && !Object.isFrozen(nextObject)) {
28
+ nextObject[key] = nextValue;
43
29
  }
44
30
  return wasEqual && nextValue === prevObject[key];
45
31
  }, true) && prevKeys.length === nextKeys.length;
@@ -1,7 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  function registerEnvironmentWithDevTools(environment) {
4
- var _global = typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : undefined;
4
+ var _global = typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : undefined;
5
5
  var devToolsHook = _global && _global.__RELAY_DEVTOOLS_HOOK__;
6
6
  if (devToolsHook) {
7
7
  devToolsHook.registerEnvironment(environment);
@@ -1,4 +1,4 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var resolvedPromise = Promise.resolve();
4
4
  function resolveImmediate(callback) {
@@ -1,7 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  function stableCopy(value) {
4
- if (!value || typeof value !== "object") {
4
+ if (!value || typeof value !== 'object') {
5
5
  return value;
6
6
  }
7
7
  if (Array.isArray(value)) {
@@ -1,7 +1,7 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var _window, _window$performance;
4
- var isPerformanceNowAvailable = typeof window !== "undefined" && typeof ((_window = window) === null || _window === void 0 ? void 0 : (_window$performance = _window.performance) === null || _window$performance === void 0 ? void 0 : _window$performance.now) === "function";
4
+ var isPerformanceNowAvailable = typeof window !== 'undefined' && typeof ((_window = window) === null || _window === void 0 ? void 0 : (_window$performance = _window.performance) === null || _window$performance === void 0 ? void 0 : _window$performance.now) === 'function';
5
5
  function currentTimestamp() {
6
6
  if (isPerformanceNowAvailable) {
7
7
  return window.performance.now();
@@ -1,8 +1,8 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
3
  var areEqual = require("fbjs/lib/areEqual");
4
4
  var warning = require("fbjs/lib/warning");
5
- var WEAKMAP_SUPPORTED = typeof WeakMap === "function";
5
+ var WEAKMAP_SUPPORTED = typeof WeakMap === 'function';
6
6
  var debugCache = WEAKMAP_SUPPORTED ? new WeakMap() : new Map();
7
7
  function withProvidedVariables(userSuppliedVariables, providedVariables) {
8
8
  if (providedVariables != null) {
@@ -17,7 +17,7 @@ function withProvidedVariables(userSuppliedVariables, providedVariables) {
17
17
  } else {
18
18
  var cachedResult = debugCache.get(providerFunction);
19
19
  if (process.env.NODE_ENV !== "production") {
20
- process.env.NODE_ENV !== "production" ? warning(areEqual(providerResult, cachedResult), "Relay: Expected function `%s` for provider `%s` to be a pure function, " + "but got conflicting return values `%s` and `%s`", providerFunction.name, varName, providerResult, cachedResult) : void 0;
20
+ process.env.NODE_ENV !== "production" ? warning(areEqual(providerResult, cachedResult), 'Relay: Expected function `%s` for provider `%s` to be a pure function, ' + 'but got conflicting return values `%s` and `%s`', providerFunction.name, varName, providerResult, cachedResult) : void 0;
21
21
  }
22
22
  operationVariables[varName] = cachedResult;
23
23
  }
@@ -30,6 +30,7 @@ const {
30
30
  LINKED_FIELD,
31
31
  LINKED_HANDLE,
32
32
  MODULE_IMPORT,
33
+ RELAY_LIVE_RESOLVER,
33
34
  RELAY_RESOLVER,
34
35
  SCALAR_FIELD,
35
36
  SCALAR_HANDLE,
@@ -164,6 +165,7 @@ if (__DEV__) {
164
165
  case TYPE_DISCRIMINATOR:
165
166
  return validateAbstractKey(context, selection.abstractKey);
166
167
  case RELAY_RESOLVER:
168
+ case RELAY_LIVE_RESOLVER:
167
169
  case CLIENT_EDGE_TO_CLIENT_OBJECT:
168
170
  case LINKED_HANDLE:
169
171
  case SCALAR_HANDLE:
@@ -272,7 +272,8 @@ class RelayObservable<+T> implements Subscribable<T> {
272
272
  ifEmpty<U>(alternate: RelayObservable<U>): RelayObservable<T | U> {
273
273
  return RelayObservable.create(sink => {
274
274
  let hasValue = false;
275
- let current: Subscription = this.subscribe({
275
+ let current: ?Subscription;
276
+ current = this.subscribe({
276
277
  next(value) {
277
278
  hasValue = true;
278
279
  sink.next(value);
@@ -287,7 +288,7 @@ class RelayObservable<+T> implements Subscribable<T> {
287
288
  },
288
289
  });
289
290
  return () => {
290
- current.unsubscribe();
291
+ current && current.unsubscribe();
291
292
  };
292
293
  });
293
294
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relay-runtime",
3
3
  "description": "A core runtime for building GraphQL-driven applications.",
4
- "version": "0.0.0-main-1decb243",
4
+ "version": "0.0.0-main-556d696f",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"