relay-runtime 12.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.
- 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 +40 -33
- package/lib/handlers/connection/ConnectionHandler.js +12 -18
- package/lib/handlers/connection/MutationHandlers.js +3 -6
- package/lib/index.js +45 -45
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +8 -4
- package/lib/multi-actor-environment/MultiActorEnvironment.js +35 -22
- package/lib/multi-actor-environment/index.js +2 -2
- 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 +12 -4
- package/lib/mutations/applyOptimisticMutation.js +6 -6
- package/lib/mutations/commitMutation.js +15 -14
- package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +238 -0
- package/lib/mutations/validateMutation.js +6 -6
- package/lib/network/ConvertToExecuteFunction.js +2 -1
- package/lib/network/RelayNetwork.js +3 -2
- package/lib/network/RelayObservable.js +1 -3
- package/lib/network/RelayQueryResponseCache.js +2 -2
- package/lib/network/wrapNetworkWithLogObserver.js +2 -1
- package/lib/query/GraphQLTag.js +2 -1
- package/lib/query/fetchQuery.js +6 -5
- package/lib/query/fetchQuery_DEPRECATED.js +2 -1
- package/lib/store/ClientID.js +7 -1
- package/lib/store/DataChecker.js +16 -17
- package/lib/store/OperationExecutor.js +13 -13
- package/lib/store/RelayConcreteVariables.js +6 -9
- package/lib/store/RelayModernEnvironment.js +66 -42
- package/lib/store/RelayModernFragmentSpecResolver.js +8 -8
- package/lib/store/RelayModernOperationDescriptor.js +2 -1
- package/lib/store/RelayModernRecord.js +12 -11
- package/lib/store/RelayModernSelector.js +14 -8
- package/lib/store/RelayModernStore.js +14 -15
- package/lib/store/RelayPublishQueue.js +11 -5
- package/lib/store/RelayReader.js +130 -37
- package/lib/store/RelayReferenceMarker.js +10 -11
- package/lib/store/RelayResponseNormalizer.js +25 -22
- package/lib/store/RelayStoreReactFlightUtils.js +3 -3
- package/lib/store/RelayStoreSubscriptions.js +6 -4
- package/lib/store/RelayStoreUtils.js +5 -5
- package/lib/store/ResolverCache.js +6 -6
- package/lib/store/ResolverFragments.js +9 -5
- package/lib/store/cloneRelayHandleSourceField.js +5 -4
- package/lib/store/cloneRelayScalarHandleSourceField.js +5 -4
- package/lib/store/createRelayContext.js +3 -1
- package/lib/store/readInlineData.js +6 -2
- package/lib/subscription/requestSubscription.js +5 -5
- package/lib/util/RelayConcreteNode.js +1 -0
- package/lib/util/RelayFeatureFlags.js +7 -1
- 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/getPaginationVariables.js +2 -3
- package/lib/util/getRelayHandleKey.js +2 -2
- package/lib/util/getRequestIdentifier.js +2 -2
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +27 -19
- package/multi-actor-environment/ActorUtils.js.flow +2 -2
- package/multi-actor-environment/MultiActorEnvironment.js.flow +45 -24
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +27 -11
- package/multi-actor-environment/index.js.flow +1 -2
- 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 +15 -5
- package/mutations/applyOptimisticMutation.js.flow +13 -14
- package/mutations/commitLocalUpdate.js.flow +1 -1
- package/mutations/commitMutation.js.flow +35 -48
- package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +309 -0
- package/mutations/validateMutation.js.flow +19 -17
- package/network/ConvertToExecuteFunction.js.flow +2 -2
- package/network/RelayNetwork.js.flow +4 -5
- package/network/RelayObservable.js.flow +1 -3
- package/network/RelayQueryResponseCache.js.flow +3 -3
- package/network/wrapNetworkWithLogObserver.js.flow +8 -7
- package/package.json +1 -1
- 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 +9 -2
- package/store/DataChecker.js.flow +20 -29
- package/store/OperationExecutor.js.flow +54 -62
- package/store/RelayConcreteVariables.js.flow +4 -10
- package/store/RelayModernEnvironment.js.flow +56 -27
- package/store/RelayModernFragmentSpecResolver.js.flow +17 -19
- package/store/RelayModernOperationDescriptor.js.flow +10 -11
- package/store/RelayModernRecord.js.flow +19 -12
- package/store/RelayModernSelector.js.flow +24 -14
- package/store/RelayModernStore.js.flow +21 -24
- package/store/RelayOperationTracker.js.flow +11 -17
- package/store/RelayOptimisticRecordSource.js.flow +2 -2
- package/store/RelayPublishQueue.js.flow +42 -23
- package/store/RelayReader.js.flow +180 -60
- package/store/RelayRecordSource.js.flow +2 -2
- package/store/RelayReferenceMarker.js.flow +12 -15
- package/store/RelayResponseNormalizer.js.flow +43 -41
- package/store/RelayStoreReactFlightUtils.js.flow +3 -4
- package/store/RelayStoreSubscriptions.js.flow +9 -8
- package/store/RelayStoreTypes.js.flow +72 -29
- package/store/RelayStoreUtils.js.flow +8 -9
- package/store/ResolverCache.js.flow +16 -14
- package/store/ResolverFragments.js.flow +15 -22
- 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 +2 -2
- package/store/normalizeRelayPayload.js.flow +6 -7
- package/store/readInlineData.js.flow +7 -8
- package/subscription/requestSubscription.js.flow +16 -24
- package/util/ReaderNode.js.flow +9 -0
- package/util/RelayConcreteNode.js.flow +1 -0
- package/util/RelayFeatureFlags.js.flow +14 -2
- package/util/RelayReplaySubject.js.flow +2 -3
- package/util/RelayRuntimeTypes.js.flow +69 -2
- 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 +5 -7
- package/util/getPaginationVariables.js.flow +5 -9
- package/util/getPendingOperationsForFragment.js.flow +2 -2
- package/util/getRefetchMetadata.js.flow +6 -7
- package/util/getRelayHandleKey.js.flow +1 -2
- package/util/getRequestIdentifier.js.flow +3 -3
- package/util/resolveImmediate.js.flow +1 -1
|
@@ -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,41 +14,42 @@
|
|
|
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');
|
|
53
54
|
const getPaginationMetadata = require('./util/getPaginationMetadata');
|
|
54
55
|
const getPaginationVariables = require('./util/getPaginationVariables');
|
|
@@ -58,20 +59,17 @@ const getRelayHandleKey = require('./util/getRelayHandleKey');
|
|
|
58
59
|
const getRequestIdentifier = require('./util/getRequestIdentifier');
|
|
59
60
|
const getValueAtPath = require('./util/getValueAtPath');
|
|
60
61
|
const isPromise = require('./util/isPromise');
|
|
61
|
-
const isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
|
|
62
62
|
const isScalarAndEqual = require('./util/isScalarAndEqual');
|
|
63
|
-
const readInlineData = require('./store/readInlineData');
|
|
64
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');
|
|
65
70
|
const reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
|
|
66
|
-
const requestSubscription = require('./subscription/requestSubscription');
|
|
67
71
|
const stableCopy = require('./util/stableCopy');
|
|
68
72
|
|
|
69
|
-
const {
|
|
70
|
-
generateClientID,
|
|
71
|
-
generateUniqueClientID,
|
|
72
|
-
isClientID,
|
|
73
|
-
} = require('./store/ClientID');
|
|
74
|
-
|
|
75
73
|
export type {ConnectionMetadata} from './handlers/connection/ConnectionHandler';
|
|
76
74
|
export type {
|
|
77
75
|
EdgeRecord,
|
|
@@ -87,7 +85,6 @@ export type {OptimisticMutationConfig} from './mutations/applyOptimisticMutation
|
|
|
87
85
|
export type {
|
|
88
86
|
DEPRECATED_MutationConfig,
|
|
89
87
|
MutationConfig,
|
|
90
|
-
MutationParameters,
|
|
91
88
|
} from './mutations/commitMutation';
|
|
92
89
|
export type {
|
|
93
90
|
ExecuteFunction,
|
|
@@ -121,7 +118,9 @@ export type {RecordState} from './store/RelayRecordState';
|
|
|
121
118
|
export type {
|
|
122
119
|
ExecuteMutationConfig,
|
|
123
120
|
FragmentMap,
|
|
124
|
-
FragmentReference
|
|
121
|
+
// DEPRECATED: use FragmentType instead of FragmentReference
|
|
122
|
+
FragmentType as FragmentReference,
|
|
123
|
+
FragmentType,
|
|
125
124
|
FragmentSpecResolver,
|
|
126
125
|
HandleFieldPayload,
|
|
127
126
|
IEnvironment,
|
|
@@ -131,6 +130,7 @@ export type {
|
|
|
131
130
|
MissingFieldHandler,
|
|
132
131
|
MissingRequiredFields,
|
|
133
132
|
ModuleImportPointer,
|
|
133
|
+
MutationParameters,
|
|
134
134
|
NormalizationSelector,
|
|
135
135
|
OperationAvailability,
|
|
136
136
|
OperationDescriptor,
|
|
@@ -179,8 +179,8 @@ export type {
|
|
|
179
179
|
NormalizationSplitOperation,
|
|
180
180
|
NormalizationStream,
|
|
181
181
|
NormalizationTypeDiscriminator,
|
|
182
|
+
NormalizationOperation,
|
|
182
183
|
} from './util/NormalizationNode';
|
|
183
|
-
export type {NormalizationOperation} from './util/NormalizationNode';
|
|
184
184
|
export type {
|
|
185
185
|
ReaderArgument,
|
|
186
186
|
ReaderArgumentDefinition,
|
|
@@ -210,7 +210,14 @@ export type {
|
|
|
210
210
|
Disposable,
|
|
211
211
|
FetchPolicy,
|
|
212
212
|
FetchQueryFetchPolicy,
|
|
213
|
+
Fragment,
|
|
214
|
+
GraphQLSubscription,
|
|
215
|
+
InlineFragment,
|
|
216
|
+
Mutation,
|
|
217
|
+
Operation,
|
|
213
218
|
OperationType,
|
|
219
|
+
Query,
|
|
220
|
+
RefetchableFragment,
|
|
214
221
|
RenderPolicy,
|
|
215
222
|
Variables,
|
|
216
223
|
VariablesOf,
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
// flowlint ambiguous-object-type:error
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _require = require('../../store/ClientID'),
|
|
14
|
+
generateClientID = _require.generateClientID;
|
|
15
|
+
|
|
16
|
+
var _require2 = require('../../store/RelayStoreUtils'),
|
|
17
|
+
getStableStorageKey = _require2.getStableStorageKey;
|
|
14
18
|
|
|
15
19
|
var getRelayHandleKey = require('../../util/getRelayHandleKey');
|
|
16
20
|
|
|
21
|
+
var ConnectionInterface = require('./ConnectionInterface');
|
|
22
|
+
|
|
17
23
|
var invariant = require('invariant');
|
|
18
24
|
|
|
19
25
|
var warning = require("fbjs/lib/warning");
|
|
20
26
|
|
|
21
|
-
var _require = require('../../store/ClientID'),
|
|
22
|
-
generateClientID = _require.generateClientID;
|
|
23
|
-
|
|
24
|
-
var _require2 = require('../../store/RelayStoreUtils'),
|
|
25
|
-
getStableStorageKey = _require2.getStableStorageKey;
|
|
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);
|
|
@@ -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,44 +67,20 @@ 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 fetchQuery = require('./query/fetchQuery');
|
|
80
|
-
|
|
81
|
-
var fetchQueryInternal = require('./query/fetchQueryInternal');
|
|
82
|
-
|
|
83
|
-
var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
|
|
84
|
-
|
|
85
84
|
var getFragmentIdentifier = require('./util/getFragmentIdentifier');
|
|
86
85
|
|
|
87
86
|
var getPaginationMetadata = require('./util/getPaginationMetadata');
|
|
@@ -100,24 +99,25 @@ var getValueAtPath = require('./util/getValueAtPath');
|
|
|
100
99
|
|
|
101
100
|
var isPromise = require('./util/isPromise');
|
|
102
101
|
|
|
103
|
-
var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
|
|
104
|
-
|
|
105
102
|
var isScalarAndEqual = require('./util/isScalarAndEqual');
|
|
106
103
|
|
|
107
|
-
var readInlineData = require('./store/readInlineData');
|
|
108
|
-
|
|
109
104
|
var recycleNodesInto = require('./util/recycleNodesInto');
|
|
110
105
|
|
|
111
|
-
var
|
|
106
|
+
var RelayConcreteNode = require('./util/RelayConcreteNode');
|
|
112
107
|
|
|
113
|
-
var
|
|
108
|
+
var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
|
|
114
109
|
|
|
115
|
-
var
|
|
110
|
+
var RelayError = require('./util/RelayError');
|
|
116
111
|
|
|
117
|
-
var
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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');
|
|
121
121
|
|
|
122
122
|
// As early as possible, check for the existence of the JavaScript globals which
|
|
123
123
|
// Relay Runtime relies upon, and produce a clear message if they do not exist.
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
*/
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
|
|
14
|
+
|
|
15
|
+
var defaultGetDataID = require('../store/defaultGetDataID');
|
|
16
|
+
|
|
13
17
|
var RelayOperationTracker = require('../store/RelayOperationTracker');
|
|
14
18
|
|
|
15
19
|
var RelayPublishQueue = require('../store/RelayPublishQueue');
|
|
16
20
|
|
|
17
|
-
var defaultGetDataID = require('../store/defaultGetDataID');
|
|
18
|
-
|
|
19
21
|
var registerEnvironmentWithDevTools = require('../util/registerEnvironmentWithDevTools');
|
|
20
22
|
|
|
21
|
-
var wrapNetworkWithLogObserver = require('../network/wrapNetworkWithLogObserver');
|
|
22
|
-
|
|
23
23
|
var ActorSpecificEnvironment = /*#__PURE__*/function () {
|
|
24
24
|
function ActorSpecificEnvironment(config) {
|
|
25
25
|
var _this = this;
|
|
@@ -126,6 +126,10 @@ var ActorSpecificEnvironment = /*#__PURE__*/function () {
|
|
|
126
126
|
return this.multiActorEnvironment.execute(this, config);
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
+
_proto.executeSubscription = function executeSubscription(config) {
|
|
130
|
+
return this.multiActorEnvironment.executeSubscription(this, config);
|
|
131
|
+
};
|
|
132
|
+
|
|
129
133
|
_proto.executeMutation = function executeMutation(options) {
|
|
130
134
|
return this.multiActorEnvironment.executeMutation(this, options);
|
|
131
135
|
};
|