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
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
+
import type {Handler} from '../store/RelayStoreTypes';
|
|
16
|
+
|
|
15
17
|
const ConnectionHandler = require('./connection/ConnectionHandler');
|
|
16
18
|
const MutationHandlers = require('./connection/MutationHandlers');
|
|
17
|
-
|
|
18
19
|
const invariant = require('invariant');
|
|
19
20
|
|
|
20
|
-
import type {Handler} from '../store/RelayStoreTypes';
|
|
21
21
|
export type HandlerProvider = (name: string) => ?Handler;
|
|
22
22
|
|
|
23
23
|
function RelayDefaultHandlerProvider(handle: string): Handler {
|
|
@@ -12,23 +12,21 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const ConnectionInterface = require('./ConnectionInterface');
|
|
16
|
-
|
|
17
|
-
const getRelayHandleKey = require('../../util/getRelayHandleKey');
|
|
18
|
-
const invariant = require('invariant');
|
|
19
|
-
const warning = require('warning');
|
|
20
|
-
|
|
21
|
-
const {generateClientID} = require('../../store/ClientID');
|
|
22
|
-
const {getStableStorageKey} = require('../../store/RelayStoreUtils');
|
|
23
|
-
|
|
24
15
|
import type {
|
|
25
16
|
HandleFieldPayload,
|
|
26
|
-
RecordProxy,
|
|
27
17
|
ReadOnlyRecordProxy,
|
|
18
|
+
RecordProxy,
|
|
28
19
|
RecordSourceProxy,
|
|
29
20
|
} from '../../store/RelayStoreTypes';
|
|
30
21
|
import type {DataID, Variables} from '../../util/RelayRuntimeTypes';
|
|
31
22
|
|
|
23
|
+
const {generateClientID} = require('../../store/ClientID');
|
|
24
|
+
const {getStableStorageKey} = require('../../store/RelayStoreUtils');
|
|
25
|
+
const getRelayHandleKey = require('../../util/getRelayHandleKey');
|
|
26
|
+
const ConnectionInterface = require('./ConnectionInterface');
|
|
27
|
+
const invariant = require('invariant');
|
|
28
|
+
const warning = require('warning');
|
|
29
|
+
|
|
32
30
|
export type ConnectionMetadata = {
|
|
33
31
|
path: ?Array<string>,
|
|
34
32
|
direction: ?('forward' | 'backward' | 'bidirectional'),
|
|
@@ -146,12 +144,10 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
146
144
|
let nextEdges = [];
|
|
147
145
|
const args = payload.args;
|
|
148
146
|
if (prevEdges && serverEdges) {
|
|
149
|
-
// $FlowFixMe[prop-missing]
|
|
150
147
|
if (args.after != null) {
|
|
151
148
|
// Forward pagination from the end of the connection: append edges
|
|
152
149
|
if (
|
|
153
150
|
clientPageInfo &&
|
|
154
|
-
// $FlowFixMe[prop-missing]
|
|
155
151
|
args.after === clientPageInfo.getValue(END_CURSOR)
|
|
156
152
|
) {
|
|
157
153
|
const nodeIDs = new Set();
|
|
@@ -167,12 +163,10 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
167
163
|
);
|
|
168
164
|
return;
|
|
169
165
|
}
|
|
170
|
-
// $FlowFixMe[prop-missing]
|
|
171
166
|
} else if (args.before != null) {
|
|
172
167
|
// Backward pagination from the start of the connection: prepend edges
|
|
173
168
|
if (
|
|
174
169
|
clientPageInfo &&
|
|
175
|
-
// $FlowFixMe[prop-missing]
|
|
176
170
|
args.before === clientPageInfo.getValue(START_CURSOR)
|
|
177
171
|
) {
|
|
178
172
|
const nodeIDs = new Set();
|
|
@@ -204,12 +198,10 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
204
198
|
}
|
|
205
199
|
// Page info should be updated even if no new edge were returned.
|
|
206
200
|
if (clientPageInfo && serverPageInfo) {
|
|
207
|
-
// $FlowFixMe[prop-missing]
|
|
208
201
|
if (args.after == null && args.before == null) {
|
|
209
202
|
// The connection was refetched from the beginning/end: replace
|
|
210
203
|
// page_info
|
|
211
204
|
clientPageInfo.copyFieldsFrom(serverPageInfo);
|
|
212
|
-
// $FlowFixMe[prop-missing]
|
|
213
205
|
} else if (args.before != null || (args.after == null && args.last)) {
|
|
214
206
|
clientPageInfo.setValue(
|
|
215
207
|
!!serverPageInfo.getValue(HAS_PREV_PAGE),
|
|
@@ -219,7 +211,6 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
219
211
|
if (typeof startCursor === 'string') {
|
|
220
212
|
clientPageInfo.setValue(startCursor, START_CURSOR);
|
|
221
213
|
}
|
|
222
|
-
// $FlowFixMe[prop-missing]
|
|
223
214
|
} else if (args.after != null || (args.before == null && args.first)) {
|
|
224
215
|
clientPageInfo.setValue(
|
|
225
216
|
!!serverPageInfo.getValue(HAS_NEXT_PAGE),
|
|
@@ -12,19 +12,18 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const ConnectionHandler = require('./ConnectionHandler');
|
|
16
|
-
const ConnectionInterface = require('./ConnectionInterface');
|
|
17
|
-
|
|
18
|
-
const invariant = require('invariant');
|
|
19
|
-
const warning = require('warning');
|
|
20
|
-
|
|
21
15
|
import type {
|
|
22
|
-
RecordProxy,
|
|
23
16
|
HandleFieldPayload,
|
|
24
|
-
RecordSourceProxy,
|
|
25
17
|
Handler,
|
|
18
|
+
RecordProxy,
|
|
19
|
+
RecordSourceProxy,
|
|
26
20
|
} from '../../store/RelayStoreTypes';
|
|
27
21
|
|
|
22
|
+
const ConnectionHandler = require('./ConnectionHandler');
|
|
23
|
+
const ConnectionInterface = require('./ConnectionInterface');
|
|
24
|
+
const invariant = require('invariant');
|
|
25
|
+
const warning = require('warning');
|
|
26
|
+
|
|
28
27
|
const DeleteRecordHandler = {
|
|
29
28
|
update: (store: RecordSourceProxy, payload: HandleFieldPayload) => {
|
|
30
29
|
const record = store.get(payload.dataID);
|
|
@@ -51,7 +50,6 @@ const DeleteEdgeHandler = {
|
|
|
51
50
|
if (record == null) {
|
|
52
51
|
return;
|
|
53
52
|
}
|
|
54
|
-
// $FlowFixMe[prop-missing]
|
|
55
53
|
const {connections} = payload.handleArgs;
|
|
56
54
|
invariant(
|
|
57
55
|
connections != null,
|
|
@@ -101,7 +99,6 @@ function edgeUpdater(
|
|
|
101
99
|
if (record == null) {
|
|
102
100
|
return;
|
|
103
101
|
}
|
|
104
|
-
// $FlowFixMe[prop-missing]
|
|
105
102
|
const {connections} = payload.handleArgs;
|
|
106
103
|
invariant(
|
|
107
104
|
connections != null,
|
|
@@ -174,7 +171,6 @@ function nodeUpdater(
|
|
|
174
171
|
if (record == null) {
|
|
175
172
|
return;
|
|
176
173
|
}
|
|
177
|
-
// $FlowFixMe[prop-missing]
|
|
178
174
|
const {connections, edgeTypeName} = payload.handleArgs;
|
|
179
175
|
invariant(
|
|
180
176
|
connections != null,
|
package/index.js
CHANGED
package/index.js.flow
CHANGED
|
@@ -14,59 +14,62 @@
|
|
|
14
14
|
|
|
15
15
|
const ConnectionHandler = require('./handlers/connection/ConnectionHandler');
|
|
16
16
|
const ConnectionInterface = require('./handlers/connection/ConnectionInterface');
|
|
17
|
-
const GraphQLTag = require('./query/GraphQLTag');
|
|
18
17
|
const MutationHandlers = require('./handlers/connection/MutationHandlers');
|
|
18
|
+
const RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
|
|
19
|
+
const applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
|
|
20
|
+
const commitLocalUpdate = require('./mutations/commitLocalUpdate');
|
|
21
|
+
const commitMutation = require('./mutations/commitMutation');
|
|
22
|
+
const RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
|
|
23
|
+
const RelayNetwork = require('./network/RelayNetwork');
|
|
24
|
+
const RelayObservable = require('./network/RelayObservable');
|
|
25
|
+
const RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
|
|
26
|
+
const fetchQuery = require('./query/fetchQuery');
|
|
27
|
+
const fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
|
|
28
|
+
const fetchQueryInternal = require('./query/fetchQueryInternal');
|
|
29
|
+
const GraphQLTag = require('./query/GraphQLTag');
|
|
19
30
|
const PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
|
|
20
|
-
const
|
|
31
|
+
const {
|
|
32
|
+
generateClientID,
|
|
33
|
+
generateUniqueClientID,
|
|
34
|
+
isClientID,
|
|
35
|
+
} = require('./store/ClientID');
|
|
36
|
+
const createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
|
|
37
|
+
const createRelayContext = require('./store/createRelayContext');
|
|
38
|
+
const isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
|
|
39
|
+
const readInlineData = require('./store/readInlineData');
|
|
21
40
|
const RelayConcreteVariables = require('./store/RelayConcreteVariables');
|
|
22
|
-
const RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
|
|
23
|
-
const RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
|
|
24
|
-
const RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
|
|
25
|
-
const RelayError = require('./util/RelayError');
|
|
26
|
-
const RelayFeatureFlags = require('./util/RelayFeatureFlags');
|
|
27
41
|
const RelayModernEnvironment = require('./store/RelayModernEnvironment');
|
|
28
42
|
const RelayModernOperationDescriptor = require('./store/RelayModernOperationDescriptor');
|
|
29
43
|
const RelayModernRecord = require('./store/RelayModernRecord');
|
|
30
44
|
const RelayModernSelector = require('./store/RelayModernSelector');
|
|
31
45
|
const RelayModernStore = require('./store/RelayModernStore');
|
|
32
|
-
const RelayNetwork = require('./network/RelayNetwork');
|
|
33
|
-
const RelayObservable = require('./network/RelayObservable');
|
|
34
46
|
const RelayOperationTracker = require('./store/RelayOperationTracker');
|
|
35
|
-
const RelayProfiler = require('./util/RelayProfiler');
|
|
36
|
-
const RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
|
|
37
47
|
const RelayRecordSource = require('./store/RelayRecordSource');
|
|
38
|
-
const RelayReplaySubject = require('./util/RelayReplaySubject');
|
|
39
48
|
const RelayStoreUtils = require('./store/RelayStoreUtils');
|
|
40
49
|
const ViewerPattern = require('./store/ViewerPattern');
|
|
41
|
-
|
|
42
|
-
const applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
|
|
43
|
-
const commitLocalUpdate = require('./mutations/commitLocalUpdate');
|
|
44
|
-
const commitMutation = require('./mutations/commitMutation');
|
|
45
|
-
const createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
|
|
50
|
+
const requestSubscription = require('./subscription/requestSubscription');
|
|
46
51
|
const createPayloadFor3DField = require('./util/createPayloadFor3DField');
|
|
47
|
-
const createRelayContext = require('./store/createRelayContext');
|
|
48
52
|
const deepFreeze = require('./util/deepFreeze');
|
|
49
|
-
const fetchQuery = require('./query/fetchQuery');
|
|
50
|
-
const fetchQueryInternal = require('./query/fetchQueryInternal');
|
|
51
|
-
const fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
|
|
52
53
|
const getFragmentIdentifier = require('./util/getFragmentIdentifier');
|
|
54
|
+
const getPaginationMetadata = require('./util/getPaginationMetadata');
|
|
55
|
+
const getPaginationVariables = require('./util/getPaginationVariables');
|
|
56
|
+
const getPendingOperationsForFragment = require('./util/getPendingOperationsForFragment');
|
|
57
|
+
const getRefetchMetadata = require('./util/getRefetchMetadata');
|
|
53
58
|
const getRelayHandleKey = require('./util/getRelayHandleKey');
|
|
54
59
|
const getRequestIdentifier = require('./util/getRequestIdentifier');
|
|
60
|
+
const getValueAtPath = require('./util/getValueAtPath');
|
|
55
61
|
const isPromise = require('./util/isPromise');
|
|
56
|
-
const isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
|
|
57
62
|
const isScalarAndEqual = require('./util/isScalarAndEqual');
|
|
58
|
-
const readInlineData = require('./store/readInlineData');
|
|
59
63
|
const recycleNodesInto = require('./util/recycleNodesInto');
|
|
64
|
+
const RelayConcreteNode = require('./util/RelayConcreteNode');
|
|
65
|
+
const RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
|
|
66
|
+
const RelayError = require('./util/RelayError');
|
|
67
|
+
const RelayFeatureFlags = require('./util/RelayFeatureFlags');
|
|
68
|
+
const RelayProfiler = require('./util/RelayProfiler');
|
|
69
|
+
const RelayReplaySubject = require('./util/RelayReplaySubject');
|
|
60
70
|
const reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
|
|
61
|
-
const requestSubscription = require('./subscription/requestSubscription');
|
|
62
71
|
const stableCopy = require('./util/stableCopy');
|
|
63
72
|
|
|
64
|
-
const {
|
|
65
|
-
generateClientID,
|
|
66
|
-
generateUniqueClientID,
|
|
67
|
-
isClientID,
|
|
68
|
-
} = require('./store/ClientID');
|
|
69
|
-
|
|
70
73
|
export type {ConnectionMetadata} from './handlers/connection/ConnectionHandler';
|
|
71
74
|
export type {
|
|
72
75
|
EdgeRecord,
|
|
@@ -82,7 +85,6 @@ export type {OptimisticMutationConfig} from './mutations/applyOptimisticMutation
|
|
|
82
85
|
export type {
|
|
83
86
|
DEPRECATED_MutationConfig,
|
|
84
87
|
MutationConfig,
|
|
85
|
-
MutationParameters,
|
|
86
88
|
} from './mutations/commitMutation';
|
|
87
89
|
export type {
|
|
88
90
|
ExecuteFunction,
|
|
@@ -110,12 +112,15 @@ export type {
|
|
|
110
112
|
Subscription,
|
|
111
113
|
} from './network/RelayObservable';
|
|
112
114
|
export type {GraphQLTaggedNode} from './query/GraphQLTag';
|
|
115
|
+
export type {TaskScheduler} from './store/OperationExecutor';
|
|
113
116
|
export type {EnvironmentConfig} from './store/RelayModernEnvironment';
|
|
114
|
-
export type {TaskScheduler} from './store/RelayModernQueryExecutor';
|
|
115
117
|
export type {RecordState} from './store/RelayRecordState';
|
|
116
118
|
export type {
|
|
119
|
+
ExecuteMutationConfig,
|
|
117
120
|
FragmentMap,
|
|
118
|
-
FragmentReference
|
|
121
|
+
// DEPRECATED: use FragmentType instead of FragmentReference
|
|
122
|
+
FragmentType as FragmentReference,
|
|
123
|
+
FragmentType,
|
|
119
124
|
FragmentSpecResolver,
|
|
120
125
|
HandleFieldPayload,
|
|
121
126
|
IEnvironment,
|
|
@@ -125,6 +130,7 @@ export type {
|
|
|
125
130
|
MissingFieldHandler,
|
|
126
131
|
MissingRequiredFields,
|
|
127
132
|
ModuleImportPointer,
|
|
133
|
+
MutationParameters,
|
|
128
134
|
NormalizationSelector,
|
|
129
135
|
OperationAvailability,
|
|
130
136
|
OperationDescriptor,
|
|
@@ -136,9 +142,9 @@ export type {
|
|
|
136
142
|
PluralReaderSelector,
|
|
137
143
|
Props,
|
|
138
144
|
PublishQueue,
|
|
145
|
+
ReactFlightClientResponse,
|
|
139
146
|
ReactFlightPayloadDeserializer,
|
|
140
147
|
ReactFlightServerErrorHandler,
|
|
141
|
-
ReactFlightClientResponse,
|
|
142
148
|
ReaderSelector,
|
|
143
149
|
ReadOnlyRecordProxy,
|
|
144
150
|
RecordProxy,
|
|
@@ -146,13 +152,18 @@ export type {
|
|
|
146
152
|
RecordSourceSelectorProxy,
|
|
147
153
|
RelayContext,
|
|
148
154
|
RequestDescriptor,
|
|
155
|
+
RequiredFieldLogger,
|
|
149
156
|
SelectorData,
|
|
150
157
|
SelectorStoreUpdater,
|
|
151
158
|
SingularReaderSelector,
|
|
152
159
|
Snapshot,
|
|
153
160
|
StoreUpdater,
|
|
154
161
|
} from './store/RelayStoreTypes';
|
|
155
|
-
export type {
|
|
162
|
+
export type {
|
|
163
|
+
DEPRECATED_GraphQLSubscriptionConfig,
|
|
164
|
+
GraphQLSubscriptionConfig,
|
|
165
|
+
SubscriptionParameters,
|
|
166
|
+
} from './subscription/requestSubscription';
|
|
156
167
|
export type {JSResourceReference} from './util/JSResourceTypes.flow';
|
|
157
168
|
export type {
|
|
158
169
|
NormalizationArgument,
|
|
@@ -168,8 +179,8 @@ export type {
|
|
|
168
179
|
NormalizationSplitOperation,
|
|
169
180
|
NormalizationStream,
|
|
170
181
|
NormalizationTypeDiscriminator,
|
|
182
|
+
NormalizationOperation,
|
|
171
183
|
} from './util/NormalizationNode';
|
|
172
|
-
export type {NormalizationOperation} from './util/NormalizationNode';
|
|
173
184
|
export type {
|
|
174
185
|
ReaderArgument,
|
|
175
186
|
ReaderArgumentDefinition,
|
|
@@ -199,12 +210,20 @@ export type {
|
|
|
199
210
|
Disposable,
|
|
200
211
|
FetchPolicy,
|
|
201
212
|
FetchQueryFetchPolicy,
|
|
213
|
+
Fragment,
|
|
214
|
+
GraphQLSubscription,
|
|
215
|
+
InlineFragment,
|
|
216
|
+
Mutation,
|
|
217
|
+
Operation,
|
|
202
218
|
OperationType,
|
|
219
|
+
Query,
|
|
220
|
+
RefetchableFragment,
|
|
203
221
|
RenderPolicy,
|
|
204
222
|
Variables,
|
|
205
223
|
VariablesOf,
|
|
206
224
|
} from './util/RelayRuntimeTypes';
|
|
207
225
|
export type {Local3DPayload} from './util/createPayloadFor3DField';
|
|
226
|
+
export type {Direction} from './util/getPaginationVariables';
|
|
208
227
|
export type {RequestIdentifier} from './util/getRequestIdentifier';
|
|
209
228
|
|
|
210
229
|
// As early as possible, check for the existence of the JavaScript globals which
|
|
@@ -327,6 +346,11 @@ module.exports = {
|
|
|
327
346
|
recycleNodesInto: recycleNodesInto,
|
|
328
347
|
stableCopy: stableCopy,
|
|
329
348
|
getFragmentIdentifier: getFragmentIdentifier,
|
|
349
|
+
getRefetchMetadata: getRefetchMetadata,
|
|
350
|
+
getPaginationMetadata: getPaginationMetadata,
|
|
351
|
+
getPaginationVariables: getPaginationVariables,
|
|
352
|
+
getPendingOperationsForFragment: getPendingOperationsForFragment,
|
|
353
|
+
getValueAtPath: getValueAtPath,
|
|
330
354
|
__internal: {
|
|
331
355
|
OperationTracker: RelayOperationTracker,
|
|
332
356
|
createRelayContext: createRelayContext,
|
|
@@ -14,7 +14,7 @@ var ConnectionHandler = require('./connection/ConnectionHandler');
|
|
|
14
14
|
|
|
15
15
|
var MutationHandlers = require('./connection/MutationHandlers');
|
|
16
16
|
|
|
17
|
-
var invariant = require(
|
|
17
|
+
var invariant = require('invariant');
|
|
18
18
|
|
|
19
19
|
function RelayDefaultHandlerProvider(handle) {
|
|
20
20
|
switch (handle) {
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
// flowlint ambiguous-object-type:error
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
var ConnectionInterface = require('./ConnectionInterface');
|
|
14
|
-
|
|
15
|
-
var getRelayHandleKey = require('../../util/getRelayHandleKey');
|
|
16
|
-
|
|
17
|
-
var invariant = require("fbjs/lib/invariant");
|
|
18
|
-
|
|
19
|
-
var warning = require("fbjs/lib/warning");
|
|
20
|
-
|
|
21
13
|
var _require = require('../../store/ClientID'),
|
|
22
14
|
generateClientID = _require.generateClientID;
|
|
23
15
|
|
|
24
16
|
var _require2 = require('../../store/RelayStoreUtils'),
|
|
25
17
|
getStableStorageKey = _require2.getStableStorageKey;
|
|
26
18
|
|
|
19
|
+
var getRelayHandleKey = require('../../util/getRelayHandleKey');
|
|
20
|
+
|
|
21
|
+
var ConnectionInterface = require('./ConnectionInterface');
|
|
22
|
+
|
|
23
|
+
var invariant = require('invariant');
|
|
24
|
+
|
|
25
|
+
var warning = require("fbjs/lib/warning");
|
|
26
|
+
|
|
27
27
|
var CONNECTION = 'connection'; // Per-instance incrementing index used to generate unique edge IDs
|
|
28
28
|
|
|
29
29
|
var NEXT_EDGE_INDEX = '__connection_next_edge_index';
|
|
@@ -133,23 +133,19 @@ function update(store, payload) {
|
|
|
133
133
|
var args = payload.args;
|
|
134
134
|
|
|
135
135
|
if (prevEdges && _serverEdges) {
|
|
136
|
-
// $FlowFixMe[prop-missing]
|
|
137
136
|
if (args.after != null) {
|
|
138
137
|
// Forward pagination from the end of the connection: append edges
|
|
139
|
-
if (clientPageInfo &&
|
|
140
|
-
args.after === clientPageInfo.getValue(END_CURSOR)) {
|
|
138
|
+
if (clientPageInfo && args.after === clientPageInfo.getValue(END_CURSOR)) {
|
|
141
139
|
var nodeIDs = new Set();
|
|
142
140
|
mergeEdges(prevEdges, nextEdges, nodeIDs);
|
|
143
141
|
mergeEdges(_serverEdges, nextEdges, nodeIDs);
|
|
144
142
|
} else {
|
|
145
143
|
process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Unexpected after cursor `%s`, edges must ' + 'be fetched from the end of the list (`%s`).', args.after, clientPageInfo && clientPageInfo.getValue(END_CURSOR)) : void 0;
|
|
146
144
|
return;
|
|
147
|
-
}
|
|
148
|
-
|
|
145
|
+
}
|
|
149
146
|
} else if (args.before != null) {
|
|
150
147
|
// Backward pagination from the start of the connection: prepend edges
|
|
151
|
-
if (clientPageInfo &&
|
|
152
|
-
args.before === clientPageInfo.getValue(START_CURSOR)) {
|
|
148
|
+
if (clientPageInfo && args.before === clientPageInfo.getValue(START_CURSOR)) {
|
|
153
149
|
var _nodeIDs = new Set();
|
|
154
150
|
|
|
155
151
|
mergeEdges(_serverEdges, nextEdges, _nodeIDs);
|
|
@@ -176,19 +172,17 @@ function update(store, payload) {
|
|
|
176
172
|
|
|
177
173
|
|
|
178
174
|
if (clientPageInfo && serverPageInfo) {
|
|
179
|
-
// $FlowFixMe[prop-missing]
|
|
180
175
|
if (args.after == null && args.before == null) {
|
|
181
176
|
// The connection was refetched from the beginning/end: replace
|
|
182
177
|
// page_info
|
|
183
|
-
clientPageInfo.copyFieldsFrom(serverPageInfo);
|
|
178
|
+
clientPageInfo.copyFieldsFrom(serverPageInfo);
|
|
184
179
|
} else if (args.before != null || args.after == null && args.last) {
|
|
185
180
|
clientPageInfo.setValue(!!serverPageInfo.getValue(HAS_PREV_PAGE), HAS_PREV_PAGE);
|
|
186
181
|
var startCursor = serverPageInfo.getValue(START_CURSOR);
|
|
187
182
|
|
|
188
183
|
if (typeof startCursor === 'string') {
|
|
189
184
|
clientPageInfo.setValue(startCursor, START_CURSOR);
|
|
190
|
-
}
|
|
191
|
-
|
|
185
|
+
}
|
|
192
186
|
} else if (args.after != null || args.before == null && args.first) {
|
|
193
187
|
clientPageInfo.setValue(!!serverPageInfo.getValue(HAS_NEXT_PAGE), HAS_NEXT_PAGE);
|
|
194
188
|
var endCursor = serverPageInfo.getValue(END_CURSOR);
|
|
@@ -18,7 +18,7 @@ var ConnectionHandler = require('./ConnectionHandler');
|
|
|
18
18
|
|
|
19
19
|
var ConnectionInterface = require('./ConnectionInterface');
|
|
20
20
|
|
|
21
|
-
var invariant = require(
|
|
21
|
+
var invariant = require('invariant');
|
|
22
22
|
|
|
23
23
|
var warning = require("fbjs/lib/warning");
|
|
24
24
|
|
|
@@ -47,8 +47,7 @@ var DeleteEdgeHandler = {
|
|
|
47
47
|
|
|
48
48
|
if (record == null) {
|
|
49
49
|
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
50
|
+
}
|
|
52
51
|
|
|
53
52
|
var connections = payload.handleArgs.connections;
|
|
54
53
|
!(connections != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'MutationHandlers: Expected connection IDs to be specified.') : invariant(false) : void 0;
|
|
@@ -101,8 +100,7 @@ function edgeUpdater(insertFn) {
|
|
|
101
100
|
|
|
102
101
|
if (record == null) {
|
|
103
102
|
return;
|
|
104
|
-
}
|
|
105
|
-
|
|
103
|
+
}
|
|
106
104
|
|
|
107
105
|
var connections = payload.handleArgs.connections;
|
|
108
106
|
!(connections != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'MutationHandlers: Expected connection IDs to be specified.') : invariant(false) : void 0;
|
|
@@ -205,8 +203,7 @@ function nodeUpdater(insertFn) {
|
|
|
205
203
|
|
|
206
204
|
if (record == null) {
|
|
207
205
|
return;
|
|
208
|
-
}
|
|
209
|
-
|
|
206
|
+
}
|
|
210
207
|
|
|
211
208
|
var _payload$handleArgs = payload.handleArgs,
|
|
212
209
|
connections = _payload$handleArgs.connections,
|
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
|
|
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,
|