react-relay 0.0.0-main-b73f35ea → 0.0.0-main-6bdab0d6
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/getQueryResultOrFetchQuery_REACT_CACHE.js +58 -11
- package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +16 -34
- package/lib/relay-hooks/react-cache/useFragment_REACT_CACHE.js +6 -3
- package/lib/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +1 -1
- package/lib/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +2 -3
- 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/getQueryResultOrFetchQuery_REACT_CACHE.js.flow +56 -16
- package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +17 -38
- package/relay-hooks/react-cache/useFragment_REACT_CACHE.js.flow +8 -2
- package/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js.flow +1 -1
- package/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js.flow +1 -1
package/ReactRelayContext.js
CHANGED
package/hooks.js
CHANGED
package/index.js
CHANGED
package/legacy.js
CHANGED
|
@@ -33,8 +33,56 @@ var warning = require("fbjs/lib/warning");
|
|
|
33
33
|
|
|
34
34
|
var DEFAULT_FETCH_POLICY = 'store-or-network';
|
|
35
35
|
|
|
36
|
+
var QueryCache = /*#__PURE__*/function () {
|
|
37
|
+
function QueryCache() {
|
|
38
|
+
this._map = new Map();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var _proto = QueryCache.prototype;
|
|
42
|
+
|
|
43
|
+
_proto.get = function get(environment, key) {
|
|
44
|
+
var forEnv = this._map.get(environment);
|
|
45
|
+
|
|
46
|
+
if (!forEnv) {
|
|
47
|
+
forEnv = new Map();
|
|
48
|
+
|
|
49
|
+
this._map.set(environment, forEnv);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return forEnv.get(key);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
_proto.set = function set(environment, key, value) {
|
|
56
|
+
var forEnv = this._map.get(environment);
|
|
57
|
+
|
|
58
|
+
if (!forEnv) {
|
|
59
|
+
forEnv = new Map();
|
|
60
|
+
|
|
61
|
+
this._map.set(environment, forEnv);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
forEnv.set(key, value);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
_proto["delete"] = function _delete(environment, key) {
|
|
68
|
+
var forEnv = this._map.get(environment);
|
|
69
|
+
|
|
70
|
+
if (!forEnv) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
forEnv["delete"](key);
|
|
75
|
+
|
|
76
|
+
if (forEnv.size === 0) {
|
|
77
|
+
this._map["delete"](environment);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
return QueryCache;
|
|
82
|
+
}();
|
|
83
|
+
|
|
36
84
|
function createQueryCache() {
|
|
37
|
-
return new
|
|
85
|
+
return new QueryCache();
|
|
38
86
|
}
|
|
39
87
|
|
|
40
88
|
var noopOnCommit = function noopOnCommit() {
|
|
@@ -46,8 +94,7 @@ var noopOnCommit = function noopOnCommit() {
|
|
|
46
94
|
var noopPromise = new Promise(function () {});
|
|
47
95
|
|
|
48
96
|
function getQueryCacheKey(operation, fetchPolicy, renderPolicy, fetchKey) {
|
|
49
|
-
|
|
50
|
-
return cacheIdentifier;
|
|
97
|
+
return "".concat(fetchPolicy, "-").concat(renderPolicy, "-").concat(operation.request.identifier, "-").concat(fetchKey !== null && fetchKey !== void 0 ? fetchKey : '');
|
|
51
98
|
}
|
|
52
99
|
|
|
53
100
|
function constructQueryResult(operation) {
|
|
@@ -78,20 +125,20 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
|
|
|
78
125
|
var renderPolicy = (_options$renderPolicy = options === null || options === void 0 ? void 0 : options.renderPolicy) !== null && _options$renderPolicy !== void 0 ? _options$renderPolicy : environment.UNSTABLE_getDefaultRenderPolicy();
|
|
79
126
|
var cache = getCacheForType(createQueryCache);
|
|
80
127
|
var cacheKey = getQueryCacheKey(queryOperationDescriptor, fetchPolicy, renderPolicy, options === null || options === void 0 ? void 0 : options.fetchKey);
|
|
81
|
-
var initialEntry = cache.get(cacheKey);
|
|
128
|
+
var initialEntry = cache.get(environment, cacheKey);
|
|
82
129
|
|
|
83
130
|
function updateCache(updater) {
|
|
84
|
-
var currentEntry = cache.get(cacheKey);
|
|
131
|
+
var currentEntry = cache.get(environment, cacheKey);
|
|
85
132
|
|
|
86
133
|
if (!currentEntry) {
|
|
87
134
|
currentEntry = makeInitialCacheEntry();
|
|
88
|
-
cache.set(cacheKey, currentEntry);
|
|
135
|
+
cache.set(environment, cacheKey, currentEntry);
|
|
89
136
|
} // $FlowExpectedError[prop-missing] Extra properties are passed in -- this is fine
|
|
90
137
|
|
|
91
138
|
|
|
92
139
|
var newStatus = updater(currentEntry); // $FlowExpectedError[cannot-spread-inexact] Flow cannot understand that this is valid...
|
|
93
140
|
|
|
94
|
-
cache.set(cacheKey, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, currentEntry), newStatus)); // ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
|
|
141
|
+
cache.set(environment, cacheKey, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, currentEntry), newStatus)); // ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
|
|
95
142
|
// a QueryCacheEntryStatus into a QueryCacheEntry will result in a valid QueryCacheEntry.
|
|
96
143
|
} // Initiate a query to fetch the data if needed:
|
|
97
144
|
|
|
@@ -101,7 +148,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
|
|
|
101
148
|
|
|
102
149
|
if (initialEntry === undefined) {
|
|
103
150
|
onCacheMiss(environment, queryOperationDescriptor, fetchPolicy, renderPolicy, updateCache, options === null || options === void 0 ? void 0 : options.fetchObservable);
|
|
104
|
-
var createdEntry = cache.get(cacheKey);
|
|
151
|
+
var createdEntry = cache.get(environment, cacheKey);
|
|
105
152
|
!(createdEntry !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, 'An entry should have been created by onCacheMiss. This is a bug in Relay.') : invariant(false) : void 0;
|
|
106
153
|
_entry = createdEntry;
|
|
107
154
|
} else {
|
|
@@ -114,7 +161,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
|
|
|
114
161
|
return {
|
|
115
162
|
dispose: function dispose() {
|
|
116
163
|
retention.dispose();
|
|
117
|
-
cache["delete"](cacheKey);
|
|
164
|
+
cache["delete"](environment, cacheKey);
|
|
118
165
|
}
|
|
119
166
|
};
|
|
120
167
|
});
|
|
@@ -145,7 +192,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
|
|
|
145
192
|
|
|
146
193
|
var dispose = function dispose() {
|
|
147
194
|
retention.dispose();
|
|
148
|
-
cache["delete"](cacheKey);
|
|
195
|
+
cache["delete"](environment, cacheKey);
|
|
149
196
|
};
|
|
150
197
|
|
|
151
198
|
var abortSignal = getCacheSignal();
|
|
@@ -155,7 +202,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(environment, queryOperationDescr
|
|
|
155
202
|
}
|
|
156
203
|
}
|
|
157
204
|
|
|
158
|
-
var entry = cache.get(cacheKey); // could be a different entry now if synchronously resolved
|
|
205
|
+
var entry = cache.get(environment, cacheKey); // could be a different entry now if synchronously resolved
|
|
159
206
|
|
|
160
207
|
!(entry !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, 'An entry should have been created by onCacheMiss. This is a bug in Relay.') : invariant(false) : void 0;
|
|
161
208
|
|
|
@@ -423,40 +423,26 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
423
423
|
|
|
424
424
|
|
|
425
425
|
handlePotentialSnapshotErrorsForState(environment, state);
|
|
426
|
-
} // Subscriptions:
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
var isListeningForUpdatesRef = useRef(true);
|
|
430
|
-
|
|
431
|
-
function enableStoreUpdates() {
|
|
432
|
-
isListeningForUpdatesRef.current = true;
|
|
433
|
-
handleMissedUpdates(environment, state, setState);
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
function disableStoreUpdates() {
|
|
437
|
-
isListeningForUpdatesRef.current = false;
|
|
438
426
|
}
|
|
439
427
|
|
|
440
428
|
useEffect(function () {
|
|
441
429
|
handleMissedUpdates(environment, subscribedState, setState);
|
|
442
430
|
return subscribeToSnapshot(environment, subscribedState, function (updater) {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
});
|
|
459
|
-
}
|
|
431
|
+
setState(function (latestState) {
|
|
432
|
+
var _latestState$snapshot, _subscribedState$snap;
|
|
433
|
+
|
|
434
|
+
if (((_latestState$snapshot = latestState.snapshot) === null || _latestState$snapshot === void 0 ? void 0 : _latestState$snapshot.selector) !== ((_subscribedState$snap = subscribedState.snapshot) === null || _subscribedState$snap === void 0 ? void 0 : _subscribedState$snap.selector)) {
|
|
435
|
+
// Ignore updates to the subscription if it's for a previous fragment selector
|
|
436
|
+
// than the latest one to be rendered. This can happen if the store is updated
|
|
437
|
+
// after we re-render with a new fragmentRef prop but before the effect fires
|
|
438
|
+
// in which we unsubscribe to the old one and subscribe to the new one.
|
|
439
|
+
// (NB: it's safe to compare the selectors by reference because the selector
|
|
440
|
+
// is recycled into new snapshots.)
|
|
441
|
+
return latestState;
|
|
442
|
+
} else {
|
|
443
|
+
return updater(latestState);
|
|
444
|
+
}
|
|
445
|
+
});
|
|
460
446
|
});
|
|
461
447
|
}, [environment, subscribedState]);
|
|
462
448
|
var data = useMemo(function () {
|
|
@@ -481,11 +467,7 @@ function useFragmentInternal_REACT_CACHE(fragmentNode, fragmentRef, hookDisplayN
|
|
|
481
467
|
});
|
|
482
468
|
}
|
|
483
469
|
|
|
484
|
-
return
|
|
485
|
-
data: data,
|
|
486
|
-
disableStoreUpdates: disableStoreUpdates,
|
|
487
|
-
enableStoreUpdates: enableStoreUpdates
|
|
488
|
-
};
|
|
470
|
+
return data;
|
|
489
471
|
}
|
|
490
472
|
|
|
491
473
|
module.exports = useFragmentInternal_REACT_CACHE;
|
|
@@ -29,10 +29,13 @@ function useFragment(fragment, key) {
|
|
|
29
29
|
// loadQuery was called during render
|
|
30
30
|
useTrackLoadQueryInRender();
|
|
31
31
|
var fragmentNode = getFragment(fragment);
|
|
32
|
-
useStaticFragmentNodeWarning(fragmentNode, 'first argument of useFragment()');
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
if (process.env.NODE_ENV !== "production") {
|
|
34
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
35
|
+
useStaticFragmentNodeWarning(fragmentNode, 'first argument of useFragment()');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var data = useFragmentInternal(fragmentNode, key, 'useFragment()');
|
|
36
39
|
|
|
37
40
|
if (process.env.NODE_ENV !== "production") {
|
|
38
41
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
@@ -49,7 +49,7 @@ function useLazyLoadQuery_REACT_CACHE(gqlQuery, variables, options) {
|
|
|
49
49
|
return useFragmentInternal(fragmentNode, fragmentRef, 'useLazyLoadQuery()', {
|
|
50
50
|
fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
|
|
51
51
|
networkCacheConfig: options === null || options === void 0 ? void 0 : options.networkCacheConfig
|
|
52
|
-
})
|
|
52
|
+
});
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
module.exports = useLazyLoadQuery_REACT_CACHE;
|
|
@@ -102,11 +102,10 @@ function usePreloadedQuery_REACT_CACHE(gqlQuery, preloadedQuery, options) {
|
|
|
102
102
|
var fragmentNode = queryResult.fragmentNode,
|
|
103
103
|
fragmentRef = queryResult.fragmentRef; // $FlowExpectedError[incompatible-return] Is this a fixable incompatible-return?
|
|
104
104
|
|
|
105
|
-
var
|
|
105
|
+
var data = useFragmentInternal(fragmentNode, fragmentRef, 'usePreloadedQuery()', {
|
|
106
106
|
fetchPolicy: fetchPolicy,
|
|
107
107
|
networkCacheConfig: networkCacheConfig
|
|
108
|
-
})
|
|
109
|
-
data = _useFragmentInternal.data;
|
|
108
|
+
});
|
|
110
109
|
|
|
111
110
|
if (process.env.NODE_ENV !== "production") {
|
|
112
111
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
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-6bdab0d6",
|
|
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-6bdab0d6"
|
|
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-6bdab0d6
|
|
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=25)}([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(14);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=r(4)(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,q,I=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"!==I)&&(("store-or-network"!==I||"available"!==e.check(n).status)&&L(n,(function(){var e=M(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(q=(S=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",S.name);var j=s.get(q);if(null!=j)U(j);else{var W="store-only"===I?null:M(S),B=s.onLoad(q,(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);q=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:q,get isDisposed(){return V||H},get networkError(){return T},name:S.name,networkCacheConfig:D,fetchPolicy:I,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(17).getFragmentResourceForEnvironment,a=r(2),i=r(0),o=i.useEffect,u=i.useRef,s=i.useState,l=r(1).getFragmentIdentifier,c=r(5);e.exports=function(e,t,r){var i=a(),f=n(i),d=u(!1),p=s(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),m=u(!0);function y(){!1!==d.current&&!1!==m.current&&p((function(e){return e+1}))}return o((function(){d.current=!0;var e=f.subscribe(v,y);return function(){d.current=!1,e.dispose()}}),[i,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){e.exports=o},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(11)),o=r(18),u=r(19),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:"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:"store-or-network",f=null!=i?i:s.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),p=null,h=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,u,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=p&&p.dispose();var t=null==o?void 0:o.unsubscribe;t&&t(e)}}))),p=d.temporaryRetain(s);var v=d.getValue();if(l(v))throw s.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:h,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),v;if(v instanceof Error)throw v;return v},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 q=this._cache.get(e);return null==q&&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:q.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:l}),q},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(0).useRef,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),a=n(r(7)),i=n(r(11)),o=n(r(30)),u=r(18),s=r(12).getQueryResourceForEnvironment,l=r(19),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 q=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}(),I=function(){function e(e){this._environment=e,this._cache=u.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new q(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=this,p=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var h=p.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:h};var m=this._cache.get(r);if(null!=m){var y;if("pending"===m.kind&&E(m.promise))throw p.__log({name:"suspense.fragment",data:m.result.data,fragment:e,isRelayHooks:!0,isMissingData:m.result.isMissingData,isPromiseCached:!0,pendingOperations:m.pendingOperations}),m.promise;if("done"===m.kind&&m.result.snapshot&&!(null===(y=S(m.result.snapshot))||void 0===y?void 0:y.length))return this._handlePotentialSnapshotErrorsInSnapshot(m.result.snapshot),m.result}var g=b(e,t);null==g&&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 _="PluralReaderSelector"===g.kind?g.selectors.map((function(e){return p.lookup(e)})):p.lookup(g),R=w(r,_,h);if(!R.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(_),this._cache.set(r,{kind:"done",result:R}),R;var P=null;if(d.ENABLE_CLIENT_EDGES&&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}(_)){P=[];var k=s(this._environment),x=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(_,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,i=r.clientEdgeDestinationID,o=f._performClientEdgeQuery(k,e,t,a,i),u=o.queryResult,s=o.requestDescriptor;x.push(u),null===(n=P)||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,x)}var q=[];d.ENABLE_CLIENT_EDGES&&P&&(q=P.map((function(e){return v(f._environment,e)})).filter(Boolean));var I="PluralReaderSelector"===g.kind?g.selectors[0].owner:g.owner,D=this._getAndSavePromiseForFragmentRequestInFlight(r,e,I,R),F=null==D?void 0:D.promise,A=null!==(u=null===(l=S(_))||void 0===l?void 0:l.map((function(e){var t=e.liveStateID;return p.getStore().getLiveResolverPromise(t)})))&&void 0!==u?u:[];if(q.length||A.length||E(F)){var N,Q;p.__log({name:"suspense.fragment",data:R.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:R.isMissingData,pendingOperations:[].concat((0,o.default)(null!==(N=null==D?void 0:D.pendingOperations)&&void 0!==N?N:[]),(0,o.default)(null!==(Q=P)&&void 0!==Q?Q:[]))});var T=[];if(q.length>0&&(T=T.concat(q)),A.length>0&&(T=T.concat(A)),T.length>0)throw F&&T.push(F),Promise.all(T);if(F)throw F}return this._handlePotentialSnapshotErrorsInSnapshot(_),w(r,_,h)},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?void 0: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 I(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=r(4)(r(11)),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(12),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(21),s=r(10),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)})),q=h(!1);d((function(){return function(){q.current=!0}}),[]),d((function(){if(!0===q.current)return q.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 I=w.fragmentNode,D=w.fragmentRef;return s(I,D,r).data}},function(e,t,r){"use strict";var n=r(0),a=n.useCallback,i=n.useEffect,o=n.useRef;e.exports=function(){var e=o(null),t=o(!1),r=a((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),n=a((function(r){e.current=r,t.current=!0}),[]),u=a((function(){e.current=null,t.current=!1}),[]);return i((function(){return r}),[r]),{isFetchingRef:t,startFetch:n,disposeFetch:r,completeFetch:u}}},function(e,t,r){"use strict";var n=r(32),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)[0],i=n(r||{})[0];return s((function(){return o(u(e),a,i)}),[e,a,i])}},function(e,t,r){"use strict";var n,a=r(4)(r(7)),i=r(17).getFragmentResourceForEnvironment,o=r(9),u=r(12).getQueryResourceForEnvironment,s=r(10),l=r(8),c=r(24),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,q=_(e,t),I=m(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:q,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=I[0],F=I[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||q!==Q,V=c(x),H=V[0],G=V[1],z=V[2],Y=t;if(K)F({type:"reset",environment:U,fragmentIdentifier:q}),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,q,e,0,w,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(4)(r(16)),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(26),a=r(15),i=r(6).loadQuery,o=r(27),u=r(28),s=r(29),l=r(31),c=r(34),f=r(35),d=r(38),p=r(24),h=r(39),v=r(2),m=r(40),y=r(41),g=r(1);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,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(14),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=r(4)(r(16)),a=r(15),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(6).useTrackLoadQueryInRender,a=r(10),i=r(13),o=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){n();var r=u(e);i(r,"first argument of useFragment()");var s=a(r,t,"useFragment()").data;return o({fragment:r.name,data:s}),s}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(20),i=r(22),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(33),a=r(0),i=a.useMemo,o=a.useRef,u=a.useState;e.exports=function(e){var t,r,a=o(0),s=u(e),l=s[0],c=s[1];return n(e,l)||(a.current=(null!==(r=a.current)&&void 0!==r?r:0)+1,c(e)),[i((function(){return e}),[a.current]),null!==(t=a.current)&&void 0!==t?t:0]}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(4)(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=r(4)(r(7)),a=r(36),i=r(23),o=r(13),u=r(0),s=u.useCallback,l=u.useDebugValue,c=u.useState,f=r(1),d=f.getFragment,p=f.getFragmentIdentifier,h=f.getPaginationMetadata;function v(e){var t=c(!1),r=t[0],i=t[1],o={start:function(){return i(!0)},complete:function(){return i(!1)},error:function(){return i(!1)}},u=a((0,n.default)((0,n.default)({},e),{},{observer:o,onReset:function(){return i(!1)}}));return[u[0],u[1],r,u[2]]}e.exports=function(e,t){var r=d(e);o(r,"first argument of usePaginationFragment()");var a=h(r,"usePaginationFragment()"),u=a.connectionPathInFragmentData,c=a.paginationRequest,f=a.paginationMetadata,m=a.identifierField,y=i(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,_=y.refetch,R=p(r,b),E=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:m,paginationMetadata:f,paginationRequest:c}),P=E[0],k=E[1],C=E[2],x=E[3],S=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:m,paginationMetadata:f,paginationRequest:c}),w=S[0],q=S[1],I=S[2],D=S[3],F=s((function(e,t){return D(),x(),_(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,x,_]);return l({fragment:r.name,data:g,hasNext:q,isLoadingNext:I,hasPrevious:k,isLoadingPrevious:C}),{data:g,loadNext:w,loadPrevious:P,hasNext:q,hasPrevious:k,isLoadingNext:I,isLoadingPrevious:C,refetch:F}}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(21),i=r(8),o=r(37),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,q=u(),I=a(),D=I.isFetchingRef,F=I.startFetch,A=I.disposeFetch,N=I.completeFetch,Q=null!=w&&null!=R&&"object"==typeof R?R[w]:null,T=i(),O=d(q),M=O[0],L=O[1],U=d(p),j=U[0],W=U[1],B=o(r,l);(q!==M||p!==j)&&(A(),S(),L(q),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(q,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}}),[q,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(20),i=r(22),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(23),a=r(13),i=r(0).useDebugValue,o=r(1).getFragment;e.exports=function(e,t){var r=o(e);a(r,"first argument of useRefetchableFragment()");var u=n(r,t,"useRefetchableFragment()"),s=u.fragmentData,l=u.refetch;return i({fragment:r.name,data:s}),[s,l]}},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
package/react-relay-legacy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-6bdab0d6
|
|
3
3
|
*/
|
|
4
4
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("relay-runtime"),require("react"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("invariant"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("fbjs/lib/warning")):"function"==typeof define&&define.amd?define(["relay-runtime","react","@babel/runtime/helpers/interopRequireDefault","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/defineProperty","invariant","fbjs/lib/areEqual","@babel/runtime/helpers/assertThisInitialized","@babel/runtime/helpers/inheritsLoose","@babel/runtime/helpers/objectWithoutPropertiesLoose","@babel/runtime/helpers/extends","fbjs/lib/warning"],t):"object"==typeof exports?exports.ReactRelayLegacy=t(require("relay-runtime"),require("react"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("invariant"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("fbjs/lib/warning")):e.ReactRelayLegacy=t(e["relay-runtime"],e.react,e["@babel/runtime/helpers/interopRequireDefault"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/defineProperty"],e.invariant,e["fbjs/lib/areEqual"],e["@babel/runtime/helpers/assertThisInitialized"],e["@babel/runtime/helpers/inheritsLoose"],e["@babel/runtime/helpers/objectWithoutPropertiesLoose"],e["@babel/runtime/helpers/extends"],e["fbjs/lib/warning"])}(window,(function(e,t,r,n,o,a,s,i,u,l,c,h){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.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 o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));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=19)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";var n=r(1),o=r(0).__internal.createRelayContext;e.exports=o(n)},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=a},function(e,t){e.exports=s},function(e,t){e.exports=i},function(e,t){e.exports=u},function(e,t,r){"use strict";function n(e){return e.displayName||e.name||"Component"}e.exports={getComponentName:n,getContainerName:function(e){return"Relay("+n(e)+")"}}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(2)(r(13)),o=r(21),a=r(10),s=a.getComponentName,i=a.getContainerName,u=r(3),l=r(14),c=r(22),h=r(6),f=r(1),p=r(0).getFragment;e.exports=function(e,t,r){var a=i(e);o(s(e),t);var d={};for(var v in t)d[v]=p(t[v]);var _=r(e,d);function y(e,t){var r,o=c(u);null==o&&h(!1,"`%s` tried to render a context that was not valid this means that `%s` was rendered outside of a query renderer.",a,a);var s=c(l);return f.createElement(_,(0,n.default)({},e,{__relayContext:o,__rootIsQueryRenderer:null!==(r=null==s?void 0:s.rootIsQueryRenderer)&&void 0!==r&&r,componentRef:e.componentRef||t}))}_.displayName=a,y.displayName=a;var b=f.forwardRef(y);return b.__ComponentClass=e,b.displayName=a,b}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(1);e.exports=n.createContext({rootIsQueryRenderer:!1})},function(e,t,r){"use strict";var n=r(23),o=r(6);function a(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&n(e.environment)}e.exports={assertRelayContext:function(e){return a(e)||o(!1,"RelayContext: Expected `context.relay` to be an object conforming to the `RelayContext` interface, got `%s`.",e),e},isRelayContext:a}},function(e,t,r){"use strict";var n=r(2)(r(5)),o=r(6),a=r(0),s=a.__internal.fetchQuery,i=a.createOperationDescriptor,u=a.isRelayModernEnvironment,l=function(){function e(e){(0,n.default)(this,"_selectionReferences",[]),(0,n.default)(this,"_callOnDataChangeWhenSet",!1),null!=e&&(this._cacheSelectionReference=e.cacheSelectionReference,this._selectionReferences=e.selectionReferences)}var t=e.prototype;return t.getSelectionReferences=function(){return{cacheSelectionReference:this._cacheSelectionReference,selectionReferences:this._selectionReferences}},t.lookupInStore=function(e,t,r){return"store-and-network"!==r&&"store-or-network"!==r||"available"!==e.check(t).status?null:(this._retainCachedOperation(e,t),e.lookup(t.fragment))},t.execute=function(e){var t=this,r=e.environment,n=e.operation,o=e.preservePreviousReferences,a=void 0!==o&&o,i=r.retain(n),l=function(){t._selectionReferences=t._selectionReferences.concat(i)},c=function(){a||t.disposeSelectionReferences(),t._selectionReferences=t._selectionReferences.concat(i)},h=function(){t._selectionReferences=t._selectionReferences.concat(i)};return u(r)?s(r,n).do({error:l,complete:c,unsubscribe:h}):r.execute({operation:n}).do({error:l,complete:c,unsubscribe:h})},t.setOnDataChange=function(e){this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `setOnDataChange` should have been called after having called `fetch`"),"function"==typeof e&&(this._fetchOptions.onDataChangeCallbacks=this._fetchOptions.onDataChangeCallbacks||[],this._fetchOptions.onDataChangeCallbacks.push(e),this._callOnDataChangeWhenSet&&(null!=this._error?e({error:this._error}):null!=this._snapshot&&e({snapshot:this._snapshot})))},t.fetch=function(e,t){var r,n=this,o=e.environment,a=e.operation,s=e.onDataChange,u=!1;this.disposeRequest();var l=this._fetchOptions&&this._fetchOptions.onDataChangeCallbacks;this._fetchOptions={environment:o,onDataChangeCallbacks:l||[],operation:a},s&&-1===this._fetchOptions.onDataChangeCallbacks.indexOf(s)&&this._fetchOptions.onDataChangeCallbacks.push(s);var c=t?i(a.request.node,a.request.variables,t):a,h=this.execute({environment:o,operation:c}).finally((function(){n._pendingRequest=null})).subscribe({next:function(){n._callOnDataChangeWhenSet=!0,n._error=null,n._onQueryDataAvailable({notifyFirstResult:u})},error:function(e){n._callOnDataChangeWhenSet=!0,n._error=e,n._snapshot=null;var t=n._fetchOptions&&n._fetchOptions.onDataChangeCallbacks;u?t&&t.forEach((function(t){t({error:e})})):r=e}});if(this._pendingRequest={dispose:function(){h.unsubscribe()}},u=!0,r)throw r;return this._snapshot},t.retry=function(e){return this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `retry` should be called after having called `fetch`"),this.fetch({environment:this._fetchOptions.environment,operation:this._fetchOptions.operation,onDataChange:null},e)},t.dispose=function(){this.disposeRequest(),this.disposeSelectionReferences()},t.disposeRequest=function(){this._error=null,this._snapshot=null,this._pendingRequest&&this._pendingRequest.dispose(),this._rootSubscription&&(this._rootSubscription.dispose(),this._rootSubscription=null)},t._retainCachedOperation=function(e,t){this._disposeCacheSelectionReference(),this._cacheSelectionReference=e.retain(t)},t._disposeCacheSelectionReference=function(){this._cacheSelectionReference&&this._cacheSelectionReference.dispose(),this._cacheSelectionReference=null},t.disposeSelectionReferences=function(){this._disposeCacheSelectionReference(),this._selectionReferences.forEach((function(e){return e.dispose()})),this._selectionReferences=[]},t._onQueryDataAvailable=function(e){var t=this,r=e.notifyFirstResult;this._fetchOptions||o(!1,"ReactRelayQueryFetcher: `_onQueryDataAvailable` should have been called after having called `fetch`");var n=this._fetchOptions,a=n.environment,s=n.onDataChangeCallbacks,i=n.operation;if(!this._snapshot&&(this._snapshot=a.lookup(i.fragment),this._rootSubscription=a.subscribe(this._snapshot,(function(e){if(null!=t._fetchOptions){var r=t._fetchOptions.onDataChangeCallbacks;Array.isArray(r)&&r.forEach((function(t){return t({snapshot:e})}))}})),this._snapshot&&r&&Array.isArray(s))){var u=this._snapshot;s.forEach((function(e){return e({snapshot:u})}))}},e}();e.exports=l},function(e,t,r){"use strict";var n=r(2)(r(4)),o=r(0).getSelector;e.exports=function(e,t){var r={};return Object.keys(e).forEach((function(a){var s,i,u,l=e[a],c=t[a],h=o(l,c),f=null!=h&&"PluralReaderSelector"===h.kind?null!==(s=null===(i=h.selectors[0])||void 0===i?void 0:i.owner.variables)&&void 0!==s?s:{}:null!==(u=null==h?void 0:h.owner.variables)&&void 0!==u?u:{};r=(0,n.default)((0,n.default)({},r),f)})),r}},function(e,t){e.exports=h},function(e,t,r){"use strict";var n=r(3),o=r(20),a=r(24),s=r(25),i=r(26),u=r(27),l=r(0);e.exports={ConnectionHandler:l.ConnectionHandler,QueryRenderer:i,LocalQueryRenderer:a,MutationTypes:l.MutationTypes,RangeOperations:l.RangeOperations,ReactRelayContext:n,applyOptimisticMutation:l.applyOptimisticMutation,commitLocalUpdate:l.commitLocalUpdate,commitMutation:l.commitMutation,createFragmentContainer:o.createContainer,createPaginationContainer:s.createContainer,createRefetchContainer:u.createContainer,fetchQuery_DEPRECATED:l.fetchQuery_DEPRECATED,graphql:l.graphql,readInlineData:l.readInlineData,requestSubscription:l.requestSubscription}},function(e,t,r){"use strict";var n=r(2),o=n(r(4)),a=n(r(11)),s=n(r(8)),i=n(r(9)),u=n(r(5)),l=r(12),c=r(10).getContainerName,h=r(15).assertRelayContext,f=r(7),p=r(1),d=r(0),v=d.createFragmentSpecResolver,_=d.getDataIDsFromObject,y=d.isScalarAndEqual;function b(e,t){var r,n,l=c(e);return n=r=function(r){function n(e){var n,o;o=r.call(this,e)||this,(0,u.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){var e=o.state.resolver;o.setState((function(t){return e===t.resolver?{data:t.resolver.resolve(),relayProp:m(t.relayProp.environment)}:null}))}));var a=h(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,c=v(a,l,t,e,i);return o.state={data:c.resolve(),prevProps:e,prevPropsContext:a,relayProp:m(a.environment),resolver:c},o}(0,i.default)(n,r),n.getDerivedStateFromProps=function(e,r){var n,o=r.prevProps,a=h(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,i=_(t,o),u=_(t,e),c=r.resolver;if(r.prevPropsContext.environment!==a.environment||!f(i,u))return{data:(c=v(a,l,t,e,s)).resolve(),prevPropsContext:a,prevProps:e,relayProp:m(a.environment),resolver:c};c.setProps(e);var p=c.resolve();return p!==r.data?{data:p,prevProps:e,prevPropsContext:a,relayProp:m(a.environment)}:null};var c=n.prototype;return c.componentDidMount=function(){this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},c.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.componentWillUnmount=function(){this.state.resolver.dispose()},c.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(r.prevPropsContext.environment!==this.state.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!y(e[a],this.props[a]))return!0}return!1},c._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},c._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},c.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return p.createElement(e,(0,o.default)((0,o.default)((0,o.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(p.Component),(0,u.default)(r,"displayName",l),n}function m(e){return{environment:e}}e.exports={createContainer:function(e,t){return l(e,t,b)}}},function(e,t,r){"use strict";var n=r(6);e.exports=function(e,t){for(var r in t&&"object"==typeof t||n(!1,"Could not create Relay Container for `%s`. Expected a set of GraphQL fragments, got `%s` instead.",e,t),t)if(t.hasOwnProperty(r)){var o=t[r];(!o||"object"!=typeof o&&"function"!=typeof o)&&n(!1,"Could not create Relay Container for `%s`. The value of fragment `%s` was expected to be a fragment, got `%s` instead.",e,r,o)}}},function(e,t,r){"use strict";var n=r(1).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,o=n.ReactCurrentDispatcher,a=n.ReactCurrentOwner;e.exports=function(e){return(null!=o?o.current:a.currentDispatcher).readContext(e)}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&null!==e&&"function"==typeof e.check&&"function"==typeof e.lookup&&"function"==typeof e.retain&&"function"==typeof e.execute&&"function"==typeof e.subscribe}},function(e,t,r){"use strict";var n=r(3),o=r(14),a=r(7),s=r(1),i=r(0),u=i.createOperationDescriptor,l=i.deepFreeze,c=i.getRequest,h=s.useLayoutEffect,f=s.useState,p=s.useRef,d=s.useMemo,v={rootIsQueryRenderer:!0};e.exports=function(e){var t,r,i=e.environment,_=e.query,y=e.variables,b=e.render,m=(t=y,r=s.useRef(t),a(r.current,t)||(l(t),r.current=t),r.current),C=d((function(){var e=c(_);return u(e,m)}),[_,m]),R=d((function(){return{environment:i}}),[i]),g=p(null),x=f(null)[1],S=p(null),P=d((function(){i.check(C);var e=i.lookup(C.fragment);g.current=e.data;var t=i.retain(C),r=i.subscribe(e,(function(e){g.current=e.data,x(g.current)})),n=!1;return S.current&&S.current(),S.current=function(){n||(n=!0,S.current=null,t.dispose(),r.dispose())},e}),[i,C]);return h((function(){var e=S.current;return function(){e&&e()}}),[P]),s.createElement(n.Provider,{value:R},s.createElement(o.Provider,{value:v},b({props:g.current})))}},function(e,t,r){"use strict";var n=r(2),o=n(r(13)),a=n(r(11)),s=n(r(8)),i=n(r(9)),u=n(r(5)),l=n(r(4)),c=r(12),h=r(17),f=r(10),p=f.getComponentName,d=f.getContainerName,v=r(3),_=r(16),y=r(15).assertRelayContext,b=r(7),m=r(6),C=r(1),R=r(0),g=R.ConnectionInterface,x=R.Observable,S=R.RelayFeatureFlags,P=R.createFragmentSpecResolver,q=R.createOperationDescriptor,F=R.getDataIDsFromObject,O=R.getRequest,D=R.getVariablesFromObject,E=R.isScalarAndEqual,I=r(18);function A(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function N(e,t,r){var n,c,f=p(e),R=d(e),N=function(e){var t=null,r=!1;for(var n in e){var o=e[n],a=o.metadata&&o.metadata.connection;void 0!==o.metadata&&(r=!0),a&&(1!==a.length&&m(!1,"ReactRelayPaginationContainer: Only a single @connection is supported, `%s` has %s.",n,a.length),t&&m(!1,"ReactRelayPaginationContainer: Only a single fragment with @connection is supported."),t=(0,l.default)((0,l.default)({},a[0]),{},{fragmentName:n}))}return r&&null===t&&m(!1,"ReactRelayPaginationContainer: A @connection directive must be present."),t||{}}(t),j=r.getConnectionFromProps||function(e){var t=e.path;return t||m(!1,"ReactRelayPaginationContainer: Unable to synthesize a getConnectionFromProps function."),function(r){for(var n=r[e.fragmentName],o=0;o<t.length;o++){if(!n||"object"!=typeof n)return null;n=n[t[o]]}return n}}(N),w=r.direction||N.direction;w||m(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var U=r.getFragmentVariables||function(e){var t=e.count;return t||m(!1,"ReactRelayPaginationContainer: Unable to synthesize a getFragmentVariables function."),function(e,r){return(0,l.default)((0,l.default)({},e),{},(0,u.default)({},t,r))}}(N);return c=n=function(n){function c(e){var r,o;o=n.call(this,e)||this,(0,u.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){o.setState({data:o._resolver.resolve()})})),(0,u.default)((0,s.default)(o),"_hasMore",(function(){var e=o._getConnectionData();return!!(e&&e.hasMore&&e.cursor)})),(0,u.default)((0,s.default)(o),"_isLoading",(function(){return!!o._refetchSubscription})),(0,u.default)((0,s.default)(o),"_refetchConnection",(function(e,t,r){if(!o._canFetchPage("refetchConnection"))return{dispose:function(){}};o._refetchVariables=r;var n={count:e,cursor:null,totalCount:e};return{dispose:o._fetchPage(n,A(t),{force:!0}).unsubscribe}})),(0,u.default)((0,s.default)(o),"_loadMore",(function(e,t,r){if(!o._canFetchPage("loadMore"))return{dispose:function(){}};var n=A(t),a=o._getConnectionData();if(!a)return x.create((function(e){return e.complete()})).subscribe(n),null;var s=a.edgeCount+e;if(r&&r.force)return o._refetchConnection(s,t);var i=g.get(),u=i.END_CURSOR,l=i.START_CURSOR,c=a.cursor;I(null!=c&&""!==c,"ReactRelayPaginationContainer: Cannot `loadMore` without valid `%s` (got `%s`)","forward"===w?u:l,c);var h={count:e,cursor:c,totalCount:s};return{dispose:o._fetchPage(h,n,r).unsubscribe}}));var a=y(e.__relayContext),i=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r;return o._isARequestInFlight=!1,o._refetchSubscription=null,o._refetchVariables=null,!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?o._resolver=P(a,R,t,e,i):o._resolver=P(a,R,t,e,i,o._handleFragmentDataUpdate),o.state={data:o._resolver.resolve(),prevContext:a,contextForChildren:a,relayProp:o._buildRelayProp(a),resolverGeneration:0},o._isUnmounted=!1,o._hasFetched=!1,o}(0,i.default)(c,n);var p=c.prototype;return p.componentDidMount=function(){this._isUnmounted=!1,!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},p.componentDidUpdate=function(e,t){!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},p.UNSAFE_componentWillReceiveProps=function(e){var r,n=this,o=y(e.__relayContext),a=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r,s=F(t,this.props),i=F(t,e),u=h(t,this.props),l=h(t,e);o.environment===this.state.prevContext.environment&&b(u,l)&&b(s,i)?this._hasFetched||this._resolver.setProps(e):(this._cleanup(),!0===S.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?this._resolver=P(o,R,t,e,a):this._resolver=P(o,R,t,e,a,this._handleFragmentDataUpdate),this.setState((function(e){return{prevContext:o,contextForChildren:o,relayProp:n._buildRelayProp(o),resolverGeneration:e.resolverGeneration+1}})));var c=this._resolver.resolve();c!==this.state.data&&this.setState({data:c})},p.componentWillUnmount=function(){this._isUnmounted=!0,this._cleanup()},p.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp||r.resolverGeneration!==this.state.resolverGeneration)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(r.prevContext.environment!==this.state.prevContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!E(e[a],this.props[a]))return!0}return!1},p._buildRelayProp=function(e){return{hasMore:this._hasMore,isLoading:this._isLoading,loadMore:this._loadMore,refetchConnection:this._refetchConnection,environment:e.environment}},p._rerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();e!==t&&this.setState({data:t})},p._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();this._resolver.setCallback(this.props,this._handleFragmentDataUpdate),e!==t&&this.setState({data:t})},p._getConnectionData=function(){var e=this.props,t=(e.componentRef,(0,a.default)(e,["componentRef"])),r=(0,l.default)((0,l.default)({},t),this.state.data),n=j(r);if(null==n)return null;var o=g.get(),s=o.EDGES,i=o.PAGE_INFO,u=o.HAS_NEXT_PAGE,c=o.HAS_PREV_PAGE,h=o.END_CURSOR,p=o.START_CURSOR;"object"!=typeof n&&m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return `null` or a plain object with %s and %s properties, got `%s`.",f,s,i,n);var d=n[s],v=n[i];if(null==d||null==v)return null;Array.isArray(d)||m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",f,s,d),"object"!=typeof v&&m(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Object, got `%s`.",f,i,v);var _="forward"===w?v[u]:v[c],y="forward"===w?v[h]:v[p];return"boolean"!=typeof _||0!==d.length&&void 0===y?(I(!1,"ReactRelayPaginationContainer: Cannot paginate without %s fields in `%s`. Be sure to fetch %s (got `%s`) and %s (got `%s`).",i,f,"forward"===w?u:c,_,"forward"===w?h:p,y),null):{cursor:y,edgeCount:d.length,hasMore:_}},p._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new _),this._queryFetcher},p._canFetchPage=function(e){return!this._isUnmounted||(I(!1,"ReactRelayPaginationContainer: Unexpected call of `%s` on unmounted container `%s`. It looks like some instances of your container still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `%s` call.",e,R,e),!1)},p._fetchPage=function(e,n,o){var s,i=this,u=y(this.props.__relayContext).environment,c=this.props,p=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,a.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),d=(0,l.default)((0,l.default)({},p),this.state.data),v=h(t,p);s=D(t,p),s=(0,l.default)((0,l.default)((0,l.default)({},v),s),this._refetchVariables);var _=r.getVariables(d,{count:e.count,cursor:e.cursor},s);("object"!=typeof _||null===_)&&m(!1,"ReactRelayPaginationContainer: Expected `getVariables()` to return an object, got `%s` in `%s`.",_,f),_=(0,l.default)((0,l.default)({},_),this._refetchVariables),s=(0,l.default)((0,l.default)({},_),s);var C=o?{force:!!o.force}:void 0;null!=C&&null!=(null==o?void 0:o.metadata)&&(C.metadata=null==o?void 0:o.metadata);var R=O(r.query),g=q(R,_,C),S=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var P=function(){i._refetchSubscription===S&&(i._refetchSubscription=null,i._isARequestInFlight=!1)};return this._isARequestInFlight=!0,S=this._getQueryFetcher().execute({environment:u,operation:g,preservePreviousReferences:!0}).mergeMap((function(t){return x.create((function(t){!function(t,r){var n=i._resolver.resolve();i._resolver.setVariables(U(s,e.totalCount),g.request.node);var o=i._resolver.resolve();b(n,o)?r():i.setState({data:o,contextForChildren:{environment:i.props.__relayContext.environment}},r)}(0,(function(){t.next(),t.complete()}))}))})).do({error:P,complete:P,unsubscribe:P}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?S:null,S},p._cleanup=function(){this._resolver.dispose(),this._refetchVariables=null,this._hasFetched=!1,this._refetchSubscription&&(this._refetchSubscription.unsubscribe(),this._refetchSubscription=null,this._isARequestInFlight=!1),this._queryFetcher&&this._queryFetcher.dispose()},p.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return C.createElement(v.Provider,{value:this.state.contextForChildren},C.createElement(e,(0,o.default)({},n,this.state.data,{ref:r,relay:this.state.relayProp})))},c}(C.Component),(0,u.default)(n,"displayName",R),c}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return N(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(2),o=n(r(4)),a=n(r(8)),s=n(r(9)),i=n(r(5)),u=r(3),l=r(16),c=r(14),h=r(7),f=r(1),p=r(0),d=p.createOperationDescriptor,v=p.deepFreeze,_=p.getRequest,y={},b={rootIsQueryRenderer:!0},m=function(e){function t(t){var r;r=e.call(this,t)||this,(0,i.default)((0,a.default)(r),"_handleDataChange",(function(e){var t=null==e.error?null:e.error,n=null==e.snapshot?null:e.snapshot;r.setState((function(e){var r=e.requestCacheKey;return r&&delete y[r],n===e.snapshot&&t===e.error?null:{renderProps:C(t,n,e.queryFetcher,e.retryCallbacks),snapshot:n,requestCacheKey:null}}))}));var n,s,u={handleDataChange:null,handleRetryAfterError:null};if(t.query){var c=t.query;s=R(_(c).params,t.variables),n=y[s]?y[s].queryFetcher:new l}else n=new l;return r._maybeHiddenOrFastRefresh=!1,r.state=(0,o.default)({prevPropsEnvironment:t.environment,prevPropsVariables:t.variables,prevQuery:t.query,queryFetcher:n,retryCallbacks:u},x(t,n,u,s)),r}(0,s.default)(t,e),t.getDerivedStateFromProps=function(e,t){return t.prevQuery===e.query&&t.prevPropsEnvironment===e.environment&&h(t.prevPropsVariables,e.variables)?null:g(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return g(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,o=t.requestCacheKey;o&&delete y[o],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete y[t],{renderProps:{error:null,props:null,retry:null},requestCacheKey:null}}))},this.props.query&&n.setOnDataChange(this._handleDataChange)},r.componentDidUpdate=function(e,t){var r=this.state,n=r.queryFetcher,o=r.requestCacheKey;o&&(delete y[o],delete this.state.requestCacheKey),this.props.query&&n!==t.queryFetcher&&n.setOnDataChange(this._handleDataChange)},r.componentWillUnmount=function(){this.state.queryFetcher.dispose(),this._maybeHiddenOrFastRefresh=!0},r.shouldComponentUpdate=function(e,t){return e.render!==this.props.render||t.renderProps!==this.state.renderProps},r.render=function(){var e=this.state,t=e.renderProps,r=e.relayContext;return v(t),f.createElement(u.Provider,{value:r},f.createElement(c.Provider,{value:b},this.props.render(t)))},t}(f.Component);function C(e,t,r,n){return{error:e||null,props:t?t.data:null,retry:function(t){var o=r.retry(t);o&&"function"==typeof n.handleDataChange?n.handleDataChange({snapshot:o}):e&&"function"==typeof n.handleRetryAfterError&&n.handleRetryAfterError(e)}}}function R(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function g(e,t){var r,n=e.query,a=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var s=R(_(n).params,e.variables);r=y[s]?y[s].queryFetcher:new l(a)}else r=new l(a);return(0,o.default)({prevQuery:e.query,prevPropsEnvironment:e.environment,prevPropsVariables:e.variables,queryFetcher:r},x(e,r,t.retryCallbacks))}function x(e,t,r,n){var o=e.environment,a=e.query,s=e.variables,i=e.cacheConfig,u=o;if(!a)return t.dispose(),{error:null,relayContext:{environment:u},renderProps:{error:null,props:{},retry:null},requestCacheKey:null};var l=_(a),c=d(l,s,i),h={environment:u};if("string"==typeof n&&y[n]){var f=y[n].snapshot;return f?{error:null,relayContext:h,renderProps:C(null,f,t,r),snapshot:f,requestCacheKey:n}:{error:null,relayContext:h,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}try{var p=t.lookupInStore(u,c,e.fetchPolicy),v=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||R(l.params,e.variables),y[n]={queryFetcher:t,snapshot:v},v?{error:null,relayContext:h,renderProps:C(null,v,t,r),snapshot:v,requestCacheKey:n}:{error:null,relayContext:h,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}catch(e){return{error:e,relayContext:h,renderProps:C(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=m},function(e,t,r){"use strict";var n=r(2),o=n(r(13)),a=n(r(11)),s=n(r(4)),i=n(r(8)),u=n(r(9)),l=n(r(5)),c=r(12),h=r(17),f=r(10).getContainerName,p=r(3),d=r(16),v=r(15).assertRelayContext,_=r(7),y=r(1),b=r(0),m=b.Observable,C=b.createFragmentSpecResolver,R=b.createOperationDescriptor,g=b.getDataIDsFromObject,x=b.getRequest,S=b.getVariablesFromObject,P=b.isScalarAndEqual,q=r(18);function F(e,t){return{environment:e,refetch:t}}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return function(e,t,r){var n,c,b=f(e);return c=n=function(n){function c(e){var o,a;a=n.call(this,e)||this,(0,l.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){var e=a.state.resolver;a.setState((function(t){return e===t.resolver?{data:t.resolver.resolve()}:null}))})),(0,l.default)((0,i.default)(a),"_refetch",(function(e,n,o,i){if(a._isUnmounted)return q(!1,"ReactRelayRefetchContainer: Unexpected call of `refetch` on unmounted container `%s`. It looks like some instances of your container still trying to refetch the data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `refetch`.",b),{dispose:function(){}};var u=v(a.props.__relayContext).environment,l=h(t,a.props),c="function"==typeof e?e(a._getFragmentVariables()):e;c=(0,s.default)((0,s.default)({},l),c);var f=n?(0,s.default)((0,s.default)({},c),n):c,p=i?{force:!!i.force}:void 0;null!=p&&null!=(null==i?void 0:i.metadata)&&(p.metadata=null==i?void 0:i.metadata);var d,_="function"==typeof o?{next:o,error:o}:o||{},y=x(r),C=R(y,c,p);return a.state.localVariables=c,a._refetchSubscription&&a._refetchSubscription.unsubscribe(),null!=a._getQueryFetcher().lookupInStore(u,C,null==i?void 0:i.fetchPolicy)?(a.state.resolver.setVariables(f,C.request.node),a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){_.next&&_.next(),_.complete&&_.complete()})),{dispose:function(){}}):(a._getQueryFetcher().execute({environment:u,operation:C,preservePreviousReferences:!0}).mergeMap((function(e){return a.state.resolver.setVariables(f,C.request.node),m.create((function(e){return a.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:a.props.__relayContext.environment}}}),(function(){e.next(),e.complete()}))}))})).finally((function(){a._refetchSubscription===d&&(a._refetchSubscription=null)})).subscribe((0,s.default)((0,s.default)({},_),{},{start:function(e){a._refetchSubscription=d=e,_.start&&_.start(e)}})),{dispose:function(){d&&d.unsubscribe()}})}));var u=v(e.__relayContext),c=null!==(o=e.__rootIsQueryRenderer)&&void 0!==o&&o;a._refetchSubscription=null;var f=C(u,b,t,e,c);return a.state={data:f.resolve(),localVariables:null,prevProps:e,prevPropsContext:u,contextForChildren:u,relayProp:F(u.environment,a._refetch),resolver:f},a._isUnmounted=!1,a}(0,u.default)(c,n);var f=c.prototype;return f.componentDidMount=function(){this._isUnmounted=!1,this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},f.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.getDerivedStateFromProps=function(e,r){var n,o=r.prevProps,a=v(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,i=g(t,o),u=g(t,e),l=h(t,o),c=h(t,e),f=r.resolver;if(r.prevPropsContext.environment!==a.environment||!_(l,c)||!_(i,u))return{data:(f=C(a,b,t,e,s)).resolve(),localVariables:null,prevProps:e,prevPropsContext:a,contextForChildren:a,relayProp:F(a.environment,r.relayProp.refetch),resolver:f};r.localVariables||f.setProps(e);var p=f.resolve();return p!==r.data?{data:p,prevProps:e}:null},f.componentWillUnmount=function(){this._isUnmounted=!0,this.state.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe()},f.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp)return!0;for(var n=Object.keys(e),o=0;o<n.length;o++){var a=n[o];if("__relayContext"===a){if(this.state.prevPropsContext.environment!==r.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(a)&&!P(e[a],this.props[a]))return!0}return!1},f._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},f._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},f._getFragmentVariables=function(){return S(t,this.props)},f._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new d),this._queryFetcher},f.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,a.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"])),s=this.state,i=s.relayProp,u=s.contextForChildren;return y.createElement(p.Provider,{value:u},y.createElement(e,(0,o.default)({},n,this.state.data,{ref:r,relay:i})))},c}(y.Component),(0,l.default)(n,"displayName",b),c}(e,t,r)}))}}}])}));
|
package/react-relay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay v0.0.0-main-
|
|
2
|
+
* Relay v0.0.0-main-6bdab0d6
|
|
3
3
|
*/
|
|
4
4
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("relay-runtime"),require("@babel/runtime/helpers/interopRequireDefault"),require("invariant"),require("@babel/runtime/helpers/objectSpread2"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/defineProperty"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray")):"function"==typeof define&&define.amd?define(["react","relay-runtime","@babel/runtime/helpers/interopRequireDefault","invariant","@babel/runtime/helpers/objectSpread2","fbjs/lib/warning","@babel/runtime/helpers/defineProperty","fbjs/lib/areEqual","@babel/runtime/helpers/assertThisInitialized","@babel/runtime/helpers/inheritsLoose","@babel/runtime/helpers/objectWithoutPropertiesLoose","@babel/runtime/helpers/extends","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray"],t):"object"==typeof exports?exports.ReactRelay=t(require("react"),require("relay-runtime"),require("@babel/runtime/helpers/interopRequireDefault"),require("invariant"),require("@babel/runtime/helpers/objectSpread2"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/defineProperty"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/assertThisInitialized"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("@babel/runtime/helpers/extends"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray")):e.ReactRelay=t(e.react,e["relay-runtime"],e["@babel/runtime/helpers/interopRequireDefault"],e.invariant,e["@babel/runtime/helpers/objectSpread2"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/defineProperty"],e["fbjs/lib/areEqual"],e["@babel/runtime/helpers/assertThisInitialized"],e["@babel/runtime/helpers/inheritsLoose"],e["@babel/runtime/helpers/objectWithoutPropertiesLoose"],e["@babel/runtime/helpers/extends"],e["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"])}(window,(function(e,t,r,n,a,o,i,s,u,l,c,f,d,h,p){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=37)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t,r){"use strict";var n=r(3),a=r(0).useContext,o=r(26);e.exports=function(){var e=a(o);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=a},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(3),o=r(0),i=r(1),s=i.Observable,u=i.PreloadableQueryRegistry,l=i.RelayFeatureFlags,c=i.ReplaySubject,f=i.__internal.fetchQueryDeduped,d=i.createOperationDescriptor,h=i.getRequest,p=i.getRequestIdentifier,v=r(6),y=null,m=100001;e.exports={loadQuery:function(e,t,r,i,g){var _,b,R,C,P=null===(_=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===_||null===(b=_.ReactCurrentDispatcher)||void 0===b?void 0:b.current;v(null==y||P!==y,"Relay: `%s` should not be called inside a React render function.",null!==(R=null==i?void 0:i.__nameForWarning)&&void 0!==R?R:"loadQuery"),m++;var E,S,x,q,F,D,I=null!==(C=null==i?void 0:i.fetchPolicy)&&void 0!==C?C:"store-or-network",k=(0,n.default)((0,n.default)({},null==i?void 0:i.networkCacheConfig),{},{force:!0}),w=!1,O=function(t,r){return w=!0,e.executeWithSource({operation:t,source:r})},A=new c,N=s.create((function(e){return A.subscribe(e)})),Q=null,T=!1,M=function(t){var n;T=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var o="raw-network-request-"+p(t,r);n=f(e,o,(function(){return e.getNetwork().execute(t,r,k)}))}else{n=e.getNetwork().execute(t,r,k)}var i=n.subscribe({error:function(e){Q=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return S=i,s.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),S()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(T=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){A.error(e)},next:function(e){A.next(e)},complete:function(){A.complete()}});x=n.unsubscribe},L=function(t){var n=d(t,r,k);(E=e.retain(n),"store-only"!==I)&&(("store-or-network"!==I||"available"!==e.check(n).status)&&U(n,(function(){var e=M(t.params);return O(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(D=(q=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",q.name);var j=u.get(D);if(null!=j)L(j);else{var V="store-only"===I?null:M(q),W=u.onLoad(D,(function(t){F();var n=d(t,r,k);E=e.retain(n),null!=V&&U(n,(function(){return O(n,V)}))}));F=W.dispose}}else{var B=h(t);D=null!=(q=B.params).cacheID?q.cacheID:q.id,L(B)}var H=!1,K=!1,G=!1,z=function(){K||(E&&E.dispose(),K=!0)},Y=function(){G||(w?x&&x():S&&S(),F&&F(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){H||(z(),Y(),H=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:m,id:D,get isDisposed(){return H||K},get networkError(){return Q},name:q.name,networkCacheConfig:k,fetchPolicy:I,source:T?N:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===y&&(y=null===(e=o.__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,r){"use strict";var n=r(0),a=r(1).__internal.createRelayContext;e.exports=a(n)},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(0),a=n.useEffect,o=n.useRef;e.exports=function(){var e=o(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},function(e,t){e.exports=u},function(e,t){e.exports=l},function(e,t,r){"use strict";function n(e){return e.displayName||e.name||"Component"}e.exports={getComponentName:n,getContainerName:function(e){return"Relay("+n(e)+")"}}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=r(2)(r(17)),a=r(39),o=r(14),i=o.getComponentName,s=o.getContainerName,u=r(9),l=r(18),c=r(40),f=r(3),d=r(0),h=r(1).getFragment;e.exports=function(e,t,r){var o=s(e);a(i(e),t);var p={};for(var v in t)p[v]=h(t[v]);var y=r(e,p);function m(e,t){var r,a=c(u);null==a&&f(!1,"`%s` tried to render a context that was not valid this means that `%s` was rendered outside of a query renderer.",o,o);var i=c(l);return d.createElement(y,(0,n.default)({},e,{__relayContext:a,__rootIsQueryRenderer:null!==(r=null==i?void 0:i.rootIsQueryRenderer)&&void 0!==r&&r,componentRef:e.componentRef||t}))}y.displayName=o,m.displayName=o;var g=d.forwardRef(m);return g.__ComponentClass=e,g.displayName=o,g}},function(e,t){e.exports=f},function(e,t,r){"use strict";var n=r(0);e.exports=n.createContext({rootIsQueryRenderer:!1})},function(e,t,r){"use strict";var n=r(41),a=r(3);function o(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&n(e.environment)}e.exports={assertRelayContext:function(e){return o(e)||a(!1,"RelayContext: Expected `context.relay` to be an object conforming to the `RelayContext` interface, got `%s`.",e),e},isRelayContext:o}},function(e,t,r){"use strict";var n=r(2)(r(7)),a=r(3),o=r(1),i=o.__internal.fetchQuery,s=o.createOperationDescriptor,u=o.isRelayModernEnvironment,l=function(){function e(e){(0,n.default)(this,"_selectionReferences",[]),(0,n.default)(this,"_callOnDataChangeWhenSet",!1),null!=e&&(this._cacheSelectionReference=e.cacheSelectionReference,this._selectionReferences=e.selectionReferences)}var t=e.prototype;return t.getSelectionReferences=function(){return{cacheSelectionReference:this._cacheSelectionReference,selectionReferences:this._selectionReferences}},t.lookupInStore=function(e,t,r){return"store-and-network"!==r&&"store-or-network"!==r||"available"!==e.check(t).status?null:(this._retainCachedOperation(e,t),e.lookup(t.fragment))},t.execute=function(e){var t=this,r=e.environment,n=e.operation,a=e.preservePreviousReferences,o=void 0!==a&&a,s=r.retain(n),l=function(){t._selectionReferences=t._selectionReferences.concat(s)},c=function(){o||t.disposeSelectionReferences(),t._selectionReferences=t._selectionReferences.concat(s)},f=function(){t._selectionReferences=t._selectionReferences.concat(s)};return u(r)?i(r,n).do({error:l,complete:c,unsubscribe:f}):r.execute({operation:n}).do({error:l,complete:c,unsubscribe:f})},t.setOnDataChange=function(e){this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `setOnDataChange` should have been called after having called `fetch`"),"function"==typeof e&&(this._fetchOptions.onDataChangeCallbacks=this._fetchOptions.onDataChangeCallbacks||[],this._fetchOptions.onDataChangeCallbacks.push(e),this._callOnDataChangeWhenSet&&(null!=this._error?e({error:this._error}):null!=this._snapshot&&e({snapshot:this._snapshot})))},t.fetch=function(e,t){var r,n=this,a=e.environment,o=e.operation,i=e.onDataChange,u=!1;this.disposeRequest();var l=this._fetchOptions&&this._fetchOptions.onDataChangeCallbacks;this._fetchOptions={environment:a,onDataChangeCallbacks:l||[],operation:o},i&&-1===this._fetchOptions.onDataChangeCallbacks.indexOf(i)&&this._fetchOptions.onDataChangeCallbacks.push(i);var c=t?s(o.request.node,o.request.variables,t):o,f=this.execute({environment:a,operation:c}).finally((function(){n._pendingRequest=null})).subscribe({next:function(){n._callOnDataChangeWhenSet=!0,n._error=null,n._onQueryDataAvailable({notifyFirstResult:u})},error:function(e){n._callOnDataChangeWhenSet=!0,n._error=e,n._snapshot=null;var t=n._fetchOptions&&n._fetchOptions.onDataChangeCallbacks;u?t&&t.forEach((function(t){t({error:e})})):r=e}});if(this._pendingRequest={dispose:function(){f.unsubscribe()}},u=!0,r)throw r;return this._snapshot},t.retry=function(e){return this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `retry` should be called after having called `fetch`"),this.fetch({environment:this._fetchOptions.environment,operation:this._fetchOptions.operation,onDataChange:null},e)},t.dispose=function(){this.disposeRequest(),this.disposeSelectionReferences()},t.disposeRequest=function(){this._error=null,this._snapshot=null,this._pendingRequest&&this._pendingRequest.dispose(),this._rootSubscription&&(this._rootSubscription.dispose(),this._rootSubscription=null)},t._retainCachedOperation=function(e,t){this._disposeCacheSelectionReference(),this._cacheSelectionReference=e.retain(t)},t._disposeCacheSelectionReference=function(){this._cacheSelectionReference&&this._cacheSelectionReference.dispose(),this._cacheSelectionReference=null},t.disposeSelectionReferences=function(){this._disposeCacheSelectionReference(),this._selectionReferences.forEach((function(e){return e.dispose()})),this._selectionReferences=[]},t._onQueryDataAvailable=function(e){var t=this,r=e.notifyFirstResult;this._fetchOptions||a(!1,"ReactRelayQueryFetcher: `_onQueryDataAvailable` should have been called after having called `fetch`");var n=this._fetchOptions,o=n.environment,i=n.onDataChangeCallbacks,s=n.operation;if(!this._snapshot&&(this._snapshot=o.lookup(s.fragment),this._rootSubscription=o.subscribe(this._snapshot,(function(e){if(null!=t._fetchOptions){var r=t._fetchOptions.onDataChangeCallbacks;Array.isArray(r)&&r.forEach((function(t){return t({snapshot:e})}))}})),this._snapshot&&r&&Array.isArray(i))){var u=this._snapshot;i.forEach((function(e){return e({snapshot:u})}))}},e}();e.exports=l},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(29).getFragmentResourceForEnvironment,a=r(4),o=r(0),i=o.useEffect,s=o.useRef,u=o.useState,l=r(1).getFragmentIdentifier,c=r(6);e.exports=function(e,t,r){var o=a(),f=n(o),d=s(!1),h=u(0)[1],p=l(e,t),v=f.readWithIdentifier(e,t,p,r),y=s(!0);function m(){!1!==d.current&&!1!==y.current&&h((function(e){return e+1}))}return i((function(){d.current=!0;var e=f.subscribe(v,m);return function(){d.current=!1,e.dispose()}}),[o,p]),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(){y.current=!1},enableStoreUpdates:function(){y.current=!0,f.checkMissedUpdates(v)[0]&&m()}}}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(7)),i=r(30),s=r(31),u=r(3),l=r(1).isPromise,c=r(6),f="function"==typeof WeakMap;function d(e){return void 0!==e.request.node.params.metadata.live}function h(e,t,r,n,a){var o=null!=r?r:"store-or-network",i=null!=n?n:e.UNSTABLE_getDefaultRenderPolicy(),s="".concat(o,"-").concat(i,"-").concat(t.request.identifier);return null!=a?"".concat(s,"-").concat(a):s}function p(e,t){var r={__id:e.fragment.dataID,__fragments:(0,o.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 y(e,t,r,n,a,o){var i=d(t),u=n,l=a,c=new s((function(e){var r=e.retain(t);return{dispose:function(){i&&null!=l&&l.unsubscribe(),r.dispose(),o(f)}}})),f={cacheIdentifier:e,id:v++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return u},setValue:function(e){u=e},setNetworkSubscription:function(e){i&&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 m=function(){function e(e){var t=this;(0,o.default)(this,"_clearCacheEntry",(function(e){t._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=i.create(1e3)}var t=e.prototype;return t.prepare=function(e,t,r,n,a,o,i){var s=h(this._environment,e,r,n,o);return this.prepareWithIdentifier(s,e,t,r,n,a,i)},t.prepareWithIdentifier=function(e,t,r,n,o,i,s){var u=this._environment,c=null!=n?n:"store-or-network",f=null!=o?o:u.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),h=null,p=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,s,(0,a.default)((0,a.default)({},i),{},{unsubscribe:function(e){null!=h&&h.dispose();var t=null==i?void 0:i.unsubscribe;t&&t(e)}}))),h=d.temporaryRetain(u);var v=d.getValue();if(l(v))throw u.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:p,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),v;if(v instanceof Error)throw v;return v},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,o=this._getOrCreateCacheEntry(n,a,null,e,null),i=o.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:o.id}),{dispose:function(){i.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=h(this._environment,e,t,r,n);return this._cache.get(a)},t._getOrCreateCacheEntry=function(e,t,r,n,a){var o=this._cache.get(e);return null==o&&(o=y(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,o)),o},t._fetchAndSaveQuery=function(e,t,r,n,o,i,s){var l,f,h=this,v=this._environment,m=v.check(t),g=m.status,_="available"===g,b=_||"partial"===o&&"stale"!==g,R=function(){};switch(n){case"store-only":l=!1,f=!0;break;case"store-or-network":l=!_,f=b;break;case"store-and-network":l=!0,f=b;break;case"network-only":default:l=!0,f=!1}if(f){var C=p(t,e),P=y(e,t,m,C,null,this._clearCacheEntry);this._cache.set(e,P)}if(l){var E,S=p(t,e);r.subscribe({start:function(r){E=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(E);var o=null==s?void 0:s.start;o&&o((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){d(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,m,S,E);r.processedPayloadsCount+=1,r.setValue(S),R();var n=null==s?void 0:s.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,m,r,E);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(),E=null,n.setNetworkSubscription(null);var a=null==s?void 0:s.error;a&&a(r)},complete:function(){R(),E=null;var t=h._cache.get(e);t&&t.setNetworkSubscription(null);var r=null==s?void 0:s.complete;r&&r()},unsubscribe:null==s?void 0:s.unsubscribe});var x=this._cache.get(e);if(!x){var q=new Promise((function(e){R=e}));q.displayName="Relay("+t.fragment.node.name+")",x=y(e,t,m,q,E,this._clearCacheEntry),this._cache.set(e,x)}}else{var F=null==s?void 0:s.complete;F&&F()}var D=this._cache.get(e);return null==D&&u(!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:D.id,operation:t,profilerContext:i,fetchPolicy:n,renderPolicy:o,queryAvailability:m,shouldFetch:l}),D},e}();function g(e){return new m(e)}var _=f?new WeakMap:new Map;e.exports={createQueryResource:g,getQueryResourceForEnvironment:function(e){var t=_.get(e);if(t)return t;var r=g(e);return _.set(e,r),r},getQueryCacheIdentifier:h}},function(e,t,r){"use strict";var n=r(0).useRef,a=r(6);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,r){"use strict";var n=r(2)(r(5)),a=r(1).getSelector;e.exports=function(e,t){var r={};return Object.keys(e).forEach((function(o){var i,s,u,l=e[o],c=t[o],f=a(l,c),d=null!=f&&"PluralReaderSelector"===f.kind?null!==(i=null===(s=f.selectors[0])||void 0===s?void 0:s.owner.variables)&&void 0!==i?i:{}:null!==(u=null==f?void 0:f.owner.variables)&&void 0!==u?u:{};r=(0,n.default)((0,n.default)({},r),d)})),r}},function(e,t){e.exports=d},function(e,t,r){"use strict";var n=r(8).loadQuery;e.exports=function e(t,r,a){var o=null;null==r.root.getModuleIfRequired()&&(o=r.root.load());var i=r.getPreloadProps(a),s=i.queries,u=i.entryPoints,l=i.extraProps,c={},f={};null!=s&&Object.keys(s).forEach((function(e){var r=s[e],a=r.environmentProviderOptions,o=r.options,i=r.parameters,u=r.variables,l=t.getEnvironment(a);c[e]=n(l,i,u,{fetchPolicy:null==o?void 0:o.fetchPolicy,networkCacheConfig:null==o?void 0:o.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=u&&Object.keys(u).forEach((function(r){var n=u[r];if(null!=n){var a=n.entryPoint,o=n.entryPointParams;f[r]=e(t,a,o)}}));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 o=null!==(e=o)&&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=h},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(7)),i=n(r(50)),s=r(30),u=r(23).getQueryResourceForEnvironment,l=r(31),c=r(3),f=r(1),d=f.RelayFeatureFlags,h=f.__internal,p=h.fetchQuery,v=h.getPromiseForActiveRequest,y=f.createOperationDescriptor,m=f.getFragmentIdentifier,g=f.getPendingOperationsForFragment,_=f.getSelector,b=f.getVariablesFromFragment,R=f.handlePotentialSnapshotErrors,C=f.isPromise,P=f.recycleNodesInto,E="function"==typeof WeakMap,S=Object.freeze([]);function x(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function q(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function F(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 D=function(){function e(e){(0,o.default)(this,"_cache",new Map),(0,o.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],o=n[1];t.forEach((function(e){a.push(e)})),o.temporaryRetain(this._environment)}else{var i=new l((function(){return r._retain(e)}));this._cache.set(e,[t,i]),i.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}(),I=function(){function e(e){this._environment=e,this._cache=s.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new D(e))}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,m(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var o,s,l,f=this,h=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var p=h.getStore().getEpoch();if(!0===(null==e||null===(o=e.metadata)||void 0===o?void 0:o.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:S,isMissingData:!1,snapshot:S,storeEpoch:p};var y=this._cache.get(r);if(null!=y){var m;if("pending"===y.kind&&C(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===(m=q(y.result.snapshot))||void 0===m?void 0:m.length))return this._handlePotentialSnapshotErrorsInSnapshot(y.result.snapshot),y.result}var g=_(e,t);null==g&&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 b="PluralReaderSelector"===g.kind?g.selectors.map((function(e){return h.lookup(e)})):h.lookup(g),R=F(r,b,p);if(!R.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(b),this._cache.set(r,{kind:"done",result:R}),R;var P=null;if(d.ENABLE_CLIENT_EDGES&&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}(b)){P=[];var E=u(this._environment),x=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(b,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,o=r.clientEdgeDestinationID,i=f._performClientEdgeQuery(E,e,t,a,o),s=i.queryResult,u=i.requestDescriptor;x.push(s),null===(n=P)||void 0===n||n.push(u)}))})),null==this._clientEdgeQueryResultsCache&&c(!1,"Client edge query result cache should exist when ENABLE_CLIENT_EDGES is on."),this._clientEdgeQueryResultsCache.recordQueryResults(r,x)}var D=[];d.ENABLE_CLIENT_EDGES&&P&&(D=P.map((function(e){return v(f._environment,e)})).filter(Boolean));var I="PluralReaderSelector"===g.kind?g.selectors[0].owner:g.owner,k=this._getAndSavePromiseForFragmentRequestInFlight(r,e,I,R),w=null==k?void 0:k.promise,O=null!==(s=null===(l=q(b))||void 0===l?void 0:l.map((function(e){var t=e.liveStateID;return h.getStore().getLiveResolverPromise(t)})))&&void 0!==s?s:[];if(D.length||O.length||C(w)){var A,N;h.__log({name:"suspense.fragment",data:R.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:R.isMissingData,pendingOperations:[].concat((0,i.default)(null!==(A=null==k?void 0:k.pendingOperations)&&void 0!==A?A:[]),(0,i.default)(null!==(N=P)&&void 0!==N?N:[]))});var Q=[];if(D.length>0&&(Q=Q.concat(D)),O.length>0&&(Q=Q.concat(O)),Q.length>0)throw w&&Q.push(w),Promise.all(Q);if(w)throw w}return this._handlePotentialSnapshotErrorsInSnapshot(b),F(r,b,p)},t._performClientEdgeQuery=function(e,t,r,n,o){var i=b(t,r),s=(0,a.default)((0,a.default)({},i),{},{id:o}),u=y(n,s,{}),l=p(this._environment,u),c=e.prepare(u,l);return{requestDescriptor:u.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,o=e.snapshot;if(!o)return{dispose:function(){}};var i=this.checkMissedUpdates(e),s=i[0],l=i[1];s&&t();var f=[];if(Array.isArray(o)?(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,o){f.push(n.subscribe(e,(function(e){var i=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,o,i),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 o=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:F(a,e,o)}),t()})))),d.ENABLE_CLIENT_EDGES){var h,p,v=null!==(h=null===(p=this._clientEdgeQueryResultsCache)||void 0===p?void 0:p.get(a))&&void 0!==h?h:void 0;if(null==v?void 0:v.length){var y=u(this._environment);v.forEach((function(e){f.push(y.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 o=e.cacheKey;if(Array.isArray(r)){var i=!1,s=[];return r.forEach((function(e,r){var n=t.lookup(e.selector),o=e.data,u=n.data,l=P(o,u);l!==o&&(n=(0,a.default)((0,a.default)({},n),{},{data:l}),i=!0),s[r]=n})),i&&this._cache.set(o,{kind:"done",result:F(o,s,n)}),[i,s]}var u=t.lookup(r.selector),l=r.data,c=u.data,f=P(l,c),d={data:f,isMissingData:u.isMissingData,missingClientEdges:u.missingClientEdges,missingLiveResolverFields:u.missingLiveResolverFields,seenRecords:u.seenRecords,selector:u.selector,missingRequiredFields:u.missingRequiredFields,relayResolverErrors:u.relayResolverErrors};return f!==l&&this._cache.set(o,{kind:"done",result:F(o,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,o=g(this._environment,t,r);if(null==o)return null;var i=o.promise,s=o.pendingOperations,u=i.then((function(){a._cache.delete(e)})).catch((function(t){a._cache.delete(e)}));return u.displayName=i.displayName,this._cache.set(e,{kind:"pending",pendingOperations:s,promise:u,result:n}),{promise:u,pendingOperations:s}},t._updatePluralSnapshot=function(e,t,r,n,a){var o,s=this._cache.get(e);if(C(s))k(r.selector.node.name);else{var u=null==s||null===(o=s.result)||void 0===o?void 0:o.snapshot;if(!u||Array.isArray(u)){var l=u?(0,i.default)(u):(0,i.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:F(e,l,a)})}else k(r.selector.node.name)}},e}();function k(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 w(e){return new I(e)}var O=E?new WeakMap:new Map;e.exports={createFragmentResource:w,getFragmentResourceForEnvironment:function(e){var t=O.get(e);if(t)return t;var r=w(e);return O.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=r(2)(r(7)),a=r(3),o=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,o=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,n.dispose()};return a=setTimeout(o,3e5),null===(t=this._releaseTemporaryRetain)||void 0===t||t.call(this),this._releaseTemporaryRetain=o,{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=o},function(e,t,r){"use strict";var n=r(21),a=r(23),o=a.getQueryCacheIdentifier,i=a.getQueryResourceForEnvironment,s=r(33),u=r(22),l=r(4),c=r(0),f=c.useContext,d=c.useEffect,h=c.useState,p=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,v=e.fetchKey,y=e.renderPolicy,m=l(),g=f(n),_=i(m),b=h(0),R=b[0],C=b[1],P=s(),E=P.startFetch,S=P.completeFetch,x="".concat(R,"-").concat(null!=v?v:""),q=o(m,t,c,y,x),F=g.wrapPrepareQueryResource((function(){return _.prepareWithIdentifier(q,t,a,c,y,{start:E,complete:S,error:S},g)})),D=p(!1);d((function(){return function(){D.current=!0}}),[]),d((function(){if(!0===D.current)return D.current=!1,void C((function(e){return e+1}));var e=_.retain(F,g);return function(){e.dispose()}}),[m,q]),d((function(){_.releaseTemporaryRetain(F)}));var I=F.fragmentNode,k=F.fragmentRef;return u(I,k,r).data}},function(e,t,r){"use strict";var n=r(0),a=n.useCallback,o=n.useEffect,i=n.useRef;e.exports=function(){var e=i(null),t=i(!1),r=a((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),n=a((function(r){e.current=r,t.current=!0}),[]),s=a((function(){e.current=null,t.current=!1}),[]);return o((function(){return r}),[r]),{isFetchingRef:t,startFetch:n,disposeFetch:r,completeFetch:s}}},function(e,t,r){"use strict";var n=r(52),a=r(0),o=r(1),i=o.createOperationDescriptor,s=o.getRequest,u=a.useMemo;e.exports=function(e,t,r){var a=n(t)[0],o=n(r||{})[0];return u((function(){return i(s(e),a,o)}),[e,a,o])}},function(e,t,r){"use strict";var n,a=r(2)(r(5)),o=r(29).getFragmentResourceForEnvironment,i=r(21),s=r(23).getQueryResourceForEnvironment,u=r(22),l=r(11),c=r(36),f=r(4),d=r(3),h=r(0),p=h.useCallback,v=h.useContext,y=h.useReducer,m=r(1),g=m.__internal.fetchQuery,_=m.createOperationDescriptor,b=m.getFragmentIdentifier,R=m.getRefetchMetadata,C=m.getSelector,P=m.getValueAtPath,E=r(6);function S(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,o=null==e?void 0:e.id;if(1!==t.length||"node"!==t[0]||null==o)return null;var i=n.getStore().getSource().get(o),s=i&&a.getType(i);return null==s?null:{id:o,typename:s}},checkSameTypeAfterRefetch:function(e,t,n,a){var o=r(1).Record;if(e){var i=t.getStore().getSource().get(e.id),s=i&&o.getType(i);s!==e.typename&&E(!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,s,n.name,a)}},checkSameIDAfterRefetch:function(e,t,n,a){if(null!=e){var o=t[r(1).ID_KEY];null!=o&&o!==e.id&&E(!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.",o,e.id,n.name,a)}}},e.exports=function(e,t,r){var h=f(),m=R(e,r),x=m.refetchableRequest,q=m.fragmentRefPathInResponse,F=m.identifierField,D=b(e,t),I=y(S,{fetchPolicy:void 0,mirroredEnvironment:h,mirroredFragmentIdentifier:D,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),k=I[0],w=I[1],O=k.fetchPolicy,A=k.mirroredEnvironment,N=k.mirroredFragmentIdentifier,Q=k.onComplete,T=k.refetchEnvironment,M=k.refetchQuery,U=k.renderPolicy,L=null!=T?T:h,j=s(L),V=o(L),W=v(i),B=L!==A||D!==N,H=c(x),K=H[0],G=H[1],z=H[2],Y=t;if(B)w({type:"reset",environment:L,fragmentIdentifier:D}),z();else if(null!=M&&null!=K){var X;X=n.getInitialIDAndType(M.request.variables,q,L);var J=function(e){Q&&Q(null!=e?e:null)},Z=null!=K.source?K.source:g(L,M),$=W.wrapPrepareQueryResource((function(){return j.prepare(M,Z,O,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,L,e,r),J()}},K.fetchKey,W)})),ee=V.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,q),n.checkSameIDAfterRefetch(X,Y,e,r)}var te=u(e,Y,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:Y,refetch:function(e,t,r,n,o,i,s,u,c,f,d){var h=l(),v=null!=u&&null!=n&&"object"==typeof n?n[u]:null;return p((function(n,o){if(!0!==h.current)return E(!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.",i.name,e),{dispose:function(){}};null==f&&E(!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`.",i.name,e,e);var s,l,p=null==o?void 0:o.__environment,y=null==o?void 0:o.fetchPolicy,m=null==o?void 0:o.UNSTABLE_renderPolicy,g=null==o?void 0:o.onComplete,b=C(i,f);if(null==b)s={},l={};else if("PluralReaderSelector"===b.kind){var R,P,S,x;s=null!==(R=null===(P=b.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(S=null===(x=b.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==S?S:{}}else s=b.owner.variables,l=b.variables;var q=(0,a.default)((0,a.default)((0,a.default)({},s),l),n);null==u||n.hasOwnProperty("id")||("string"!=typeof v&&E(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",u,v),q.id=v);var F=_(d,q,{force:!0});return c(F.request.variables,{fetchPolicy:y,__environment:p,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:y,onComplete:g,refetchEnvironment:p,refetchQuery:F,renderPolicy:m}),{dispose:r}}),[o,t,r,v,c])}(r,w,z,re,D,e,0,F,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(2)(r(28)),a=r(8),o=a.loadQuery,i=a.useTrackLoadQueryInRender,s=r(11),u=r(4),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,h=l.useState,p=r(1).getRequest,v={kind:"NullQueryReference"};function y(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==p(e).params.metadata.live}e.exports=function(e,t){var r=null!=t?t:v,a=u();i();var l=s(),p=d(new Set([r])),m=h((function(){return r})),g=m[0],_=m[1],b=h((function(){return r})),R=b[0],C=b[1];r!==R&&(p.current.add(r),C(r),_(r));var P=c((function(){l.current&&(p.current.add(v),_(v))}),[l]),E=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 i,s=o(null!==(i=null==r?void 0:r.__environment)&&void 0!==i?i:a,e,t,n);p.current.add(s),_(s)}}),[a,e,_,l]),S=d(!1);return f((function(){return function(){S.current=!0}}),[]),f((function(){if(!0===S.current)return S.current=!1,void("NullQueryReference"!==g.kind&&E(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var t=p.current;if(l.current){var r,a=(0,n.default)(t);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o===g)break;t.delete(o),"NullQueryReference"!==o.kind&&(y(e)?o.dispose&&o.dispose():o.releaseQuery&&o.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,l,E,e]),f((function(){return function(){var t,r=(0,n.default)(p.current);try{for(r.s();!(t=r.n()).done;){var a=t.value;"NullQueryReference"!==a.kind&&(y(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,E,P]}},function(e,t,r){"use strict";var n=r(9),a=r(38),o=r(42),i=r(43),s=r(44),u=r(45),l=r(46),c=r(27),f=r(8).loadQuery,d=r(47),h=r(48),p=r(49),v=r(51),y=r(53),m=r(54),g=r(57),_=r(36),b=r(58),R=r(4),C=r(59),P=r(60),E=r(1);e.exports={ConnectionHandler:E.ConnectionHandler,QueryRenderer:s,LocalQueryRenderer:o,MutationTypes:E.MutationTypes,RangeOperations:E.RangeOperations,ReactRelayContext:n,applyOptimisticMutation:E.applyOptimisticMutation,commitLocalUpdate:E.commitLocalUpdate,commitMutation:E.commitMutation,createFragmentContainer:a.createContainer,createPaginationContainer:i.createContainer,createRefetchContainer:u.createContainer,fetchQuery_DEPRECATED:E.fetchQuery_DEPRECATED,graphql:E.graphql,readInlineData:E.readInlineData,requestSubscription:E.requestSubscription,EntryPointContainer:l,RelayEnvironmentProvider:d,fetchQuery:E.fetchQuery,loadQuery:f,loadEntryPoint:c,useFragment:p,useLazyLoadQuery:v,useEntryPointLoader:h,useQueryLoader:_,useMutation:y,usePaginationFragment:m,usePreloadedQuery:g,useRefetchableFragment:b,useRelayEnvironment:R,useSubscribeToInvalidationState:C,useSubscription:P}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(15)),i=n(r(12)),s=n(r(13)),u=n(r(7)),l=r(16),c=r(14).getContainerName,f=r(19).assertRelayContext,d=r(10),h=r(0),p=r(1),v=p.createFragmentSpecResolver,y=p.getDataIDsFromObject,m=p.isScalarAndEqual;function g(e,t){var r,n,l=c(e);return n=r=function(r){function n(e){var n,a;a=r.call(this,e)||this,(0,u.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){var e=a.state.resolver;a.setState((function(t){return e===t.resolver?{data:t.resolver.resolve(),relayProp:_(t.relayProp.environment)}:null}))}));var o=f(e.__relayContext),s=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,c=v(o,l,t,e,s);return a.state={data:c.resolve(),prevProps:e,prevPropsContext:o,relayProp:_(o.environment),resolver:c},a}(0,s.default)(n,r),n.getDerivedStateFromProps=function(e,r){var n,a=r.prevProps,o=f(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,s=y(t,a),u=y(t,e),c=r.resolver;if(r.prevPropsContext.environment!==o.environment||!d(s,u))return{data:(c=v(o,l,t,e,i)).resolve(),prevPropsContext:o,prevProps:e,relayProp:_(o.environment),resolver:c};c.setProps(e);var h=c.resolve();return h!==r.data?{data:h,prevProps:e,prevPropsContext:o,relayProp:_(o.environment)}:null};var c=n.prototype;return c.componentDidMount=function(){this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},c.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.componentWillUnmount=function(){this.state.resolver.dispose()},c.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(r.prevPropsContext.environment!==this.state.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!m(e[o],this.props[o]))return!0}return!1},c._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},c._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},c.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return h.createElement(e,(0,a.default)((0,a.default)((0,a.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(h.Component),(0,u.default)(r,"displayName",l),n}function _(e){return{environment:e}}e.exports={createContainer:function(e,t){return l(e,t,g)}}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t){for(var r in t&&"object"==typeof t||n(!1,"Could not create Relay Container for `%s`. Expected a set of GraphQL fragments, got `%s` instead.",e,t),t)if(t.hasOwnProperty(r)){var a=t[r];(!a||"object"!=typeof a&&"function"!=typeof a)&&n(!1,"Could not create Relay Container for `%s`. The value of fragment `%s` was expected to be a fragment, got `%s` instead.",e,r,a)}}},function(e,t,r){"use strict";var n=r(0).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,a=n.ReactCurrentDispatcher,o=n.ReactCurrentOwner;e.exports=function(e){return(null!=a?a.current:o.currentDispatcher).readContext(e)}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&null!==e&&"function"==typeof e.check&&"function"==typeof e.lookup&&"function"==typeof e.retain&&"function"==typeof e.execute&&"function"==typeof e.subscribe}},function(e,t,r){"use strict";var n=r(9),a=r(18),o=r(10),i=r(0),s=r(1),u=s.createOperationDescriptor,l=s.deepFreeze,c=s.getRequest,f=i.useLayoutEffect,d=i.useState,h=i.useRef,p=i.useMemo,v={rootIsQueryRenderer:!0};e.exports=function(e){var t,r,s=e.environment,y=e.query,m=e.variables,g=e.render,_=(t=m,r=i.useRef(t),o(r.current,t)||(l(t),r.current=t),r.current),b=p((function(){var e=c(y);return u(e,_)}),[y,_]),R=p((function(){return{environment:s}}),[s]),C=h(null),P=d(null)[1],E=h(null),S=p((function(){s.check(b);var e=s.lookup(b.fragment);C.current=e.data;var t=s.retain(b),r=s.subscribe(e,(function(e){C.current=e.data,P(C.current)})),n=!1;return E.current&&E.current(),E.current=function(){n||(n=!0,E.current=null,t.dispose(),r.dispose())},e}),[s,b]);return f((function(){var e=E.current;return function(){e&&e()}}),[S]),i.createElement(n.Provider,{value:R},i.createElement(a.Provider,{value:v},g({props:C.current})))}},function(e,t,r){"use strict";var n=r(2),a=n(r(17)),o=n(r(15)),i=n(r(12)),s=n(r(13)),u=n(r(7)),l=n(r(5)),c=r(16),f=r(25),d=r(14),h=d.getComponentName,p=d.getContainerName,v=r(9),y=r(20),m=r(19).assertRelayContext,g=r(10),_=r(3),b=r(0),R=r(1),C=R.ConnectionInterface,P=R.Observable,E=R.RelayFeatureFlags,S=R.createFragmentSpecResolver,x=R.createOperationDescriptor,q=R.getDataIDsFromObject,F=R.getRequest,D=R.getVariablesFromObject,I=R.isScalarAndEqual,k=r(6);function w(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function O(e,t,r){var n,c,d=h(e),R=p(e),O=function(e){var t=null,r=!1;for(var n in e){var a=e[n],o=a.metadata&&a.metadata.connection;void 0!==a.metadata&&(r=!0),o&&(1!==o.length&&_(!1,"ReactRelayPaginationContainer: Only a single @connection is supported, `%s` has %s.",n,o.length),t&&_(!1,"ReactRelayPaginationContainer: Only a single fragment with @connection is supported."),t=(0,l.default)((0,l.default)({},o[0]),{},{fragmentName:n}))}return r&&null===t&&_(!1,"ReactRelayPaginationContainer: A @connection directive must be present."),t||{}}(t),A=r.getConnectionFromProps||function(e){var t=e.path;return t||_(!1,"ReactRelayPaginationContainer: Unable to synthesize a getConnectionFromProps function."),function(r){for(var n=r[e.fragmentName],a=0;a<t.length;a++){if(!n||"object"!=typeof n)return null;n=n[t[a]]}return n}}(O),N=r.direction||O.direction;N||_(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var Q=r.getFragmentVariables||function(e){var t=e.count;return t||_(!1,"ReactRelayPaginationContainer: Unable to synthesize a getFragmentVariables function."),function(e,r){return(0,l.default)((0,l.default)({},e),{},(0,u.default)({},t,r))}}(O);return c=n=function(n){function c(e){var r,a;a=n.call(this,e)||this,(0,u.default)((0,i.default)(a),"_handleFragmentDataUpdate",(function(){a.setState({data:a._resolver.resolve()})})),(0,u.default)((0,i.default)(a),"_hasMore",(function(){var e=a._getConnectionData();return!!(e&&e.hasMore&&e.cursor)})),(0,u.default)((0,i.default)(a),"_isLoading",(function(){return!!a._refetchSubscription})),(0,u.default)((0,i.default)(a),"_refetchConnection",(function(e,t,r){if(!a._canFetchPage("refetchConnection"))return{dispose:function(){}};a._refetchVariables=r;var n={count:e,cursor:null,totalCount:e};return{dispose:a._fetchPage(n,w(t),{force:!0}).unsubscribe}})),(0,u.default)((0,i.default)(a),"_loadMore",(function(e,t,r){if(!a._canFetchPage("loadMore"))return{dispose:function(){}};var n=w(t),o=a._getConnectionData();if(!o)return P.create((function(e){return e.complete()})).subscribe(n),null;var i=o.edgeCount+e;if(r&&r.force)return a._refetchConnection(i,t);var s=C.get(),u=s.END_CURSOR,l=s.START_CURSOR,c=o.cursor;k(null!=c&&""!==c,"ReactRelayPaginationContainer: Cannot `loadMore` without valid `%s` (got `%s`)","forward"===N?u:l,c);var f={count:e,cursor:c,totalCount:i};return{dispose:a._fetchPage(f,n,r).unsubscribe}}));var o=m(e.__relayContext),s=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r;return a._isARequestInFlight=!1,a._refetchSubscription=null,a._refetchVariables=null,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?a._resolver=S(o,R,t,e,s):a._resolver=S(o,R,t,e,s,a._handleFragmentDataUpdate),a.state={data:a._resolver.resolve(),prevContext:o,contextForChildren:o,relayProp:a._buildRelayProp(o),resolverGeneration:0},a._isUnmounted=!1,a._hasFetched=!1,a}(0,s.default)(c,n);var h=c.prototype;return h.componentDidMount=function(){this._isUnmounted=!1,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},h.componentDidUpdate=function(e,t){!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},h.UNSAFE_componentWillReceiveProps=function(e){var r,n=this,a=m(e.__relayContext),o=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r,i=q(t,this.props),s=q(t,e),u=f(t,this.props),l=f(t,e);a.environment===this.state.prevContext.environment&&g(u,l)&&g(i,s)?this._hasFetched||this._resolver.setProps(e):(this._cleanup(),!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT?this._resolver=S(a,R,t,e,o):this._resolver=S(a,R,t,e,o,this._handleFragmentDataUpdate),this.setState((function(e){return{prevContext:a,contextForChildren:a,relayProp:n._buildRelayProp(a),resolverGeneration:e.resolverGeneration+1}})));var c=this._resolver.resolve();c!==this.state.data&&this.setState({data:c})},h.componentWillUnmount=function(){this._isUnmounted=!0,this._cleanup()},h.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp||r.resolverGeneration!==this.state.resolverGeneration)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(r.prevContext.environment!==this.state.prevContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!I(e[o],this.props[o]))return!0}return!1},h._buildRelayProp=function(e){return{hasMore:this._hasMore,isLoading:this._isLoading,loadMore:this._loadMore,refetchConnection:this._refetchConnection,environment:e.environment}},h._rerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();e!==t&&this.setState({data:t})},h._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state.data,t=this._resolver.resolve();this._resolver.setCallback(this.props,this._handleFragmentDataUpdate),e!==t&&this.setState({data:t})},h._getConnectionData=function(){var e=this.props,t=(e.componentRef,(0,o.default)(e,["componentRef"])),r=(0,l.default)((0,l.default)({},t),this.state.data),n=A(r);if(null==n)return null;var a=C.get(),i=a.EDGES,s=a.PAGE_INFO,u=a.HAS_NEXT_PAGE,c=a.HAS_PREV_PAGE,f=a.END_CURSOR,h=a.START_CURSOR;"object"!=typeof n&&_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return `null` or a plain object with %s and %s properties, got `%s`.",d,i,s,n);var p=n[i],v=n[s];if(null==p||null==v)return null;Array.isArray(p)||_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",d,i,p),"object"!=typeof v&&_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Object, got `%s`.",d,s,v);var y="forward"===N?v[u]:v[c],m="forward"===N?v[f]:v[h];return"boolean"!=typeof y||0!==p.length&&void 0===m?(k(!1,"ReactRelayPaginationContainer: Cannot paginate without %s fields in `%s`. Be sure to fetch %s (got `%s`) and %s (got `%s`).",s,d,"forward"===N?u:c,y,"forward"===N?f:h,m),null):{cursor:m,edgeCount:p.length,hasMore:y}},h._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new y),this._queryFetcher},h._canFetchPage=function(e){return!this._isUnmounted||(k(!1,"ReactRelayPaginationContainer: Unexpected call of `%s` on unmounted container `%s`. It looks like some instances of your container still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `%s` call.",e,R,e),!1)},h._fetchPage=function(e,n,a){var i,s=this,u=m(this.props.__relayContext).environment,c=this.props,h=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,o.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),p=(0,l.default)((0,l.default)({},h),this.state.data),v=f(t,h);i=D(t,h),i=(0,l.default)((0,l.default)((0,l.default)({},v),i),this._refetchVariables);var y=r.getVariables(p,{count:e.count,cursor:e.cursor},i);("object"!=typeof y||null===y)&&_(!1,"ReactRelayPaginationContainer: Expected `getVariables()` to return an object, got `%s` in `%s`.",y,d),y=(0,l.default)((0,l.default)({},y),this._refetchVariables),i=(0,l.default)((0,l.default)({},y),i);var b=a?{force:!!a.force}:void 0;null!=b&&null!=(null==a?void 0:a.metadata)&&(b.metadata=null==a?void 0:a.metadata);var R=F(r.query),C=x(R,y,b),E=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var S=function(){s._refetchSubscription===E&&(s._refetchSubscription=null,s._isARequestInFlight=!1)};return this._isARequestInFlight=!0,E=this._getQueryFetcher().execute({environment:u,operation:C,preservePreviousReferences:!0}).mergeMap((function(t){return P.create((function(t){!function(t,r){var n=s._resolver.resolve();s._resolver.setVariables(Q(i,e.totalCount),C.request.node);var a=s._resolver.resolve();g(n,a)?r():s.setState({data:a,contextForChildren:{environment:s.props.__relayContext.environment}},r)}(0,(function(){t.next(),t.complete()}))}))})).do({error:S,complete:S,unsubscribe:S}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?E:null,E},h._cleanup=function(){this._resolver.dispose(),this._refetchVariables=null,this._hasFetched=!1,this._refetchSubscription&&(this._refetchSubscription.unsubscribe(),this._refetchSubscription=null,this._isARequestInFlight=!1),this._queryFetcher&&this._queryFetcher.dispose()},h.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"]));return b.createElement(v.Provider,{value:this.state.contextForChildren},b.createElement(e,(0,a.default)({},n,this.state.data,{ref:r,relay:this.state.relayProp})))},c}(b.Component),(0,u.default)(n,"displayName",R),c}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return O(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(12)),i=n(r(13)),s=n(r(7)),u=r(9),l=r(20),c=r(18),f=r(10),d=r(0),h=r(1),p=h.createOperationDescriptor,v=h.deepFreeze,y=h.getRequest,m={},g={rootIsQueryRenderer:!0},_=function(e){function t(t){var r;r=e.call(this,t)||this,(0,s.default)((0,o.default)(r),"_handleDataChange",(function(e){var t=null==e.error?null:e.error,n=null==e.snapshot?null:e.snapshot;r.setState((function(e){var r=e.requestCacheKey;return r&&delete m[r],n===e.snapshot&&t===e.error?null:{renderProps:b(t,n,e.queryFetcher,e.retryCallbacks),snapshot:n,requestCacheKey:null}}))}));var n,i,u={handleDataChange:null,handleRetryAfterError:null};if(t.query){var c=t.query;i=R(y(c).params,t.variables),n=m[i]?m[i].queryFetcher:new l}else n=new l;return r._maybeHiddenOrFastRefresh=!1,r.state=(0,a.default)({prevPropsEnvironment:t.environment,prevPropsVariables:t.variables,prevQuery:t.query,queryFetcher:n,retryCallbacks:u},P(t,n,u,i)),r}(0,i.default)(t,e),t.getDerivedStateFromProps=function(e,t){return t.prevQuery===e.query&&t.prevPropsEnvironment===e.environment&&f(t.prevPropsVariables,e.variables)?null:C(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return C(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,a=t.requestCacheKey;a&&delete m[a],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete m[t],{renderProps:{error:null,props:null,retry:null},requestCacheKey:null}}))},this.props.query&&n.setOnDataChange(this._handleDataChange)},r.componentDidUpdate=function(e,t){var r=this.state,n=r.queryFetcher,a=r.requestCacheKey;a&&(delete m[a],delete this.state.requestCacheKey),this.props.query&&n!==t.queryFetcher&&n.setOnDataChange(this._handleDataChange)},r.componentWillUnmount=function(){this.state.queryFetcher.dispose(),this._maybeHiddenOrFastRefresh=!0},r.shouldComponentUpdate=function(e,t){return e.render!==this.props.render||t.renderProps!==this.state.renderProps},r.render=function(){var e=this.state,t=e.renderProps,r=e.relayContext;return v(t),d.createElement(u.Provider,{value:r},d.createElement(c.Provider,{value:g},this.props.render(t)))},t}(d.Component);function b(e,t,r,n){return{error:e||null,props:t?t.data:null,retry:function(t){var a=r.retry(t);a&&"function"==typeof n.handleDataChange?n.handleDataChange({snapshot:a}):e&&"function"==typeof n.handleRetryAfterError&&n.handleRetryAfterError(e)}}}function R(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function C(e,t){var r,n=e.query,o=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var i=R(y(n).params,e.variables);r=m[i]?m[i].queryFetcher:new l(o)}else r=new l(o);return(0,a.default)({prevQuery:e.query,prevPropsEnvironment:e.environment,prevPropsVariables:e.variables,queryFetcher:r},P(e,r,t.retryCallbacks))}function P(e,t,r,n){var a=e.environment,o=e.query,i=e.variables,s=e.cacheConfig,u=a;if(!o)return t.dispose(),{error:null,relayContext:{environment:u},renderProps:{error:null,props:{},retry:null},requestCacheKey:null};var l=y(o),c=p(l,i,s),f={environment:u};if("string"==typeof n&&m[n]){var d=m[n].snapshot;return d?{error:null,relayContext:f,renderProps:b(null,d,t,r),snapshot:d,requestCacheKey:n}:{error:null,relayContext:f,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}try{var h=t.lookupInStore(u,c,e.fetchPolicy),v=t.fetch({environment:u,onDataChange:null,operation:c})||h;return n=n||R(l.params,e.variables),m[n]={queryFetcher:t,snapshot:v},v?{error:null,relayContext:f,renderProps:b(null,v,t,r),snapshot:v,requestCacheKey:n}:{error:null,relayContext:f,renderProps:{error:null,props:null,retry:null},snapshot:null,requestCacheKey:n}}catch(e){return{error:e,relayContext:f,renderProps:b(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=_},function(e,t,r){"use strict";var n=r(2),a=n(r(17)),o=n(r(15)),i=n(r(5)),s=n(r(12)),u=n(r(13)),l=n(r(7)),c=r(16),f=r(25),d=r(14).getContainerName,h=r(9),p=r(20),v=r(19).assertRelayContext,y=r(10),m=r(0),g=r(1),_=g.Observable,b=g.createFragmentSpecResolver,R=g.createOperationDescriptor,C=g.getDataIDsFromObject,P=g.getRequest,E=g.getVariablesFromObject,S=g.isScalarAndEqual,x=r(6);function q(e,t){return{environment:e,refetch:t}}e.exports={createContainer:function(e,t,r){return c(e,t,(function(e,t){return function(e,t,r){var n,c,g=d(e);return c=n=function(n){function c(e){var a,o;o=n.call(this,e)||this,(0,l.default)((0,s.default)(o),"_handleFragmentDataUpdate",(function(){var e=o.state.resolver;o.setState((function(t){return e===t.resolver?{data:t.resolver.resolve()}:null}))})),(0,l.default)((0,s.default)(o),"_refetch",(function(e,n,a,s){if(o._isUnmounted)return x(!1,"ReactRelayRefetchContainer: Unexpected call of `refetch` on unmounted container `%s`. It looks like some instances of your container still trying to refetch the data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger `refetch`.",g),{dispose:function(){}};var u=v(o.props.__relayContext).environment,l=f(t,o.props),c="function"==typeof e?e(o._getFragmentVariables()):e;c=(0,i.default)((0,i.default)({},l),c);var d=n?(0,i.default)((0,i.default)({},c),n):c,h=s?{force:!!s.force}:void 0;null!=h&&null!=(null==s?void 0:s.metadata)&&(h.metadata=null==s?void 0:s.metadata);var p,y="function"==typeof a?{next:a,error:a}:a||{},m=P(r),b=R(m,c,h);return o.state.localVariables=c,o._refetchSubscription&&o._refetchSubscription.unsubscribe(),null!=o._getQueryFetcher().lookupInStore(u,b,null==s?void 0:s.fetchPolicy)?(o.state.resolver.setVariables(d,b.request.node),o.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:o.props.__relayContext.environment}}}),(function(){y.next&&y.next(),y.complete&&y.complete()})),{dispose:function(){}}):(o._getQueryFetcher().execute({environment:u,operation:b,preservePreviousReferences:!0}).mergeMap((function(e){return o.state.resolver.setVariables(d,b.request.node),_.create((function(e){return o.setState((function(e){return{data:e.resolver.resolve(),contextForChildren:{environment:o.props.__relayContext.environment}}}),(function(){e.next(),e.complete()}))}))})).finally((function(){o._refetchSubscription===p&&(o._refetchSubscription=null)})).subscribe((0,i.default)((0,i.default)({},y),{},{start:function(e){o._refetchSubscription=p=e,y.start&&y.start(e)}})),{dispose:function(){p&&p.unsubscribe()}})}));var u=v(e.__relayContext),c=null!==(a=e.__rootIsQueryRenderer)&&void 0!==a&&a;o._refetchSubscription=null;var d=b(u,g,t,e,c);return o.state={data:d.resolve(),localVariables:null,prevProps:e,prevPropsContext:u,contextForChildren:u,relayProp:q(u.environment,o._refetch),resolver:d},o._isUnmounted=!1,o}(0,u.default)(c,n);var d=c.prototype;return d.componentDidMount=function(){this._isUnmounted=!1,this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},d.componentDidUpdate=function(e,t){this.state.resolver!==t.resolver?(t.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._subscribeToNewResolverAndRerenderIfStoreHasChanged()):this._rerenderIfStoreHasChanged()},c.getDerivedStateFromProps=function(e,r){var n,a=r.prevProps,o=v(e.__relayContext),i=null!==(n=e.__rootIsQueryRenderer)&&void 0!==n&&n,s=C(t,a),u=C(t,e),l=f(t,a),c=f(t,e),d=r.resolver;if(r.prevPropsContext.environment!==o.environment||!y(l,c)||!y(s,u))return{data:(d=b(o,g,t,e,i)).resolve(),localVariables:null,prevProps:e,prevPropsContext:o,contextForChildren:o,relayProp:q(o.environment,r.relayProp.refetch),resolver:d};r.localVariables||d.setProps(e);var h=d.resolve();return h!==r.data?{data:h,prevProps:e}:null},d.componentWillUnmount=function(){this._isUnmounted=!0,this.state.resolver.dispose(),this._queryFetcher&&this._queryFetcher.dispose(),this._refetchSubscription&&this._refetchSubscription.unsubscribe()},d.shouldComponentUpdate=function(e,r){if(r.data!==this.state.data||r.relayProp!==this.state.relayProp)return!0;for(var n=Object.keys(e),a=0;a<n.length;a++){var o=n[a];if("__relayContext"===o){if(this.state.prevPropsContext.environment!==r.prevPropsContext.environment)return!0}else if(!t.hasOwnProperty(o)&&!S(e[o],this.props[o]))return!0}return!1},d._rerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver.resolve();t!==r&&this.setState({data:r})},d._subscribeToNewResolverAndRerenderIfStoreHasChanged=function(){var e=this.state,t=e.data,r=e.resolver,n=r.resolve();r.setCallback(this.props,this._handleFragmentDataUpdate),t!==n&&this.setState({data:n})},d._getFragmentVariables=function(){return E(t,this.props)},d._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new p),this._queryFetcher},d.render=function(){var t=this.props,r=t.componentRef,n=(t.__relayContext,t.__rootIsQueryRenderer,(0,o.default)(t,["componentRef","__relayContext","__rootIsQueryRenderer"])),i=this.state,s=i.relayProp,u=i.contextForChildren;return m.createElement(h.Provider,{value:u},m.createElement(e,(0,a.default)({},n,this.state.data,{ref:r,relay:s})))},c}(m.Component),(0,l.default)(n,"displayName",g),c}(e,t,r)}))}}},function(e,t,r){"use strict";var n=r(21),a=r(4),o=r(0),i=r(0),s=i.useContext,u=i.useEffect,l=r(6);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 i=t.getComponent,c=t.queries,f=t.entryPoints,d=t.extraProps,h=t.rootModuleID,p=i(),v=s(n),y=a();return u((function(){y.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:h})}),[y,v,h]),o.createElement(p,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(26),o=n.useMemo;e.exports=function(e){var t=e.children,r=e.environment,i=e.getEnvironmentForActor,s=o((function(){return{environment:r,getEnvironmentForActor:i}}),[r,i]);return n.createElement(a.Provider,{value:s},t)}},function(e,t,r){"use strict";var n=r(2)(r(28)),a=r(27),o=r(8).useTrackLoadQueryInRender,i=r(11),s=r(0),u=s.useCallback,l=s.useEffect,c=s.useRef,f=s.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,t,r){var s,h,p,v;o();var y=null!==(s=null==r||null===(h=r.TEST_ONLY__initialEntryPointData)||void 0===h?void 0:h.entryPointReference)&&void 0!==s?s:d,m=null!==(p=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==p?p:null,g=i(),_=c(new Set([y])),b=f(y),R=b[0],C=b[1],P=f(m),E=P[0],S=P[1],x=u((function(){if(g.current){var e={kind:"NullEntryPointReference"};_.current.add(e),C(e)}}),[C,g]),q=u((function(r){if(g.current){var n=a(e,t,r);_.current.add(n),C(n),S(r)}}),[e,t,C,g]),F=c(!1);return l((function(){return function(){F.current=!0}}),[]),l((function(){if(!0===F.current)return F.current=!1,void("NullEntryPointReference"!==R.kind&&null!=E&&q(E));var e=_.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,E,q,g]),l((function(){return function(){var e,t=(0,n.default)(_.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,q,x]}},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(22),o=r(24),i=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){n();var r=s(e);o(r,"first argument of useFragment()");var u=a(r,t,"useFragment()").data;return i({fragment:r.name,data:u}),u}},function(e,t){e.exports=p},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(32),o=r(34),i=r(4),s=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var u=i(),l=o(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:s(u,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(10),a=r(0),o=a.useMemo,i=a.useRef,s=a.useState;e.exports=function(e){var t,r,a=i(0),u=s(e),l=u[0],c=u[1];return n(e,l)||(a.current=(null!==(r=a.current)&&void 0!==r?r:0)+1,c(e)),[o((function(){return e}),[a.current]),null!==(t=a.current)&&void 0!==t?t:0]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(11),o=r(4),i=r(0),s=r(1).commitMutation,u=i.useState,l=i.useEffect,c=i.useRef,f=i.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,r=o(),i=a(),d=c(r),h=c(e),p=c(new Set),v=u(!1),y=v[0],m=v[1],g=f((function(t){d.current===r&&h.current===e&&(p.current.delete(t),i.current&&m(p.current.size>0))}),[r,i,e]);l((function(){d.current===r&&h.current===e||(p.current=new Set,i.current&&m(!1),d.current=r,h.current=e)}),[r,i,e]);var _=f((function(a){i.current&&m(!0);var o=t(r,(0,n.default)((0,n.default)({},a),{},{mutation:e,onCompleted:function(e,t){var r;g(o),null===(r=a.onCompleted)||void 0===r||r.call(a,e,t)},onError:function(e){var t;g(o),null===(t=a.onError)||void 0===t||t.call(a,e)},onUnsubscribe:function(){var e;g(o),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 p.current.add(o),o}),[g,t,r,i,e]);return[_,y]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(55),o=r(35),i=r(24),s=r(0),u=s.useCallback,l=s.useDebugValue,c=s.useState,f=r(1),d=f.getFragment,h=f.getFragmentIdentifier,p=f.getPaginationMetadata;function v(e){var t=c(!1),r=t[0],o=t[1],i={start:function(){return o(!0)},complete:function(){return o(!1)},error:function(){return o(!1)}},s=a((0,n.default)((0,n.default)({},e),{},{observer:i,onReset:function(){return o(!1)}}));return[s[0],s[1],r,s[2]]}e.exports=function(e,t){var r=d(e);i(r,"first argument of usePaginationFragment()");var a=p(r,"usePaginationFragment()"),s=a.connectionPathInFragmentData,c=a.paginationRequest,f=a.paginationMetadata,y=a.identifierField,m=o(r,t,"usePaginationFragment()"),g=m.fragmentData,_=m.fragmentRef,b=m.refetch,R=h(r,_),C=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),P=C[0],E=C[1],S=C[2],x=C[3],q=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),F=q[0],D=q[1],I=q[2],k=q[3],w=u((function(e,t){return k(),x(),b(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[k,x,b]);return l({fragment:r.name,data:g,hasNext:D,isLoadingNext:I,hasPrevious:E,isLoadingPrevious:S}),{data:g,loadNext:F,loadPrevious:P,hasNext:D,hasPrevious:E,isLoadingNext:I,isLoadingPrevious:S,refetch:w}}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(33),o=r(11),i=r(56),s=r(4),u=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,h=r(1),p=h.ConnectionInterface,v=h.__internal.fetchQuery,y=h.createOperationDescriptor,m=h.getPaginationVariables,g=h.getSelector,_=h.getValueAtPath,b=r(6);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,h=e.fragmentIdentifier,R=e.fragmentData,C=e.connectionPathInFragmentData,P=e.paginationRequest,E=e.paginationMetadata,S=e.componentDisplayName,x=e.observer,q=e.onReset,F=e.identifierField,D=s(),I=a(),k=I.isFetchingRef,w=I.startFetch,O=I.disposeFetch,A=I.completeFetch,N=null!=F&&null!=R&&"object"==typeof R?R[F]:null,Q=o(),T=d(D),M=T[0],U=T[1],L=d(h),j=L[0],V=L[1],W=i(r,l);(D!==M||h!==j)&&(O(),q(),U(D),V(h));var B=function(e,t,r,n){var a,o,i=p.get(),s=i.EDGES,l=i.PAGE_INFO,c=i.HAS_NEXT_PAGE,f=i.HAS_PREV_PAGE,d=i.END_CURSOR,h=i.START_CURSOR,v=_(r,n);if(null==v)return{cursor:null,hasMore:!1};"object"!=typeof v&&u(!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,s,l,v);var y=v[s],m=v[l];if(null==y||null==m)return{cursor:null,hasMore:!1};Array.isArray(y)||u(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,s,y),"object"!=typeof m&&u(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",t.name,l,m);var g,b="forward"===e?null!==(a=m[d])&&void 0!==a?a:null:null!==(o=m[h])&&void 0!==o?o:null;null!==b&&"string"!=typeof b&&u(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,h,b),g="forward"===e?null!=b&&!0===m[c]:null!=b&&!0===m[f];return{cursor:b,hasMore:g}}(t,r,R,C),H=B.cursor,K=B.hasMore;return f((function(){return function(){O()}}),[O]),[c((function(e,a){var o=null==a?void 0:a.onComplete;if(!0!==Q.current)return b(!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,S),{dispose:function(){}};var i=g(r,l);if(!0===k.current||null==R||W)return null==i&&b(!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,S,S),o&&o(null),{dispose:function(){}};(null==i||"PluralReaderSelector"===i.kind)&&u(!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,S);var s=i.owner.variables,c=i.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,n.default)((0,n.default)({},s),c),h=m(t,e,H,d,(0,n.default)({},f),E);null!=F&&("string"!=typeof N&&b(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",F,N),h.id=N);var p=y(P,h,{force:!0});return v(D,p).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){w(e),x.start&&x.start(e)},complete:function(){A(),x.complete&&x.complete(),o&&o(null)},error:function(e){A(),x.error&&x.error(e),o&&o(e)}})),{dispose:O}}),[D,N,t,H,w,O,A,k,W,R,r.name,l,S]),K,O]}},function(e,t,r){"use strict";var n=r(4),a=r(3),o=r(0),i=r(1),s=i.__internal.getObservableForActiveRequest,u=i.getSelector,l=o.useEffect,c=o.useState,f=o.useMemo;e.exports=function(e,t){var r=n(),o=f((function(){var n=u(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),s(r,n.owner))}),[r,e,t]),i=c(null!=o),d=i[0],h=i[1];return l((function(){var e;if(h(null!=o),null!=o){var t=function(){h(!1)};e=o.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[o]),d}},function(e,t,r){"use strict";var n=r(8).useTrackLoadQueryInRender,a=r(32),o=r(34),i=r(4),s=r(3),u=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(6);e.exports=function(e,t,r){n();var l,h=i(),p=t.fetchKey,v=t.fetchPolicy,y=t.source,m=t.variables,g=t.networkCacheConfig,_=o(e,m,g);if("PreloadedQuery_DEPRECATED"===t.kind)_.request.node.params.name!==t.name&&s(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",_.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:p,fetchObservable:c(h,_.request.identifier,(function(){return h===t.environment&&null!=y?h.executeWithSource({operation:_,source:y}):h.execute({operation:_})})),fetchPolicy:v,query:_,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 b,R=f(h,_);null!=y&&h===t.environment?b=y.ifEmpty(R):h!==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."),b=R):b=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:p,fetchPolicy:v,query:_,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var C=a(l);return u({query:t.name,variables:t.variables,data:C,fetchKey:p,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),C}},function(e,t,r){"use strict";var n=r(35),a=r(24),o=r(0).useDebugValue,i=r(1).getFragment;e.exports=function(e,t){var r=i(e);a(r,"first argument of useRefetchableFragment()");var s=n(r,t,"useRefetchableFragment()"),u=s.fragmentData,l=s.refetch;return o({fragment:r.name,data:u}),[u,l]}},function(e,t,r){"use strict";var n=r(4),a=r(0),o=a.useEffect,i=a.useRef;e.exports=function(e,t){var r=n(),a=i(null),s=Array.from(e).sort().join("");return o((function(){var n=r.getStore(),o=n.lookupInvalidationState(e),i=n.subscribeToInvalidationState(o,t);return a.current=i,function(){return i.dispose()}}),[s,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(4),a=r(0).useEffect,o=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:o,i=n();a((function(){return r(i,e).dispose}),[i,e,r])}}])}));
|
package/react-relay.min.js
CHANGED
|
@@ -68,12 +68,53 @@ type QueryCacheEntry = {|
|
|
|
68
68
|
suspenseResource: SuspenseResource | null,
|
|
69
69
|
|};
|
|
70
70
|
|
|
71
|
-
type QueryCache = Map<string, QueryCacheEntry>;
|
|
72
|
-
|
|
73
71
|
const DEFAULT_FETCH_POLICY = 'store-or-network';
|
|
74
72
|
|
|
73
|
+
type QueryCacheKey = string;
|
|
74
|
+
|
|
75
|
+
class QueryCache {
|
|
76
|
+
_map: Map<IEnvironment, Map<QueryCacheKey, QueryCacheEntry>>;
|
|
77
|
+
|
|
78
|
+
constructor() {
|
|
79
|
+
this._map = new Map();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
get(environment: IEnvironment, key: QueryCacheKey): QueryCacheEntry | void {
|
|
83
|
+
let forEnv = this._map.get(environment);
|
|
84
|
+
if (!forEnv) {
|
|
85
|
+
forEnv = new Map();
|
|
86
|
+
this._map.set(environment, forEnv);
|
|
87
|
+
}
|
|
88
|
+
return forEnv.get(key);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
set(
|
|
92
|
+
environment: IEnvironment,
|
|
93
|
+
key: QueryCacheKey,
|
|
94
|
+
value: QueryCacheEntry,
|
|
95
|
+
): void {
|
|
96
|
+
let forEnv = this._map.get(environment);
|
|
97
|
+
if (!forEnv) {
|
|
98
|
+
forEnv = new Map();
|
|
99
|
+
this._map.set(environment, forEnv);
|
|
100
|
+
}
|
|
101
|
+
forEnv.set(key, value);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
delete(environment: IEnvironment, key: QueryCacheKey): void {
|
|
105
|
+
const forEnv = this._map.get(environment);
|
|
106
|
+
if (!forEnv) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
forEnv.delete(key);
|
|
110
|
+
if (forEnv.size === 0) {
|
|
111
|
+
this._map.delete(environment);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
75
116
|
function createQueryCache(): QueryCache {
|
|
76
|
-
return new
|
|
117
|
+
return new QueryCache();
|
|
77
118
|
}
|
|
78
119
|
|
|
79
120
|
const noopOnCommit = () => {
|
|
@@ -87,11 +128,10 @@ function getQueryCacheKey(
|
|
|
87
128
|
fetchPolicy: FetchPolicy,
|
|
88
129
|
renderPolicy: RenderPolicy,
|
|
89
130
|
fetchKey?: ?string | ?number,
|
|
90
|
-
):
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
return cacheIdentifier;
|
|
131
|
+
): QueryCacheKey {
|
|
132
|
+
return `${fetchPolicy}-${renderPolicy}-${operation.request.identifier}-${
|
|
133
|
+
fetchKey ?? ''
|
|
134
|
+
}`;
|
|
95
135
|
}
|
|
96
136
|
|
|
97
137
|
function constructQueryResult(operation: OperationDescriptor): QueryResult {
|
|
@@ -140,18 +180,18 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
|
|
|
140
180
|
options?.fetchKey,
|
|
141
181
|
);
|
|
142
182
|
|
|
143
|
-
const initialEntry = cache.get(cacheKey);
|
|
183
|
+
const initialEntry = cache.get(environment, cacheKey);
|
|
144
184
|
|
|
145
185
|
function updateCache(updater) {
|
|
146
|
-
let currentEntry = cache.get(cacheKey);
|
|
186
|
+
let currentEntry = cache.get(environment, cacheKey);
|
|
147
187
|
if (!currentEntry) {
|
|
148
188
|
currentEntry = makeInitialCacheEntry();
|
|
149
|
-
cache.set(cacheKey, currentEntry);
|
|
189
|
+
cache.set(environment, cacheKey, currentEntry);
|
|
150
190
|
}
|
|
151
191
|
// $FlowExpectedError[prop-missing] Extra properties are passed in -- this is fine
|
|
152
192
|
const newStatus: {...} = updater(currentEntry);
|
|
153
193
|
// $FlowExpectedError[cannot-spread-inexact] Flow cannot understand that this is valid...
|
|
154
|
-
cache.set(cacheKey, {...currentEntry, ...newStatus});
|
|
194
|
+
cache.set(environment, cacheKey, {...currentEntry, ...newStatus});
|
|
155
195
|
// ... but we can because QueryCacheEntry spreads QueryCacheEntryStatus, so spreading
|
|
156
196
|
// a QueryCacheEntryStatus into a QueryCacheEntry will result in a valid QueryCacheEntry.
|
|
157
197
|
}
|
|
@@ -168,7 +208,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
|
|
|
168
208
|
updateCache,
|
|
169
209
|
options?.fetchObservable,
|
|
170
210
|
);
|
|
171
|
-
const createdEntry = cache.get(cacheKey);
|
|
211
|
+
const createdEntry = cache.get(environment, cacheKey);
|
|
172
212
|
invariant(
|
|
173
213
|
createdEntry !== undefined,
|
|
174
214
|
'An entry should have been created by onCacheMiss. This is a bug in Relay.',
|
|
@@ -183,7 +223,7 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
|
|
|
183
223
|
return {
|
|
184
224
|
dispose: () => {
|
|
185
225
|
retention.dispose();
|
|
186
|
-
cache.delete(cacheKey);
|
|
226
|
+
cache.delete(environment, cacheKey);
|
|
187
227
|
},
|
|
188
228
|
};
|
|
189
229
|
});
|
|
@@ -221,14 +261,14 @@ function getQueryResultOrFetchQuery_REACT_CACHE(
|
|
|
221
261
|
|
|
222
262
|
const dispose = () => {
|
|
223
263
|
retention.dispose();
|
|
224
|
-
cache.delete(cacheKey);
|
|
264
|
+
cache.delete(environment, cacheKey);
|
|
225
265
|
};
|
|
226
266
|
const abortSignal = getCacheSignal();
|
|
227
267
|
abortSignal.addEventListener('abort', dispose, {once: true});
|
|
228
268
|
}
|
|
229
269
|
}
|
|
230
270
|
|
|
231
|
-
const entry = cache.get(cacheKey); // could be a different entry now if synchronously resolved
|
|
271
|
+
const entry = cache.get(environment, cacheKey); // could be a different entry now if synchronously resolved
|
|
232
272
|
invariant(
|
|
233
273
|
entry !== undefined,
|
|
234
274
|
'An entry should have been created by onCacheMiss. This is a bug in Relay.',
|
|
@@ -272,11 +272,7 @@ function useFragmentInternal_REACT_CACHE(
|
|
|
272
272
|
hookDisplayName: string,
|
|
273
273
|
queryOptions?: FragmentQueryOptions,
|
|
274
274
|
fragmentKey?: string,
|
|
275
|
-
): {
|
|
276
|
-
data: ?SelectorData | Array<?SelectorData>,
|
|
277
|
-
disableStoreUpdates: () => void,
|
|
278
|
-
enableStoreUpdates: () => void,
|
|
279
|
-
|} {
|
|
275
|
+
): ?SelectorData | Array<?SelectorData> {
|
|
280
276
|
const fragmentSelector = getSelector(fragmentNode, fragmentRef);
|
|
281
277
|
|
|
282
278
|
const isPlural = fragmentNode?.metadata?.plural === true;
|
|
@@ -419,37 +415,24 @@ function useFragmentInternal_REACT_CACHE(
|
|
|
419
415
|
handlePotentialSnapshotErrorsForState(environment, state);
|
|
420
416
|
}
|
|
421
417
|
|
|
422
|
-
// Subscriptions:
|
|
423
|
-
const isListeningForUpdatesRef = useRef(true);
|
|
424
|
-
function enableStoreUpdates() {
|
|
425
|
-
isListeningForUpdatesRef.current = true;
|
|
426
|
-
handleMissedUpdates(environment, state, setState);
|
|
427
|
-
}
|
|
428
|
-
function disableStoreUpdates() {
|
|
429
|
-
isListeningForUpdatesRef.current = false;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
418
|
useEffect(() => {
|
|
433
419
|
handleMissedUpdates(environment, subscribedState, setState);
|
|
434
420
|
return subscribeToSnapshot(environment, subscribedState, updater => {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
}
|
|
451
|
-
});
|
|
452
|
-
}
|
|
421
|
+
setState(latestState => {
|
|
422
|
+
if (
|
|
423
|
+
latestState.snapshot?.selector !== subscribedState.snapshot?.selector
|
|
424
|
+
) {
|
|
425
|
+
// Ignore updates to the subscription if it's for a previous fragment selector
|
|
426
|
+
// than the latest one to be rendered. This can happen if the store is updated
|
|
427
|
+
// after we re-render with a new fragmentRef prop but before the effect fires
|
|
428
|
+
// in which we unsubscribe to the old one and subscribe to the new one.
|
|
429
|
+
// (NB: it's safe to compare the selectors by reference because the selector
|
|
430
|
+
// is recycled into new snapshots.)
|
|
431
|
+
return latestState;
|
|
432
|
+
} else {
|
|
433
|
+
return updater(latestState);
|
|
434
|
+
}
|
|
435
|
+
});
|
|
453
436
|
});
|
|
454
437
|
}, [environment, subscribedState]);
|
|
455
438
|
|
|
@@ -493,11 +476,7 @@ function useFragmentInternal_REACT_CACHE(
|
|
|
493
476
|
useDebugValue({fragment: fragmentNode.name, data});
|
|
494
477
|
}
|
|
495
478
|
|
|
496
|
-
return
|
|
497
|
-
data,
|
|
498
|
-
disableStoreUpdates,
|
|
499
|
-
enableStoreUpdates,
|
|
500
|
-
};
|
|
479
|
+
return data;
|
|
501
480
|
}
|
|
502
481
|
|
|
503
482
|
module.exports = useFragmentInternal_REACT_CACHE;
|
|
@@ -56,8 +56,14 @@ function useFragment(fragment: GraphQLTaggedNode, key: mixed): mixed {
|
|
|
56
56
|
useTrackLoadQueryInRender();
|
|
57
57
|
|
|
58
58
|
const fragmentNode = getFragment(fragment);
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
if (__DEV__) {
|
|
60
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
61
|
+
useStaticFragmentNodeWarning(
|
|
62
|
+
fragmentNode,
|
|
63
|
+
'first argument of useFragment()',
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
const data = useFragmentInternal(fragmentNode, key, 'useFragment()');
|
|
61
67
|
if (__DEV__) {
|
|
62
68
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
63
69
|
useDebugValue({fragment: fragmentNode.name, data});
|
|
@@ -65,7 +65,7 @@ function useLazyLoadQuery_REACT_CACHE<TVariables: Variables, TData>(
|
|
|
65
65
|
return useFragmentInternal(fragmentNode, fragmentRef, 'useLazyLoadQuery()', {
|
|
66
66
|
fetchPolicy: options?.fetchPolicy,
|
|
67
67
|
networkCacheConfig: options?.networkCacheConfig,
|
|
68
|
-
})
|
|
68
|
+
});
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
module.exports = useLazyLoadQuery_REACT_CACHE;
|
|
@@ -125,7 +125,7 @@ function usePreloadedQuery_REACT_CACHE<TQuery: OperationType>(
|
|
|
125
125
|
// Read the query's root fragment -- this may suspend.
|
|
126
126
|
const {fragmentNode, fragmentRef} = queryResult;
|
|
127
127
|
// $FlowExpectedError[incompatible-return] Is this a fixable incompatible-return?
|
|
128
|
-
const
|
|
128
|
+
const data = useFragmentInternal(
|
|
129
129
|
fragmentNode,
|
|
130
130
|
fragmentRef,
|
|
131
131
|
'usePreloadedQuery()',
|