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.
- package/handlers/connection/MutationHandlers.js.flow +34 -20
- package/index.js +1 -1
- package/index.js.flow +1 -0
- package/lib/handlers/connection/MutationHandlers.js +56 -25
- package/lib/util/RelayFeatureFlags.js +2 -1
- package/package.json +1 -1
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/util/RelayFeatureFlags.js.flow +2 -0
- package/util/getRequestIdentifier.js.flow +1 -1
|
@@ -104,33 +104,47 @@ function edgeUpdater(
|
|
|
104
104
|
connections != null,
|
|
105
105
|
'MutationHandlers: Expected connection IDs to be specified.',
|
|
106
106
|
);
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
if (
|
|
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
|
|
125
|
-
store
|
|
126
|
-
connection
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
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
|
|
105
|
+
var singleServerEdge, serverEdges;
|
|
106
|
+
|
|
107
|
+
try {
|
|
108
|
+
singleServerEdge = record.getLinkedRecord(payload.fieldKey, payload.args);
|
|
109
|
+
} catch (_unused) {}
|
|
104
110
|
|
|
105
|
-
if (
|
|
106
|
-
|
|
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
|
|
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
|
|
116
|
-
var connection = store.get(connectionID);
|
|
129
|
+
var serverEdge = _step2.value;
|
|
117
130
|
|
|
118
|
-
if (
|
|
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
|
|
124
|
-
|
|
125
|
-
|
|
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 (
|
|
186
|
+
} catch (_unused3) {}
|
|
156
187
|
|
|
157
188
|
if (!singleServerNode) {
|
|
158
189
|
try {
|
|
159
190
|
serverNodes = record.getLinkedRecords(payload.fieldKey, payload.args);
|
|
160
|
-
} catch (
|
|
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
|
|
171
|
-
|
|
201
|
+
var _iterator4 = (0, _createForOfIteratorHelper2["default"])(serverNodeList),
|
|
202
|
+
_step4;
|
|
172
203
|
|
|
173
204
|
try {
|
|
174
|
-
for (
|
|
175
|
-
var serverNode =
|
|
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
|
|
182
|
-
|
|
212
|
+
var _iterator5 = (0, _createForOfIteratorHelper2["default"])(connections),
|
|
213
|
+
_step5;
|
|
183
214
|
|
|
184
215
|
try {
|
|
185
|
-
for (
|
|
186
|
-
var connectionID =
|
|
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
|
-
|
|
230
|
+
_iterator5.e(err);
|
|
200
231
|
} finally {
|
|
201
|
-
|
|
232
|
+
_iterator5.f();
|
|
202
233
|
}
|
|
203
234
|
}
|
|
204
235
|
} catch (err) {
|
|
205
|
-
|
|
236
|
+
_iterator4.e(err);
|
|
206
237
|
} finally {
|
|
207
|
-
|
|
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;
|