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.
Files changed (138) hide show
  1. package/handlers/RelayDefaultHandlerProvider.js.flow +2 -2
  2. package/handlers/connection/ConnectionHandler.js.flow +8 -17
  3. package/handlers/connection/MutationHandlers.js.flow +7 -11
  4. package/index.js +1 -1
  5. package/index.js.flow +40 -33
  6. package/lib/handlers/connection/ConnectionHandler.js +12 -18
  7. package/lib/handlers/connection/MutationHandlers.js +3 -6
  8. package/lib/index.js +45 -45
  9. package/lib/multi-actor-environment/ActorSpecificEnvironment.js +8 -4
  10. package/lib/multi-actor-environment/MultiActorEnvironment.js +35 -22
  11. package/lib/multi-actor-environment/index.js +2 -2
  12. package/lib/mutations/RelayDeclarativeMutationConfig.js +4 -1
  13. package/lib/mutations/RelayRecordProxy.js +3 -2
  14. package/lib/mutations/RelayRecordSourceMutator.js +3 -2
  15. package/lib/mutations/RelayRecordSourceProxy.js +12 -4
  16. package/lib/mutations/RelayRecordSourceSelectorProxy.js +12 -4
  17. package/lib/mutations/applyOptimisticMutation.js +6 -6
  18. package/lib/mutations/commitMutation.js +15 -14
  19. package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +238 -0
  20. package/lib/mutations/validateMutation.js +6 -6
  21. package/lib/network/ConvertToExecuteFunction.js +2 -1
  22. package/lib/network/RelayNetwork.js +3 -2
  23. package/lib/network/RelayObservable.js +1 -3
  24. package/lib/network/RelayQueryResponseCache.js +2 -2
  25. package/lib/network/wrapNetworkWithLogObserver.js +2 -1
  26. package/lib/query/GraphQLTag.js +2 -1
  27. package/lib/query/fetchQuery.js +6 -5
  28. package/lib/query/fetchQuery_DEPRECATED.js +2 -1
  29. package/lib/store/ClientID.js +7 -1
  30. package/lib/store/DataChecker.js +16 -17
  31. package/lib/store/OperationExecutor.js +13 -13
  32. package/lib/store/RelayConcreteVariables.js +6 -9
  33. package/lib/store/RelayModernEnvironment.js +66 -42
  34. package/lib/store/RelayModernFragmentSpecResolver.js +8 -8
  35. package/lib/store/RelayModernOperationDescriptor.js +2 -1
  36. package/lib/store/RelayModernRecord.js +12 -11
  37. package/lib/store/RelayModernSelector.js +14 -8
  38. package/lib/store/RelayModernStore.js +14 -15
  39. package/lib/store/RelayPublishQueue.js +11 -5
  40. package/lib/store/RelayReader.js +130 -37
  41. package/lib/store/RelayReferenceMarker.js +10 -11
  42. package/lib/store/RelayResponseNormalizer.js +25 -22
  43. package/lib/store/RelayStoreReactFlightUtils.js +3 -3
  44. package/lib/store/RelayStoreSubscriptions.js +6 -4
  45. package/lib/store/RelayStoreUtils.js +5 -5
  46. package/lib/store/ResolverCache.js +6 -6
  47. package/lib/store/ResolverFragments.js +9 -5
  48. package/lib/store/cloneRelayHandleSourceField.js +5 -4
  49. package/lib/store/cloneRelayScalarHandleSourceField.js +5 -4
  50. package/lib/store/createRelayContext.js +3 -1
  51. package/lib/store/readInlineData.js +6 -2
  52. package/lib/subscription/requestSubscription.js +5 -5
  53. package/lib/util/RelayConcreteNode.js +1 -0
  54. package/lib/util/RelayFeatureFlags.js +7 -1
  55. package/lib/util/RelayRuntimeTypes.js +0 -6
  56. package/lib/util/StringInterner.js +71 -0
  57. package/lib/util/getFragmentIdentifier.js +15 -7
  58. package/lib/util/getOperation.js +2 -1
  59. package/lib/util/getPaginationVariables.js +2 -3
  60. package/lib/util/getRelayHandleKey.js +2 -2
  61. package/lib/util/getRequestIdentifier.js +2 -2
  62. package/multi-actor-environment/ActorSpecificEnvironment.js.flow +27 -19
  63. package/multi-actor-environment/ActorUtils.js.flow +2 -2
  64. package/multi-actor-environment/MultiActorEnvironment.js.flow +45 -24
  65. package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +27 -11
  66. package/multi-actor-environment/index.js.flow +1 -2
  67. package/mutations/RelayDeclarativeMutationConfig.js.flow +32 -26
  68. package/mutations/RelayRecordProxy.js.flow +4 -5
  69. package/mutations/RelayRecordSourceMutator.js.flow +4 -6
  70. package/mutations/RelayRecordSourceProxy.js.flow +19 -10
  71. package/mutations/RelayRecordSourceSelectorProxy.js.flow +15 -5
  72. package/mutations/applyOptimisticMutation.js.flow +13 -14
  73. package/mutations/commitLocalUpdate.js.flow +1 -1
  74. package/mutations/commitMutation.js.flow +35 -48
  75. package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +309 -0
  76. package/mutations/validateMutation.js.flow +19 -17
  77. package/network/ConvertToExecuteFunction.js.flow +2 -2
  78. package/network/RelayNetwork.js.flow +4 -5
  79. package/network/RelayObservable.js.flow +1 -3
  80. package/network/RelayQueryResponseCache.js.flow +3 -3
  81. package/network/wrapNetworkWithLogObserver.js.flow +8 -7
  82. package/package.json +1 -1
  83. package/query/GraphQLTag.js.flow +9 -9
  84. package/query/PreloadableQueryRegistry.js.flow +2 -1
  85. package/query/fetchQuery.js.flow +11 -13
  86. package/query/fetchQueryInternal.js.flow +6 -9
  87. package/query/fetchQuery_DEPRECATED.js.flow +6 -6
  88. package/relay-runtime.js +2 -2
  89. package/relay-runtime.min.js +2 -2
  90. package/store/ClientID.js.flow +9 -2
  91. package/store/DataChecker.js.flow +20 -29
  92. package/store/OperationExecutor.js.flow +54 -62
  93. package/store/RelayConcreteVariables.js.flow +4 -10
  94. package/store/RelayModernEnvironment.js.flow +56 -27
  95. package/store/RelayModernFragmentSpecResolver.js.flow +17 -19
  96. package/store/RelayModernOperationDescriptor.js.flow +10 -11
  97. package/store/RelayModernRecord.js.flow +19 -12
  98. package/store/RelayModernSelector.js.flow +24 -14
  99. package/store/RelayModernStore.js.flow +21 -24
  100. package/store/RelayOperationTracker.js.flow +11 -17
  101. package/store/RelayOptimisticRecordSource.js.flow +2 -2
  102. package/store/RelayPublishQueue.js.flow +42 -23
  103. package/store/RelayReader.js.flow +180 -60
  104. package/store/RelayRecordSource.js.flow +2 -2
  105. package/store/RelayReferenceMarker.js.flow +12 -15
  106. package/store/RelayResponseNormalizer.js.flow +43 -41
  107. package/store/RelayStoreReactFlightUtils.js.flow +3 -4
  108. package/store/RelayStoreSubscriptions.js.flow +9 -8
  109. package/store/RelayStoreTypes.js.flow +72 -29
  110. package/store/RelayStoreUtils.js.flow +8 -9
  111. package/store/ResolverCache.js.flow +16 -14
  112. package/store/ResolverFragments.js.flow +15 -22
  113. package/store/StoreInspector.js.flow +2 -2
  114. package/store/TypeID.js.flow +1 -1
  115. package/store/ViewerPattern.js.flow +2 -2
  116. package/store/cloneRelayHandleSourceField.js.flow +5 -6
  117. package/store/cloneRelayScalarHandleSourceField.js.flow +5 -6
  118. package/store/createFragmentSpecResolver.js.flow +3 -4
  119. package/store/createRelayContext.js.flow +2 -2
  120. package/store/normalizeRelayPayload.js.flow +6 -7
  121. package/store/readInlineData.js.flow +7 -8
  122. package/subscription/requestSubscription.js.flow +16 -24
  123. package/util/ReaderNode.js.flow +9 -0
  124. package/util/RelayConcreteNode.js.flow +1 -0
  125. package/util/RelayFeatureFlags.js.flow +14 -2
  126. package/util/RelayReplaySubject.js.flow +2 -3
  127. package/util/RelayRuntimeTypes.js.flow +69 -2
  128. package/util/StringInterner.js.flow +69 -0
  129. package/util/createPayloadFor3DField.js.flow +3 -3
  130. package/util/getFragmentIdentifier.js.flow +27 -15
  131. package/util/getOperation.js.flow +2 -2
  132. package/util/getPaginationMetadata.js.flow +5 -7
  133. package/util/getPaginationVariables.js.flow +5 -9
  134. package/util/getPendingOperationsForFragment.js.flow +2 -2
  135. package/util/getRefetchMetadata.js.flow +6 -7
  136. package/util/getRelayHandleKey.js.flow +1 -2
  137. package/util/getRequestIdentifier.js.flow +3 -3
  138. 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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v12.0.0
2
+ * Relay v13.0.0-rc.0
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
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 RelayConcreteNode = require('./util/RelayConcreteNode');
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 ConnectionInterface = require('./ConnectionInterface');
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 && // $FlowFixMe[prop-missing]
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
- } // $FlowFixMe[prop-missing]
148
-
145
+ }
149
146
  } else if (args.before != null) {
150
147
  // Backward pagination from the start of the connection: prepend edges
151
- if (clientPageInfo && // $FlowFixMe[prop-missing]
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); // $FlowFixMe[prop-missing]
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
- } // $FlowFixMe[prop-missing]
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
- } // $FlowFixMe[prop-missing]
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
- } // $FlowFixMe[prop-missing]
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
- } // $FlowFixMe[prop-missing]
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 PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
19
+ var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
22
20
 
23
- var RelayConcreteNode = require('./util/RelayConcreteNode');
21
+ var applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
24
22
 
25
- var RelayConcreteVariables = require('./store/RelayConcreteVariables');
23
+ var commitLocalUpdate = require('./mutations/commitLocalUpdate');
24
+
25
+ var commitMutation = require('./mutations/commitMutation');
26
26
 
27
27
  var RelayDeclarativeMutationConfig = require('./mutations/RelayDeclarativeMutationConfig');
28
28
 
29
- var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
29
+ var RelayNetwork = require('./network/RelayNetwork');
30
30
 
31
- var RelayDefaultHandlerProvider = require('./handlers/RelayDefaultHandlerProvider');
31
+ var RelayObservable = require('./network/RelayObservable');
32
32
 
33
- var RelayError = require('./util/RelayError');
33
+ var RelayQueryResponseCache = require('./network/RelayQueryResponseCache');
34
34
 
35
- var RelayFeatureFlags = require('./util/RelayFeatureFlags');
35
+ var fetchQuery = require('./query/fetchQuery');
36
+
37
+ var fetchQuery_DEPRECATED = require('./query/fetchQuery_DEPRECATED');
38
+
39
+ var fetchQueryInternal = require('./query/fetchQueryInternal');
40
+
41
+ var GraphQLTag = require('./query/GraphQLTag');
42
+
43
+ var PreloadableQueryRegistry = require('./query/PreloadableQueryRegistry');
44
+
45
+ var _require = require('./store/ClientID'),
46
+ generateClientID = _require.generateClientID,
47
+ generateUniqueClientID = _require.generateUniqueClientID,
48
+ isClientID = _require.isClientID;
49
+
50
+ var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
51
+
52
+ var createRelayContext = require('./store/createRelayContext');
53
+
54
+ var isRelayModernEnvironment = require('./store/isRelayModernEnvironment');
55
+
56
+ var readInlineData = require('./store/readInlineData');
57
+
58
+ var RelayConcreteVariables = require('./store/RelayConcreteVariables');
36
59
 
37
60
  var RelayModernEnvironment = require('./store/RelayModernEnvironment');
38
61
 
@@ -44,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 applyOptimisticMutation = require('./mutations/applyOptimisticMutation');
66
-
67
- var commitLocalUpdate = require('./mutations/commitLocalUpdate');
68
-
69
- var commitMutation = require('./mutations/commitMutation');
70
-
71
- var createFragmentSpecResolver = require('./store/createFragmentSpecResolver');
78
+ var requestSubscription = require('./subscription/requestSubscription');
72
79
 
73
80
  var createPayloadFor3DField = require('./util/createPayloadFor3DField');
74
81
 
75
- var createRelayContext = require('./store/createRelayContext');
76
-
77
82
  var deepFreeze = require('./util/deepFreeze');
78
83
 
79
- var fetchQuery = require('./query/fetchQuery');
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 reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
106
+ var RelayConcreteNode = require('./util/RelayConcreteNode');
112
107
 
113
- var requestSubscription = require('./subscription/requestSubscription');
108
+ var RelayDefaultHandleKey = require('./util/RelayDefaultHandleKey');
114
109
 
115
- var stableCopy = require('./util/stableCopy');
110
+ var RelayError = require('./util/RelayError');
116
111
 
117
- var _require = require('./store/ClientID'),
118
- generateClientID = _require.generateClientID,
119
- generateUniqueClientID = _require.generateUniqueClientID,
120
- isClientID = _require.isClientID;
112
+ var RelayFeatureFlags = require('./util/RelayFeatureFlags');
113
+
114
+ var RelayProfiler = require('./util/RelayProfiler');
115
+
116
+ var RelayReplaySubject = require('./util/RelayReplaySubject');
117
+
118
+ var reportMissingRequiredFields = require('./util/reportMissingRequiredFields');
119
+
120
+ var stableCopy = require('./util/stableCopy');
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
  };