react-relay 0.0.0-main-84c633f9 → 0.0.0-main-9bfa44e8
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/ReactRelayLocalQueryRenderer.js.flow +1 -1
- package/ReactRelayPaginationContainer.js.flow +11 -10
- package/ReactRelayQueryFetcher.js.flow +18 -5
- package/ReactRelayQueryRenderer.js.flow +26 -1
- package/ReactRelayRefetchContainer.js.flow +2 -2
- package/ReactRelayTestMocker.js.flow +2 -1
- package/__flowtests__/ReactRelayFragmentContainer-flowtest.js.flow +1 -1
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/legacy.js +1 -1
- package/lib/ReactRelayQueryFetcher.js +22 -5
- package/lib/ReactRelayQueryRenderer.js +30 -5
- 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 +2 -2
- package/react-relay-legacy.min.js +2 -2
- package/react-relay.js +2 -2
- package/react-relay.min.js +2 -2
- package/relay-hooks/FragmentResource.js.flow +1 -1
- package/relay-hooks/QueryResource.js.flow +1 -1
- package/relay-hooks/preloadQuery_DEPRECATED.js.flow +1 -1
- package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +9 -5
- package/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js.flow +2 -2
- package/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js.flow +1 -1
- package/relay-hooks/useEntryPointLoader.js.flow +9 -5
- package/relay-hooks/useFragment.js.flow +1 -1
- package/relay-hooks/useLazyLoadQuery.js.flow +1 -1
- package/relay-hooks/useMutation.js.flow +1 -1
- package/relay-hooks/usePaginationFragment.js.flow +1 -1
- package/relay-hooks/usePreloadedQuery.js.flow +1 -1
- package/relay-hooks/useQueryLoader.js.flow +1 -1
package/ReactRelayContext.js
CHANGED
|
@@ -64,7 +64,7 @@ function ReactRelayLocalQueryRenderer(props: Props): React.Node {
|
|
|
64
64
|
// Use a ref to prevent rendering twice when data changes
|
|
65
65
|
// because of props change
|
|
66
66
|
const dataRef = useRef<?SelectorData>(null);
|
|
67
|
-
const [, forceUpdate] = useState(null);
|
|
67
|
+
const [, forceUpdate] = useState<?SelectorData>(null);
|
|
68
68
|
const cleanupFnRef = useRef<null | (() => void)>(null);
|
|
69
69
|
|
|
70
70
|
const snapshot = useMemo(() => {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
'use strict';
|
|
13
13
|
|
|
14
|
+
import type {Sink} from '../relay-runtime/network/RelayObservable';
|
|
14
15
|
import type {
|
|
15
16
|
GeneratedNodeMap,
|
|
16
17
|
ObserverOrCallback,
|
|
@@ -255,9 +256,9 @@ function createGetFragmentVariables(
|
|
|
255
256
|
'ReactRelayPaginationContainer: Unable to synthesize a ' +
|
|
256
257
|
'getFragmentVariables function.',
|
|
257
258
|
);
|
|
258
|
-
return (prevVars: Variables, totalCount: number) => ({
|
|
259
|
+
return (prevVars: Variables, totalCount: number): Variables => ({
|
|
259
260
|
...prevVars,
|
|
260
|
-
[countVariable]: totalCount,
|
|
261
|
+
[(countVariable: string)]: totalCount,
|
|
261
262
|
});
|
|
262
263
|
}
|
|
263
264
|
|
|
@@ -770,7 +771,7 @@ function createContainerWithFragments<
|
|
|
770
771
|
...restProps,
|
|
771
772
|
...this.state.data,
|
|
772
773
|
};
|
|
773
|
-
let fragmentVariables;
|
|
774
|
+
let fragmentVariables: Variables;
|
|
774
775
|
const rootVariables = getRootVariablesForFragments(fragments, restProps);
|
|
775
776
|
fragmentVariables = getVariablesFromObject(fragments, restProps);
|
|
776
777
|
fragmentVariables = {
|
|
@@ -778,7 +779,7 @@ function createContainerWithFragments<
|
|
|
778
779
|
...fragmentVariables,
|
|
779
780
|
...this._refetchVariables,
|
|
780
781
|
};
|
|
781
|
-
let fetchVariables = connectionConfig.getVariables(
|
|
782
|
+
let fetchVariables: Variables = connectionConfig.getVariables(
|
|
782
783
|
props,
|
|
783
784
|
{
|
|
784
785
|
count: paginatingVariables.count,
|
|
@@ -793,14 +794,14 @@ function createContainerWithFragments<
|
|
|
793
794
|
fetchVariables,
|
|
794
795
|
componentName,
|
|
795
796
|
);
|
|
796
|
-
fetchVariables = {
|
|
797
|
+
fetchVariables = ({
|
|
797
798
|
...fetchVariables,
|
|
798
799
|
...this._refetchVariables,
|
|
799
|
-
};
|
|
800
|
-
fragmentVariables = {
|
|
800
|
+
}: Variables);
|
|
801
|
+
fragmentVariables = ({
|
|
801
802
|
...fetchVariables,
|
|
802
803
|
...fragmentVariables,
|
|
803
|
-
};
|
|
804
|
+
}: Variables);
|
|
804
805
|
|
|
805
806
|
const cacheConfig: ?CacheConfig = options
|
|
806
807
|
? {force: !!options.force}
|
|
@@ -871,8 +872,8 @@ function createContainerWithFragments<
|
|
|
871
872
|
operation,
|
|
872
873
|
preservePreviousReferences: true,
|
|
873
874
|
})
|
|
874
|
-
.mergeMap(payload =>
|
|
875
|
-
Observable.create(sink => {
|
|
875
|
+
.mergeMap<void>(payload =>
|
|
876
|
+
Observable.create<void>((sink: Sink<void>) => {
|
|
876
877
|
onNext(payload, () => {
|
|
877
878
|
sink.next(); // pass void to public observer's `next`
|
|
878
879
|
sink.complete();
|
|
@@ -63,7 +63,7 @@ class ReactRelayQueryFetcher {
|
|
|
63
63
|
_snapshot: ?Snapshot; // results of the root fragment;
|
|
64
64
|
_error: ?Error; // fetch error
|
|
65
65
|
_cacheSelectionReference: ?Disposable;
|
|
66
|
-
|
|
66
|
+
_didFetchFinish: boolean = false;
|
|
67
67
|
|
|
68
68
|
constructor(args?: {
|
|
69
69
|
cacheSelectionReference: ?Disposable,
|
|
@@ -103,6 +103,19 @@ class ReactRelayQueryFetcher {
|
|
|
103
103
|
return null;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
getFetchResult(): ?{error?: Error, snapshot?: Snapshot} {
|
|
107
|
+
if (this._didFetchFinish) {
|
|
108
|
+
// We don't reset '_didFetchFinish' because another callback may be set
|
|
109
|
+
if (this._error != null) {
|
|
110
|
+
return {error: this._error};
|
|
111
|
+
} else if (this._snapshot != null) {
|
|
112
|
+
return {snapshot: this._snapshot};
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
106
119
|
execute({
|
|
107
120
|
environment,
|
|
108
121
|
operation,
|
|
@@ -152,8 +165,8 @@ class ReactRelayQueryFetcher {
|
|
|
152
165
|
this._fetchOptions.onDataChangeCallbacks || [];
|
|
153
166
|
this._fetchOptions.onDataChangeCallbacks.push(onDataChange);
|
|
154
167
|
|
|
155
|
-
if (this.
|
|
156
|
-
// We don't reset '
|
|
168
|
+
if (this._didFetchFinish) {
|
|
169
|
+
// We don't reset '_didFetchFinish' because another callback may be set
|
|
157
170
|
if (this._error != null) {
|
|
158
171
|
onDataChange({error: this._error});
|
|
159
172
|
} else if (this._snapshot != null) {
|
|
@@ -216,7 +229,7 @@ class ReactRelayQueryFetcher {
|
|
|
216
229
|
next: () => {
|
|
217
230
|
// If we received a response,
|
|
218
231
|
// Make a note that to notify the callback when it's later added.
|
|
219
|
-
this.
|
|
232
|
+
this._didFetchFinish = true;
|
|
220
233
|
this._error = null;
|
|
221
234
|
|
|
222
235
|
// Only notify of the first result if `next` is being called **asynchronously**
|
|
@@ -226,7 +239,7 @@ class ReactRelayQueryFetcher {
|
|
|
226
239
|
error: err => {
|
|
227
240
|
// If we received a response when we didn't have a change callback,
|
|
228
241
|
// Make a note that to notify the callback when it's later added.
|
|
229
|
-
this.
|
|
242
|
+
this._didFetchFinish = true;
|
|
230
243
|
this._error = err;
|
|
231
244
|
this._snapshot = null;
|
|
232
245
|
|
|
@@ -21,6 +21,7 @@ import type {
|
|
|
21
21
|
Snapshot,
|
|
22
22
|
Variables,
|
|
23
23
|
} from 'relay-runtime';
|
|
24
|
+
const {RelayFeatureFlags} = require('relay-runtime');
|
|
24
25
|
|
|
25
26
|
const ReactRelayContext = require('./ReactRelayContext');
|
|
26
27
|
const ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
|
|
@@ -173,7 +174,31 @@ class ReactRelayQueryRenderer extends React.Component<Props, State> {
|
|
|
173
174
|
const newState = resetQueryStateForUpdate(this.props, prevState);
|
|
174
175
|
const {requestCacheKey, queryFetcher} = newState;
|
|
175
176
|
if (requestCacheKey != null && requestCache[requestCacheKey] != null) {
|
|
176
|
-
|
|
177
|
+
if (RelayFeatureFlags.ENABLE_QUERY_RENDERER_SET_STATE_PREVENTION) {
|
|
178
|
+
const fetchResult = queryFetcher.getFetchResult();
|
|
179
|
+
if (fetchResult != null) {
|
|
180
|
+
const snapshot = fetchResult.snapshot ?? null;
|
|
181
|
+
const error = fetchResult.error ?? null;
|
|
182
|
+
|
|
183
|
+
const {requestCacheKey: prevRequestCacheKey} = prevState;
|
|
184
|
+
if (prevRequestCacheKey != null) {
|
|
185
|
+
delete requestCache[prevRequestCacheKey];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
newState.renderProps = getRenderProps(
|
|
189
|
+
error,
|
|
190
|
+
snapshot,
|
|
191
|
+
queryFetcher,
|
|
192
|
+
prevState.retryCallbacks,
|
|
193
|
+
);
|
|
194
|
+
newState.snapshot = snapshot;
|
|
195
|
+
newState.requestCacheKey = null;
|
|
196
|
+
} else {
|
|
197
|
+
queryFetcher.setOnDataChange(this._handleDataChange);
|
|
198
|
+
}
|
|
199
|
+
} else {
|
|
200
|
+
queryFetcher.setOnDataChange(this._handleDataChange);
|
|
201
|
+
}
|
|
177
202
|
}
|
|
178
203
|
return newState;
|
|
179
204
|
});
|
|
@@ -407,12 +407,12 @@ function createContainerWithFragments<
|
|
|
407
407
|
// TODO (T26430099): Cleanup old references
|
|
408
408
|
preservePreviousReferences: true,
|
|
409
409
|
})
|
|
410
|
-
.mergeMap(response => {
|
|
410
|
+
.mergeMap<void>(response => {
|
|
411
411
|
this.state.resolver.setVariables(
|
|
412
412
|
fragmentVariables,
|
|
413
413
|
operation.request.node,
|
|
414
414
|
);
|
|
415
|
-
return Observable.create(sink =>
|
|
415
|
+
return Observable.create<void>(sink =>
|
|
416
416
|
this.setState(
|
|
417
417
|
latestState => ({
|
|
418
418
|
data: latestState.resolver.resolve(),
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
CacheConfig,
|
|
16
16
|
ConcreteRequest,
|
|
17
17
|
GraphQLSingularResponse,
|
|
18
|
+
GraphQLResponse,
|
|
18
19
|
IEnvironment,
|
|
19
20
|
PayloadError,
|
|
20
21
|
RequestParameters,
|
|
@@ -146,7 +147,7 @@ class ReactRelayTestMocker {
|
|
|
146
147
|
) => {
|
|
147
148
|
let resolve;
|
|
148
149
|
let reject;
|
|
149
|
-
const promise = new Promise((res, rej) => {
|
|
150
|
+
const promise = new Promise<GraphQLResponse>((res, rej) => {
|
|
150
151
|
resolve = res;
|
|
151
152
|
reject = rej;
|
|
152
153
|
});
|
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -24,7 +24,7 @@ var _require = require('relay-runtime'),
|
|
|
24
24
|
var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
25
25
|
function ReactRelayQueryFetcher(args) {
|
|
26
26
|
(0, _defineProperty2["default"])(this, "_selectionReferences", []);
|
|
27
|
-
(0, _defineProperty2["default"])(this, "
|
|
27
|
+
(0, _defineProperty2["default"])(this, "_didFetchFinish", false);
|
|
28
28
|
|
|
29
29
|
if (args != null) {
|
|
30
30
|
this._cacheSelectionReference = args.cacheSelectionReference;
|
|
@@ -53,6 +53,23 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
53
53
|
return null;
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
+
_proto.getFetchResult = function getFetchResult() {
|
|
57
|
+
if (this._didFetchFinish) {
|
|
58
|
+
// We don't reset '_didFetchFinish' because another callback may be set
|
|
59
|
+
if (this._error != null) {
|
|
60
|
+
return {
|
|
61
|
+
error: this._error
|
|
62
|
+
};
|
|
63
|
+
} else if (this._snapshot != null) {
|
|
64
|
+
return {
|
|
65
|
+
snapshot: this._snapshot
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
56
73
|
_proto.execute = function execute(_ref) {
|
|
57
74
|
var _this = this;
|
|
58
75
|
|
|
@@ -109,8 +126,8 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
109
126
|
|
|
110
127
|
this._fetchOptions.onDataChangeCallbacks.push(onDataChange);
|
|
111
128
|
|
|
112
|
-
if (this.
|
|
113
|
-
// We don't reset '
|
|
129
|
+
if (this._didFetchFinish) {
|
|
130
|
+
// We don't reset '_didFetchFinish' because another callback may be set
|
|
114
131
|
if (this._error != null) {
|
|
115
132
|
onDataChange({
|
|
116
133
|
error: this._error
|
|
@@ -167,7 +184,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
167
184
|
next: function next() {
|
|
168
185
|
// If we received a response,
|
|
169
186
|
// Make a note that to notify the callback when it's later added.
|
|
170
|
-
_this2.
|
|
187
|
+
_this2._didFetchFinish = true;
|
|
171
188
|
_this2._error = null; // Only notify of the first result if `next` is being called **asynchronously**
|
|
172
189
|
// (i.e. after `fetch` has returned).
|
|
173
190
|
|
|
@@ -178,7 +195,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
|
|
|
178
195
|
error: function error(err) {
|
|
179
196
|
// If we received a response when we didn't have a change callback,
|
|
180
197
|
// Make a note that to notify the callback when it's later added.
|
|
181
|
-
_this2.
|
|
198
|
+
_this2._didFetchFinish = true;
|
|
182
199
|
_this2._error = err;
|
|
183
200
|
_this2._snapshot = null;
|
|
184
201
|
var onDataChangeCallbacks = _this2._fetchOptions && _this2._fetchOptions.onDataChangeCallbacks; // Only notify of error if `error` is being called **asynchronously**
|
|
@@ -20,6 +20,9 @@ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inh
|
|
|
20
20
|
|
|
21
21
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
22
22
|
|
|
23
|
+
var _require = require('relay-runtime'),
|
|
24
|
+
RelayFeatureFlags = _require.RelayFeatureFlags;
|
|
25
|
+
|
|
23
26
|
var ReactRelayContext = require('./ReactRelayContext');
|
|
24
27
|
|
|
25
28
|
var ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
|
|
@@ -30,10 +33,10 @@ var areEqual = require("fbjs/lib/areEqual");
|
|
|
30
33
|
|
|
31
34
|
var React = require('react');
|
|
32
35
|
|
|
33
|
-
var
|
|
34
|
-
createOperationDescriptor =
|
|
35
|
-
deepFreeze =
|
|
36
|
-
getRequest =
|
|
36
|
+
var _require2 = require('relay-runtime'),
|
|
37
|
+
createOperationDescriptor = _require2.createOperationDescriptor,
|
|
38
|
+
deepFreeze = _require2.deepFreeze,
|
|
39
|
+
getRequest = _require2.getRequest;
|
|
37
40
|
|
|
38
41
|
/**
|
|
39
42
|
* React may double-fire the constructor, and we call 'fetch' in the
|
|
@@ -146,7 +149,29 @@ var ReactRelayQueryRenderer = /*#__PURE__*/function (_React$Component) {
|
|
|
146
149
|
queryFetcher = newState.queryFetcher;
|
|
147
150
|
|
|
148
151
|
if (requestCacheKey != null && requestCache[requestCacheKey] != null) {
|
|
149
|
-
|
|
152
|
+
if (RelayFeatureFlags.ENABLE_QUERY_RENDERER_SET_STATE_PREVENTION) {
|
|
153
|
+
var fetchResult = queryFetcher.getFetchResult();
|
|
154
|
+
|
|
155
|
+
if (fetchResult != null) {
|
|
156
|
+
var _fetchResult$snapshot, _fetchResult$error;
|
|
157
|
+
|
|
158
|
+
var snapshot = (_fetchResult$snapshot = fetchResult.snapshot) !== null && _fetchResult$snapshot !== void 0 ? _fetchResult$snapshot : null;
|
|
159
|
+
var error = (_fetchResult$error = fetchResult.error) !== null && _fetchResult$error !== void 0 ? _fetchResult$error : null;
|
|
160
|
+
var prevRequestCacheKey = prevState.requestCacheKey;
|
|
161
|
+
|
|
162
|
+
if (prevRequestCacheKey != null) {
|
|
163
|
+
delete requestCache[prevRequestCacheKey];
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
newState.renderProps = getRenderProps(error, snapshot, queryFetcher, prevState.retryCallbacks);
|
|
167
|
+
newState.snapshot = snapshot;
|
|
168
|
+
newState.requestCacheKey = null;
|
|
169
|
+
} else {
|
|
170
|
+
queryFetcher.setOnDataChange(_this2._handleDataChange);
|
|
171
|
+
}
|
|
172
|
+
} else {
|
|
173
|
+
queryFetcher.setOnDataChange(_this2._handleDataChange);
|
|
174
|
+
}
|
|
150
175
|
}
|
|
151
176
|
|
|
152
177
|
return newState;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-relay",
|
|
3
3
|
"description": "A framework for building GraphQL-driven React applications.",
|
|
4
|
-
"version": "0.0.0-main-
|
|
4
|
+
"version": "0.0.0-main-9bfa44e8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
7
7
|
"relay",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"fbjs": "^3.0.2",
|
|
21
21
|
"invariant": "^2.2.4",
|
|
22
22
|
"nullthrows": "^1.1.1",
|
|
23
|
-
"relay-runtime": "0.0.0-main-
|
|
23
|
+
"relay-runtime": "0.0.0-main-9bfa44e8"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"react": "^16.9.0 || ^17 || ^18"
|
package/react-relay-hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-9bfa44e8
|
|
3
3
|
*/
|
|
4
4
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):"function"==typeof define&&define.amd?define(["react","relay-runtime","invariant","@babel/runtime/helpers/interopRequireDefault","fbjs/lib/warning","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/defineProperty","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual"],t):"object"==typeof exports?exports.ReactRelayHooks=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):e.ReactRelayHooks=t(e.react,e["relay-runtime"],e.invariant,e["@babel/runtime/helpers/interopRequireDefault"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/defineProperty"],e["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"])}(window,(function(e,t,r,n,a,i,o,u,s,l,c){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=27)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t,r){"use strict";var n=r(3),a=r(0).useContext,i=r(16);e.exports=function(){var e=a(i);return null==e&&n(!1,"useRelayEnvironment: Expected to have found a Relay environment provided by a `RelayEnvironmentProvider` component. This usually means that useRelayEnvironment was used in a component that is not a descendant of a `RelayEnvironmentProvider`. Please make sure a `RelayEnvironmentProvider` has been rendered somewhere as a parent or ancestor of your component."),e.environment}},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(3),i=r(0),o=r(1),u=o.Observable,s=o.PreloadableQueryRegistry,l=o.RelayFeatureFlags,c=o.ReplaySubject,f=o.__internal.fetchQueryDeduped,d=o.createOperationDescriptor,p=o.getRequest,h=o.getRequestIdentifier,v=r(5),m=null,y=100001;e.exports={loadQuery:function(e,t,r,o,g){var b,_,R,E,P=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(_=b.ReactCurrentDispatcher)||void 0===_?void 0:_.current;v(null==m||P!==m,"Relay: `%s` should not be called inside a React render function.",null!==(R=null==o?void 0:o.__nameForWarning)&&void 0!==R?R:"loadQuery"),y++;var k,C,x,S,w,I,q=null!==(E=null==o?void 0:o.fetchPolicy)&&void 0!==E?E:"store-or-network",D=(0,n.default)((0,n.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),F=!1,A=function(t,r){return F=!0,e.executeWithSource({operation:t,source:r})},N=new c,Q=u.create((function(e){return N.subscribe(e)})),T=null,O=!1,M=function(t){var n;O=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var i="raw-network-request-"+h(t,r);n=f(e,i,(function(){return e.getNetwork().execute(t,r,D)}))}else{n=e.getNetwork().execute(t,r,D)}var o=n.subscribe({error:function(e){T=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return C=o,u.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),C()}}))},L=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(O=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){N.error(e)},next:function(e){N.next(e)},complete:function(){N.complete()}});x=n.unsubscribe},U=function(t){var n=d(t,r,D);(k=e.retain(n),"store-only"!==q)&&(("store-or-network"!==q||"available"!==e.check(n).status)&&L(n,(function(){var e=M(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(S=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",S.name);var j=s.get(I);if(null!=j)U(j);else{var W="store-only"===q?null:M(S),B=s.onLoad(I,(function(t){w();var n=d(t,r,D);k=e.retain(n),null!=W&&L(n,(function(){return A(n,W)}))}));w=B.dispose}}else{var K=p(t);I=null!=(S=K.params).cacheID?S.cacheID:S.id,U(K)}var V=!1,H=!1,G=!1,z=function(){H||(k&&k.dispose(),H=!0)},Y=function(){G||(F?x&&x():C&&C(),w&&w(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){V||(z(),Y(),V=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:y,id:I,get isDisposed(){return V||H},get networkError(){return T},name:S.name,networkCacheConfig:D,fetchPolicy:q,source:O?Q:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===m&&(m=null===(e=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===e||null===(t=e.ReactCurrentDispatcher)||void 0===t?void 0:t.current)}}},function(e,t){e.exports=i},function(e,t,r){"use strict";var n=r(0),a=n.useEffect,i=n.useRef;e.exports=function(){var e=i(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},function(e,t,r){"use strict";var n=r(0).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=n},function(e,t,r){"use strict";var n=r(5),a=null;e.exports={inject:function(e){n(null!==a,"Relay HooksImplementation was injected twice."),a=e},get:function(){return a}}},function(e,t,r){"use strict";var n=r(12),a=r(19).getFragmentResourceForEnvironment,i=r(2),o=r(0),u=o.useEffect,s=o.useState,l=r(1).getFragmentIdentifier,c=r(5);e.exports=function(e,t,r){var o=i(),f=a(o),d=n(!1),p=s(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),m=n(!0);function y(){!1!==d.current&&!1!==m.current&&p((function(e){return e+1}))}return u((function(){d.current=!0;var e=f.subscribe(v,y);return function(){d.current=!1,e.dispose()}}),[o,h]),null!=t&&(void 0===v.data||Array.isArray(v.data)&&v.data.length>0&&v.data.every((function(e){return void 0===e})))&&c(!1,"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.",e.name,r,r),{data:v.data,disableStoreUpdates:function(){m.current=!1},enableStoreUpdates:function(){m.current=!0,f.checkMissedUpdates(v)[0]&&y()}}}},function(e,t,r){"use strict";var n=r(0).useMemo;e.exports=function(e){return n((function(){return{current:e}}),[])}},function(e,t){e.exports=o},function(e,t,r){"use strict";var n=r(4).default,a=n(r(7)),i=n(r(13)),o=r(20),u=r(21),s=r(3),l=r(1).isPromise,c=r(5),f="function"==typeof WeakMap;function d(e){return void 0!==e.request.node.params.metadata.live}function p(e,t,r,n,a){var i=null!=r?r:d(t)?"store-and-network":"store-or-network",o=null!=n?n:e.UNSTABLE_getDefaultRenderPolicy(),u="".concat(i,"-").concat(o,"-").concat(t.request.identifier);return null!=a?"".concat(u,"-").concat(a):u}function h(e,t){var r={__id:e.fragment.dataID,__fragments:(0,i.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:t,fragmentNode:e.request.node.fragment,fragmentRef:r,operation:e}}var v=2e5;function m(e,t,r,n,a,i){var o=d(t),s=n,l=a,c=new u((function(e){var r=e.retain(t);return{dispose:function(){o&&null!=l&&l.unsubscribe(),r.dispose(),i(f)}}})),f={cacheIdentifier:e,id:v++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return s},setValue:function(e){s=e},setNetworkSubscription:function(e){o&&null!=l&&l.unsubscribe(),l=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var y=function(){function e(e){var t=this;(0,i.default)(this,"_clearCacheEntry",(function(e){t._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=o.create(1e3)}var t=e.prototype;return t.prepare=function(e,t,r,n,a,i,o){var u=p(this._environment,e,r,n,i);return this.prepareWithIdentifier(u,e,t,r,n,a,o)},t.prepareWithIdentifier=function(e,t,r,n,i,o,u){var s=this._environment,c=null!=n?n:d(t)?"store-and-network":"store-or-network",f=null!=i?i:s.UNSTABLE_getDefaultRenderPolicy(),p=this._cache.get(e),h=null,v=null!=p;null==p&&(p=this._fetchAndSaveQuery(e,t,r,c,f,u,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=h&&h.dispose();var t=null==o?void 0:o.unsubscribe;t&&t(e)}}))),h=p.temporaryRetain(s);var m=p.getValue();if(l(m))throw s.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:v,operation:t,queryAvailability:p.operationAvailability,renderPolicy:f}),m;if(m instanceof Error)throw m;return m},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(n,a,null,e,null),o=i.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:i.id}),{dispose:function(){o.dispose()}}},t.releaseTemporaryRetain=function(e){var t=this._cache.get(e.cacheIdentifier);null!=t&&t.releaseTemporaryRetain()},t.TESTS_ONLY__getCacheEntry=function(e,t,r,n){var a=p(this._environment,e,t,r,n);return this._cache.get(a)},t._getOrCreateCacheEntry=function(e,t,r,n,a){var i=this._cache.get(e);return null==i&&(i=m(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,i)),i},t._fetchAndSaveQuery=function(e,t,r,n,i,o,u){var l,f,p=this,v=this._environment,y=v.check(t),g=y.status,b="available"===g,_=b||"partial"===i&&"stale"!==g,R=function(){};switch(n){case"store-only":l=!1,f=!0;break;case"store-or-network":l=!b,f=_;break;case"store-and-network":l=!0,f=_;break;case"network-only":default:l=!0,f=!1}if(f){var E=h(t,e),P=m(e,t,y,E,null,this._clearCacheEntry);this._cache.set(e,P)}if(l){var k,C=h(t,e);r.subscribe({start:function(r){k=r;var n=p._cache.get(e);n&&n.setNetworkSubscription(k);var i=null==u?void 0:u.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){d(t)&&r.unsubscribe()}}))},next:function(){var r=p._getOrCreateCacheEntry(e,t,y,C,k);r.processedPayloadsCount+=1,r.setValue(C),R();var n=null==u?void 0:u.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=p._getOrCreateCacheEntry(e,t,y,r,k);0===n.processedPayloadsCount?n.setValue(r):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",t.fragment.node.name,String(r.message)),R(),k=null,n.setNetworkSubscription(null);var a=null==u?void 0:u.error;a&&a(r)},complete:function(){R(),k=null;var t=p._cache.get(e);t&&t.setNetworkSubscription(null);var r=null==u?void 0:u.complete;r&&r()},unsubscribe:null==u?void 0:u.unsubscribe});var x=this._cache.get(e);if(!x){var S=new Promise((function(e){R=e}));S.displayName="Relay("+t.fragment.node.name+")",x=m(e,t,y,S,k,this._clearCacheEntry),this._cache.set(e,x)}}else{var w=null==u?void 0:u.complete;w&&w()}var I=this._cache.get(e);return null==I&&s(!1,"Relay: Expected to have cached a result when attempting to fetch query.If you're seeing this, this is likely a bug in Relay."),v.__log({name:"queryresource.fetch",resourceID:I.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:l}),I},e}();function g(e){return new y(e)}var b=f?new WeakMap:new Map;e.exports={createQueryResource:g,getQueryResourceForEnvironment:function(e){var t=b.get(e);if(t)return t;var r=g(e);return b.set(e,r),r},getQueryCacheIdentifier:p}},function(e,t,r){"use strict";var n=r(12),a=r(5);e.exports=function(e,t){var r=n(e.name);a(r.current===e.name,"Relay: The %s has to remain the same over the lifetime of a component. Changing it is not supported and will result in unexpected behavior.",t)}},function(e,t){e.exports=u},function(e,t,r){"use strict";var n=r(6).loadQuery;e.exports=function e(t,r,a){var i=null;null==r.root.getModuleIfRequired()&&(i=r.root.load());var o=r.getPreloadProps(a),u=o.queries,s=o.entryPoints,l=o.extraProps,c={},f={};null!=u&&Object.keys(u).forEach((function(e){var r=u[e],a=r.environmentProviderOptions,i=r.options,o=r.parameters,s=r.variables,l=t.getEnvironment(a);c[e]=n(l,o,s,{fetchPolicy:null==i?void 0:i.fetchPolicy,networkCacheConfig:null==i?void 0:i.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=s&&Object.keys(s).forEach((function(r){var n=s[r];if(null!=n){var a=n.entryPoint,i=n.entryPointParams;f[r]=e(t,a,i)}}));var d=!1;return{dispose:function(){d||(null!=c&&Object.values(c).forEach((function(e){(0,e.dispose)()})),null!=f&&Object.values(f).forEach((function(e){(0,e.dispose)()})),d=!0)},entryPoints:f,extraProps:null!=l?l:null,getComponent:function(){var e,t=r.root.getModuleIfRequired();if(null==t)throw i=null!==(e=i)&&void 0!==e?e:r.root.load();return null!=t.default?t.default:t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(4).default,a=n(r(7)),i=n(r(13)),o=n(r(32)),u=r(20),s=r(14).getQueryResourceForEnvironment,l=r(21),c=r(3),f=r(1),d=f.RelayFeatureFlags,p=f.__internal,h=p.fetchQuery,v=p.getPromiseForActiveRequest,m=f.createOperationDescriptor,y=f.getFragmentIdentifier,g=f.getPendingOperationsForFragment,b=f.getSelector,_=f.getVariablesFromFragment,R=f.handlePotentialSnapshotErrors,E=f.isPromise,P=f.recycleNodesInto,k="function"==typeof WeakMap,C=Object.freeze([]);function x(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function S(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function w(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:x(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:x(t),storeEpoch:r}}var I=function(){function e(e){(0,i.default)(this,"_cache",new Map),(0,i.default)(this,"_retainCounts",new Map),this._environment=e}var t=e.prototype;return t.get=function(e){var t,r;return null!==(t=null===(r=this._cache.get(e))||void 0===r?void 0:r[0])&&void 0!==t?t:void 0},t.recordQueryResults=function(e,t){var r=this,n=this._cache.get(e);if(n){var a=n[0],i=n[1];t.forEach((function(e){a.push(e)})),i.temporaryRetain(this._environment)}else{var o=new l((function(){return r._retain(e)}));this._cache.set(e,[t,o]),o.temporaryRetain(this._environment)}},t._retain=function(e){var t,r=this,n=(null!==(t=this._retainCounts.get(e))&&void 0!==t?t:0)+1;return this._retainCounts.set(e,n),{dispose:function(){var t,n=(null!==(t=r._retainCounts.get(e))&&void 0!==t?t:0)-1;n>0?r._retainCounts.set(e,n):(r._retainCounts.delete(e),r._cache.delete(e))}}},e}(),q=function(){function e(e){this._environment=e,this._cache=u.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new I(e))}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,y(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var i,u,l,f,p=this,h=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var m=h.getStore().getEpoch();if(!0===(null==e||null===(i=e.metadata)||void 0===i?void 0:i.plural)&&(Array.isArray(t)||c(!1,"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.",null!=a?" for key `".concat(a,"`"):"",e.name,typeof t,e.name),0===t.length))return{cacheKey:r,data:C,isMissingData:!1,snapshot:C,storeEpoch:m};var y=this._cache.get(r);if(null!=y){var g;if("pending"===y.kind&&E(y.promise))throw h.__log({name:"suspense.fragment",data:y.result.data,fragment:e,isRelayHooks:!0,isMissingData:y.result.isMissingData,isPromiseCached:!0,pendingOperations:y.pendingOperations}),y.promise;if("done"===y.kind&&y.result.snapshot&&(null===(g=S(y.result.snapshot))||void 0===g||!g.length))return this._handlePotentialSnapshotErrorsInSnapshot(y.result.snapshot),y.result}var _=b(e,t);null==_&&c(!1,"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.)",e.name,e.name,n,e.name,null==a?"a fragment reference":"the `".concat(a,"`"),n);var R="PluralReaderSelector"===_.kind?_.selectors.map((function(e){return h.lookup(e)})):h.lookup(_),P=w(r,R,m);if(!P.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(R),this._cache.set(r,{kind:"done",result:P}),P;var k=null;if(d.ENABLE_CLIENT_EDGES&&!0===(null===(u=e.metadata)||void 0===u?void 0:u.hasClientEdges)&&function(e){var t,r;return Array.isArray(e)?e.some((function(e){var t,r;return(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0})):(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0}(R)){k=[];var x=s(this._environment),I=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(R,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,i=r.clientEdgeDestinationID,o=p._performClientEdgeQuery(x,e,t,a,i),u=o.queryResult,s=o.requestDescriptor;I.push(u),null===(n=k)||void 0===n||n.push(s)}))})),null==this._clientEdgeQueryResultsCache&&c(!1,"Client edge query result cache should exist when ENABLE_CLIENT_EDGES is on."),this._clientEdgeQueryResultsCache.recordQueryResults(r,I)}var q=[];d.ENABLE_CLIENT_EDGES&&k&&(q=k.map((function(e){return v(p._environment,e)})).filter(Boolean));var D="PluralReaderSelector"===_.kind?_.selectors[0].owner:_.owner,F=this._getAndSavePromiseForFragmentRequestInFlight(r,e,D,P),A=null==F?void 0:F.promise,N=null!==(l=null===(f=S(R))||void 0===f?void 0:f.map((function(e){var t=e.liveStateID;return h.getStore().getLiveResolverPromise(t)})))&&void 0!==l?l:[];if(q.length||N.length||E(A)){var Q,T;h.__log({name:"suspense.fragment",data:P.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:P.isMissingData,pendingOperations:[].concat((0,o.default)(null!==(Q=null==F?void 0:F.pendingOperations)&&void 0!==Q?Q:[]),(0,o.default)(null!==(T=k)&&void 0!==T?T:[]))});var O=[];if(q.length>0&&(O=O.concat(q)),N.length>0&&(O=O.concat(N)),O.length>0)throw A&&O.push(A),Promise.all(O);if(A)throw A}return this._handlePotentialSnapshotErrorsInSnapshot(R),w(r,R,m)},t._performClientEdgeQuery=function(e,t,r,n,i){var o=_(t,r),u=(0,a.default)((0,a.default)({},o),{},{id:i}),s=m(n,u,{}),l=h(this._environment,s),c=e.prepare(s,l);return{requestDescriptor:s.request,queryResult:c}},t._handlePotentialSnapshotErrorsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){R(t._environment,e.missingRequiredFields,e.relayResolverErrors)})):R(this._environment,e.missingRequiredFields,e.relayResolverErrors)},t.readSpec=function(e,t,r){var n={};for(var a in e)n[a]=this.read(e[a],t[a],r,a);return n},t.subscribe=function(e,t){var r=this,n=this._environment,a=e.cacheKey,i=e.snapshot;if(!i)return{dispose:function(){}};var o=this.checkMissedUpdates(e),u=o[0],l=o[1];u&&t();var f=[];if(Array.isArray(i)?(Array.isArray(l)||c(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,i){f.push(n.subscribe(e,(function(e){var o=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,i,o),t()})))}))):((null==l||Array.isArray(l))&&c(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),f.push(n.subscribe(l,(function(e){var i=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:w(a,e,i)}),t()})))),d.ENABLE_CLIENT_EDGES){var p,h,v=null!==(p=null===(h=this._clientEdgeQueryResultsCache)||void 0===h?void 0:h.get(a))&&void 0!==p?p:void 0;if(null!=v&&v.length){var m=s(this._environment);v.forEach((function(e){f.push(m.retain(e))}))}}return{dispose:function(){f.forEach((function(e){return e.dispose()})),r._cache.delete(a)}}},t.subscribeSpec=function(e,t){var r=this,n=Object.keys(e).map((function(n){return r.subscribe(e[n],t)}));return{dispose:function(){n.forEach((function(e){e.dispose()}))}}},t.checkMissedUpdates=function(e){var t=this._environment,r=e.snapshot;if(!r)return[!1,null];var n;if(n=t.getStore().getEpoch(),e.storeEpoch===n)return[!1,e.snapshot];var i=e.cacheKey;if(Array.isArray(r)){var o=!1,u=[];return r.forEach((function(e,r){var n=t.lookup(e.selector),i=e.data,s=n.data,l=P(i,s);l!==i&&(n=(0,a.default)((0,a.default)({},n),{},{data:l}),o=!0),u[r]=n})),o&&this._cache.set(i,{kind:"done",result:w(i,u,n)}),[o,u]}var s=t.lookup(r.selector),l=r.data,c=s.data,f=P(l,c),d={data:f,isMissingData:s.isMissingData,missingClientEdges:s.missingClientEdges,missingLiveResolverFields:s.missingLiveResolverFields,seenRecords:s.seenRecords,selector:s.selector,missingRequiredFields:s.missingRequiredFields,relayResolverErrors:s.relayResolverErrors};return f!==l&&this._cache.set(i,{kind:"done",result:w(i,d,n)}),[f!==l,d]},t.checkMissedUpdatesSpec=function(e){var t=this;return Object.keys(e).some((function(r){return t.checkMissedUpdates(e[r])[0]}))},t._getAndSavePromiseForFragmentRequestInFlight=function(e,t,r,n){var a=this,i=g(this._environment,t,r);if(null==i)return null;var o=i.promise,u=i.pendingOperations,s=o.then((function(){a._cache.delete(e)})).catch((function(t){a._cache.delete(e)}));return s.displayName=o.displayName,this._cache.set(e,{kind:"pending",pendingOperations:u,promise:s,result:n}),{promise:s,pendingOperations:u}},t._updatePluralSnapshot=function(e,t,r,n,a){var i,u=this._cache.get(e);if(E(u))D(r.selector.node.name);else{var s=null==u||null===(i=u.result)||void 0===i?void 0:i.snapshot;if(!s||Array.isArray(s)){var l=s?(0,o.default)(s):(0,o.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:w(e,l,a)})}else D(r.selector.node.name)}},e}();function D(e){c(!1,"Relay: Expected to find cached data for plural fragment `%s` when receiving a subscription. If you're seeing this, this is likely a bug in Relay.",e)}function F(e){return new q(e)}var A=k?new WeakMap:new Map;e.exports={createFragmentResource:F,getFragmentResourceForEnvironment:function(e){var t=A.get(e);if(t)return t;var r=F(e);return A.set(e,r),r}}},function(e,t,r){"use strict";var n=r(3),a=function(){function e(e){this._capacity=e,this._capacity>0||n(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var t=e.prototype;return t.set=function(e,t){if(this._map.delete(e),this._map.set(e,t),this._map.size>this._capacity){var r=this._map.keys().next();r.done||this._map.delete(r.value)}},t.get=function(e){var t=this._map.get(e);return null!=t&&(this._map.delete(e),this._map.set(e,t)),t},t.has=function(e){return this._map.has(e)},t.delete=function(e){this._map.delete(e)},t.size=function(){return this._map.size},t.capacity=function(){return this._capacity-this._map.size},t.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(13)),a=r(3),i=function(){function e(e){var t=this;(0,n.default)(this,"_retainCount",0),(0,n.default)(this,"_retainDisposable",null),(0,n.default)(this,"_releaseTemporaryRetain",null),this._retain=function(r){return t._retainCount++,1===t._retainCount&&(t._retainDisposable=e(r)),{dispose:function(){t._retainCount=Math.max(0,t._retainCount-1),0===t._retainCount&&(null==t._retainDisposable&&a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),t._retainDisposable.dispose(),t._retainDisposable=null)}}}}var t=e.prototype;return t.temporaryRetain=function(e){var t,r=this;if(e.isServer())return{dispose:function(){}};var n=this._retain(e),a=null,i=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,n.dispose()};return a=setTimeout(i,3e5),null===(t=this._releaseTemporaryRetain)||void 0===t||t.call(this),this._releaseTemporaryRetain=i,{dispose:function(){var e;null===(e=r._releaseTemporaryRetain)||void 0===e||e.call(r)}}},t.permanentRetain=function(e){var t=this._retain(e);return this.releaseTemporaryRetain(),t},t.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},t.getRetainCount=function(){return this._retainCount},e}();e.exports=i},function(e,t,r){"use strict";var n=r(9),a=r(14),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(23),s=r(11),l=r(2),c=r(0),f=c.useContext,d=c.useEffect,p=c.useState,h=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,v=e.fetchKey,m=e.renderPolicy,y=l(),g=f(n),b=o(y),_=p(0),R=_[0],E=_[1],P=u(),k=P.startFetch,C=P.completeFetch,x="".concat(R,"-").concat(null!=v?v:""),S=i(y,t,c,m,x),w=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(S,t,a,c,m,{start:k,complete:C,error:C},g)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void E((function(e){return e+1}));var e=b.retain(w,g);return function(){e.dispose()}}),[y,S]),d((function(){b.releaseTemporaryRetain(w)}));var q=w.fragmentNode,D=w.fragmentRef;return s(q,D,r).data}},function(e,t,r){"use strict";var n=r(12),a=r(0),i=a.useCallback,o=a.useEffect;e.exports=function(){var e=n(null),t=n(!1),r=i((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),a=i((function(r){e.current=r,t.current=!0}),[]),u=i((function(){e.current=null,t.current=!1}),[]);return o((function(){return r}),[r]),{isFetchingRef:t,startFetch:a,disposeFetch:r,completeFetch:u}}},function(e,t,r){"use strict";var n=r(34),a=r(0),i=r(1),o=i.createOperationDescriptor,u=i.getRequest,s=a.useMemo;e.exports=function(e,t,r){var a=n(t),i=n(r||{});return s((function(){return o(u(e),a,i)}),[e,a,i])}},function(e,t,r){"use strict";var n,a=(0,r(4).default)(r(7)),i=r(19).getFragmentResourceForEnvironment,o=r(9),u=r(14).getQueryResourceForEnvironment,s=r(11),l=r(8),c=r(26),f=r(2),d=r(3),p=r(0),h=p.useCallback,v=p.useContext,m=p.useReducer,y=r(1),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,_=y.getFragmentIdentifier,R=y.getRefetchMetadata,E=y.getSelector,P=y.getValueAtPath,k=r(5);function C(e,t){switch(t.type){case"refetch":var r;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:t.fetchPolicy,mirroredEnvironment:null!==(r=t.refetchEnvironment)&&void 0!==r?r:e.mirroredEnvironment,onComplete:t.onComplete,refetchEnvironment:t.refetchEnvironment,refetchQuery:t.refetchQuery,renderPolicy:t.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:t.environment,mirroredFragmentIdentifier:t.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw t.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}n={getInitialIDAndType:function(e,t,n){var a=r(1).Record,i=null==e?void 0:e.id;if(1!==t.length||"node"!==t[0]||null==i)return null;var o=n.getStore().getSource().get(i),u=o&&a.getType(o);return null==u?null:{id:i,typename:u}},checkSameTypeAfterRefetch:function(e,t,n,a){var i=r(1).Record;if(e){var o=t.getStore().getSource().get(e.id),u=o&&i.getType(o);u!==e.typename&&k(!1,"Relay: Call to `refetch` returned data with a different __typename: was `%s`, now `%s`, on `%s` in `%s`. Please make sure the server correctly implementsunique id requirement.",e.typename,u,n.name,a)}},checkSameIDAfterRefetch:function(e,t,n,a){if(null!=e){var i=t[r(1).ID_KEY];null!=i&&i!==e.id&&k(!1,"Relay: Call to `refetch` returned a different id, expected `%s`, got `%s`, on `%s` in `%s`. Please make sure the server correctly implements unique id requirement.",i,e.id,n.name,a)}}},e.exports=function(e,t,r){var p=f(),y=R(e,r),x=y.refetchableRequest,S=y.fragmentRefPathInResponse,w=y.identifierField,I=_(e,t),q=m(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=q[0],F=q[1],A=D.fetchPolicy,N=D.mirroredEnvironment,Q=D.mirroredFragmentIdentifier,T=D.onComplete,O=D.refetchEnvironment,M=D.refetchQuery,L=D.renderPolicy,U=null!=O?O:p,j=u(U),W=i(U),B=v(o),K=U!==N||I!==Q,V=c(x),H=V[0],G=V[1],z=V[2],Y=t;if(K)F({type:"reset",environment:U,fragmentIdentifier:I}),z();else if(null!=M&&null!=H){var X;X=n.getInitialIDAndType(M.request.variables,S,U);var J=function(e){T&&T(null!=e?e:null)},Z=null!=H.source?H.source:g(U,M),$=B.wrapPrepareQueryResource((function(){return j.prepare(M,Z,A,L,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,U,e,r),J()}},H.fetchKey,B)})),ee=W.read($.fragmentNode,$.fragmentRef,r).data;null==ee&&d(!1,"Relay: Expected to be able to read refetch query response. If you're seeing this, this is likely a bug in Relay."),Y=P(ee,S),n.checkSameIDAfterRefetch(X,Y,e,r)}var te=s(e,Y,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:Y,refetch:function(e,t,r,n,i,o,u,s,c,f,d){var p=l(),v=null!=s&&null!=n&&"object"==typeof n?n[s]:null;return h((function(n,i){if(!0!==p.current)return k(!1,"Relay: Unexpected call to `refetch` on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",o.name,e),{dispose:function(){}};null==f&&k(!1,"Relay: Unexpected call to `refetch` while using a null fragment ref for fragment `%s` in `%s`. When calling `refetch`, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before calling `refetch`, or make sure you pass all required variables to `refetch`.",o.name,e,e);var u,l,h=null==i?void 0:i.__environment,m=null==i?void 0:i.fetchPolicy,y=null==i?void 0:i.UNSTABLE_renderPolicy,g=null==i?void 0:i.onComplete,_=E(o,f);if(null==_)u={},l={};else if("PluralReaderSelector"===_.kind){var R,P,C,x;u=null!==(R=null===(P=_.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(C=null===(x=_.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==C?C:{}}else u=_.owner.variables,l=_.variables;var S=(0,a.default)((0,a.default)((0,a.default)({},u),l),n);null==s||n.hasOwnProperty("id")||("string"!=typeof v&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",s,v),S.id=v);var w=b(d,S,{force:!0});return c(w.request.variables,{fetchPolicy:m,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:m,onComplete:g,refetchEnvironment:h,refetchQuery:w,renderPolicy:y}),{dispose:r}}),[i,t,r,v,c])}(r,F,z,re,I,e,0,w,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(18)),a=r(6),i=a.loadQuery,o=a.useTrackLoadQueryInRender,u=r(8),s=r(2),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,p=l.useState,h=r(1).getRequest,v={kind:"NullQueryReference"};function m(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==h(e).params.metadata.live}e.exports=function(e,t){var r=null!=t?t:v,a=s();o();var l=u(),h=d(new Set([r])),y=p((function(){return r})),g=y[0],b=y[1],_=p((function(){return r})),R=_[0],E=_[1];r!==R&&(h.current.add(r),E(r),b(r));var P=c((function(){l.current&&(h.current.add(v),b(v))}),[l]),k=c((function(t,r){var n=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r;if(l.current){var o,u=i(null!==(o=null==r?void 0:r.__environment)&&void 0!==o?o:a,e,t,n);h.current.add(u),b(u)}}),[a,e,b,l]),C=d(!1);return f((function(){return function(){C.current=!0}}),[]),f((function(){if(!0===C.current)return C.current=!1,void("NullQueryReference"!==g.kind&&k(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var t=h.current;if(l.current){var r,a=(0,n.default)(t);try{for(a.s();!(r=a.n()).done;){var i=r.value;if(i===g)break;t.delete(i),"NullQueryReference"!==i.kind&&(m(e)?i.dispose&&i.dispose():i.releaseQuery&&i.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,l,k,e]),f((function(){return function(){var t,r=(0,n.default)(h.current);try{for(r.s();!(t=r.n()).done;){var a=t.value;"NullQueryReference"!==a.kind&&(m(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,P]}},function(e,t,r){"use strict";var n=r(28),a=r(17),i=r(6).loadQuery,o=r(29),u=r(30),s=r(31),l=r(33),c=r(36),f=r(37),d=r(40),p=r(26),h=r(41),v=r(2),m=r(42),y=r(43),g=r(1),b=r(9);e.exports={ConnectionHandler:g.ConnectionHandler,applyOptimisticMutation:g.applyOptimisticMutation,commitLocalUpdate:g.commitLocalUpdate,commitMutation:g.commitMutation,graphql:g.graphql,readInlineData:g.readInlineData,requestSubscription:g.requestSubscription,EntryPointContainer:n,RelayEnvironmentProvider:o,ProfilerContext:b,fetchQuery:g.fetchQuery,loadQuery:i,loadEntryPoint:a,useFragment:s,useLazyLoadQuery:l,useEntryPointLoader:u,useQueryLoader:p,useMutation:c,usePaginationFragment:f,usePreloadedQuery:d,useRefetchableFragment:h,useRelayEnvironment:v,useSubscribeToInvalidationState:m,useSubscription:y}},function(e,t,r){"use strict";var n=r(9),a=r(2),i=r(0),o=r(0),u=o.useContext,s=o.useEffect,l=r(5);e.exports=function(e){var t=e.entryPointReference,r=e.props;l(!1===t.isDisposed,"<EntryPointContainer>: Expected entryPointReference to not be disposed yet. This is because disposing the entrypoint marks it for future garbage collection, and as such may no longer be present in the Relay store. In the future, this will become a hard error.");var o=t.getComponent,c=t.queries,f=t.entryPoints,d=t.extraProps,p=t.rootModuleID,h=o(),v=u(n),m=a();return s((function(){m.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:p})}),[m,v,p]),i.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(16),i=n.useMemo;e.exports=function(e){var t=e.children,r=e.environment,o=e.getEnvironmentForActor,u=i((function(){return{environment:r,getEnvironmentForActor:o}}),[r,o]);return n.createElement(a.Provider,{value:u},t)}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(18)),a=r(17),i=r(6).useTrackLoadQueryInRender,o=r(8),u=r(0),s=u.useCallback,l=u.useEffect,c=u.useRef,f=u.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,t,r){var u,p,h,v;i();var m=null!==(u=null==r||null===(p=r.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==u?u:d,y=null!==(h=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==h?h:null,g=o(),b=c(new Set([m])),_=f(m),R=_[0],E=_[1],P=f(y),k=P[0],C=P[1],x=s((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),E(e)}}),[E,g]),S=s((function(r){if(g.current){var n=a(e,t,r);b.current.add(n),E(n),C(r)}}),[e,t,E,g]),w=c(!1);return l((function(){return function(){w.current=!0}}),[]),l((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==R.kind&&null!=k&&S(k));var e=b.current;if(g.current){var t,r=(0,n.default)(e);try{for(r.s();!(t=r.n()).done;){var a=t.value;if(a===R)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[R,k,S,g]),l((function(){return function(){var e,t=(0,n.default)(b.current);try{for(t.s();!(e=t.n()).done;){var r=e.value;"NullEntryPointReference"!==r.kind&&r.dispose()}}catch(e){t.e(e)}finally{t.f()}}}),[]),["NullEntryPointReference"===R.kind?null:R,S,x]}},function(e,t,r){"use strict";var n=r(10),a=r(6).useTrackLoadQueryInRender,i=r(11),o=r(15),u=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useFragment(e,t):function(e,t){a();var r=s(e);o(r,"first argument of useFragment()");var n=i(r,t,"useFragment()").data;return u({fragment:r.name,data:n}),n}(e,t)}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(22),i=r(24),o=r(2),u=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var s=o(),l=i(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:u(s,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t,r){"use strict";var n=r(35),a=r(0).useState;e.exports=function(e){var t=a(e),r=t[0],i=t[1];return n(e,r)?r:(i(e),e)}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(8),i=r(2),o=r(0),u=r(1).commitMutation,s=o.useState,l=o.useEffect,c=o.useRef,f=o.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=i(),o=a(),d=c(r),p=c(e),h=c(new Set),v=s(!1),m=v[0],y=v[1],g=f((function(t){d.current===r&&p.current===e&&(h.current.delete(t),o.current&&y(h.current.size>0))}),[r,o,e]);l((function(){d.current===r&&p.current===e||(h.current=new Set,o.current&&y(!1),d.current=r,p.current=e)}),[r,o,e]);var b=f((function(a){o.current&&y(!0);var i=t(r,(0,n.default)((0,n.default)({},a),{},{mutation:e,onCompleted:function(e,t){var r;g(i),null===(r=a.onCompleted)||void 0===r||r.call(a,e,t)},onError:function(e){var t;g(i),null===(t=a.onError)||void 0===t||t.call(a,e)},onUnsubscribe:function(){var e;g(i),null===(e=a.onUnsubscribe)||void 0===e||e.call(a)},onNext:function(){var e;null===(e=a.onNext)||void 0===e||e.call(a)}}));return h.current.add(i),i}),[g,t,r,o,e]);return[b,m]}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(10),i=r(38),o=r(25),u=r(15),s=r(0),l=s.useCallback,c=s.useDebugValue,f=s.useState,d=r(1),p=d.getFragment,h=d.getFragmentIdentifier,v=d.getPaginationMetadata;function m(e){var t=f(!1),r=t[0],a=t[1],o={start:function(){return a(!0)},complete:function(){return a(!1)},error:function(){return a(!1)}},u=i((0,n.default)((0,n.default)({},e),{},{observer:o,onReset:function(){return a(!1)}}));return[u[0],u[1],r,u[2]]}e.exports=function(e,t){var r=a.get();return r?r.usePaginationFragment(e,t):function(e,t){var r=p(e);u(r,"first argument of usePaginationFragment()");var a=v(r,"usePaginationFragment()"),i=a.connectionPathInFragmentData,s=a.paginationRequest,f=a.paginationMetadata,d=a.identifierField,y=o(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,_=y.refetch,R=h(r,b),E=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:i,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:d,paginationMetadata:f,paginationRequest:s}),P=E[0],k=E[1],C=E[2],x=E[3],S=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:i,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:d,paginationMetadata:f,paginationRequest:s}),w=S[0],I=S[1],q=S[2],D=S[3],F=l((function(e,t){return D(),x(),_(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,x,_]);return c({fragment:r.name,data:g,hasNext:I,isLoadingNext:q,hasPrevious:k,isLoadingPrevious:C}),{data:g,loadNext:w,loadPrevious:P,hasNext:I,hasPrevious:k,isLoadingNext:q,isLoadingPrevious:C,refetch:F}}(e,t)}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(23),i=r(8),o=r(39),u=r(2),s=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,v=p.__internal.fetchQuery,m=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getSelector,b=p.getValueAtPath,_=r(5);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,E=e.connectionPathInFragmentData,P=e.paginationRequest,k=e.paginationMetadata,C=e.componentDisplayName,x=e.observer,S=e.onReset,w=e.identifierField,I=u(),q=a(),D=q.isFetchingRef,F=q.startFetch,A=q.disposeFetch,N=q.completeFetch,Q=null!=w&&null!=R&&"object"==typeof R?R[w]:null,T=i(),O=d(I),M=O[0],L=O[1],U=d(p),j=U[0],W=U[1],B=o(r,l);(I!==M||p!==j)&&(A(),S(),L(I),W(p));var K=function(e,t,r,n){var a,i,o=h.get(),u=o.EDGES,l=o.PAGE_INFO,c=o.HAS_NEXT_PAGE,f=o.HAS_PREV_PAGE,d=o.END_CURSOR,p=o.START_CURSOR,v=b(r,n);if(null==v)return{cursor:null,hasMore:!1};"object"!=typeof v&&s(!1,"Relay: Expected connection in fragment `%s` to have been `null`, or a plain object with %s and %s properties. Instead got `%s`.",t.name,u,l,v);var m=v[u],y=v[l];if(null==m||null==y)return{cursor:null,hasMore:!1};Array.isArray(m)||s(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,u,m),"object"!=typeof y&&s(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",t.name,l,y);var g,_="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;null!==_&&"string"!=typeof _&&s(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,p,_),g="forward"===e?null!=_&&!0===y[c]:null!=_&&!0===y[f];return{cursor:_,hasMore:g}}(t,r,R,E),V=K.cursor,H=K.hasMore;return f((function(){return function(){A()}}),[A]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==T.current)return _(!1,"Relay: Unexpected fetch on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",r.name,C),{dispose:function(){}};var o=g(r,l);if(!0===D.current||null==R||B)return null==o&&_(!1,"Relay: Unexpected fetch while using a null fragment ref for fragment `%s` in `%s`. When fetching more items, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before paginating.",r.name,C,C),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&s(!1,"Relay: Expected to be able to find a non-plural fragment owner for fragment `%s` when using `%s`. If you're seeing this, this is likely a bug in Relay.",r.name,C);var u=o.owner.variables,c=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,n.default)((0,n.default)({},u),c),p=y(t,e,V,d,(0,n.default)({},f),k);null!=w&&("string"!=typeof Q&&_(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,Q),p.id=Q);var h=m(P,p,{force:!0});return v(I,h).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){F(e),x.start&&x.start(e)},complete:function(){N(),x.complete&&x.complete(),i&&i(null)},error:function(e){N(),x.error&&x.error(e),i&&i(e)}})),{dispose:A}}),[I,Q,t,V,F,A,N,D,B,R,r.name,l,C]),H,A]}},function(e,t,r){"use strict";var n=r(2),a=r(3),i=r(0),o=r(1),u=o.__internal.getObservableForActiveRequest,s=o.getSelector,l=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,t){var r=n(),i=f((function(){var n=s(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),u(r,n.owner))}),[r,e,t]),o=c(null!=i),d=o[0],p=o[1];return l((function(){var e;if(p(null!=i),null!=i){var t=function(){p(!1)};e=i.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[i]),d}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(22),i=r(24),o=r(2),u=r(3),s=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(5);e.exports=function(e,t,r){n();var l,p=o(),h=t.fetchKey,v=t.fetchPolicy,m=t.source,y=t.variables,g=t.networkCacheConfig,b=i(e,y,g);if("PreloadedQuery_DEPRECATED"===t.kind)b.request.node.params.name!==t.name&&u(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:c(p,b.request.identifier,(function(){return p===t.environment&&null!=m?p.executeWithSource({operation:b,source:m}):p.execute({operation:b})})),fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var _,R=f(p,b);null!=m&&p===t.environment?_=m.ifEmpty(R):p!==t.environment?(d(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),_=R):_=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:_,fetchKey:h,fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var E=a(l);return s({query:t.name,variables:t.variables,data:E,fetchKey:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),E}},function(e,t,r){"use strict";var n=r(10),a=r(25),i=r(15),o=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useRefetchableFragment(e,t):function(e,t){var r=u(e);i(r,"first argument of useRefetchableFragment()");var n=a(r,t,"useRefetchableFragment()"),s=n.fragmentData,l=n.refetch;return o({fragment:r.name,data:s}),[s,l]}(e,t)}},function(e,t,r){"use strict";var n=r(2),a=r(0),i=a.useEffect,o=a.useRef;e.exports=function(e,t){var r=n(),a=o(null),u=Array.from(e).sort().join("");return i((function(){var n=r.getStore(),i=n.lookupInvalidationState(e),o=n.subscribeToInvalidationState(i,t);return a.current=o,function(){return o.dispose()}}),[u,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(2),a=r(0).useEffect,i=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:i,o=n();a((function(){return r(o,e).dispose}),[o,e,r])}}])}));
|
package/react-relay-hooks.min.js
CHANGED