relay-runtime 11.0.1 → 13.0.0-rc.1
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/handlers/RelayDefaultHandlerProvider.js.flow +2 -2
- package/handlers/connection/ConnectionHandler.js.flow +8 -17
- package/handlers/connection/MutationHandlers.js.flow +7 -11
- package/index.js +1 -1
- package/index.js.flow +60 -36
- package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
- package/lib/handlers/connection/ConnectionHandler.js +13 -19
- package/lib/handlers/connection/MutationHandlers.js +4 -7
- package/lib/index.js +58 -43
- package/lib/multi-actor-environment/ActorIdentifier.js +33 -0
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +152 -0
- package/lib/multi-actor-environment/ActorUtils.js +27 -0
- package/lib/multi-actor-environment/MultiActorEnvironment.js +419 -0
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +11 -0
- package/lib/multi-actor-environment/index.js +21 -0
- package/lib/mutations/RelayDeclarativeMutationConfig.js +4 -1
- package/lib/mutations/RelayRecordProxy.js +3 -2
- package/lib/mutations/RelayRecordSourceMutator.js +3 -2
- package/lib/mutations/RelayRecordSourceProxy.js +12 -4
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +18 -5
- package/lib/mutations/applyOptimisticMutation.js +6 -6
- package/lib/mutations/commitMutation.js +14 -10
- package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +238 -0
- package/lib/mutations/validateMutation.js +10 -5
- package/lib/network/ConvertToExecuteFunction.js +2 -1
- package/lib/network/RelayNetwork.js +3 -2
- package/lib/network/RelayQueryResponseCache.js +21 -5
- package/lib/network/wrapNetworkWithLogObserver.js +79 -0
- package/lib/query/GraphQLTag.js +3 -2
- package/lib/query/fetchQuery.js +6 -5
- package/lib/query/fetchQueryInternal.js +1 -1
- package/lib/query/fetchQuery_DEPRECATED.js +2 -1
- package/lib/store/ClientID.js +7 -1
- package/lib/store/DataChecker.js +123 -54
- package/lib/store/{RelayModernQueryExecutor.js → OperationExecutor.js} +518 -200
- package/lib/store/RelayConcreteVariables.js +26 -8
- package/lib/store/RelayExperimentalGraphResponseHandler.js +153 -0
- package/lib/store/RelayExperimentalGraphResponseTransform.js +391 -0
- package/lib/store/RelayModernEnvironment.js +175 -240
- package/lib/store/RelayModernFragmentSpecResolver.js +52 -26
- package/lib/store/RelayModernOperationDescriptor.js +2 -1
- package/lib/store/RelayModernRecord.js +47 -12
- package/lib/store/RelayModernSelector.js +14 -8
- package/lib/store/RelayModernStore.js +56 -28
- package/lib/store/RelayOperationTracker.js +34 -24
- package/lib/store/RelayPublishQueue.js +41 -13
- package/lib/store/RelayReader.js +288 -48
- package/lib/store/RelayRecordSource.js +87 -3
- package/lib/store/RelayReferenceMarker.js +34 -22
- package/lib/store/RelayResponseNormalizer.js +211 -110
- package/lib/store/RelayStoreReactFlightUtils.js +4 -10
- package/lib/store/RelayStoreSubscriptions.js +14 -9
- package/lib/store/RelayStoreUtils.js +12 -7
- package/lib/store/ResolverCache.js +213 -0
- package/lib/store/ResolverFragments.js +61 -0
- package/lib/store/cloneRelayHandleSourceField.js +5 -4
- package/lib/store/cloneRelayScalarHandleSourceField.js +5 -4
- package/lib/store/createRelayContext.js +4 -2
- package/lib/store/readInlineData.js +6 -2
- package/lib/subscription/requestSubscription.js +34 -25
- package/lib/util/RelayConcreteNode.js +3 -0
- package/lib/util/RelayFeatureFlags.js +10 -4
- package/lib/util/RelayProfiler.js +17 -187
- package/lib/util/RelayReplaySubject.js +22 -7
- package/lib/util/RelayRuntimeTypes.js +0 -6
- package/lib/util/StringInterner.js +71 -0
- package/lib/util/getFragmentIdentifier.js +15 -7
- package/lib/util/getOperation.js +2 -1
- 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 +2 -2
- package/lib/util/getRequestIdentifier.js +2 -2
- package/lib/util/getValueAtPath.js +51 -0
- package/lib/util/isEmptyObject.js +1 -1
- package/lib/util/registerEnvironmentWithDevTools.js +26 -0
- package/lib/util/withDuration.js +31 -0
- package/multi-actor-environment/ActorIdentifier.js.flow +43 -0
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +225 -0
- package/multi-actor-environment/ActorUtils.js.flow +33 -0
- package/multi-actor-environment/MultiActorEnvironment.js.flow +506 -0
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +261 -0
- package/multi-actor-environment/index.js.flow +26 -0
- package/mutations/RelayDeclarativeMutationConfig.js.flow +32 -26
- package/mutations/RelayRecordProxy.js.flow +4 -5
- package/mutations/RelayRecordSourceMutator.js.flow +4 -6
- package/mutations/RelayRecordSourceProxy.js.flow +19 -10
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +22 -7
- package/mutations/applyOptimisticMutation.js.flow +13 -14
- package/mutations/commitLocalUpdate.js.flow +1 -1
- package/mutations/commitMutation.js.flow +35 -46
- package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +309 -0
- package/mutations/validateMutation.js.flow +26 -16
- package/network/ConvertToExecuteFunction.js.flow +2 -2
- package/network/RelayNetwork.js.flow +4 -5
- package/network/RelayNetworkTypes.js.flow +5 -4
- package/network/RelayObservable.js.flow +1 -1
- package/network/RelayQueryResponseCache.js.flow +34 -21
- package/network/wrapNetworkWithLogObserver.js.flow +100 -0
- package/package.json +3 -2
- package/query/GraphQLTag.js.flow +9 -9
- package/query/PreloadableQueryRegistry.js.flow +2 -1
- package/query/fetchQuery.js.flow +11 -13
- package/query/fetchQueryInternal.js.flow +6 -9
- package/query/fetchQuery_DEPRECATED.js.flow +6 -6
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/ClientID.js.flow +14 -3
- package/store/DataChecker.js.flow +141 -59
- package/store/{RelayModernQueryExecutor.js.flow → OperationExecutor.js.flow} +605 -303
- package/store/RelayConcreteVariables.js.flow +27 -8
- package/store/RelayExperimentalGraphResponseHandler.js.flow +124 -0
- package/store/RelayExperimentalGraphResponseTransform.js.flow +475 -0
- package/store/RelayModernEnvironment.js.flow +173 -240
- package/store/RelayModernFragmentSpecResolver.js.flow +55 -31
- package/store/RelayModernOperationDescriptor.js.flow +12 -7
- package/store/RelayModernRecord.js.flow +67 -11
- package/store/RelayModernSelector.js.flow +24 -14
- package/store/RelayModernStore.js.flow +66 -36
- package/store/RelayOperationTracker.js.flow +59 -43
- package/store/RelayOptimisticRecordSource.js.flow +2 -2
- package/store/RelayPublishQueue.js.flow +79 -34
- package/store/RelayReader.js.flow +351 -73
- package/store/RelayRecordSource.js.flow +72 -6
- package/store/RelayReferenceMarker.js.flow +40 -26
- package/store/RelayResponseNormalizer.js.flow +258 -99
- package/store/RelayStoreReactFlightUtils.js.flow +4 -11
- package/store/RelayStoreSubscriptions.js.flow +19 -11
- package/store/RelayStoreTypes.js.flow +209 -43
- package/store/RelayStoreUtils.js.flow +24 -11
- package/store/ResolverCache.js.flow +249 -0
- package/store/ResolverFragments.js.flow +121 -0
- package/store/StoreInspector.js.flow +2 -2
- package/store/TypeID.js.flow +1 -1
- package/store/ViewerPattern.js.flow +2 -2
- package/store/cloneRelayHandleSourceField.js.flow +5 -6
- package/store/cloneRelayScalarHandleSourceField.js.flow +5 -6
- package/store/createFragmentSpecResolver.js.flow +3 -4
- package/store/createRelayContext.js.flow +3 -3
- package/store/normalizeRelayPayload.js.flow +6 -7
- package/store/readInlineData.js.flow +7 -8
- package/subscription/requestSubscription.js.flow +53 -41
- package/util/NormalizationNode.js.flow +10 -3
- package/util/ReaderNode.js.flow +38 -2
- package/util/RelayConcreteNode.js.flow +5 -0
- package/util/RelayFeatureFlags.js.flow +24 -10
- package/util/RelayProfiler.js.flow +22 -194
- package/util/RelayReplaySubject.js.flow +9 -9
- package/util/RelayRuntimeTypes.js.flow +72 -3
- package/util/StringInterner.js.flow +69 -0
- package/util/createPayloadFor3DField.js.flow +3 -3
- package/util/getFragmentIdentifier.js.flow +27 -15
- package/util/getOperation.js.flow +2 -2
- package/util/getPaginationMetadata.js.flow +72 -0
- package/util/getPaginationVariables.js.flow +108 -0
- package/util/getPendingOperationsForFragment.js.flow +62 -0
- package/util/getRefetchMetadata.js.flow +79 -0
- package/util/getRelayHandleKey.js.flow +1 -2
- package/util/getRequestIdentifier.js.flow +3 -3
- package/util/getValueAtPath.js.flow +46 -0
- package/util/isEmptyObject.js.flow +1 -0
- package/util/registerEnvironmentWithDevTools.js.flow +33 -0
- package/util/resolveImmediate.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
|
@@ -14,26 +14,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
14
14
|
|
|
15
15
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
16
16
|
|
|
17
|
+
var getOperation = require('../util/getOperation');
|
|
18
|
+
|
|
17
19
|
var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
18
20
|
|
|
19
21
|
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
20
22
|
|
|
23
|
+
var cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
24
|
+
|
|
25
|
+
var _require = require('./RelayConcreteVariables'),
|
|
26
|
+
getLocalVariables = _require.getLocalVariables;
|
|
27
|
+
|
|
21
28
|
var RelayModernRecord = require('./RelayModernRecord');
|
|
22
29
|
|
|
23
30
|
var RelayStoreReactFlightUtils = require('./RelayStoreReactFlightUtils');
|
|
24
31
|
|
|
25
32
|
var RelayStoreUtils = require('./RelayStoreUtils');
|
|
26
33
|
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
var getOperation = require('../util/getOperation');
|
|
34
|
+
var _require2 = require('./TypeID'),
|
|
35
|
+
generateTypeID = _require2.generateTypeID;
|
|
30
36
|
|
|
31
|
-
var invariant = require(
|
|
37
|
+
var invariant = require('invariant');
|
|
32
38
|
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var CONDITION = RelayConcreteNode.CONDITION,
|
|
39
|
+
var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
|
|
40
|
+
CONDITION = RelayConcreteNode.CONDITION,
|
|
37
41
|
CLIENT_COMPONENT = RelayConcreteNode.CLIENT_COMPONENT,
|
|
38
42
|
CLIENT_EXTENSION = RelayConcreteNode.CLIENT_EXTENSION,
|
|
39
43
|
DEFER = RelayConcreteNode.DEFER,
|
|
@@ -96,8 +100,7 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
96
100
|
};
|
|
97
101
|
|
|
98
102
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
99
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReferenceMarker(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
100
|
-
|
|
103
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayReferenceMarker(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
101
104
|
return this._variables[name];
|
|
102
105
|
};
|
|
103
106
|
|
|
@@ -107,6 +110,12 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
107
110
|
selections.forEach(function (selection) {
|
|
108
111
|
/* eslint-disable no-fallthrough */
|
|
109
112
|
switch (selection.kind) {
|
|
113
|
+
case ACTOR_CHANGE:
|
|
114
|
+
// TODO: T89695151 Support multi-actor record sources in RelayReferenceMarker.js
|
|
115
|
+
_this._traverseLink(selection.linkedField, record);
|
|
116
|
+
|
|
117
|
+
break;
|
|
118
|
+
|
|
110
119
|
case LINKED_FIELD:
|
|
111
120
|
if (selection.plural) {
|
|
112
121
|
_this._traversePluralLink(selection, record);
|
|
@@ -117,7 +126,7 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
117
126
|
break;
|
|
118
127
|
|
|
119
128
|
case CONDITION:
|
|
120
|
-
var conditionValue = _this._getVariableValue(selection.condition);
|
|
129
|
+
var conditionValue = Boolean(_this._getVariableValue(selection.condition));
|
|
121
130
|
|
|
122
131
|
if (conditionValue === selection.passingValue) {
|
|
123
132
|
_this._traverseSelections(selection.selections, record);
|
|
@@ -132,24 +141,25 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
132
141
|
if (typeName != null && typeName === selection.type) {
|
|
133
142
|
_this._traverseSelections(selection.selections, record);
|
|
134
143
|
}
|
|
135
|
-
} else
|
|
144
|
+
} else {
|
|
136
145
|
var _typeName = RelayModernRecord.getType(record);
|
|
137
146
|
|
|
138
147
|
var typeID = generateTypeID(_typeName);
|
|
139
148
|
|
|
140
149
|
_this._references.add(typeID);
|
|
141
150
|
|
|
142
|
-
_this._traverseSelections(selection.selections, record);
|
|
143
|
-
} else {
|
|
144
151
|
_this._traverseSelections(selection.selections, record);
|
|
145
152
|
}
|
|
146
153
|
|
|
147
154
|
break;
|
|
148
|
-
// $FlowFixMe[incompatible-type]
|
|
149
155
|
|
|
150
156
|
case FRAGMENT_SPREAD:
|
|
157
|
+
var prevVariables = _this._variables;
|
|
158
|
+
_this._variables = getLocalVariables(_this._variables, selection.fragment.argumentDefinitions, selection.args);
|
|
159
|
+
|
|
151
160
|
_this._traverseSelections(selection.fragment.selections, record);
|
|
152
161
|
|
|
162
|
+
_this._variables = prevVariables;
|
|
153
163
|
break;
|
|
154
164
|
|
|
155
165
|
case LINKED_HANDLE:
|
|
@@ -184,13 +194,11 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
184
194
|
|
|
185
195
|
case TYPE_DISCRIMINATOR:
|
|
186
196
|
{
|
|
187
|
-
|
|
188
|
-
var _typeName2 = RelayModernRecord.getType(record);
|
|
197
|
+
var _typeName2 = RelayModernRecord.getType(record);
|
|
189
198
|
|
|
190
|
-
|
|
199
|
+
var _typeID = generateTypeID(_typeName2);
|
|
191
200
|
|
|
192
|
-
|
|
193
|
-
}
|
|
201
|
+
_this._references.add(_typeID);
|
|
194
202
|
|
|
195
203
|
break;
|
|
196
204
|
}
|
|
@@ -245,9 +253,13 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
|
|
|
245
253
|
var normalizationRootNode = operationLoader.get(operationReference);
|
|
246
254
|
|
|
247
255
|
if (normalizationRootNode != null) {
|
|
248
|
-
var
|
|
256
|
+
var operation = getOperation(normalizationRootNode);
|
|
257
|
+
var prevVariables = this._variables;
|
|
258
|
+
this._variables = getLocalVariables(this._variables, operation.argumentDefinitions, moduleImport.args);
|
|
259
|
+
|
|
260
|
+
this._traverseSelections(operation.selections, record);
|
|
249
261
|
|
|
250
|
-
this.
|
|
262
|
+
this._variables = prevVariables;
|
|
251
263
|
} // Otherwise, if the operation is not available, we assume that the data
|
|
252
264
|
// cannot have been processed yet and therefore isn't in the store to
|
|
253
265
|
// begin with.
|