relay-runtime 11.0.2 → 13.0.0-rc.2
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.
- package/README.md +67 -0
- package/handlers/RelayDefaultHandlerProvider.js.flow +3 -3
- package/handlers/connection/ConnectionHandler.js.flow +9 -18
- package/handlers/connection/ConnectionInterface.js.flow +1 -1
- package/handlers/connection/MutationHandlers.js.flow +8 -12
- package/index.js +1 -1
- package/index.js.flow +57 -35
- package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
- package/lib/handlers/connection/ConnectionHandler.js +13 -19
- package/lib/handlers/connection/ConnectionInterface.js +1 -1
- package/lib/handlers/connection/MutationHandlers.js +4 -7
- package/lib/index.js +59 -44
- package/lib/multi-actor-environment/ActorIdentifier.js +12 -2
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +64 -20
- package/lib/multi-actor-environment/ActorUtils.js +27 -0
- package/lib/multi-actor-environment/MultiActorEnvironment.js +324 -61
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
- package/lib/multi-actor-environment/index.js +6 -2
- package/lib/mutations/RelayDeclarativeMutationConfig.js +5 -2
- package/lib/mutations/RelayRecordProxy.js +4 -3
- package/lib/mutations/RelayRecordSourceMutator.js +4 -3
- package/lib/mutations/RelayRecordSourceProxy.js +13 -5
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +19 -6
- package/lib/mutations/applyOptimisticMutation.js +7 -7
- package/lib/mutations/commitLocalUpdate.js +1 -1
- package/lib/mutations/commitMutation.js +15 -11
- package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +242 -0
- package/lib/mutations/validateMutation.js +11 -6
- package/lib/network/ConvertToExecuteFunction.js +3 -2
- package/lib/network/RelayNetwork.js +4 -3
- package/lib/network/RelayNetworkTypes.js +1 -1
- package/lib/network/RelayObservable.js +1 -1
- package/lib/network/RelayQueryResponseCache.js +22 -6
- package/lib/network/wrapNetworkWithLogObserver.js +79 -0
- package/lib/query/GraphQLTag.js +3 -2
- package/lib/query/PreloadableQueryRegistry.js +1 -1
- package/lib/query/fetchQuery.js +7 -6
- package/lib/query/fetchQueryInternal.js +1 -1
- package/lib/query/fetchQuery_DEPRECATED.js +3 -2
- package/lib/store/ClientID.js +8 -2
- package/lib/store/DataChecker.js +124 -55
- package/lib/store/OperationExecutor.js +489 -215
- package/lib/store/RelayConcreteVariables.js +27 -9
- package/lib/store/RelayExperimentalGraphResponseHandler.js +153 -0
- package/lib/store/RelayExperimentalGraphResponseTransform.js +391 -0
- package/lib/store/RelayModernEnvironment.js +100 -120
- package/lib/store/RelayModernFragmentSpecResolver.js +53 -27
- package/lib/store/RelayModernOperationDescriptor.js +3 -2
- package/lib/store/RelayModernRecord.js +48 -13
- package/lib/store/RelayModernSelector.js +15 -9
- package/lib/store/RelayModernStore.js +56 -23
- package/lib/store/RelayOperationTracker.js +34 -24
- package/lib/store/RelayOptimisticRecordSource.js +1 -1
- package/lib/store/RelayPublishQueue.js +35 -11
- package/lib/store/RelayReader.js +257 -72
- package/lib/store/RelayRecordSource.js +88 -4
- package/lib/store/RelayRecordState.js +1 -1
- package/lib/store/RelayReferenceMarker.js +34 -22
- package/lib/store/RelayResponseNormalizer.js +172 -96
- package/lib/store/RelayStoreReactFlightUtils.js +5 -11
- package/lib/store/RelayStoreSubscriptions.js +15 -10
- package/lib/store/RelayStoreTypes.js +1 -1
- package/lib/store/RelayStoreUtils.js +13 -8
- package/lib/store/ResolverCache.js +213 -0
- package/lib/store/ResolverFragments.js +10 -6
- package/lib/store/StoreInspector.js +1 -1
- package/lib/store/TypeID.js +1 -1
- package/lib/store/ViewerPattern.js +1 -1
- package/lib/store/cloneRelayHandleSourceField.js +6 -5
- package/lib/store/cloneRelayScalarHandleSourceField.js +6 -5
- package/lib/store/createFragmentSpecResolver.js +1 -1
- package/lib/store/createRelayContext.js +5 -3
- package/lib/store/defaultGetDataID.js +1 -1
- package/lib/store/defaultRequiredFieldLogger.js +1 -1
- package/lib/store/hasOverlappingIDs.js +1 -1
- package/lib/store/isRelayModernEnvironment.js +1 -1
- package/lib/store/normalizeRelayPayload.js +1 -1
- package/lib/store/readInlineData.js +7 -3
- package/lib/subscription/requestSubscription.js +32 -34
- package/lib/util/JSResourceTypes.flow.js +1 -1
- package/lib/util/NormalizationNode.js +1 -1
- package/lib/util/ReaderNode.js +1 -1
- package/lib/util/RelayConcreteNode.js +3 -1
- package/lib/util/RelayDefaultHandleKey.js +1 -1
- package/lib/util/RelayError.js +1 -1
- package/lib/util/RelayFeatureFlags.js +10 -7
- package/lib/util/RelayProfiler.js +1 -1
- package/lib/util/RelayReplaySubject.js +22 -7
- package/lib/util/RelayRuntimeTypes.js +1 -7
- package/lib/util/StringInterner.js +71 -0
- package/lib/util/createPayloadFor3DField.js +1 -1
- package/lib/util/deepFreeze.js +1 -1
- package/lib/util/generateID.js +1 -1
- package/lib/util/getAllRootVariables.js +29 -0
- package/lib/util/getFragmentIdentifier.js +16 -8
- package/lib/util/getOperation.js +3 -2
- package/lib/util/getPaginationMetadata.js +41 -0
- package/lib/util/getPaginationVariables.js +66 -0
- package/lib/util/getPendingOperationsForFragment.js +55 -0
- package/lib/util/getRefetchMetadata.js +36 -0
- package/lib/util/getRelayHandleKey.js +3 -3
- package/lib/util/getRequestIdentifier.js +3 -3
- package/lib/util/getValueAtPath.js +51 -0
- package/lib/util/isEmptyObject.js +2 -2
- package/lib/util/isPromise.js +1 -1
- package/lib/util/isScalarAndEqual.js +1 -1
- package/lib/util/recycleNodesInto.js +1 -1
- package/lib/util/registerEnvironmentWithDevTools.js +26 -0
- package/lib/util/reportMissingRequiredFields.js +1 -1
- package/lib/util/resolveImmediate.js +1 -1
- package/lib/util/stableCopy.js +1 -1
- package/lib/util/withDuration.js +31 -0
- package/multi-actor-environment/ActorIdentifier.js.flow +18 -2
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +94 -58
- package/multi-actor-environment/ActorUtils.js.flow +33 -0
- package/multi-actor-environment/MultiActorEnvironment.js.flow +366 -93
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +88 -23
- package/multi-actor-environment/index.js.flow +3 -1
- package/mutations/RelayDeclarativeMutationConfig.js.flow +33 -27
- package/mutations/RelayRecordProxy.js.flow +5 -6
- package/mutations/RelayRecordSourceMutator.js.flow +5 -7
- package/mutations/RelayRecordSourceProxy.js.flow +20 -11
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +23 -8
- package/mutations/applyOptimisticMutation.js.flow +14 -15
- package/mutations/commitLocalUpdate.js.flow +2 -2
- package/mutations/commitMutation.js.flow +36 -47
- package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +318 -0
- package/mutations/validateMutation.js.flow +27 -17
- package/network/ConvertToExecuteFunction.js.flow +3 -3
- package/network/RelayNetwork.js.flow +5 -6
- package/network/RelayNetworkTypes.js.flow +1 -1
- package/network/RelayObservable.js.flow +2 -2
- package/network/RelayQueryResponseCache.js.flow +35 -22
- package/network/wrapNetworkWithLogObserver.js.flow +99 -0
- package/package.json +2 -2
- package/query/GraphQLTag.js.flow +11 -11
- package/query/PreloadableQueryRegistry.js.flow +5 -3
- package/query/fetchQuery.js.flow +19 -19
- package/query/fetchQueryInternal.js.flow +7 -10
- package/query/fetchQuery_DEPRECATED.js.flow +7 -7
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/ClientID.js.flow +15 -4
- package/store/DataChecker.js.flow +142 -60
- package/store/OperationExecutor.js.flow +575 -320
- package/store/RelayConcreteVariables.js.flow +28 -9
- package/store/RelayExperimentalGraphResponseHandler.js.flow +121 -0
- package/store/RelayExperimentalGraphResponseTransform.js.flow +470 -0
- package/store/RelayModernEnvironment.js.flow +91 -115
- package/store/RelayModernFragmentSpecResolver.js.flow +56 -32
- package/store/RelayModernOperationDescriptor.js.flow +13 -8
- package/store/RelayModernRecord.js.flow +68 -12
- package/store/RelayModernSelector.js.flow +25 -15
- package/store/RelayModernStore.js.flow +67 -32
- package/store/RelayOperationTracker.js.flow +60 -44
- package/store/RelayOptimisticRecordSource.js.flow +3 -3
- package/store/RelayPublishQueue.js.flow +74 -32
- package/store/RelayReader.js.flow +319 -100
- package/store/RelayRecordSource.js.flow +73 -7
- package/store/RelayRecordState.js.flow +1 -1
- package/store/RelayReferenceMarker.js.flow +41 -27
- package/store/RelayResponseNormalizer.js.flow +204 -86
- package/store/RelayStoreReactFlightUtils.js.flow +5 -12
- package/store/RelayStoreSubscriptions.js.flow +20 -12
- package/store/RelayStoreTypes.js.flow +200 -41
- package/store/RelayStoreUtils.js.flow +25 -12
- package/store/ResolverCache.js.flow +249 -0
- package/store/ResolverFragments.js.flow +16 -20
- package/store/StoreInspector.js.flow +3 -3
- package/store/TypeID.js.flow +2 -2
- package/store/ViewerPattern.js.flow +3 -3
- package/store/cloneRelayHandleSourceField.js.flow +6 -7
- package/store/cloneRelayScalarHandleSourceField.js.flow +6 -7
- package/store/createFragmentSpecResolver.js.flow +4 -5
- package/store/createRelayContext.js.flow +4 -4
- package/store/defaultGetDataID.js.flow +1 -1
- package/store/defaultRequiredFieldLogger.js.flow +1 -1
- package/store/hasOverlappingIDs.js.flow +1 -1
- package/store/isRelayModernEnvironment.js.flow +1 -1
- package/store/normalizeRelayPayload.js.flow +7 -8
- package/store/readInlineData.js.flow +8 -9
- package/subscription/requestSubscription.js.flow +55 -51
- package/util/JSResourceTypes.flow.js.flow +1 -1
- package/util/NormalizationNode.js.flow +11 -4
- package/util/ReaderNode.js.flow +25 -2
- package/util/RelayConcreteNode.js.flow +5 -1
- package/util/RelayDefaultHandleKey.js.flow +1 -1
- package/util/RelayError.js.flow +1 -1
- package/util/RelayFeatureFlags.js.flow +23 -15
- package/util/RelayProfiler.js.flow +1 -1
- package/util/RelayReplaySubject.js.flow +10 -10
- package/util/RelayRuntimeTypes.js.flow +70 -3
- package/util/StringInterner.js.flow +69 -0
- package/util/createPayloadFor3DField.js.flow +4 -4
- package/util/deepFreeze.js.flow +1 -1
- package/util/generateID.js.flow +1 -1
- package/util/getAllRootVariables.js.flow +36 -0
- package/util/getFragmentIdentifier.js.flow +28 -16
- package/util/getOperation.js.flow +3 -3
- package/util/getPaginationMetadata.js.flow +69 -0
- package/util/getPaginationVariables.js.flow +108 -0
- package/util/getPendingOperationsForFragment.js.flow +62 -0
- package/util/getRefetchMetadata.js.flow +76 -0
- package/util/getRelayHandleKey.js.flow +2 -3
- package/util/getRequestIdentifier.js.flow +4 -4
- package/util/getValueAtPath.js.flow +46 -0
- package/util/isEmptyObject.js.flow +2 -1
- package/util/isPromise.js.flow +1 -1
- package/util/isScalarAndEqual.js.flow +1 -1
- package/util/recycleNodesInto.js.flow +1 -1
- package/util/registerEnvironmentWithDevTools.js.flow +33 -0
- package/util/reportMissingRequiredFields.js.flow +1 -1
- package/util/resolveImmediate.js.flow +2 -2
- package/util/stableCopy.js.flow +1 -1
- package/util/withDuration.js.flow +32 -0
- package/lib/store/RelayRecordSourceMapImpl.js +0 -107
- package/lib/store/RelayStoreSubscriptionsUsingMapByID.js +0 -318
- package/store/RelayRecordSourceMapImpl.js.flow +0 -91
- package/store/RelayStoreSubscriptionsUsingMapByID.js.flow +0 -283
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
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,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
|
|
19
|
+
var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
|
|
22
20
|
|
|
23
|
-
var
|
|
21
|
+
var applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
|
|
24
22
|
|
|
25
|
-
var
|
|
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
|
|
29
|
+
var RelayNetwork = require('./network/RelayNetwork');
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var RelayObservable = require('./network/RelayObservable');
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
|
|
34
34
|
|
|
35
|
-
var
|
|
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
|
|
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
|
|
84
|
+
var getFragmentIdentifier = require('./util/getFragmentIdentifier');
|
|
80
85
|
|
|
81
|
-
var
|
|
86
|
+
var getPaginationMetadata = require('./util/getPaginationMetadata');
|
|
82
87
|
|
|
83
|
-
var
|
|
88
|
+
var getPaginationVariables = require('./util/getPaginationVariables');
|
|
84
89
|
|
|
85
|
-
var
|
|
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
|
|
98
|
+
var getValueAtPath = require('./util/getValueAtPath');
|
|
92
99
|
|
|
93
|
-
var
|
|
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
|
|
106
|
+
var RelayConcreteNode = require('./util/RelayConcreteNode');
|
|
102
107
|
|
|
103
|
-
var
|
|
108
|
+
var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
|
|
104
109
|
|
|
105
|
-
var
|
|
110
|
+
var RelayError = require('./util/RelayError');
|
|
106
111
|
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
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.
|
|
@@ -13,11 +13,21 @@
|
|
|
13
13
|
* A unique identifier of the current actor.
|
|
14
14
|
*/
|
|
15
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
|
+
|
|
16
24
|
module.exports = {
|
|
25
|
+
assertInternalActorIndentifier: assertInternalActorIndentifier,
|
|
17
26
|
getActorIdentifier: function getActorIdentifier(actorID) {
|
|
18
27
|
return actorID;
|
|
19
28
|
},
|
|
20
29
|
getDefaultActorIdentifier: function getDefaultActorIdentifier() {
|
|
21
30
|
throw new Error('Not Implemented');
|
|
22
|
-
}
|
|
31
|
+
},
|
|
32
|
+
INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE: INTERNAL_ACTOR_IDENTIFIER_DO_NOT_USE
|
|
23
33
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
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,52 +10,92 @@
|
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
var RelayPublishQueue = require('../store/RelayPublishQueue');
|
|
20
|
+
|
|
21
|
+
var registerEnvironmentWithDevTools = require('../util/registerEnvironmentWithDevTools');
|
|
18
22
|
|
|
19
23
|
var ActorSpecificEnvironment = /*#__PURE__*/function () {
|
|
20
|
-
// Actor specific properties
|
|
21
24
|
function ActorSpecificEnvironment(config) {
|
|
25
|
+
var _this = this;
|
|
26
|
+
|
|
27
|
+
this.configName = config.configName;
|
|
22
28
|
this.actorIdentifier = config.actorIdentifier;
|
|
23
29
|
this.multiActorEnvironment = config.multiActorEnvironment;
|
|
24
30
|
this.__log = config.logFn;
|
|
25
31
|
this.requiredFieldLogger = config.requiredFieldLogger;
|
|
26
32
|
this._operationTracker = new RelayOperationTracker();
|
|
27
33
|
this._store = config.store;
|
|
28
|
-
this._network = config.network;
|
|
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);
|
|
29
57
|
}
|
|
30
58
|
|
|
31
59
|
var _proto = ActorSpecificEnvironment.prototype;
|
|
32
60
|
|
|
61
|
+
_proto.getPublishQueue = function getPublishQueue() {
|
|
62
|
+
return this._publishQueue;
|
|
63
|
+
};
|
|
64
|
+
|
|
33
65
|
_proto.UNSTABLE_getDefaultRenderPolicy = function UNSTABLE_getDefaultRenderPolicy() {
|
|
34
|
-
return
|
|
66
|
+
return this._defaultRenderPolicy;
|
|
35
67
|
};
|
|
36
68
|
|
|
37
69
|
_proto.applyMutation = function applyMutation(optimisticConfig) {
|
|
38
|
-
return this.multiActorEnvironment.applyMutation(this
|
|
70
|
+
return this.multiActorEnvironment.applyMutation(this, optimisticConfig);
|
|
39
71
|
};
|
|
40
72
|
|
|
41
73
|
_proto.applyUpdate = function applyUpdate(optimisticUpdate) {
|
|
42
|
-
return this.multiActorEnvironment.applyUpdate(this
|
|
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);
|
|
43
83
|
};
|
|
44
84
|
|
|
45
85
|
_proto.check = function check(operation) {
|
|
46
|
-
return this.multiActorEnvironment.check(this
|
|
86
|
+
return this.multiActorEnvironment.check(this, operation);
|
|
47
87
|
};
|
|
48
88
|
|
|
49
89
|
_proto.subscribe = function subscribe(snapshot, callback) {
|
|
50
|
-
return this.multiActorEnvironment.subscribe(this
|
|
90
|
+
return this.multiActorEnvironment.subscribe(this, snapshot, callback);
|
|
51
91
|
};
|
|
52
92
|
|
|
53
93
|
_proto.retain = function retain(operation) {
|
|
54
|
-
return this.multiActorEnvironment.retain(this
|
|
94
|
+
return this.multiActorEnvironment.retain(this, operation);
|
|
55
95
|
};
|
|
56
96
|
|
|
57
97
|
_proto.commitUpdate = function commitUpdate(updater) {
|
|
58
|
-
return this.multiActorEnvironment.commitUpdate(this
|
|
98
|
+
return this.multiActorEnvironment.commitUpdate(this, updater);
|
|
59
99
|
}
|
|
60
100
|
/**
|
|
61
101
|
* Commit a payload to the environment using the given operation selector.
|
|
@@ -63,7 +103,7 @@ var ActorSpecificEnvironment = /*#__PURE__*/function () {
|
|
|
63
103
|
;
|
|
64
104
|
|
|
65
105
|
_proto.commitPayload = function commitPayload(operationDescriptor, payload) {
|
|
66
|
-
return this.multiActorEnvironment.commitPayload(this
|
|
106
|
+
return this.multiActorEnvironment.commitPayload(this, operationDescriptor, payload);
|
|
67
107
|
};
|
|
68
108
|
|
|
69
109
|
_proto.getNetwork = function getNetwork() {
|
|
@@ -79,27 +119,31 @@ var ActorSpecificEnvironment = /*#__PURE__*/function () {
|
|
|
79
119
|
};
|
|
80
120
|
|
|
81
121
|
_proto.lookup = function lookup(selector) {
|
|
82
|
-
return this.multiActorEnvironment.lookup(this
|
|
122
|
+
return this.multiActorEnvironment.lookup(this, selector);
|
|
83
123
|
};
|
|
84
124
|
|
|
85
125
|
_proto.execute = function execute(config) {
|
|
86
|
-
return this.multiActorEnvironment.execute(this
|
|
126
|
+
return this.multiActorEnvironment.execute(this, config);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
_proto.executeSubscription = function executeSubscription(config) {
|
|
130
|
+
return this.multiActorEnvironment.executeSubscription(this, config);
|
|
87
131
|
};
|
|
88
132
|
|
|
89
133
|
_proto.executeMutation = function executeMutation(options) {
|
|
90
|
-
return this.multiActorEnvironment.executeMutation(this
|
|
134
|
+
return this.multiActorEnvironment.executeMutation(this, options);
|
|
91
135
|
};
|
|
92
136
|
|
|
93
137
|
_proto.executeWithSource = function executeWithSource(options) {
|
|
94
|
-
return this.multiActorEnvironment.executeWithSource(this
|
|
138
|
+
return this.multiActorEnvironment.executeWithSource(this, options);
|
|
95
139
|
};
|
|
96
140
|
|
|
97
141
|
_proto.isRequestActive = function isRequestActive(requestIdentifier) {
|
|
98
|
-
return this.multiActorEnvironment.isRequestActive(this
|
|
142
|
+
return this.multiActorEnvironment.isRequestActive(this, requestIdentifier);
|
|
99
143
|
};
|
|
100
144
|
|
|
101
145
|
_proto.isServer = function isServer() {
|
|
102
|
-
return
|
|
146
|
+
return this.multiActorEnvironment.isServer();
|
|
103
147
|
};
|
|
104
148
|
|
|
105
149
|
return ActorSpecificEnvironment;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and 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
|
+
};
|