relay-runtime 12.0.0 → 13.0.0

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 (216) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +67 -0
  3. package/handlers/RelayDefaultHandlerProvider.js.flow +3 -3
  4. package/handlers/connection/ConnectionHandler.js.flow +9 -18
  5. package/handlers/connection/ConnectionInterface.js.flow +1 -1
  6. package/handlers/connection/MutationHandlers.js.flow +8 -12
  7. package/index.js +2 -2
  8. package/index.js.flow +43 -34
  9. package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
  10. package/lib/handlers/connection/ConnectionHandler.js +13 -19
  11. package/lib/handlers/connection/ConnectionInterface.js +1 -1
  12. package/lib/handlers/connection/MutationHandlers.js +4 -7
  13. package/lib/index.js +49 -46
  14. package/lib/multi-actor-environment/ActorIdentifier.js +1 -1
  15. package/lib/multi-actor-environment/ActorSpecificEnvironment.js +9 -5
  16. package/lib/multi-actor-environment/ActorUtils.js +1 -1
  17. package/lib/multi-actor-environment/MultiActorEnvironment.js +36 -23
  18. package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
  19. package/lib/multi-actor-environment/index.js +3 -3
  20. package/lib/mutations/RelayDeclarativeMutationConfig.js +5 -2
  21. package/lib/mutations/RelayRecordProxy.js +4 -3
  22. package/lib/mutations/RelayRecordSourceMutator.js +4 -3
  23. package/lib/mutations/RelayRecordSourceProxy.js +13 -5
  24. package/lib/mutations/RelayRecordSourceSelectorProxy.js +13 -5
  25. package/lib/mutations/applyOptimisticMutation.js +7 -7
  26. package/lib/mutations/commitLocalUpdate.js +1 -1
  27. package/lib/mutations/commitMutation.js +16 -15
  28. package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +242 -0
  29. package/lib/mutations/validateMutation.js +7 -7
  30. package/lib/network/ConvertToExecuteFunction.js +3 -2
  31. package/lib/network/RelayNetwork.js +4 -3
  32. package/lib/network/RelayNetworkTypes.js +1 -1
  33. package/lib/network/RelayObservable.js +2 -4
  34. package/lib/network/RelayQueryResponseCache.js +3 -3
  35. package/lib/network/wrapNetworkWithLogObserver.js +3 -2
  36. package/lib/query/GraphQLTag.js +3 -2
  37. package/lib/query/PreloadableQueryRegistry.js +1 -1
  38. package/lib/query/fetchQuery.js +7 -6
  39. package/lib/query/fetchQueryInternal.js +1 -1
  40. package/lib/query/fetchQuery_DEPRECATED.js +3 -2
  41. package/lib/store/ClientID.js +8 -2
  42. package/lib/store/DataChecker.js +17 -18
  43. package/lib/store/OperationExecutor.js +14 -14
  44. package/lib/store/RelayConcreteVariables.js +7 -10
  45. package/lib/store/RelayExperimentalGraphResponseHandler.js +153 -0
  46. package/lib/store/RelayExperimentalGraphResponseTransform.js +391 -0
  47. package/lib/store/RelayModernEnvironment.js +67 -43
  48. package/lib/store/RelayModernFragmentSpecResolver.js +9 -9
  49. package/lib/store/RelayModernOperationDescriptor.js +3 -2
  50. package/lib/store/RelayModernRecord.js +13 -12
  51. package/lib/store/RelayModernSelector.js +15 -9
  52. package/lib/store/RelayModernStore.js +15 -16
  53. package/lib/store/RelayOperationTracker.js +1 -1
  54. package/lib/store/RelayOptimisticRecordSource.js +1 -1
  55. package/lib/store/RelayPublishQueue.js +12 -6
  56. package/lib/store/RelayReader.js +131 -40
  57. package/lib/store/RelayRecordSource.js +1 -1
  58. package/lib/store/RelayRecordState.js +1 -1
  59. package/lib/store/RelayReferenceMarker.js +11 -12
  60. package/lib/store/RelayResponseNormalizer.js +26 -23
  61. package/lib/store/RelayStoreReactFlightUtils.js +4 -4
  62. package/lib/store/RelayStoreSubscriptions.js +7 -5
  63. package/lib/store/RelayStoreTypes.js +1 -1
  64. package/lib/store/RelayStoreUtils.js +6 -6
  65. package/lib/store/ResolverCache.js +7 -7
  66. package/lib/store/ResolverFragments.js +12 -8
  67. package/lib/store/StoreInspector.js +1 -1
  68. package/lib/store/TypeID.js +1 -1
  69. package/lib/store/ViewerPattern.js +1 -1
  70. package/lib/store/cloneRelayHandleSourceField.js +6 -5
  71. package/lib/store/cloneRelayScalarHandleSourceField.js +6 -5
  72. package/lib/store/createFragmentSpecResolver.js +1 -1
  73. package/lib/store/createRelayContext.js +4 -2
  74. package/lib/store/defaultGetDataID.js +1 -1
  75. package/lib/store/defaultRequiredFieldLogger.js +1 -1
  76. package/lib/store/hasOverlappingIDs.js +1 -1
  77. package/lib/store/isRelayModernEnvironment.js +1 -1
  78. package/lib/store/normalizeRelayPayload.js +1 -1
  79. package/lib/store/readInlineData.js +7 -3
  80. package/lib/subscription/requestSubscription.js +4 -6
  81. package/lib/util/JSResourceTypes.flow.js +1 -1
  82. package/lib/util/NormalizationNode.js +1 -1
  83. package/lib/util/ReaderNode.js +1 -1
  84. package/lib/util/RelayConcreteNode.js +2 -1
  85. package/lib/util/RelayDefaultHandleKey.js +1 -1
  86. package/lib/util/RelayError.js +1 -1
  87. package/lib/util/RelayFeatureFlags.js +8 -3
  88. package/lib/util/RelayProfiler.js +1 -1
  89. package/lib/util/RelayReplaySubject.js +1 -1
  90. package/lib/util/RelayRuntimeTypes.js +1 -7
  91. package/lib/util/StringInterner.js +71 -0
  92. package/lib/util/createPayloadFor3DField.js +1 -1
  93. package/lib/util/deepFreeze.js +1 -1
  94. package/lib/util/generateID.js +1 -1
  95. package/lib/util/getAllRootVariables.js +29 -0
  96. package/lib/util/getFragmentIdentifier.js +16 -8
  97. package/lib/util/getOperation.js +3 -2
  98. package/lib/util/getPaginationMetadata.js +1 -1
  99. package/lib/util/getPaginationVariables.js +3 -4
  100. package/lib/util/getPendingOperationsForFragment.js +1 -1
  101. package/lib/util/getRefetchMetadata.js +1 -1
  102. package/lib/util/getRelayHandleKey.js +3 -3
  103. package/lib/util/getRequestIdentifier.js +3 -3
  104. package/lib/util/getValueAtPath.js +1 -1
  105. package/lib/util/isEmptyObject.js +1 -1
  106. package/lib/util/isPromise.js +1 -1
  107. package/lib/util/isScalarAndEqual.js +1 -1
  108. package/lib/util/recycleNodesInto.js +1 -1
  109. package/lib/util/registerEnvironmentWithDevTools.js +1 -1
  110. package/lib/util/reportMissingRequiredFields.js +1 -1
  111. package/lib/util/resolveImmediate.js +1 -1
  112. package/lib/util/stableCopy.js +1 -1
  113. package/lib/util/withDuration.js +1 -1
  114. package/multi-actor-environment/ActorIdentifier.js.flow +1 -1
  115. package/multi-actor-environment/ActorSpecificEnvironment.js.flow +28 -20
  116. package/multi-actor-environment/ActorUtils.js.flow +3 -3
  117. package/multi-actor-environment/MultiActorEnvironment.js.flow +46 -25
  118. package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +28 -12
  119. package/multi-actor-environment/index.js.flow +2 -3
  120. package/mutations/RelayDeclarativeMutationConfig.js.flow +33 -28
  121. package/mutations/RelayRecordProxy.js.flow +5 -6
  122. package/mutations/RelayRecordSourceMutator.js.flow +5 -7
  123. package/mutations/RelayRecordSourceProxy.js.flow +20 -11
  124. package/mutations/RelayRecordSourceSelectorProxy.js.flow +16 -6
  125. package/mutations/applyOptimisticMutation.js.flow +14 -15
  126. package/mutations/commitLocalUpdate.js.flow +2 -2
  127. package/mutations/commitMutation.js.flow +36 -49
  128. package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +318 -0
  129. package/mutations/validateMutation.js.flow +20 -18
  130. package/network/ConvertToExecuteFunction.js.flow +3 -3
  131. package/network/RelayNetwork.js.flow +5 -6
  132. package/network/RelayNetworkTypes.js.flow +1 -1
  133. package/network/RelayObservable.js.flow +2 -4
  134. package/network/RelayQueryResponseCache.js.flow +4 -4
  135. package/network/wrapNetworkWithLogObserver.js.flow +9 -9
  136. package/package.json +2 -2
  137. package/query/GraphQLTag.js.flow +11 -11
  138. package/query/PreloadableQueryRegistry.js.flow +5 -3
  139. package/query/fetchQuery.js.flow +19 -19
  140. package/query/fetchQueryInternal.js.flow +7 -10
  141. package/query/fetchQuery_DEPRECATED.js.flow +7 -7
  142. package/relay-runtime.js +2 -2
  143. package/relay-runtime.min.js +3 -3
  144. package/store/ClientID.js.flow +10 -3
  145. package/store/DataChecker.js.flow +21 -30
  146. package/store/OperationExecutor.js.flow +55 -63
  147. package/store/RelayConcreteVariables.js.flow +5 -11
  148. package/store/RelayExperimentalGraphResponseHandler.js.flow +121 -0
  149. package/store/RelayExperimentalGraphResponseTransform.js.flow +470 -0
  150. package/store/RelayModernEnvironment.js.flow +57 -28
  151. package/store/RelayModernFragmentSpecResolver.js.flow +18 -20
  152. package/store/RelayModernOperationDescriptor.js.flow +11 -12
  153. package/store/RelayModernRecord.js.flow +20 -13
  154. package/store/RelayModernSelector.js.flow +25 -15
  155. package/store/RelayModernStore.js.flow +22 -26
  156. package/store/RelayOperationTracker.js.flow +12 -18
  157. package/store/RelayOptimisticRecordSource.js.flow +3 -3
  158. package/store/RelayPublishQueue.js.flow +43 -24
  159. package/store/RelayReader.js.flow +181 -68
  160. package/store/RelayRecordSource.js.flow +3 -3
  161. package/store/RelayRecordState.js.flow +1 -1
  162. package/store/RelayReferenceMarker.js.flow +13 -16
  163. package/store/RelayResponseNormalizer.js.flow +44 -42
  164. package/store/RelayStoreReactFlightUtils.js.flow +4 -5
  165. package/store/RelayStoreSubscriptions.js.flow +10 -9
  166. package/store/RelayStoreTypes.js.flow +73 -30
  167. package/store/RelayStoreUtils.js.flow +9 -10
  168. package/store/ResolverCache.js.flow +17 -15
  169. package/store/ResolverFragments.js.flow +18 -25
  170. package/store/StoreInspector.js.flow +3 -3
  171. package/store/TypeID.js.flow +2 -2
  172. package/store/ViewerPattern.js.flow +3 -3
  173. package/store/cloneRelayHandleSourceField.js.flow +6 -7
  174. package/store/cloneRelayScalarHandleSourceField.js.flow +6 -7
  175. package/store/createFragmentSpecResolver.js.flow +4 -5
  176. package/store/createRelayContext.js.flow +3 -3
  177. package/store/defaultGetDataID.js.flow +1 -1
  178. package/store/defaultRequiredFieldLogger.js.flow +1 -1
  179. package/store/hasOverlappingIDs.js.flow +1 -1
  180. package/store/isRelayModernEnvironment.js.flow +1 -1
  181. package/store/normalizeRelayPayload.js.flow +7 -8
  182. package/store/readInlineData.js.flow +8 -9
  183. package/subscription/requestSubscription.js.flow +16 -25
  184. package/util/JSResourceTypes.flow.js.flow +1 -1
  185. package/util/NormalizationNode.js.flow +1 -1
  186. package/util/ReaderNode.js.flow +10 -1
  187. package/util/RelayConcreteNode.js.flow +4 -1
  188. package/util/RelayDefaultHandleKey.js.flow +1 -1
  189. package/util/RelayError.js.flow +1 -1
  190. package/util/RelayFeatureFlags.js.flow +15 -5
  191. package/util/RelayProfiler.js.flow +1 -1
  192. package/util/RelayReplaySubject.js.flow +3 -4
  193. package/util/RelayRuntimeTypes.js.flow +70 -3
  194. package/util/StringInterner.js.flow +69 -0
  195. package/util/createPayloadFor3DField.js.flow +4 -4
  196. package/util/deepFreeze.js.flow +1 -1
  197. package/util/generateID.js.flow +1 -1
  198. package/util/getAllRootVariables.js.flow +36 -0
  199. package/util/getFragmentIdentifier.js.flow +28 -16
  200. package/util/getOperation.js.flow +3 -3
  201. package/util/getPaginationMetadata.js.flow +6 -11
  202. package/util/getPaginationVariables.js.flow +6 -10
  203. package/util/getPendingOperationsForFragment.js.flow +3 -3
  204. package/util/getRefetchMetadata.js.flow +8 -12
  205. package/util/getRelayHandleKey.js.flow +2 -3
  206. package/util/getRequestIdentifier.js.flow +4 -4
  207. package/util/getValueAtPath.js.flow +1 -1
  208. package/util/isEmptyObject.js.flow +1 -1
  209. package/util/isPromise.js.flow +1 -1
  210. package/util/isScalarAndEqual.js.flow +1 -1
  211. package/util/recycleNodesInto.js.flow +1 -1
  212. package/util/registerEnvironmentWithDevTools.js.flow +1 -1
  213. package/util/reportMissingRequiredFields.js.flow +1 -1
  214. package/util/resolveImmediate.js.flow +2 -2
  215. package/util/stableCopy.js.flow +1 -1
  216. package/util/withDuration.js.flow +1 -1
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -14,73 +14,74 @@ var ConnectionHandler = require('./handlers/connection/ConnectionHandler');
14
14
 
15
15
  var ConnectionInterface = require('./handlers/connection/ConnectionInterface');
16
16
 
17
- var GraphQLTag = require('./query/GraphQLTag');
18
-
19
17
  var MutationHandlers = require('./handlers/connection/MutationHandlers');
20
18
 
21
- var PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
19
+ var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
22
20
 
23
- var RelayConcreteNode = require('./util/RelayConcreteNode');
21
+ var applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
24
22
 
25
- var RelayConcreteVariables = require('./store/RelayConcreteVariables');
23
+ var commitLocalUpdate = require('./mutations/commitLocalUpdate');
26
24
 
27
- var RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
25
+ var commitMutation = require('./mutations/commitMutation');
28
26
 
29
- var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
27
+ var RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
30
28
 
31
- var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
29
+ var RelayNetwork = require('./network/RelayNetwork');
32
30
 
33
- var RelayError = require('./util/RelayError');
31
+ var RelayObservable = require('./network/RelayObservable');
34
32
 
35
- var RelayFeatureFlags = require('./util/RelayFeatureFlags');
33
+ var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
36
34
 
37
- var RelayModernEnvironment = require('./store/RelayModernEnvironment');
35
+ var fetchQuery = require('./query/fetchQuery');
38
36
 
39
- var RelayModernOperationDescriptor = require('./store/RelayModernOperationDescriptor');
37
+ var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
40
38
 
41
- var RelayModernRecord = require('./store/RelayModernRecord');
39
+ var fetchQueryInternal = require('./query/fetchQueryInternal');
42
40
 
43
- var RelayModernSelector = require('./store/RelayModernSelector');
41
+ var GraphQLTag = require('./query/GraphQLTag');
44
42
 
45
- var RelayModernStore = require('./store/RelayModernStore');
43
+ var PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
46
44
 
47
- var RelayNetwork = require('./network/RelayNetwork');
45
+ var _require = require('./store/ClientID'),
46
+ generateClientID = _require.generateClientID,
47
+ generateUniqueClientID = _require.generateUniqueClientID,
48
+ isClientID = _require.isClientID;
48
49
 
49
- var RelayObservable = require('./network/RelayObservable');
50
+ var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
50
51
 
51
- var RelayOperationTracker = require('./store/RelayOperationTracker');
52
+ var createRelayContext = require('./store/createRelayContext');
52
53
 
53
- var RelayProfiler = require('./util/RelayProfiler');
54
+ var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
54
55
 
55
- var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
56
+ var readInlineData = require('./store/readInlineData');
56
57
 
57
- var RelayRecordSource = require('./store/RelayRecordSource');
58
+ var RelayConcreteVariables = require('./store/RelayConcreteVariables');
58
59
 
59
- var RelayReplaySubject = require('./util/RelayReplaySubject');
60
+ var RelayModernEnvironment = require('./store/RelayModernEnvironment');
60
61
 
61
- var RelayStoreUtils = require('./store/RelayStoreUtils');
62
+ var RelayModernOperationDescriptor = require('./store/RelayModernOperationDescriptor');
62
63
 
63
- var ViewerPattern = require('./store/ViewerPattern');
64
+ var RelayModernRecord = require('./store/RelayModernRecord');
64
65
 
65
- var applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
66
+ var RelayModernSelector = require('./store/RelayModernSelector');
66
67
 
67
- var commitLocalUpdate = require('./mutations/commitLocalUpdate');
68
+ var RelayModernStore = require('./store/RelayModernStore');
68
69
 
69
- var commitMutation = require('./mutations/commitMutation');
70
+ var RelayOperationTracker = require('./store/RelayOperationTracker');
70
71
 
71
- var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
72
+ var RelayRecordSource = require('./store/RelayRecordSource');
72
73
 
73
- var createPayloadFor3DField = require('./util/createPayloadFor3DField');
74
+ var RelayStoreUtils = require('./store/RelayStoreUtils');
74
75
 
75
- var createRelayContext = require('./store/createRelayContext');
76
+ var ResolverFragments = require('./store/ResolverFragments');
76
77
 
77
- var deepFreeze = require('./util/deepFreeze');
78
+ var ViewerPattern = require('./store/ViewerPattern');
78
79
 
79
- var fetchQuery = require('./query/fetchQuery');
80
+ var requestSubscription = require('./subscription/requestSubscription');
80
81
 
81
- var fetchQueryInternal = require('./query/fetchQueryInternal');
82
+ var createPayloadFor3DField = require('./util/createPayloadFor3DField');
82
83
 
83
- var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
84
+ var deepFreeze = require('./util/deepFreeze');
84
85
 
85
86
  var getFragmentIdentifier = require('./util/getFragmentIdentifier');
86
87
 
@@ -100,24 +101,25 @@ var getValueAtPath = require('./util/getValueAtPath');
100
101
 
101
102
  var isPromise = require('./util/isPromise');
102
103
 
103
- var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
104
-
105
104
  var isScalarAndEqual = require('./util/isScalarAndEqual');
106
105
 
107
- var readInlineData = require('./store/readInlineData');
108
-
109
106
  var recycleNodesInto = require('./util/recycleNodesInto');
110
107
 
111
- var reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
108
+ var RelayConcreteNode = require('./util/RelayConcreteNode');
112
109
 
113
- var requestSubscription = require('./subscription/requestSubscription');
110
+ var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
114
111
 
115
- var stableCopy = require('./util/stableCopy');
112
+ var RelayError = require('./util/RelayError');
116
113
 
117
- var _require = require('./store/ClientID'),
118
- generateClientID = _require.generateClientID,
119
- generateUniqueClientID = _require.generateUniqueClientID,
120
- isClientID = _require.isClientID;
114
+ var RelayFeatureFlags = require('./util/RelayFeatureFlags');
115
+
116
+ var RelayProfiler = require('./util/RelayProfiler');
117
+
118
+ var RelayReplaySubject = require('./util/RelayReplaySubject');
119
+
120
+ var reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
121
+
122
+ var stableCopy = require('./util/stableCopy');
121
123
 
122
124
  // As early as possible, check for the existence of the JavaScript globals which
123
125
  // Relay Runtime relies upon, and produce a clear message if they do not exist.
@@ -230,6 +232,7 @@ module.exports = {
230
232
  getPendingOperationsForFragment: getPendingOperationsForFragment,
231
233
  getValueAtPath: getValueAtPath,
232
234
  __internal: {
235
+ ResolverFragments: ResolverFragments,
233
236
  OperationTracker: RelayOperationTracker,
234
237
  createRelayContext: createRelayContext,
235
238
  getOperationVariables: RelayConcreteVariables.getOperationVariables,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,16 +10,16 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
+ var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
14
+
15
+ var defaultGetDataID = require('../store/defaultGetDataID');
16
+
13
17
  var RelayOperationTracker = require('../store/RelayOperationTracker');
14
18
 
15
19
  var RelayPublishQueue = require('../store/RelayPublishQueue');
16
20
 
17
- var defaultGetDataID = require('../store/defaultGetDataID');
18
-
19
21
  var registerEnvironmentWithDevTools = require('../util/registerEnvironmentWithDevTools');
20
22
 
21
- var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
22
-
23
23
  var ActorSpecificEnvironment = /*#__PURE__*/function () {
24
24
  function ActorSpecificEnvironment(config) {
25
25
  var _this = this;
@@ -126,6 +126,10 @@ var ActorSpecificEnvironment = /*#__PURE__*/function () {
126
126
  return this.multiActorEnvironment.execute(this, config);
127
127
  };
128
128
 
129
+ _proto.executeSubscription = function executeSubscription(config) {
130
+ return this.multiActorEnvironment.executeSubscription(this, config);
131
+ };
132
+
129
133
  _proto.executeMutation = function executeMutation(options) {
130
134
  return this.multiActorEnvironment.executeMutation(this, options);
131
135
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -16,22 +16,22 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
16
16
 
17
17
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
18
18
 
19
- var ActorSpecificEnvironment = require('./ActorSpecificEnvironment');
20
-
21
- var OperationExecutor = require('../store/OperationExecutor');
22
-
23
19
  var RelayDefaultHandlerProvider = require('../handlers/RelayDefaultHandlerProvider');
24
20
 
25
- var RelayModernStore = require('../store/RelayModernStore');
26
-
27
21
  var RelayObservable = require('../network/RelayObservable');
28
22
 
29
- var RelayRecordSource = require('../store/RelayRecordSource');
30
-
31
23
  var defaultGetDataID = require('../store/defaultGetDataID');
32
24
 
33
25
  var defaultRequiredFieldLogger = require('../store/defaultRequiredFieldLogger');
34
26
 
27
+ var OperationExecutor = require('../store/OperationExecutor');
28
+
29
+ var RelayModernStore = require('../store/RelayModernStore');
30
+
31
+ var RelayRecordSource = require('../store/RelayRecordSource');
32
+
33
+ var ActorSpecificEnvironment = require('./ActorSpecificEnvironment');
34
+
35
35
  var MultiActorEnvironment = /*#__PURE__*/function () {
36
36
  function MultiActorEnvironment(config) {
37
37
  var _config$getDataID, _config$logFn, _config$requiredField, _config$treatMissingF, _config$isServer, _config$defaultRender;
@@ -258,8 +258,7 @@ var MultiActorEnvironment = /*#__PURE__*/function () {
258
258
  };
259
259
 
260
260
  _proto.execute = function execute(actorEnvironment, _ref) {
261
- var operation = _ref.operation,
262
- updater = _ref.updater;
261
+ var operation = _ref.operation;
263
262
  return this._execute(actorEnvironment, {
264
263
  createSource: function createSource() {
265
264
  return actorEnvironment.getNetwork().execute(operation.request.node.params, operation.request.variables, operation.request.cacheConfig || {}, null);
@@ -267,16 +266,30 @@ var MultiActorEnvironment = /*#__PURE__*/function () {
267
266
  isClientPayload: false,
268
267
  operation: operation,
269
268
  optimisticConfig: null,
270
- updater: updater
269
+ updater: null
271
270
  });
272
271
  };
273
272
 
274
- _proto.executeMutation = function executeMutation(actorEnvironment, _ref2) {
273
+ _proto.executeSubscription = function executeSubscription(actorEnvironment, _ref2) {
275
274
  var operation = _ref2.operation,
276
- optimisticResponse = _ref2.optimisticResponse,
277
- optimisticUpdater = _ref2.optimisticUpdater,
278
- updater = _ref2.updater,
279
- uploadables = _ref2.uploadables;
275
+ updater = _ref2.updater;
276
+ return this._execute(actorEnvironment, {
277
+ createSource: function createSource() {
278
+ return actorEnvironment.getNetwork().execute(operation.request.node.params, operation.request.variables, operation.request.cacheConfig || {}, null);
279
+ },
280
+ isClientPayload: false,
281
+ operation: operation,
282
+ optimisticConfig: null,
283
+ updater: updater
284
+ });
285
+ };
286
+
287
+ _proto.executeMutation = function executeMutation(actorEnvironment, _ref3) {
288
+ var operation = _ref3.operation,
289
+ optimisticResponse = _ref3.optimisticResponse,
290
+ optimisticUpdater = _ref3.optimisticUpdater,
291
+ updater = _ref3.updater,
292
+ uploadables = _ref3.uploadables;
280
293
  var optimisticConfig;
281
294
 
282
295
  if (optimisticResponse || optimisticUpdater) {
@@ -322,14 +335,14 @@ var MultiActorEnvironment = /*#__PURE__*/function () {
322
335
  return this._isServer;
323
336
  };
324
337
 
325
- _proto._execute = function _execute(actorEnvironment, _ref3) {
338
+ _proto._execute = function _execute(actorEnvironment, _ref4) {
326
339
  var _this4 = this;
327
340
 
328
- var createSource = _ref3.createSource,
329
- isClientPayload = _ref3.isClientPayload,
330
- operation = _ref3.operation,
331
- optimisticConfig = _ref3.optimisticConfig,
332
- updater = _ref3.updater;
341
+ var createSource = _ref4.createSource,
342
+ isClientPayload = _ref4.isClientPayload,
343
+ operation = _ref4.operation,
344
+ optimisticConfig = _ref4.optimisticConfig,
345
+ updater = _ref4.updater;
333
346
  return RelayObservable.create(function (sink) {
334
347
  var executor = OperationExecutor.execute({
335
348
  actorIdentifier: actorEnvironment.actorIdentifier,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,11 +10,11 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- var MultiActorEnvironment = require('./MultiActorEnvironment');
14
-
15
13
  var _require = require('./ActorIdentifier'),
16
14
  getActorIdentifier = _require.getActorIdentifier;
17
15
 
16
+ var MultiActorEnvironment = require('./MultiActorEnvironment');
17
+
18
18
  module.exports = {
19
19
  MultiActorEnvironment: MultiActorEnvironment,
20
20
  getActorIdentifier: getActorIdentifier
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -201,7 +201,10 @@ function rangeDelete(config, request) {
201
201
  return;
202
202
  }
203
203
 
204
- var deleteIDs = [];
204
+ var deleteIDs = []; // the type of data should come from a type parameter associated with ConcreteRequest,
205
+ // but ConcreteRequest does not contain a type parameter. Hence, we use a FlowFixMe.
206
+ // $FlowFixMe[incompatible-use] see above
207
+
205
208
  var deletedIDField = data[rootField];
206
209
 
207
210
  if (deletedIDField && Array.isArray(deletedIDFieldName)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,20 +10,21 @@
10
10
  // flowlint ambiguous-object-type:error
11
11
  'use strict';
12
12
 
13
- var invariant = require('invariant');
14
-
15
13
  var _require = require('../store/ClientID'),
16
14
  generateClientID = _require.generateClientID;
17
15
 
18
16
  var _require2 = require('../store/RelayStoreUtils'),
19
17
  getStableStorageKey = _require2.getStableStorageKey;
20
18
 
19
+ var invariant = require('invariant');
21
20
  /**
22
21
  * @internal
23
22
  *
24
23
  * A helper class for manipulating a given record from a record source via an
25
24
  * imperative/OO-style API.
26
25
  */
26
+
27
+
27
28
  var RelayRecordProxy = /*#__PURE__*/function () {
28
29
  function RelayRecordProxy(source, mutator, dataID) {
29
30
  this._dataID = dataID;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,11 +12,10 @@
12
12
 
13
13
  var RelayModernRecord = require('../store/RelayModernRecord');
14
14
 
15
- var invariant = require('invariant');
16
-
17
15
  var _require = require('../store/RelayRecordState'),
18
16
  EXISTENT = _require.EXISTENT;
19
17
 
18
+ var invariant = require('invariant');
20
19
  /**
21
20
  * @internal
22
21
  *
@@ -29,6 +28,8 @@ var _require = require('../store/RelayRecordState'),
29
28
  * - Modifications cause a fresh version of a record to be created in `sink`.
30
29
  * These sink records contain only modified fields.
31
30
  */
31
+
32
+
32
33
  var RelayRecordSourceMutator = /*#__PURE__*/function () {
33
34
  function RelayRecordSourceMutator(base, sink) {
34
35
  this.__sources = [sink, base];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,10 +12,6 @@
12
12
 
13
13
  var RelayModernRecord = require('../store/RelayModernRecord');
14
14
 
15
- var RelayRecordProxy = require('./RelayRecordProxy');
16
-
17
- var invariant = require('invariant');
18
-
19
15
  var _require = require('../store/RelayRecordState'),
20
16
  EXISTENT = _require.EXISTENT,
21
17
  NONEXISTENT = _require.NONEXISTENT;
@@ -24,11 +20,19 @@ var _require2 = require('../store/RelayStoreUtils'),
24
20
  ROOT_ID = _require2.ROOT_ID,
25
21
  ROOT_TYPE = _require2.ROOT_TYPE;
26
22
 
23
+ var _require3 = require('./readUpdatableQuery_EXPERIMENTAL'),
24
+ _readUpdatableQuery_EXPERIMENTAL = _require3.readUpdatableQuery_EXPERIMENTAL;
25
+
26
+ var RelayRecordProxy = require('./RelayRecordProxy');
27
+
28
+ var invariant = require('invariant');
27
29
  /**
28
30
  * @internal
29
31
  *
30
32
  * A helper for manipulating a `RecordSource` via an imperative/OO-style API.
31
33
  */
34
+
35
+
32
36
  var RelayRecordSourceProxy = /*#__PURE__*/function () {
33
37
  function RelayRecordSourceProxy(mutator, getDataID, handlerProvider) {
34
38
  this.__mutator = mutator;
@@ -131,6 +135,10 @@ var RelayRecordSourceProxy = /*#__PURE__*/function () {
131
135
  return this._idsMarkedForInvalidation;
132
136
  };
133
137
 
138
+ _proto.readUpdatableQuery_EXPERIMENTAL = function readUpdatableQuery_EXPERIMENTAL(query, variables) {
139
+ return _readUpdatableQuery_EXPERIMENTAL(query, variables, this);
140
+ };
141
+
134
142
  return RelayRecordSourceProxy;
135
143
  }();
136
144
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,12 +10,14 @@
10
10
  // flowlint ambiguous-object-type:error
11
11
  'use strict';
12
12
 
13
- var invariant = require('invariant');
14
-
15
13
  var _require = require('../store/RelayStoreUtils'),
16
- getStorageKey = _require.getStorageKey,
17
- ROOT_TYPE = _require.ROOT_TYPE;
14
+ ROOT_TYPE = _require.ROOT_TYPE,
15
+ getStorageKey = _require.getStorageKey;
18
16
 
17
+ var _require2 = require('./readUpdatableQuery_EXPERIMENTAL'),
18
+ _readUpdatableQuery_EXPERIMENTAL = _require2.readUpdatableQuery_EXPERIMENTAL;
19
+
20
+ var invariant = require('invariant');
19
21
  /**
20
22
  * @internal
21
23
  *
@@ -24,6 +26,8 @@ var _require = require('../store/RelayStoreUtils'),
24
26
  * complex arguments and it can be tedious to re-construct the correct sets of
25
27
  * arguments to pass to e.g. `getRoot().getLinkedRecord()`.
26
28
  */
29
+
30
+
27
31
  var RelayRecordSourceSelectorProxy = /*#__PURE__*/function () {
28
32
  function RelayRecordSourceSelectorProxy(mutator, recordSource, readSelector) {
29
33
  this.__mutator = mutator;
@@ -91,6 +95,10 @@ var RelayRecordSourceSelectorProxy = /*#__PURE__*/function () {
91
95
  this.__recordSource.invalidateStore();
92
96
  };
93
97
 
98
+ _proto.readUpdatableQuery_EXPERIMENTAL = function readUpdatableQuery_EXPERIMENTAL(query, variables) {
99
+ return _readUpdatableQuery_EXPERIMENTAL(query, variables, this);
100
+ };
101
+
94
102
  return RelayRecordSourceSelectorProxy;
95
103
  }();
96
104
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,18 +10,18 @@
10
10
  // flowlint ambiguous-object-type:error
11
11
  'use strict';
12
12
 
13
- var RelayDeclarativeMutationConfig = require('./RelayDeclarativeMutationConfig');
14
-
15
- var invariant = require('invariant');
16
-
17
- var isRelayModernEnvironment = require('../store/isRelayModernEnvironment');
18
-
19
13
  var _require = require('../query/GraphQLTag'),
20
14
  getRequest = _require.getRequest;
21
15
 
16
+ var isRelayModernEnvironment = require('../store/isRelayModernEnvironment');
17
+
22
18
  var _require2 = require('../store/RelayModernOperationDescriptor'),
23
19
  createOperationDescriptor = _require2.createOperationDescriptor;
24
20
 
21
+ var RelayDeclarativeMutationConfig = require('./RelayDeclarativeMutationConfig');
22
+
23
+ var invariant = require('invariant');
24
+
25
25
  /**
26
26
  * Higher-level helper function to execute a mutation against a specific
27
27
  * environment.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -14,25 +14,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
14
14
 
15
15
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
16
 
17
- var RelayDeclarativeMutationConfig = require('./RelayDeclarativeMutationConfig');
18
-
19
- var invariant = require('invariant');
20
-
21
- var isRelayModernEnvironment = require('../store/isRelayModernEnvironment');
22
-
23
- var validateMutation = require('./validateMutation');
24
-
25
- var warning = require("fbjs/lib/warning");
26
-
27
17
  var _require = require('../query/GraphQLTag'),
28
18
  getRequest = _require.getRequest;
29
19
 
30
20
  var _require2 = require('../store/ClientID'),
31
21
  generateUniqueClientID = _require2.generateUniqueClientID;
32
22
 
23
+ var isRelayModernEnvironment = require('../store/isRelayModernEnvironment');
24
+
33
25
  var _require3 = require('../store/RelayModernOperationDescriptor'),
34
26
  createOperationDescriptor = _require3.createOperationDescriptor;
35
27
 
28
+ var RelayDeclarativeMutationConfig = require('./RelayDeclarativeMutationConfig');
29
+
30
+ var validateMutation = require('./validateMutation');
31
+
32
+ var invariant = require('invariant');
33
+
34
+ var warning = require("fbjs/lib/warning");
35
+
36
36
  /**
37
37
  * Higher-level helper function to execute a mutation against a specific
38
38
  * environment.
@@ -58,10 +58,7 @@ function commitMutation(environment, config) {
58
58
  onUnsubscribe = config.onUnsubscribe,
59
59
  variables = config.variables,
60
60
  uploadables = config.uploadables;
61
- var operation = createOperationDescriptor(mutation,
62
- /* $FlowFixMe[class-object-subtyping] added when improving typing for this
63
- * parameters */
64
- variables, cacheConfig, generateUniqueClientID()); // TODO: remove this check after we fix flow.
61
+ var operation = createOperationDescriptor(mutation, variables, cacheConfig, generateUniqueClientID()); // TODO: remove this check after we fix flow.
65
62
 
66
63
  if (typeof optimisticResponse === 'function') {
67
64
  optimisticResponse = optimisticResponse();
@@ -90,6 +87,8 @@ function commitMutation(environment, config) {
90
87
  uploadables: uploadables
91
88
  }).subscribe({
92
89
  next: function next(payload) {
90
+ var _config$onNext;
91
+
93
92
  if (Array.isArray(payload)) {
94
93
  payload.forEach(function (item) {
95
94
  if (item.errors) {
@@ -101,6 +100,8 @@ function commitMutation(environment, config) {
101
100
  errors.push.apply(errors, (0, _toConsumableArray2["default"])(payload.errors));
102
101
  }
103
102
  }
103
+
104
+ (_config$onNext = config.onNext) === null || _config$onNext === void 0 ? void 0 : _config$onNext.call(config);
104
105
  },
105
106
  complete: function complete() {
106
107
  var onCompleted = config.onCompleted;