react-relay 0.0.0-main-9990e6f0 → 0.0.0-main-c587c23e
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/ReactRelayContext.js +1 -1
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/legacy.js +1 -1
- package/lib/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +240 -0
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +38 -39
- package/lib/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +368 -0
- package/lib/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +46 -0
- package/package.json +2 -2
- package/react-relay-hooks.js +1 -1
- package/react-relay-hooks.min.js +1 -1
- package/react-relay-legacy.js +1 -1
- package/react-relay-legacy.min.js +1 -1
- package/react-relay.js +1 -1
- package/react-relay.min.js +1 -1
- package/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js.flow +299 -0
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +22 -22
- package/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js.flow +597 -0
- package/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js.flow +67 -0
package/ReactRelayContext.js
CHANGED
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* @emails oncall+relay
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
// flowlint ambiguous-object-type:error
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
15
|
+
|
|
16
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
17
|
+
|
|
18
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
19
|
+
|
|
20
|
+
var _require = require('../QueryResource'),
|
|
21
|
+
getQueryResourceForEnvironment = _require.getQueryResourceForEnvironment;
|
|
22
|
+
|
|
23
|
+
var invariant = require('invariant');
|
|
24
|
+
|
|
25
|
+
var _require2 = require('relay-runtime'),
|
|
26
|
+
fetchQueryInternal = _require2.__internal.fetchQuery,
|
|
27
|
+
createOperationDescriptor = _require2.createOperationDescriptor,
|
|
28
|
+
getPendingOperationsForFragment = _require2.getPendingOperationsForFragment,
|
|
29
|
+
getSelector = _require2.getSelector,
|
|
30
|
+
getVariablesFromFragment = _require2.getVariablesFromFragment,
|
|
31
|
+
handlePotentialSnapshotErrors = _require2.handlePotentialSnapshotErrors;
|
|
32
|
+
|
|
33
|
+
var warning = require("fbjs/lib/warning");
|
|
34
|
+
|
|
35
|
+
function isMissingData(state) {
|
|
36
|
+
if (state.kind === 'bailout') {
|
|
37
|
+
return false;
|
|
38
|
+
} else if (state.kind === 'singular') {
|
|
39
|
+
return state.snapshot.isMissingData;
|
|
40
|
+
} else {
|
|
41
|
+
return state.snapshots.some(function (s) {
|
|
42
|
+
return s.isMissingData;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getMissingClientEdges(state) {
|
|
48
|
+
if (state.kind === 'bailout') {
|
|
49
|
+
return null;
|
|
50
|
+
} else if (state.kind === 'singular') {
|
|
51
|
+
var _state$snapshot$missi;
|
|
52
|
+
|
|
53
|
+
return (_state$snapshot$missi = state.snapshot.missingClientEdges) !== null && _state$snapshot$missi !== void 0 ? _state$snapshot$missi : null;
|
|
54
|
+
} else {
|
|
55
|
+
var edges = null;
|
|
56
|
+
|
|
57
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(state.snapshots),
|
|
58
|
+
_step;
|
|
59
|
+
|
|
60
|
+
try {
|
|
61
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
62
|
+
var snapshot = _step.value;
|
|
63
|
+
|
|
64
|
+
if (snapshot.missingClientEdges) {
|
|
65
|
+
var _edges;
|
|
66
|
+
|
|
67
|
+
edges = (_edges = edges) !== null && _edges !== void 0 ? _edges : [];
|
|
68
|
+
|
|
69
|
+
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(snapshot.missingClientEdges),
|
|
70
|
+
_step2;
|
|
71
|
+
|
|
72
|
+
try {
|
|
73
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
74
|
+
var edge = _step2.value;
|
|
75
|
+
edges.push(edge);
|
|
76
|
+
}
|
|
77
|
+
} catch (err) {
|
|
78
|
+
_iterator2.e(err);
|
|
79
|
+
} finally {
|
|
80
|
+
_iterator2.f();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
} catch (err) {
|
|
85
|
+
_iterator.e(err);
|
|
86
|
+
} finally {
|
|
87
|
+
_iterator.f();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return edges;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function handlePotentialSnapshotErrorsForState(environment, state) {
|
|
95
|
+
if (state.kind === 'singular') {
|
|
96
|
+
handlePotentialSnapshotErrors(environment, state.snapshot.missingRequiredFields, state.snapshot.relayResolverErrors);
|
|
97
|
+
} else if (state.kind === 'plural') {
|
|
98
|
+
var _iterator3 = (0, _createForOfIteratorHelper2["default"])(state.snapshots),
|
|
99
|
+
_step3;
|
|
100
|
+
|
|
101
|
+
try {
|
|
102
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
103
|
+
var snapshot = _step3.value;
|
|
104
|
+
handlePotentialSnapshotErrors(environment, snapshot.missingRequiredFields, snapshot.relayResolverErrors);
|
|
105
|
+
}
|
|
106
|
+
} catch (err) {
|
|
107
|
+
_iterator3.e(err);
|
|
108
|
+
} finally {
|
|
109
|
+
_iterator3.f();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function handleMissingClientEdge(environment, parentFragmentNode, parentFragmentRef, missingClientEdgeRequestInfo, queryOptions) {
|
|
115
|
+
var originalVariables = getVariablesFromFragment(parentFragmentNode, parentFragmentRef);
|
|
116
|
+
var variables = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, originalVariables), {}, {
|
|
117
|
+
id: missingClientEdgeRequestInfo.clientEdgeDestinationID // TODO should be a reserved name
|
|
118
|
+
|
|
119
|
+
});
|
|
120
|
+
var queryOperationDescriptor = createOperationDescriptor(missingClientEdgeRequestInfo.request, variables, queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.networkCacheConfig); // This may suspend. We don't need to do anything with the results; all we're
|
|
121
|
+
// doing here is started the query if needed and retaining and releasing it
|
|
122
|
+
// according to the component mount/suspense cycle; QueryResource
|
|
123
|
+
// already handles this by itself.
|
|
124
|
+
|
|
125
|
+
var QueryResource = getQueryResourceForEnvironment(environment);
|
|
126
|
+
return QueryResource.prepare(queryOperationDescriptor, fetchQueryInternal(environment, queryOperationDescriptor), queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function getFragmentState(environment, fragmentSelector) {
|
|
130
|
+
if (fragmentSelector == null) {
|
|
131
|
+
return {
|
|
132
|
+
kind: 'bailout'
|
|
133
|
+
};
|
|
134
|
+
} else if (fragmentSelector.kind === 'PluralReaderSelector') {
|
|
135
|
+
if (fragmentSelector.selectors.length === 0) {
|
|
136
|
+
return {
|
|
137
|
+
kind: 'bailout'
|
|
138
|
+
};
|
|
139
|
+
} else {
|
|
140
|
+
return {
|
|
141
|
+
kind: 'plural',
|
|
142
|
+
snapshots: fragmentSelector.selectors.map(function (s) {
|
|
143
|
+
return environment.lookup(s);
|
|
144
|
+
}),
|
|
145
|
+
epoch: environment.getStore().getEpoch()
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
return {
|
|
150
|
+
kind: 'singular',
|
|
151
|
+
snapshot: environment.lookup(fragmentSelector),
|
|
152
|
+
epoch: environment.getStore().getEpoch()
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
} // fragmentNode cannot change during the lifetime of the component, though fragmentRef may change.
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
function readFragmentInternal_REACT_CACHE(environment, fragmentNode, fragmentRef, hookDisplayName, queryOptions, fragmentKey) {
|
|
159
|
+
var _fragmentNode$metadat, _fragmentNode$metadat2;
|
|
160
|
+
|
|
161
|
+
var fragmentSelector = getSelector(fragmentNode, fragmentRef);
|
|
162
|
+
var isPlural = (fragmentNode === null || fragmentNode === void 0 ? void 0 : (_fragmentNode$metadat = fragmentNode.metadata) === null || _fragmentNode$metadat === void 0 ? void 0 : _fragmentNode$metadat.plural) === true;
|
|
163
|
+
|
|
164
|
+
if (isPlural) {
|
|
165
|
+
!(fragmentRef == null || Array.isArray(fragmentRef)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected fragment pointer%s for fragment `%s` to be ' + 'an array, instead got `%s`. Remove `@relay(plural: true)` ' + 'from fragment `%s` to allow the prop to be an object.', fragmentKey != null ? " for key `".concat(fragmentKey, "`") : '', fragmentNode.name, typeof fragmentRef, fragmentNode.name) : invariant(false) : void 0;
|
|
166
|
+
} else {
|
|
167
|
+
!!Array.isArray(fragmentRef) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected fragment pointer%s for fragment `%s` not to be ' + 'an array, instead got `%s`. Add `@relay(plural: true)` ' + 'to fragment `%s` to allow the prop to be an array.', fragmentKey != null ? " for key `".concat(fragmentKey, "`") : '', fragmentNode.name, typeof fragmentRef, fragmentNode.name) : invariant(false) : void 0;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
!(fragmentRef == null || isPlural && Array.isArray(fragmentRef) && fragmentRef.length === 0 || fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Relay: Expected to receive an object where `...%s` was spread, ' + 'but the fragment reference was not found`. This is most ' + 'likely the result of:\n' + "- Forgetting to spread `%s` in `%s`'s parent's fragment.\n" + '- Conditionally fetching `%s` but unconditionally passing %s prop ' + 'to `%s`. If the parent fragment only fetches the fragment conditionally ' + '- with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` ' + 'spread - then the fragment reference will not exist. ' + 'In this case, pass `null` if the conditions for evaluating the ' + 'fragment are not met (e.g. if the `@include(if)` value is false.)', fragmentNode.name, fragmentNode.name, hookDisplayName, fragmentNode.name, fragmentKey == null ? 'a fragment reference' : "the `".concat(fragmentKey, "`"), hookDisplayName) : invariant(false) : void 0;
|
|
171
|
+
var state = getFragmentState(environment, fragmentSelector); // Handle the queries for any missing client edges; this may suspend.
|
|
172
|
+
// FIXME handle client edges in parallel.
|
|
173
|
+
|
|
174
|
+
var clientEdgeQueries = null;
|
|
175
|
+
|
|
176
|
+
if (((_fragmentNode$metadat2 = fragmentNode.metadata) === null || _fragmentNode$metadat2 === void 0 ? void 0 : _fragmentNode$metadat2.hasClientEdges) === true) {
|
|
177
|
+
var missingClientEdges = getMissingClientEdges(state);
|
|
178
|
+
|
|
179
|
+
if (missingClientEdges === null || missingClientEdges === void 0 ? void 0 : missingClientEdges.length) {
|
|
180
|
+
clientEdgeQueries = [];
|
|
181
|
+
|
|
182
|
+
var _iterator4 = (0, _createForOfIteratorHelper2["default"])(missingClientEdges),
|
|
183
|
+
_step4;
|
|
184
|
+
|
|
185
|
+
try {
|
|
186
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
187
|
+
var edge = _step4.value;
|
|
188
|
+
clientEdgeQueries.push(handleMissingClientEdge(environment, fragmentNode, fragmentRef, edge, queryOptions));
|
|
189
|
+
}
|
|
190
|
+
} catch (err) {
|
|
191
|
+
_iterator4.e(err);
|
|
192
|
+
} finally {
|
|
193
|
+
_iterator4.f();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (isMissingData(state)) {
|
|
199
|
+
// Suspend if an active operation bears on this fragment, either the
|
|
200
|
+
// fragment's owner or some other mutation etc. that could affect it:
|
|
201
|
+
!(fragmentSelector != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'refinement, see invariants above') : invariant(false) : void 0;
|
|
202
|
+
var fragmentOwner = fragmentSelector.kind === 'PluralReaderSelector' ? fragmentSelector.selectors[0].owner : fragmentSelector.owner;
|
|
203
|
+
var pendingOperationsResult = getPendingOperationsForFragment(environment, fragmentNode, fragmentOwner);
|
|
204
|
+
|
|
205
|
+
if (pendingOperationsResult) {
|
|
206
|
+
throw pendingOperationsResult.promise;
|
|
207
|
+
} // Report required fields only if we're not suspending, since that means
|
|
208
|
+
// they're missing even though we are out of options for possibly fetching them:
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
handlePotentialSnapshotErrorsForState(environment, state);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
var data;
|
|
215
|
+
|
|
216
|
+
if (state.kind === 'bailout') {
|
|
217
|
+
data = isPlural ? [] : null;
|
|
218
|
+
} else if (state.kind === 'singular') {
|
|
219
|
+
data = state.snapshot.data;
|
|
220
|
+
} else {
|
|
221
|
+
data = state.snapshots.map(function (s) {
|
|
222
|
+
return s.data;
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (process.env.NODE_ENV !== "production") {
|
|
227
|
+
if (fragmentRef != null && (data === undefined || Array.isArray(data) && data.length > 0 && data.every(function (d) {
|
|
228
|
+
return d === undefined;
|
|
229
|
+
}))) {
|
|
230
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Relay: Expected to have been able to read non-null data for ' + 'fragment `%s` declared in ' + '`%s`, since fragment reference was non-null. ' + "Make sure that that `%s`'s parent isn't " + 'holding on to and/or passing a fragment reference for data that ' + 'has been deleted.', fragmentNode.name, hookDisplayName, hookDisplayName) : void 0;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
return {
|
|
235
|
+
data: data,
|
|
236
|
+
clientEdgeQueries: clientEdgeQueries
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
module.exports = readFragmentInternal_REACT_CACHE;
|
|
@@ -19,27 +19,29 @@ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime
|
|
|
19
19
|
|
|
20
20
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _require = require('../QueryResource'),
|
|
23
|
+
getQueryResourceForEnvironment = _require.getQueryResourceForEnvironment;
|
|
23
24
|
|
|
24
|
-
var
|
|
25
|
+
var useRelayEnvironment = require('../useRelayEnvironment');
|
|
25
26
|
|
|
26
27
|
var invariant = require('invariant');
|
|
27
28
|
|
|
28
|
-
var
|
|
29
|
-
useDebugValue =
|
|
30
|
-
useEffect =
|
|
31
|
-
useMemo =
|
|
32
|
-
useRef =
|
|
33
|
-
useState =
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
var _require2 = require('react'),
|
|
30
|
+
useDebugValue = _require2.useDebugValue,
|
|
31
|
+
useEffect = _require2.useEffect,
|
|
32
|
+
useMemo = _require2.useMemo,
|
|
33
|
+
useRef = _require2.useRef,
|
|
34
|
+
useState = _require2.useState;
|
|
35
|
+
|
|
36
|
+
var _require3 = require('relay-runtime'),
|
|
37
|
+
fetchQueryInternal = _require3.__internal.fetchQuery,
|
|
38
|
+
areEqualSelectors = _require3.areEqualSelectors,
|
|
39
|
+
createOperationDescriptor = _require3.createOperationDescriptor,
|
|
40
|
+
getPendingOperationsForFragment = _require3.getPendingOperationsForFragment,
|
|
41
|
+
getSelector = _require3.getSelector,
|
|
42
|
+
getVariablesFromFragment = _require3.getVariablesFromFragment,
|
|
43
|
+
handlePotentialSnapshotErrors = _require3.handlePotentialSnapshotErrors,
|
|
44
|
+
recycleNodesInto = _require3.recycleNodesInto;
|
|
43
45
|
|
|
44
46
|
var warning = require("fbjs/lib/warning");
|
|
45
47
|
|
|
@@ -205,16 +207,11 @@ function handleMissingClientEdge(environment, parentFragmentNode, parentFragment
|
|
|
205
207
|
});
|
|
206
208
|
var queryOperationDescriptor = createOperationDescriptor(missingClientEdgeRequestInfo.request, variables, queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.networkCacheConfig); // This may suspend. We don't need to do anything with the results; all we're
|
|
207
209
|
// doing here is started the query if needed and retaining and releasing it
|
|
208
|
-
// according to the component mount/suspense cycle;
|
|
210
|
+
// according to the component mount/suspense cycle; QueryResource
|
|
209
211
|
// already handles this by itself.
|
|
210
212
|
|
|
211
|
-
var
|
|
212
|
-
|
|
213
|
-
}),
|
|
214
|
-
_ = _getQueryResultOrFetc[0],
|
|
215
|
-
effect = _getQueryResultOrFetc[1];
|
|
216
|
-
|
|
217
|
-
return effect;
|
|
213
|
+
var QueryResource = getQueryResourceForEnvironment(environment);
|
|
214
|
+
return QueryResource.prepare(queryOperationDescriptor, fetchQueryInternal(environment, queryOperationDescriptor), queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy);
|
|
218
215
|
}
|
|
219
216
|
|
|
220
217
|
function subscribeToSnapshot(environment, state, setState) {
|
|
@@ -374,13 +371,13 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
374
371
|
// a static (constant) property of the fragment. In practice, this effect will
|
|
375
372
|
// always or never run for a given invocation of this hook.
|
|
376
373
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
377
|
-
var
|
|
374
|
+
var clientEdgeQueries = useMemo(function () {
|
|
378
375
|
var missingClientEdges = getMissingClientEdges(state); // eslint-disable-next-line no-shadow
|
|
379
376
|
|
|
380
|
-
var
|
|
377
|
+
var clientEdgeQueries;
|
|
381
378
|
|
|
382
379
|
if (missingClientEdges === null || missingClientEdges === void 0 ? void 0 : missingClientEdges.length) {
|
|
383
|
-
|
|
380
|
+
clientEdgeQueries = [];
|
|
384
381
|
|
|
385
382
|
var _iterator5 = (0, _createForOfIteratorHelper2["default"])(missingClientEdges),
|
|
386
383
|
_step5;
|
|
@@ -388,7 +385,7 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
388
385
|
try {
|
|
389
386
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
390
387
|
var edge = _step5.value;
|
|
391
|
-
|
|
388
|
+
clientEdgeQueries.push(handleMissingClientEdge(environment, fragmentNode, fragmentRef, edge, queryOptions));
|
|
392
389
|
}
|
|
393
390
|
} catch (err) {
|
|
394
391
|
_iterator5.e(err);
|
|
@@ -397,21 +394,23 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
397
394
|
}
|
|
398
395
|
}
|
|
399
396
|
|
|
400
|
-
return
|
|
397
|
+
return clientEdgeQueries;
|
|
401
398
|
}, [state, environment, fragmentNode, fragmentRef, queryOptions]); // See above note
|
|
402
399
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
403
400
|
|
|
404
401
|
useEffect(function () {
|
|
405
|
-
|
|
406
|
-
|
|
402
|
+
var QueryResource = getQueryResourceForEnvironment(environment);
|
|
403
|
+
|
|
404
|
+
if (clientEdgeQueries === null || clientEdgeQueries === void 0 ? void 0 : clientEdgeQueries.length) {
|
|
405
|
+
var disposables = [];
|
|
407
406
|
|
|
408
|
-
var _iterator6 = (0, _createForOfIteratorHelper2["default"])(
|
|
407
|
+
var _iterator6 = (0, _createForOfIteratorHelper2["default"])(clientEdgeQueries),
|
|
409
408
|
_step6;
|
|
410
409
|
|
|
411
410
|
try {
|
|
412
411
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
413
|
-
var
|
|
414
|
-
|
|
412
|
+
var query = _step6.value;
|
|
413
|
+
disposables.push(QueryResource.retain(query));
|
|
415
414
|
}
|
|
416
415
|
} catch (err) {
|
|
417
416
|
_iterator6.e(err);
|
|
@@ -420,13 +419,13 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
420
419
|
}
|
|
421
420
|
|
|
422
421
|
return function () {
|
|
423
|
-
var _iterator7 = (0, _createForOfIteratorHelper2["default"])(
|
|
422
|
+
var _iterator7 = (0, _createForOfIteratorHelper2["default"])(disposables),
|
|
424
423
|
_step7;
|
|
425
424
|
|
|
426
425
|
try {
|
|
427
426
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
428
|
-
var
|
|
429
|
-
|
|
427
|
+
var disposable = _step7.value;
|
|
428
|
+
disposable.dispose();
|
|
430
429
|
}
|
|
431
430
|
} catch (err) {
|
|
432
431
|
_iterator7.e(err);
|
|
@@ -435,7 +434,7 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
435
434
|
}
|
|
436
435
|
};
|
|
437
436
|
}
|
|
438
|
-
}, [
|
|
437
|
+
}, [environment, clientEdgeQueries]);
|
|
439
438
|
}
|
|
440
439
|
|
|
441
440
|
if (isMissingData(state)) {
|