relay-runtime 10.1.2 → 10.1.3

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.
@@ -104,33 +104,47 @@ function edgeUpdater(
104
104
  connections != null,
105
105
  'MutationHandlers: Expected connection IDs to be specified.',
106
106
  );
107
- const serverEdge = record.getLinkedRecord(payload.fieldKey, payload.args);
108
- if (serverEdge == null) {
107
+ let singleServerEdge, serverEdges;
108
+ try {
109
+ singleServerEdge = record.getLinkedRecord(payload.fieldKey, payload.args);
110
+ } catch {}
111
+ if (!singleServerEdge) {
112
+ try {
113
+ serverEdges = record.getLinkedRecords(payload.fieldKey, payload.args);
114
+ } catch {}
115
+ }
116
+ if (singleServerEdge == null && serverEdges == null) {
109
117
  warning(
110
118
  false,
111
- 'MutationHandlers: Expected the server edge to be non-null',
119
+ 'MutationHandlers: Expected the server edge to be non-null.',
112
120
  );
113
121
  return;
114
122
  }
115
- for (const connectionID of connections) {
116
- const connection = store.get(connectionID);
117
- if (connection == null) {
118
- warning(
119
- false,
120
- `[Relay][Mutation] The connection with id '${connectionID}' doesn't exist.`,
121
- );
123
+ const serverEdgeList = serverEdges ?? [singleServerEdge];
124
+ for (const serverEdge of serverEdgeList) {
125
+ if (serverEdge == null) {
122
126
  continue;
123
127
  }
124
- const clientEdge = ConnectionHandler.buildConnectionEdge(
125
- store,
126
- connection,
127
- serverEdge,
128
- );
129
- invariant(
130
- clientEdge != null,
131
- 'MutationHandlers: Failed to build the edge.',
132
- );
133
- insertFn(connection, clientEdge);
128
+ for (const connectionID of connections) {
129
+ const connection = store.get(connectionID);
130
+ if (connection == null) {
131
+ warning(
132
+ false,
133
+ `[Relay][Mutation] The connection with id '${connectionID}' doesn't exist.`,
134
+ );
135
+ continue;
136
+ }
137
+ const clientEdge = ConnectionHandler.buildConnectionEdge(
138
+ store,
139
+ connection,
140
+ serverEdge,
141
+ );
142
+ invariant(
143
+ clientEdge != null,
144
+ 'MutationHandlers: Failed to build the edge.',
145
+ );
146
+ insertFn(connection, clientEdge);
147
+ }
134
148
  }
135
149
  };
136
150
  }
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v10.1.2
2
+ * Relay v10.1.3
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
package/index.js.flow CHANGED
@@ -202,6 +202,7 @@ export type {
202
202
  VariablesOf,
203
203
  } from './util/RelayRuntimeTypes';
204
204
  export type {Local3DPayload} from './util/createPayloadFor3DField';
205
+ export type {RequestIdentifier} from './util/getRequestIdentifier';
205
206
 
206
207
  // As early as possible, check for the existence of the JavaScript globals which
207
208
  // Relay Runtime relies upon, and produce a clear message if they do not exist.
@@ -92,6 +92,8 @@ var PrependNodeHandler = {
92
92
 
93
93
  function edgeUpdater(insertFn) {
94
94
  return function (store, payload) {
95
+ var _serverEdges;
96
+
95
97
  var record = store.get(payload.dataID);
96
98
 
97
99
  if (record == null) {
@@ -100,29 +102,58 @@ function edgeUpdater(insertFn) {
100
102
 
101
103
  var connections = payload.handleArgs.connections;
102
104
  !(connections != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'MutationHandlers: Expected connection IDs to be specified.') : invariant(false) : void 0;
103
- var serverEdge = record.getLinkedRecord(payload.fieldKey, payload.args);
105
+ var singleServerEdge, serverEdges;
106
+
107
+ try {
108
+ singleServerEdge = record.getLinkedRecord(payload.fieldKey, payload.args);
109
+ } catch (_unused) {}
104
110
 
105
- if (serverEdge == null) {
106
- process.env.NODE_ENV !== "production" ? warning(false, 'MutationHandlers: Expected the server edge to be non-null') : void 0;
111
+ if (!singleServerEdge) {
112
+ try {
113
+ serverEdges = record.getLinkedRecords(payload.fieldKey, payload.args);
114
+ } catch (_unused2) {}
115
+ }
116
+
117
+ if (singleServerEdge == null && serverEdges == null) {
118
+ process.env.NODE_ENV !== "production" ? warning(false, 'MutationHandlers: Expected the server edge to be non-null.') : void 0;
107
119
  return;
108
120
  }
109
121
 
110
- var _iterator2 = (0, _createForOfIteratorHelper2["default"])(connections),
122
+ var serverEdgeList = (_serverEdges = serverEdges) !== null && _serverEdges !== void 0 ? _serverEdges : [singleServerEdge];
123
+
124
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(serverEdgeList),
111
125
  _step2;
112
126
 
113
127
  try {
114
128
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
115
- var connectionID = _step2.value;
116
- var connection = store.get(connectionID);
129
+ var serverEdge = _step2.value;
117
130
 
118
- if (connection == null) {
119
- process.env.NODE_ENV !== "production" ? warning(false, "[Relay][Mutation] The connection with id '".concat(connectionID, "' doesn't exist.")) : void 0;
131
+ if (serverEdge == null) {
120
132
  continue;
121
133
  }
122
134
 
123
- var clientEdge = ConnectionHandler.buildConnectionEdge(store, connection, serverEdge);
124
- !(clientEdge != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'MutationHandlers: Failed to build the edge.') : invariant(false) : void 0;
125
- insertFn(connection, clientEdge);
135
+ var _iterator3 = (0, _createForOfIteratorHelper2["default"])(connections),
136
+ _step3;
137
+
138
+ try {
139
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
140
+ var connectionID = _step3.value;
141
+ var connection = store.get(connectionID);
142
+
143
+ if (connection == null) {
144
+ process.env.NODE_ENV !== "production" ? warning(false, "[Relay][Mutation] The connection with id '".concat(connectionID, "' doesn't exist.")) : void 0;
145
+ continue;
146
+ }
147
+
148
+ var clientEdge = ConnectionHandler.buildConnectionEdge(store, connection, serverEdge);
149
+ !(clientEdge != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'MutationHandlers: Failed to build the edge.') : invariant(false) : void 0;
150
+ insertFn(connection, clientEdge);
151
+ }
152
+ } catch (err) {
153
+ _iterator3.e(err);
154
+ } finally {
155
+ _iterator3.f();
156
+ }
126
157
  }
127
158
  } catch (err) {
128
159
  _iterator2.e(err);
@@ -152,12 +183,12 @@ function nodeUpdater(insertFn) {
152
183
 
153
184
  try {
154
185
  singleServerNode = record.getLinkedRecord(payload.fieldKey, payload.args);
155
- } catch (_unused) {}
186
+ } catch (_unused3) {}
156
187
 
157
188
  if (!singleServerNode) {
158
189
  try {
159
190
  serverNodes = record.getLinkedRecords(payload.fieldKey, payload.args);
160
- } catch (_unused2) {}
191
+ } catch (_unused4) {}
161
192
  }
162
193
 
163
194
  if (singleServerNode == null && serverNodes == null) {
@@ -167,23 +198,23 @@ function nodeUpdater(insertFn) {
167
198
 
168
199
  var serverNodeList = (_serverNodes = serverNodes) !== null && _serverNodes !== void 0 ? _serverNodes : [singleServerNode];
169
200
 
170
- var _iterator3 = (0, _createForOfIteratorHelper2["default"])(serverNodeList),
171
- _step3;
201
+ var _iterator4 = (0, _createForOfIteratorHelper2["default"])(serverNodeList),
202
+ _step4;
172
203
 
173
204
  try {
174
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
175
- var serverNode = _step3.value;
205
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
206
+ var serverNode = _step4.value;
176
207
 
177
208
  if (serverNode == null) {
178
209
  continue;
179
210
  }
180
211
 
181
- var _iterator4 = (0, _createForOfIteratorHelper2["default"])(connections),
182
- _step4;
212
+ var _iterator5 = (0, _createForOfIteratorHelper2["default"])(connections),
213
+ _step5;
183
214
 
184
215
  try {
185
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
186
- var connectionID = _step4.value;
216
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
217
+ var connectionID = _step5.value;
187
218
  var connection = store.get(connectionID);
188
219
 
189
220
  if (connection == null) {
@@ -196,15 +227,15 @@ function nodeUpdater(insertFn) {
196
227
  insertFn(connection, clientEdge);
197
228
  }
198
229
  } catch (err) {
199
- _iterator4.e(err);
230
+ _iterator5.e(err);
200
231
  } finally {
201
- _iterator4.f();
232
+ _iterator5.f();
202
233
  }
203
234
  }
204
235
  } catch (err) {
205
- _iterator3.e(err);
236
+ _iterator4.e(err);
206
237
  } finally {
207
- _iterator3.f();
238
+ _iterator4.f();
208
239
  }
209
240
  };
210
241
  }
@@ -19,6 +19,7 @@ var RelayFeatureFlags = {
19
19
  ENABLE_REQUIRED_DIRECTIVES: false,
20
20
  ENABLE_GETFRAGMENTIDENTIFIER_OPTIMIZATION: false,
21
21
  ENABLE_FRIENDLY_QUERY_NAME_GQL_URL: false,
22
- ENABLE_STORE_SUBSCRIPTIONS_REFACTOR: false
22
+ ENABLE_STORE_SUBSCRIPTIONS_REFACTOR: false,
23
+ ENABLE_LOAD_QUERY_REQUEST_DEDUPING: true
23
24
  };
24
25
  module.exports = RelayFeatureFlags;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relay-runtime",
3
3
  "description": "A core runtime for building GraphQL-driven applications.",
4
- "version": "10.1.2",
4
+ "version": "10.1.3",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"