relay-runtime 11.0.0 → 13.0.0-rc.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 (169) hide show
  1. package/handlers/RelayDefaultHandlerProvider.js.flow +2 -2
  2. package/handlers/connection/ConnectionHandler.js.flow +8 -10
  3. package/handlers/connection/MutationHandlers.js.flow +31 -7
  4. package/index.js +1 -1
  5. package/index.js.flow +60 -36
  6. package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
  7. package/lib/handlers/connection/ConnectionHandler.js +8 -8
  8. package/lib/handlers/connection/MutationHandlers.js +61 -5
  9. package/lib/index.js +58 -43
  10. package/lib/multi-actor-environment/ActorIdentifier.js +33 -0
  11. package/lib/multi-actor-environment/ActorSpecificEnvironment.js +152 -0
  12. package/lib/multi-actor-environment/ActorUtils.js +27 -0
  13. package/lib/multi-actor-environment/MultiActorEnvironment.js +419 -0
  14. package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +11 -0
  15. package/lib/multi-actor-environment/index.js +21 -0
  16. package/lib/mutations/RelayDeclarativeMutationConfig.js +4 -1
  17. package/lib/mutations/RelayRecordProxy.js +3 -2
  18. package/lib/mutations/RelayRecordSourceMutator.js +3 -2
  19. package/lib/mutations/RelayRecordSourceProxy.js +12 -4
  20. package/lib/mutations/RelayRecordSourceSelectorProxy.js +18 -5
  21. package/lib/mutations/applyOptimisticMutation.js +6 -6
  22. package/lib/mutations/commitMutation.js +14 -10
  23. package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +238 -0
  24. package/lib/mutations/validateMutation.js +12 -5
  25. package/lib/network/ConvertToExecuteFunction.js +2 -1
  26. package/lib/network/RelayNetwork.js +3 -2
  27. package/lib/network/RelayQueryResponseCache.js +21 -4
  28. package/lib/network/wrapNetworkWithLogObserver.js +79 -0
  29. package/lib/query/GraphQLTag.js +3 -2
  30. package/lib/query/fetchQuery.js +6 -5
  31. package/lib/query/fetchQueryInternal.js +1 -1
  32. package/lib/query/fetchQuery_DEPRECATED.js +2 -1
  33. package/lib/store/ClientID.js +7 -1
  34. package/lib/store/DataChecker.js +141 -60
  35. package/lib/store/{RelayModernQueryExecutor.js → OperationExecutor.js} +532 -195
  36. package/lib/store/RelayConcreteVariables.js +24 -4
  37. package/lib/store/RelayModernEnvironment.js +175 -234
  38. package/lib/store/RelayModernFragmentSpecResolver.js +52 -26
  39. package/lib/store/RelayModernOperationDescriptor.js +2 -1
  40. package/lib/store/RelayModernRecord.js +47 -12
  41. package/lib/store/RelayModernSelector.js +14 -8
  42. package/lib/store/RelayModernStore.js +58 -29
  43. package/lib/store/RelayOperationTracker.js +34 -24
  44. package/lib/store/RelayPublishQueue.js +41 -13
  45. package/lib/store/RelayReader.js +287 -46
  46. package/lib/store/RelayRecordSource.js +87 -3
  47. package/lib/store/RelayReferenceMarker.js +55 -31
  48. package/lib/store/RelayResponseNormalizer.js +250 -108
  49. package/lib/store/RelayStoreReactFlightUtils.js +8 -12
  50. package/lib/store/RelayStoreSubscriptions.js +14 -9
  51. package/lib/store/RelayStoreUtils.js +11 -5
  52. package/lib/store/ResolverCache.js +213 -0
  53. package/lib/store/ResolverFragments.js +61 -0
  54. package/lib/store/cloneRelayHandleSourceField.js +5 -4
  55. package/lib/store/cloneRelayScalarHandleSourceField.js +5 -4
  56. package/lib/store/createRelayContext.js +4 -2
  57. package/lib/store/defaultGetDataID.js +3 -1
  58. package/lib/store/readInlineData.js +6 -2
  59. package/lib/subscription/requestSubscription.js +35 -9
  60. package/lib/util/RelayConcreteNode.js +4 -0
  61. package/lib/util/RelayFeatureFlags.js +11 -4
  62. package/lib/util/RelayProfiler.js +17 -187
  63. package/lib/util/RelayReplaySubject.js +22 -7
  64. package/lib/util/RelayRuntimeTypes.js +0 -6
  65. package/lib/util/StringInterner.js +71 -0
  66. package/lib/util/deepFreeze.js +1 -0
  67. package/lib/util/getFragmentIdentifier.js +15 -7
  68. package/lib/util/getOperation.js +2 -1
  69. package/lib/util/getPaginationMetadata.js +41 -0
  70. package/lib/util/getPaginationVariables.js +66 -0
  71. package/lib/util/getPendingOperationsForFragment.js +55 -0
  72. package/lib/util/getRefetchMetadata.js +36 -0
  73. package/lib/util/getRelayHandleKey.js +2 -2
  74. package/lib/util/getRequestIdentifier.js +2 -2
  75. package/lib/util/getValueAtPath.js +51 -0
  76. package/lib/util/isEmptyObject.js +1 -1
  77. package/lib/util/registerEnvironmentWithDevTools.js +26 -0
  78. package/lib/util/withDuration.js +31 -0
  79. package/multi-actor-environment/ActorIdentifier.js.flow +43 -0
  80. package/multi-actor-environment/ActorSpecificEnvironment.js.flow +225 -0
  81. package/multi-actor-environment/ActorUtils.js.flow +33 -0
  82. package/multi-actor-environment/MultiActorEnvironment.js.flow +506 -0
  83. package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +261 -0
  84. package/multi-actor-environment/index.js.flow +26 -0
  85. package/mutations/RelayDeclarativeMutationConfig.js.flow +32 -26
  86. package/mutations/RelayRecordProxy.js.flow +4 -5
  87. package/mutations/RelayRecordSourceMutator.js.flow +4 -6
  88. package/mutations/RelayRecordSourceProxy.js.flow +19 -10
  89. package/mutations/RelayRecordSourceSelectorProxy.js.flow +22 -7
  90. package/mutations/applyOptimisticMutation.js.flow +13 -14
  91. package/mutations/commitLocalUpdate.js.flow +1 -1
  92. package/mutations/commitMutation.js.flow +35 -46
  93. package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +309 -0
  94. package/mutations/validateMutation.js.flow +28 -16
  95. package/network/ConvertToExecuteFunction.js.flow +2 -2
  96. package/network/RelayNetwork.js.flow +4 -5
  97. package/network/RelayNetworkTypes.js.flow +17 -8
  98. package/network/RelayObservable.js.flow +1 -1
  99. package/network/RelayQueryResponseCache.js.flow +34 -20
  100. package/network/wrapNetworkWithLogObserver.js.flow +100 -0
  101. package/package.json +3 -2
  102. package/query/GraphQLTag.js.flow +9 -9
  103. package/query/PreloadableQueryRegistry.js.flow +2 -1
  104. package/query/fetchQuery.js.flow +11 -13
  105. package/query/fetchQueryInternal.js.flow +6 -9
  106. package/query/fetchQuery_DEPRECATED.js.flow +6 -6
  107. package/relay-runtime.js +2 -2
  108. package/relay-runtime.min.js +2 -2
  109. package/store/ClientID.js.flow +14 -3
  110. package/store/DataChecker.js.flow +162 -67
  111. package/store/{RelayModernQueryExecutor.js.flow → OperationExecutor.js.flow} +616 -283
  112. package/store/RelayConcreteVariables.js.flow +27 -5
  113. package/store/RelayModernEnvironment.js.flow +176 -235
  114. package/store/RelayModernFragmentSpecResolver.js.flow +55 -31
  115. package/store/RelayModernOperationDescriptor.js.flow +12 -7
  116. package/store/RelayModernRecord.js.flow +67 -11
  117. package/store/RelayModernSelector.js.flow +24 -14
  118. package/store/RelayModernStore.js.flow +72 -36
  119. package/store/RelayOperationTracker.js.flow +59 -43
  120. package/store/RelayOptimisticRecordSource.js.flow +2 -2
  121. package/store/RelayPublishQueue.js.flow +79 -34
  122. package/store/RelayReader.js.flow +351 -72
  123. package/store/RelayRecordSource.js.flow +72 -6
  124. package/store/RelayReferenceMarker.js.flow +60 -33
  125. package/store/RelayResponseNormalizer.js.flow +288 -102
  126. package/store/RelayStoreReactFlightUtils.js.flow +9 -13
  127. package/store/RelayStoreSubscriptions.js.flow +19 -11
  128. package/store/RelayStoreTypes.js.flow +210 -44
  129. package/store/RelayStoreUtils.js.flow +25 -11
  130. package/store/ResolverCache.js.flow +249 -0
  131. package/store/ResolverFragments.js.flow +121 -0
  132. package/store/StoreInspector.js.flow +2 -2
  133. package/store/TypeID.js.flow +1 -1
  134. package/store/ViewerPattern.js.flow +2 -2
  135. package/store/cloneRelayHandleSourceField.js.flow +5 -6
  136. package/store/cloneRelayScalarHandleSourceField.js.flow +5 -6
  137. package/store/createFragmentSpecResolver.js.flow +3 -4
  138. package/store/createRelayContext.js.flow +3 -3
  139. package/store/defaultGetDataID.js.flow +3 -1
  140. package/store/normalizeRelayPayload.js.flow +6 -7
  141. package/store/readInlineData.js.flow +7 -8
  142. package/subscription/requestSubscription.js.flow +54 -27
  143. package/util/NormalizationNode.js.flow +16 -3
  144. package/util/ReaderNode.js.flow +38 -2
  145. package/util/RelayConcreteNode.js.flow +4 -0
  146. package/util/RelayFeatureFlags.js.flow +24 -8
  147. package/util/RelayProfiler.js.flow +22 -194
  148. package/util/RelayReplaySubject.js.flow +9 -9
  149. package/util/RelayRuntimeTypes.js.flow +73 -4
  150. package/util/StringInterner.js.flow +69 -0
  151. package/util/createPayloadFor3DField.js.flow +3 -3
  152. package/util/deepFreeze.js.flow +2 -1
  153. package/util/getFragmentIdentifier.js.flow +27 -15
  154. package/util/getOperation.js.flow +2 -2
  155. package/util/getPaginationMetadata.js.flow +72 -0
  156. package/util/getPaginationVariables.js.flow +108 -0
  157. package/util/getPendingOperationsForFragment.js.flow +62 -0
  158. package/util/getRefetchMetadata.js.flow +79 -0
  159. package/util/getRelayHandleKey.js.flow +1 -2
  160. package/util/getRequestIdentifier.js.flow +3 -3
  161. package/util/getValueAtPath.js.flow +46 -0
  162. package/util/isEmptyObject.js.flow +2 -1
  163. package/util/registerEnvironmentWithDevTools.js.flow +33 -0
  164. package/util/resolveImmediate.js.flow +1 -1
  165. package/util/withDuration.js.flow +32 -0
  166. package/lib/store/RelayRecordSourceMapImpl.js +0 -107
  167. package/lib/store/RelayStoreSubscriptionsUsingMapByID.js +0 -318
  168. package/store/RelayRecordSourceMapImpl.js.flow +0 -91
  169. package/store/RelayStoreSubscriptionsUsingMapByID.js.flow +0 -283
package/lib/index.js CHANGED
@@ -14,25 +14,48 @@ 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');
24
+
25
+ var commitMutation = require('./mutations/commitMutation');
26
26
 
27
27
  var RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
28
28
 
29
- var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
29
+ var RelayNetwork = require('./network/RelayNetwork');
30
30
 
31
- var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
31
+ var RelayObservable = require('./network/RelayObservable');
32
32
 
33
- var RelayError = require('./util/RelayError');
33
+ var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
34
34
 
35
- var RelayFeatureFlags = require('./util/RelayFeatureFlags');
35
+ var fetchQuery = require('./query/fetchQuery');
36
+
37
+ var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
38
+
39
+ var fetchQueryInternal = require('./query/fetchQueryInternal');
40
+
41
+ var GraphQLTag = require('./query/GraphQLTag');
42
+
43
+ var PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
44
+
45
+ var _require = require('./store/ClientID'),
46
+ generateClientID = _require.generateClientID,
47
+ generateUniqueClientID = _require.generateUniqueClientID,
48
+ isClientID = _require.isClientID;
49
+
50
+ var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
51
+
52
+ var createRelayContext = require('./store/createRelayContext');
53
+
54
+ var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
55
+
56
+ var readInlineData = require('./store/readInlineData');
57
+
58
+ var RelayConcreteVariables = require('./store/RelayConcreteVariables');
36
59
 
37
60
  var RelayModernEnvironment = require('./store/RelayModernEnvironment');
38
61
 
@@ -44,70 +67,57 @@ var RelayModernSelector = require('./store/RelayModernSelector');
44
67
 
45
68
  var RelayModernStore = require('./store/RelayModernStore');
46
69
 
47
- var RelayNetwork = require('./network/RelayNetwork');
48
-
49
- var RelayObservable = require('./network/RelayObservable');
50
-
51
70
  var RelayOperationTracker = require('./store/RelayOperationTracker');
52
71
 
53
- var RelayProfiler = require('./util/RelayProfiler');
54
-
55
- var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
56
-
57
72
  var RelayRecordSource = require('./store/RelayRecordSource');
58
73
 
59
- var RelayReplaySubject = require('./util/RelayReplaySubject');
60
-
61
74
  var RelayStoreUtils = require('./store/RelayStoreUtils');
62
75
 
63
76
  var ViewerPattern = require('./store/ViewerPattern');
64
77
 
65
- var applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
66
-
67
- var commitLocalUpdate = require('./mutations/commitLocalUpdate');
68
-
69
- var commitMutation = require('./mutations/commitMutation');
70
-
71
- var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
78
+ var requestSubscription = require('./subscription/requestSubscription');
72
79
 
73
80
  var createPayloadFor3DField = require('./util/createPayloadFor3DField');
74
81
 
75
- var createRelayContext = require('./store/createRelayContext');
76
-
77
82
  var deepFreeze = require('./util/deepFreeze');
78
83
 
79
- var fetchQuery = require('./query/fetchQuery');
84
+ var getFragmentIdentifier = require('./util/getFragmentIdentifier');
80
85
 
81
- var fetchQueryInternal = require('./query/fetchQueryInternal');
86
+ var getPaginationMetadata = require('./util/getPaginationMetadata');
82
87
 
83
- var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
88
+ var getPaginationVariables = require('./util/getPaginationVariables');
84
89
 
85
- var getFragmentIdentifier = require('./util/getFragmentIdentifier');
90
+ var getPendingOperationsForFragment = require('./util/getPendingOperationsForFragment');
91
+
92
+ var getRefetchMetadata = require('./util/getRefetchMetadata');
86
93
 
87
94
  var getRelayHandleKey = require('./util/getRelayHandleKey');
88
95
 
89
96
  var getRequestIdentifier = require('./util/getRequestIdentifier');
90
97
 
91
- var isPromise = require('./util/isPromise');
98
+ var getValueAtPath = require('./util/getValueAtPath');
92
99
 
93
- var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
100
+ var isPromise = require('./util/isPromise');
94
101
 
95
102
  var isScalarAndEqual = require('./util/isScalarAndEqual');
96
103
 
97
- var readInlineData = require('./store/readInlineData');
98
-
99
104
  var recycleNodesInto = require('./util/recycleNodesInto');
100
105
 
101
- var reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
106
+ var RelayConcreteNode = require('./util/RelayConcreteNode');
102
107
 
103
- var requestSubscription = require('./subscription/requestSubscription');
108
+ var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
104
109
 
105
- var stableCopy = require('./util/stableCopy');
110
+ var RelayError = require('./util/RelayError');
106
111
 
107
- var _require = require('./store/ClientID'),
108
- generateClientID = _require.generateClientID,
109
- generateUniqueClientID = _require.generateUniqueClientID,
110
- isClientID = _require.isClientID;
112
+ var RelayFeatureFlags = require('./util/RelayFeatureFlags');
113
+
114
+ var RelayProfiler = require('./util/RelayProfiler');
115
+
116
+ var RelayReplaySubject = require('./util/RelayReplaySubject');
117
+
118
+ var reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
119
+
120
+ var stableCopy = require('./util/stableCopy');
111
121
 
112
122
  // As early as possible, check for the existence of the JavaScript globals which
113
123
  // Relay Runtime relies upon, and produce a clear message if they do not exist.
@@ -214,6 +224,11 @@ module.exports = {
214
224
  recycleNodesInto: recycleNodesInto,
215
225
  stableCopy: stableCopy,
216
226
  getFragmentIdentifier: getFragmentIdentifier,
227
+ getRefetchMetadata: getRefetchMetadata,
228
+ getPaginationMetadata: getPaginationMetadata,
229
+ getPaginationVariables: getPaginationVariables,
230
+ getPendingOperationsForFragment: getPendingOperationsForFragment,
231
+ getValueAtPath: getValueAtPath,
217
232
  __internal: {
218
233
  OperationTracker: RelayOperationTracker,
219
234
  createRelayContext: createRelayContext,
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ *
9
+ * @format
10
+ */
11
+ 'use strict';
12
+ /**
13
+ * A unique identifier of the current actor.
14
+ */
15
+
16
+ var invariant = require('invariant');
17
+
18
+ var INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE = 'INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE';
19
+
20
+ function assertInternalActorIndentifier(actorIdentifier) {
21
+ !(actorIdentifier === INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected to use only internal version of the `actorIdentifier`. "%s" was provided.', actorIdentifier) : invariant(false) : void 0;
22
+ }
23
+
24
+ module.exports = {
25
+ assertInternalActorIndentifier: assertInternalActorIndentifier,
26
+ getActorIdentifier: function getActorIdentifier(actorID) {
27
+ return actorID;
28
+ },
29
+ getDefaultActorIdentifier: function getDefaultActorIdentifier() {
30
+ throw new Error('Not Implemented');
31
+ },
32
+ INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE: INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE
33
+ };
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ *
9
+ * @format
10
+ */
11
+ 'use strict';
12
+
13
+ var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
14
+
15
+ var defaultGetDataID = require('../store/defaultGetDataID');
16
+
17
+ var RelayOperationTracker = require('../store/RelayOperationTracker');
18
+
19
+ var RelayPublishQueue = require('../store/RelayPublishQueue');
20
+
21
+ var registerEnvironmentWithDevTools = require('../util/registerEnvironmentWithDevTools');
22
+
23
+ var ActorSpecificEnvironment = /*#__PURE__*/function () {
24
+ function ActorSpecificEnvironment(config) {
25
+ var _this = this;
26
+
27
+ this.configName = config.configName;
28
+ this.actorIdentifier = config.actorIdentifier;
29
+ this.multiActorEnvironment = config.multiActorEnvironment;
30
+ this.__log = config.logFn;
31
+ this.requiredFieldLogger = config.requiredFieldLogger;
32
+ this._operationTracker = new RelayOperationTracker();
33
+ this._store = config.store;
34
+ this._network = wrapNetworkWithLogObserver(this, config.network);
35
+ this._publishQueue = new RelayPublishQueue(config.store, config.handlerProvider, defaultGetDataID);
36
+ this._defaultRenderPolicy = config.defaultRenderPolicy; // TODO:T92305692 Remove `options` in favor of directly using `actorIdentifier` on the environment
37
+
38
+ this.options = {
39
+ actorID: this.actorIdentifier
40
+ }; // We need to add this here to pass `isRelayModernEnvironment` check
41
+ // $FlowFixMe[prop-missing]
42
+
43
+ this['@@RelayModernEnvironment'] = true;
44
+
45
+ if (process.env.NODE_ENV !== "production") {
46
+ var _require = require('../store/StoreInspector'),
47
+ inspect = _require.inspect;
48
+
49
+ this.DEBUG_inspect = function (dataID) {
50
+ return inspect(_this, dataID);
51
+ };
52
+ } // Register this Relay Environment with Relay DevTools if it exists.
53
+ // Note: this must always be the last step in the constructor.
54
+
55
+
56
+ registerEnvironmentWithDevTools(this);
57
+ }
58
+
59
+ var _proto = ActorSpecificEnvironment.prototype;
60
+
61
+ _proto.getPublishQueue = function getPublishQueue() {
62
+ return this._publishQueue;
63
+ };
64
+
65
+ _proto.UNSTABLE_getDefaultRenderPolicy = function UNSTABLE_getDefaultRenderPolicy() {
66
+ return this._defaultRenderPolicy;
67
+ };
68
+
69
+ _proto.applyMutation = function applyMutation(optimisticConfig) {
70
+ return this.multiActorEnvironment.applyMutation(this, optimisticConfig);
71
+ };
72
+
73
+ _proto.applyUpdate = function applyUpdate(optimisticUpdate) {
74
+ return this.multiActorEnvironment.applyUpdate(this, optimisticUpdate);
75
+ };
76
+
77
+ _proto.revertUpdate = function revertUpdate(optimisticUpdate) {
78
+ return this.multiActorEnvironment.revertUpdate(this, optimisticUpdate);
79
+ };
80
+
81
+ _proto.replaceUpdate = function replaceUpdate(optimisticUpdate, replacementUpdate) {
82
+ return this.multiActorEnvironment.replaceUpdate(this, optimisticUpdate, replacementUpdate);
83
+ };
84
+
85
+ _proto.check = function check(operation) {
86
+ return this.multiActorEnvironment.check(this, operation);
87
+ };
88
+
89
+ _proto.subscribe = function subscribe(snapshot, callback) {
90
+ return this.multiActorEnvironment.subscribe(this, snapshot, callback);
91
+ };
92
+
93
+ _proto.retain = function retain(operation) {
94
+ return this.multiActorEnvironment.retain(this, operation);
95
+ };
96
+
97
+ _proto.commitUpdate = function commitUpdate(updater) {
98
+ return this.multiActorEnvironment.commitUpdate(this, updater);
99
+ }
100
+ /**
101
+ * Commit a payload to the environment using the given operation selector.
102
+ */
103
+ ;
104
+
105
+ _proto.commitPayload = function commitPayload(operationDescriptor, payload) {
106
+ return this.multiActorEnvironment.commitPayload(this, operationDescriptor, payload);
107
+ };
108
+
109
+ _proto.getNetwork = function getNetwork() {
110
+ return this._network;
111
+ };
112
+
113
+ _proto.getStore = function getStore() {
114
+ return this._store;
115
+ };
116
+
117
+ _proto.getOperationTracker = function getOperationTracker() {
118
+ return this._operationTracker;
119
+ };
120
+
121
+ _proto.lookup = function lookup(selector) {
122
+ return this.multiActorEnvironment.lookup(this, selector);
123
+ };
124
+
125
+ _proto.execute = function execute(config) {
126
+ return this.multiActorEnvironment.execute(this, config);
127
+ };
128
+
129
+ _proto.executeSubscription = function executeSubscription(config) {
130
+ return this.multiActorEnvironment.executeSubscription(this, config);
131
+ };
132
+
133
+ _proto.executeMutation = function executeMutation(options) {
134
+ return this.multiActorEnvironment.executeMutation(this, options);
135
+ };
136
+
137
+ _proto.executeWithSource = function executeWithSource(options) {
138
+ return this.multiActorEnvironment.executeWithSource(this, options);
139
+ };
140
+
141
+ _proto.isRequestActive = function isRequestActive(requestIdentifier) {
142
+ return this.multiActorEnvironment.isRequestActive(this, requestIdentifier);
143
+ };
144
+
145
+ _proto.isServer = function isServer() {
146
+ return this.multiActorEnvironment.isServer();
147
+ };
148
+
149
+ return ActorSpecificEnvironment;
150
+ }();
151
+
152
+ module.exports = ActorSpecificEnvironment;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ *
9
+ * @format
10
+ */
11
+ 'use strict';
12
+
13
+ var ACTOR_IDENTIFIER_FIELD_NAME = 'actor_key';
14
+
15
+ var _require = require('./ActorIdentifier'),
16
+ getActorIdentifier = _require.getActorIdentifier;
17
+
18
+ function getActorIdentifierFromPayload(payload) {
19
+ if (payload != null && typeof payload === 'object' && typeof payload[ACTOR_IDENTIFIER_FIELD_NAME] === 'string') {
20
+ return getActorIdentifier(payload[ACTOR_IDENTIFIER_FIELD_NAME]);
21
+ }
22
+ }
23
+
24
+ module.exports = {
25
+ ACTOR_IDENTIFIER_FIELD_NAME: ACTOR_IDENTIFIER_FIELD_NAME,
26
+ getActorIdentifierFromPayload: getActorIdentifierFromPayload
27
+ };