react-relay 0.0.0-main-050c0f4e → 0.0.0-main-423c3b07
Sign up to get free protection for your applications and to get access to all the features.
- package/ReactRelayContext.js +1 -1
- package/ReactRelayFragmentContainer.js.flow +2 -6
- package/ReactRelayPaginationContainer.js.flow +2 -6
- package/ReactRelayQueryFetcher.js.flow +2 -2
- package/ReactRelayQueryRenderer.js.flow +2 -1
- package/ReactRelayRefetchContainer.js.flow +2 -6
- package/hooks.js +1 -1
- package/index.js +1 -1
- package/jest-react/enqueueTask.js.flow +1 -1
- package/legacy.js +1 -1
- 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/EntryPointContainer.react.js.flow +2 -7
- package/relay-hooks/EntryPointTypes.flow.js.flow +8 -10
- package/relay-hooks/FragmentResource.js.flow +10 -10
- package/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js.flow +21 -27
- package/relay-hooks/RelayEnvironmentProvider.js.flow +4 -4
- package/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js.flow +2 -1
- package/relay-hooks/loadEntryPoint.js.flow +4 -10
- package/relay-hooks/loadQuery.js.flow +4 -2
- package/relay-hooks/preloadQuery_DEPRECATED.js.flow +2 -1
- package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +4 -10
- package/relay-hooks/useEntryPointLoader.js.flow +2 -4
- package/relay-hooks/useFragmentNode.js.flow +2 -3
- package/relay-hooks/useLoadMoreFunction.js.flow +4 -9
- package/relay-hooks/useMemoVariables.js.flow +4 -3
- package/relay-hooks/usePaginationFragment.js.flow +26 -34
- package/relay-hooks/usePreloadedQuery.js.flow +2 -7
- package/relay-hooks/useQueryLoader.js.flow +4 -6
- package/relay-hooks/useRefetchableFragmentNode.js.flow +4 -8
- package/relay-hooks/useSubscribeToInvalidationState.js.flow +1 -3
package/ReactRelayContext.js
CHANGED
@@ -235,12 +235,8 @@ function createContainerWithFragments<
|
|
235
235
|
}
|
236
236
|
|
237
237
|
render() {
|
238
|
-
const {
|
239
|
-
|
240
|
-
__relayContext,
|
241
|
-
__rootIsQueryRenderer,
|
242
|
-
...props
|
243
|
-
} = this.props;
|
238
|
+
const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
|
239
|
+
this.props;
|
244
240
|
return React.createElement(Component, {
|
245
241
|
...props,
|
246
242
|
...this.state.data,
|
@@ -900,12 +900,8 @@ function createContainerWithFragments<
|
|
900
900
|
}
|
901
901
|
|
902
902
|
render() {
|
903
|
-
const {
|
904
|
-
|
905
|
-
__relayContext,
|
906
|
-
__rootIsQueryRenderer,
|
907
|
-
...props
|
908
|
-
} = this.props;
|
903
|
+
const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
|
904
|
+
this.props;
|
909
905
|
return (
|
910
906
|
<ReactRelayContext.Provider value={this.state.contextForChildren}>
|
911
907
|
<Component
|
@@ -340,8 +340,8 @@ class ReactRelayQueryFetcher {
|
|
340
340
|
this._rootSubscription = environment.subscribe(this._snapshot, snapshot => {
|
341
341
|
// Read from this._fetchOptions in case onDataChange() was lazily added.
|
342
342
|
if (this._fetchOptions != null) {
|
343
|
-
const maybeNewOnDataChangeCallbacks =
|
344
|
-
.onDataChangeCallbacks;
|
343
|
+
const maybeNewOnDataChangeCallbacks =
|
344
|
+
this._fetchOptions.onDataChangeCallbacks;
|
345
345
|
if (Array.isArray(maybeNewOnDataChangeCallbacks)) {
|
346
346
|
maybeNewOnDataChangeCallbacks.forEach(onDataChange =>
|
347
347
|
onDataChange({snapshot}),
|
@@ -339,7 +339,8 @@ function resetQueryStateForUpdate(
|
|
339
339
|
): $Shape<State> {
|
340
340
|
const {query} = props;
|
341
341
|
|
342
|
-
const prevSelectionReferences =
|
342
|
+
const prevSelectionReferences =
|
343
|
+
prevState.queryFetcher.getSelectionReferences();
|
343
344
|
prevState.queryFetcher.disposeRequest();
|
344
345
|
|
345
346
|
let queryFetcher;
|
@@ -448,12 +448,8 @@ function createContainerWithFragments<
|
|
448
448
|
};
|
449
449
|
|
450
450
|
render() {
|
451
|
-
const {
|
452
|
-
|
453
|
-
__relayContext,
|
454
|
-
__rootIsQueryRenderer,
|
455
|
-
...props
|
456
|
-
} = this.props;
|
451
|
+
const {componentRef, __relayContext, __rootIsQueryRenderer, ...props} =
|
452
|
+
this.props;
|
457
453
|
const {relayProp, contextForChildren} = this.state;
|
458
454
|
return (
|
459
455
|
<ReactRelayContext.Provider value={contextForChildren}>
|
package/hooks.js
CHANGED
package/index.js
CHANGED
@@ -29,7 +29,7 @@ function enqueueTask(task: () => void) {
|
|
29
29
|
// we're in a browser
|
30
30
|
// we can't use regular timers because they may still be faked
|
31
31
|
// so we try MessageChannel+postMessage instead
|
32
|
-
enqueueTaskImpl = function(callback: () => void) {
|
32
|
+
enqueueTaskImpl = function (callback: () => void) {
|
33
33
|
if (__DEV__) {
|
34
34
|
if (didWarnAboutMessageChannel === false) {
|
35
35
|
didWarnAboutMessageChannel = true;
|
package/legacy.js
CHANGED
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-423c3b07",
|
5
5
|
"keywords": [
|
6
6
|
"graphql",
|
7
7
|
"relay",
|
@@ -16,7 +16,7 @@
|
|
16
16
|
"fbjs": "^3.0.0",
|
17
17
|
"invariant": "^2.2.4",
|
18
18
|
"nullthrows": "^1.1.1",
|
19
|
-
"relay-runtime": "0.0.0-main-
|
19
|
+
"relay-runtime": "0.0.0-main-423c3b07"
|
20
20
|
},
|
21
21
|
"peerDependencies": {
|
22
22
|
"react": "^16.9.0 || ^17"
|
package/react-relay-hooks.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
/**
|
2
|
-
* Relay v0.0.0-main-
|
2
|
+
* Relay v0.0.0-main-423c3b07
|
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("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("@babel/runtime/helpers/defineProperty"),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","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray","@babel/runtime/helpers/defineProperty","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("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("@babel/runtime/helpers/defineProperty"),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["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"],e["@babel/runtime/helpers/defineProperty"],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=23)}([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(12);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,m=r(5),v=null,y=100001;e.exports={loadQuery:function(e,t,r,o,g){var b,R,_,P,E=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(R=b.ReactCurrentDispatcher)||void 0===R?void 0:R.current;m(null==v||E!==v,"Relay: `%s` should not be called inside a React render function.",null!==(_=null==o?void 0:o.__nameForWarning)&&void 0!==_?_:"loadQuery"),y++;var k,x,S,q,w,I,C=null!==(P=null==o?void 0:o.fetchPolicy)&&void 0!==P?P:"store-or-network",F=(0,n.default)((0,n.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),D=!1,A=function(t,r){return D=!0,e.executeWithSource({operation:t,source:r})},N=new c,Q=u.create((function(e){return N.subscribe(e)})),O=null,M=!1,T=function(t){var n;M=!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,F)}))}else{n=e.getNetwork().execute(t,r,F)}var o=n.subscribe({error:function(e){O=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return x=o,u.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),x()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(M=!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()}});S=n.unsubscribe},L=function(t){var n=d(t,r,F);(k=e.retain(n),"store-only"!==C)&&(("store-or-network"!==C||"available"!==e.check(n).status)&&U(n,(function(){var e=T(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(q=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",q.name);var j=s.get(I);if(null!=j)L(j);else{var W="store-only"===C?null:T(q),K=s.onLoad(I,(function(t){w();var n=d(t,r,F);k=e.retain(n),null!=W&&U(n,(function(){return A(n,W)}))}));w=K.dispose}}else{var V=p(t);I=null!=(q=V.params).cacheID?q.cacheID:q.id,L(V)}var B=!1,H=!1,z=!1,Y=function(){H||(k&&k.dispose(),H=!0)},G=function(){z||(D?S&&S():x&&x(),w&&w(),z=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){B||(Y(),G(),B=!0)},releaseQuery:Y,cancelNetworkRequest:G,fetchKey:y,id:I,get isDisposed(){return B||H},get networkError(){return O},name:q.name,networkCacheConfig:F,fetchPolicy:C,source:M?Q:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===v&&(v=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(15).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),m=f.readWithIdentifier(e,t,h,r),v=u(!0);function y(){!1!==d.current&&!1!==v.current&&p((function(e){return e+1}))}return o((function(){d.current=!0;var e=f.subscribe(m,y);return function(){d.current=!1,e.dispose()}}),[i,h]),null!=t&&(void 0===m.data||Array.isArray(m.data)&&m.data.length>0&&m.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:m.data,disableStoreUpdates:function(){v.current=!1},enableStoreUpdates:function(){v.current=!0,f.checkMissedUpdates(m)[0]&&y()}}}},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=o},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 t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=u},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(28)),o=r(16),u=r(3),s=r(1),l=s.getFragmentIdentifier,c=s.getPendingOperationsForFragment,f=s.getSelector,d=s.isPromise,p=s.recycleNodesInto,h=s.reportMissingRequiredFields,m="function"==typeof WeakMap,v=Object.freeze([]);function y(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function g(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:y(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:y(t),storeEpoch:r}}var b=function(){function e(e){this._environment=e,this._cache=o.create(1e6)}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,l(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var i,o=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var s=o.getStore().getEpoch();if(!0===(null==e||null===(i=e.metadata)||void 0===i?void 0:i.plural)&&(Array.isArray(t)||u(!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:v,isMissingData:!1,snapshot:v,storeEpoch:s};var l=this._cache.get(r);if(null!=l){if("pending"===l.kind&&d(l.promise))throw o.__log({name:"suspense.fragment",data:l.result.data,fragment:e,isRelayHooks:!0,isMissingData:l.result.isMissingData,isPromiseCached:!0,pendingOperations:l.pendingOperations}),l.promise;if("done"===l.kind&&l.result.snapshot)return this._reportMissingRequiredFieldsInSnapshot(l.result.snapshot),l.result}var c=f(e,t);null==c&&u(!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 p="PluralReaderSelector"===c.kind?c.selectors.map((function(e){return o.lookup(e)})):o.lookup(c),h=g(r,p,s);if(!h.isMissingData)return this._reportMissingRequiredFieldsInSnapshot(p),this._cache.set(r,{kind:"done",result:h}),h;var m="PluralReaderSelector"===c.kind?c.selectors[0].owner:c.owner,y=this._getAndSavePromiseForFragmentRequestInFlight(r,e,m,h);if(null!=y&&d(y.promise))throw o.__log({name:"suspense.fragment",data:h.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:h.isMissingData,pendingOperations:y.pendingOperations}),y.promise;return this._reportMissingRequiredFieldsInSnapshot(p),g(r,p,s)},t._reportMissingRequiredFieldsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){null!=e.missingRequiredFields&&h(t._environment,e.missingRequiredFields)})):null!=e.missingRequiredFields&&h(this._environment,e.missingRequiredFields)},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),s=o[0],l=o[1];s&&t();var c=[];return Array.isArray(i)?(Array.isArray(l)||u(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,i){c.push(n.subscribe(e,(function(e){var o=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,i,o),t()})))}))):((null==l||Array.isArray(l))&&u(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),c.push(n.subscribe(l,(function(e){var i=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:g(a,e,i)}),t()})))),{dispose:function(){c.map((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:g(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,seenRecords:s.seenRecords,selector:s.selector,missingRequiredFields:s.missingRequiredFields};return f!==l&&this._cache.set(i,{kind:"done",result:g(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=c(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 o,u=this._cache.get(e);if(d(u))R(r.selector.node.name);else{var s=null==u||null===(o=u.result)||void 0===o?void 0:o.snapshot;if(!s||Array.isArray(s)){var l=s?(0,i.default)(s):(0,i.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:g(e,l,a)})}else R(r.selector.node.name)}},e}();function R(e){u(!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 _(e){return new b(e)}var P=m?new WeakMap:new Map;e.exports={createFragmentResource:_,getFragmentResourceForEnvironment:function(e){var t=P.get(e);if(t)return t;var r=_(e);return P.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(9),a=r(18),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(19),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,m=e.fetchKey,v=e.renderPolicy,y=l(),g=f(n),b=o(y),R=p(0),_=R[0],P=R[1],E=u(),k=E.startFetch,x=E.completeFetch,S="".concat(_,"-").concat(null!=m?m:""),q=i(y,t,c,v,S),w=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(q,t,a,c,v,{start:k,complete:x,error:x},g)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void P((function(e){return e+1}));var e=b.retain(w,g);return function(){e.dispose()}}),[y,q]),d((function(){b.releaseTemporaryRetain(w)}));var C=w.fragmentNode,F=w.fragmentRef;return s(C,F,r).data}},function(e,t,r){"use strict";var n=r(4),a=n(r(7)),i=n(r(30)),o=r(16),u=r(3),s=r(1).isPromise,l=r(5),c="function"==typeof WeakMap;function f(e){return void 0!==e.request.node.params.metadata.live}function d(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 p(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 h=2e5;function m(e,t,r,n,a,i){var o=f(t),s=n,l=0,c=null,d=null,p=a,m=function(e){return 1===++l&&(c=e.retain(t)),{dispose:function(){0===(l=Math.max(0,l-1))&&(null==c&&u(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),c.dispose(),c=null),i(v)}}},v={cacheIdentifier:e,id:h++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return s},setValue:function(e){s=e},getRetainCount:function(){return l},getNetworkSubscription:function(){return p},setNetworkSubscription:function(e){o&&null!=p&&p.unsubscribe(),p=e},temporaryRetain:function(e){if(e.isServer())return{dispose:function(){}};var t=m(e),r=null,n=function(){clearTimeout(r),r=null,d=null,t.dispose(),o&&l<=0&&null!=p&&p.unsubscribe()};return r=setTimeout(n,3e5),null!=d&&d(),d=n,{dispose:function(){d&&d()}}},permanentRetain:function(e){var t=m(e);return null!=d&&(d(),d=null),{dispose:function(){t.dispose(),o&&l<=0&&null!=p&&p.unsubscribe()}}},releaseTemporaryRetain:function(){null!=d&&(d(),d=null)}};return v}var v=function(){function e(e){var t=this;(0,i.default)(this,"_clearCacheEntry",(function(e){e.getRetainCount()<=0&&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=d(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 l=this._environment,c=null!=n?n:"store-or-network",f=null!=i?i:l.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(l);var m=d.getValue();if(s(m))throw l.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:h,operation:t,queryAvailability:d.operationAvailability,renderPolicy:f}),m;if(m instanceof Error)throw m;return m},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(n,a,null,e,null),o=i.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:i.id}),{dispose:function(){o.dispose()}}},t.releaseTemporaryRetain=function(e){var t=this._cache.get(e.cacheIdentifier);null!=t&&t.releaseTemporaryRetain()},t.TESTS_ONLY__getCacheEntry=function(e,t,r,n){var a=d(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,s){var c,d,h=this,v=this._environment,y=v.check(t),g=y.status,b="available"===g,R=b||"partial"===i&&"stale"!==g,_=function(){};switch(n){case"store-only":c=!1,d=!0;break;case"store-or-network":c=!b,d=R;break;case"store-and-network":c=!0,d=R;break;case"network-only":default:c=!0,d=!1}if(d){var P=p(t,e),E=m(e,t,y,P,null,this._clearCacheEntry);this._cache.set(e,E)}if(c){var k,x=p(t,e);r.subscribe({start:function(r){k=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(k);var i=null==s?void 0:s.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){f(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,y,x,k);r.processedPayloadsCount+=1,r.setValue(x),_();var n=null==s?void 0:s.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,y,r,k);0===n.processedPayloadsCount?n.setValue(r):l(!1,"QueryResource: An incremental payload for query `%` returned an error: `%`:`%`.",t.fragment.node.name,r.message,r.stack),_(),k=null,n.setNetworkSubscription(null);var a=null==s?void 0:s.error;a&&a(r)},complete:function(){_(),k=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 S=this._cache.get(e);if(!S){var q=new Promise((function(e){_=e}));q.displayName="Relay("+t.fragment.node.name+")",S=m(e,t,y,q,k,this._clearCacheEntry),this._cache.set(e,S)}}else{var w=null==s?void 0:s.complete;w&&w()}var I=this._cache.get(e);return null==I&&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:I.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:c}),I},e}();function y(e){return new v(e)}var g=c?new WeakMap:new Map;e.exports={createQueryResource:y,getQueryResourceForEnvironment:function(e){var t=g.get(e);if(t)return t;var r=y(e);return g.set(e,r),r},getQueryCacheIdentifier:d}},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(31),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(15).getFragmentResourceForEnvironment,o=r(9),u=r(18).getQueryResourceForEnvironment,s=r(10),l=r(8),c=r(22),f=r(2),d=r(3),p=r(0),h=p.useCallback,m=p.useContext,v=p.useReducer,y=r(1),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,R=y.getFragmentIdentifier,_=y.getRefetchMetadata,P=y.getSelector,E=y.getValueAtPath,k=r(5);function x(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=_(e,r),S=y.refetchableRequest,q=y.fragmentRefPathInResponse,w=y.identifierField,I=R(e,t),C=v(x,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),F=C[0],D=C[1],A=F.fetchPolicy,N=F.mirroredEnvironment,Q=F.mirroredFragmentIdentifier,O=F.onComplete,M=F.refetchEnvironment,T=F.refetchQuery,U=F.renderPolicy,L=null!=M?M:p,j=u(L),W=i(L),K=m(o),V=L!==N||I!==Q,B=c(S),H=B[0],z=B[1],Y=B[2],G=t;if(V)D({type:"reset",environment:L,fragmentIdentifier:I}),Y();else if(null!=T&&null!=H){var X;X=n.getInitialIDAndType(T.request.variables,q,L);var J=function(e){O&&O(null!=e?e:null)},Z=null!=H.source?H.source:g(L,T),$=K.wrapPrepareQueryResource((function(){return j.prepare(T,Z,A,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,L,e,r),J()}},H.fetchKey,K)})),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."),G=E(ee,q),n.checkSameIDAfterRefetch(X,G,e,r)}var te=s(e,G,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:G,refetch:function(e,t,r,n,i,o,u,s,c,f,d){var p=l(),m=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,v=null==i?void 0:i.fetchPolicy,y=null==i?void 0:i.UNSTABLE_renderPolicy,g=null==i?void 0:i.onComplete,R=P(o,f);if(null==R)u={},l={};else if("PluralReaderSelector"===R.kind){var _,E,x,S;u=null!==(_=null===(E=R.selectors[0])||void 0===E?void 0:E.owner.variables)&&void 0!==_?_:{},l=null!==(x=null===(S=R.selectors[0])||void 0===S?void 0:S.variables)&&void 0!==x?x:{}}else u=R.owner.variables,l=R.variables;var q=(0,a.default)((0,a.default)((0,a.default)({},u),l),n);null==s||n.hasOwnProperty("id")||("string"!=typeof m&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",s,m),q.id=m);var w=b(d,q,{force:!0});return c(w.request.variables,{fetchPolicy:v,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:v,onComplete:g,refetchEnvironment:h,refetchQuery:w,renderPolicy:y}),{dispose:r}}),[i,t,r,m,c])}(r,D,Y,re,I,e,0,w,z,t,S),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(4)(r(14)),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,m={kind:"NullQueryReference"};function v(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:m,a=s();o();var l=u(),h=d(new Set([r])),y=p((function(){return r})),g=y[0],b=y[1],R=p((function(){return r})),_=R[0],P=R[1];r!==_&&(h.current.add(r),P(r),b(r));var E=c((function(){l.current&&(h.current.add(m),b(m))}),[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]),x=d(!1);return f((function(){return function(){x.current=!0}}),[]),f((function(){if(!0===x.current)return x.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&&(v(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&&(v(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,E]}},function(e,t,r){"use strict";var n=r(24),a=r(13),i=r(6).loadQuery,o=r(25),u=r(26),s=r(27),l=r(29),c=r(33),f=r(34),d=r(37),p=r(22),h=r(38),m=r(2),v=r(39),y=r(40),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:m,useSubscribeToInvalidationState:v,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(),m=u(n),v=a();return s((function(){v.__log({name:"entrypoint.root.consume",profilerContext:m,rootModuleID:p})}),[v,m,p]),i.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(12),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(14)),a=r(13),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,m;i();var v=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===(m=r.TEST_ONLY__initialEntryPointData)||void 0===m?void 0:m.entryPointParams)&&void 0!==h?h:null,g=o(),b=c(new Set([v])),R=f(v),_=R[0],P=R[1],E=f(y),k=E[0],x=E[1],S=s((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),P(e)}}),[P,g]),q=s((function(r){if(g.current){var n=a(e,t,r);b.current.add(n),P(n),x(r)}}),[e,t,P,g]),w=c(!1);return l((function(){return function(){w.current=!0}}),[]),l((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==_.kind&&null!=k&&q(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===_)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[_,k,q,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"===_.kind?null:_,q,S]}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(10),i=r(11),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=s},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(17),i=r(20),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){e.exports=l},function(e,t,r){"use strict";var n=r(32),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),m=s(!1),v=m[0],y=m[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){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),o.current&&y(!0),i}),[g,t,r,o,e]);return[b,v]}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(35),i=r(21),o=r(11),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 m(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,v=a.identifierField,y=i(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,R=y.refetch,_=p(r,b),P=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"backward",fragmentData:g,fragmentIdentifier:_,fragmentNode:r,fragmentRef:b,identifierField:v,paginationMetadata:f,paginationRequest:c}),E=P[0],k=P[1],x=P[2],S=P[3],q=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:u,direction:"forward",fragmentData:g,fragmentIdentifier:_,fragmentNode:r,fragmentRef:b,identifierField:v,paginationMetadata:f,paginationRequest:c}),w=q[0],I=q[1],C=q[2],F=q[3],D=s((function(e,t){return F(),S(),R(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[F,S,R]);return l({fragment:r.name,data:g,hasNext:I,isLoadingNext:C,hasPrevious:k,isLoadingPrevious:x}),{data:g,loadNext:w,loadPrevious:E,hasNext:I,hasPrevious:k,isLoadingNext:C,isLoadingPrevious:x,refetch:D}}},function(e,t,r){"use strict";var n=r(4)(r(7)),a=r(19),i=r(8),o=r(36),u=r(2),s=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,m=p.__internal.fetchQuery,v=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getSelector,b=p.getValueAtPath,R=r(5);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,_=e.fragmentData,P=e.connectionPathInFragmentData,E=e.paginationRequest,k=e.paginationMetadata,x=e.componentDisplayName,S=e.observer,q=e.onReset,w=e.identifierField,I=u(),C=a(),F=C.isFetchingRef,D=C.startFetch,A=C.disposeFetch,N=C.completeFetch,Q=null!=w&&null!=_&&"object"==typeof _?_[w]:null,O=i(),M=d(I),T=M[0],U=M[1],L=d(p),j=L[0],W=L[1],K=o(r,l);(I!==T||p!==j)&&(A(),q(),U(I),W(p));var V=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,m=b(r,n);if(null==m)return{cursor:null,hasMore:!1};"object"!=typeof m&&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,m);var v=m[u],y=m[l];if(null==v||null==y)return{cursor:null,hasMore:!1};Array.isArray(v)||s(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,u,v),"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,R="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;null!==R&&"string"!=typeof R&&s(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,p,R),g="forward"===e?null!=R&&!0===y[c]:null!=R&&!0===y[f];return{cursor:R,hasMore:g}}(t,r,_,P),B=V.cursor,H=V.hasMore;return f((function(){return function(){A()}}),[A]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==O.current)return R(!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,x),{dispose:function(){}};var o=g(r,l);if(!0===F.current||null==_||K)return null==o&&R(!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,x,x),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,x);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,B,d,(0,n.default)({},f),k);null!=w&&("string"!=typeof Q&&R(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,Q),p.id=Q);var h=v(E,p,{force:!0});return m(I,h).subscribe((0,n.default)((0,n.default)({},S),{},{start:function(e){D(e),S.start&&S.start(e)},complete:function(){N(),S.complete&&S.complete(),i&&i(null)},error:function(e){N(),S.error&&S.error(e),i&&i(e)}})),{dispose:A}}),[I,Q,t,B,D,A,N,F,K,_,r.name,l,x]),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(17),i=r(20),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,m=t.fetchPolicy,v=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!=v?p.executeWithSource({operation:b,source:v}):p.execute({operation:b})})),fetchPolicy:m,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!=v&&p===t.environment?R=v.ifEmpty(_):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:R,fetchKey:h,fetchPolicy:m,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var P=a(l);return s({query:t.name,variables:t.variables,data:P,fetchKey:h,fetchPolicy:m,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),P}},function(e,t,r){"use strict";var n=r(21),a=r(11),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-423c3b07
|
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),U=r.direction||N.direction;U||m(!1,"ReactRelayPaginationContainer: Unable to infer direction of the connection, possibly because both first and last are provided.");var w=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"===U?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"===U?v[u]:v[c],y="forward"===U?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"===U?u:c,_,"forward"===U?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(w(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.RelayFeatureFlags,v=p.createOperationDescriptor,_=p.deepFreeze,y=p.getRequest,b={},m={rootIsQueryRenderer:!0},C=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 b[r],n===e.snapshot&&t===e.error?null:{renderProps:R(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=g(y(c).params,t.variables),n=b[s]?b[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},S(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:x(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===d.ENABLE_QUERY_RENDERER_OFFSCREEN_SUPPORT&&!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return x(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,o=t.requestCacheKey;o&&delete b[o],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete b[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 b[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 _(t),f.createElement(u.Provider,{value:r},f.createElement(c.Provider,{value:m},this.props.render(t)))},t}(f.Component);function R(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 g(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function x(e,t){var r,n=e.query,a=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var s=g(y(n).params,e.variables);r=b[s]?b[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},S(e,r,t.retryCallbacks))}function S(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=y(a),c=v(l,s,i),h={environment:u};if("string"==typeof n&&b[n]){var f=b[n].snapshot;return f?{error:null,relayContext:h,renderProps:R(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),d=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||g(l.params,e.variables),b[n]={queryFetcher:t,snapshot:d},d?{error:null,relayContext:h,renderProps:R(null,d,t,r),snapshot:d,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:R(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=C},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-423c3b07
|
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,p,h){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=36)}([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(25);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,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,p=i.getRequest,h=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,x,S,F,q,I,k=null!==(C=null==i?void 0:i.fetchPolicy)&&void 0!==C?C:"store-or-network",D=(0,n.default)((0,n.default)({},null==i?void 0:i.networkCacheConfig),{},{force:!0}),O=!1,w=function(t,r){return O=!0,e.executeWithSource({operation:t,source:r})},A=new c,N=s.create((function(e){return A.subscribe(e)})),Q=null,M=!1,T=function(t){var n;M=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var o="raw-network-request-"+h(t,r);n=f(e,o,(function(){return e.getNetwork().execute(t,r,D)}))}else{n=e.getNetwork().execute(t,r,D)}var i=n.subscribe({error:function(e){Q=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return x=i,s.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),x()}}))},U=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(M=!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()}});S=n.unsubscribe},j=function(t){var n=d(t,r,D);(E=e.retain(n),"store-only"!==k)&&(("store-or-network"!==k||"available"!==e.check(n).status)&&U(n,(function(){var e=T(t.params);return w(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(F=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",F.name);var L=u.get(I);if(null!=L)j(L);else{var V="store-only"===k?null:T(F),W=u.onLoad(I,(function(t){q();var n=d(t,r,D);E=e.retain(n),null!=V&&U(n,(function(){return w(n,V)}))}));q=W.dispose}}else{var H=p(t);I=null!=(F=H.params).cacheID?F.cacheID:F.id,j(H)}var K=!1,B=!1,G=!1,z=function(){B||(E&&E.dispose(),B=!0)},Y=function(){G||(O?S&&S():x&&x(),q&&q(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){K||(z(),Y(),K=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:m,id:I,get isDisposed(){return K||B},get networkError(){return Q},name:F.name,networkCacheConfig:D,fetchPolicy:k,source:M?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=i},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(38),o=r(14),i=o.getComponentName,s=o.getContainerName,u=r(8),l=r(18),c=r(39),f=r(3),d=r(0),p=r(1).getFragment;e.exports=function(e,t,r){var o=s(e);a(i(e),t);var h={};for(var v in t)h[v]=p(t[v]);var y=r(e,h);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(40),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(9)),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(28).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),p=u(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),y=s(!0);function m(){!1!==d.current&&!1!==y.current&&p((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,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(){y.current=!1},enableStoreUpdates:function(){y.current=!0,f.checkMissedUpdates(v)[0]&&m()}}}},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(7).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 t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=p},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(49)),i=r(29),s=r(3),u=r(1),l=u.getFragmentIdentifier,c=u.getPendingOperationsForFragment,f=u.getSelector,d=u.isPromise,p=u.recycleNodesInto,h=u.reportMissingRequiredFields,v="function"==typeof WeakMap,y=Object.freeze([]);function m(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function g(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:m(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:m(t),storeEpoch:r}}var _=function(){function e(e){this._environment=e,this._cache=i.create(1e6)}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,l(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var o,i=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var u=i.getStore().getEpoch();if(!0===(null==e||null===(o=e.metadata)||void 0===o?void 0:o.plural)&&(Array.isArray(t)||s(!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:y,isMissingData:!1,snapshot:y,storeEpoch:u};var l=this._cache.get(r);if(null!=l){if("pending"===l.kind&&d(l.promise))throw i.__log({name:"suspense.fragment",data:l.result.data,fragment:e,isRelayHooks:!0,isMissingData:l.result.isMissingData,isPromiseCached:!0,pendingOperations:l.pendingOperations}),l.promise;if("done"===l.kind&&l.result.snapshot)return this._reportMissingRequiredFieldsInSnapshot(l.result.snapshot),l.result}var c=f(e,t);null==c&&s(!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 p="PluralReaderSelector"===c.kind?c.selectors.map((function(e){return i.lookup(e)})):i.lookup(c),h=g(r,p,u);if(!h.isMissingData)return this._reportMissingRequiredFieldsInSnapshot(p),this._cache.set(r,{kind:"done",result:h}),h;var v="PluralReaderSelector"===c.kind?c.selectors[0].owner:c.owner,m=this._getAndSavePromiseForFragmentRequestInFlight(r,e,v,h);if(null!=m&&d(m.promise))throw i.__log({name:"suspense.fragment",data:h.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:h.isMissingData,pendingOperations:m.pendingOperations}),m.promise;return this._reportMissingRequiredFieldsInSnapshot(p),g(r,p,u)},t._reportMissingRequiredFieldsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){null!=e.missingRequiredFields&&h(t._environment,e.missingRequiredFields)})):null!=e.missingRequiredFields&&h(this._environment,e.missingRequiredFields)},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),u=i[0],l=i[1];u&&t();var c=[];return Array.isArray(o)?(Array.isArray(l)||s(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,o){c.push(n.subscribe(e,(function(e){var i=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,o,i),t()})))}))):((null==l||Array.isArray(l))&&s(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),c.push(n.subscribe(l,(function(e){var o=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:g(a,e,o)}),t()})))),{dispose:function(){c.map((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:g(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,seenRecords:u.seenRecords,selector:u.selector,missingRequiredFields:u.missingRequiredFields};return f!==l&&this._cache.set(o,{kind:"done",result:g(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=c(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 i,s=this._cache.get(e);if(d(s))b(r.selector.node.name);else{var u=null==s||null===(i=s.result)||void 0===i?void 0:i.snapshot;if(!u||Array.isArray(u)){var l=u?(0,o.default)(u):(0,o.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:g(e,l,a)})}else b(r.selector.node.name)}},e}();function b(e){s(!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 R(e){return new _(e)}var C=v?new WeakMap:new Map;e.exports={createFragmentResource:R,getFragmentResourceForEnvironment:function(e){var t=C.get(e);if(t)return t;var r=R(e);return C.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(21),a=r(31),o=a.getQueryCacheIdentifier,i=a.getQueryResourceForEnvironment,s=r(32),u=r(22),l=r(4),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,y=e.renderPolicy,m=l(),g=f(n),_=i(m),b=p(0),R=b[0],C=b[1],P=s(),E=P.startFetch,x=P.completeFetch,S="".concat(R,"-").concat(null!=v?v:""),F=o(m,t,c,y,S),q=g.wrapPrepareQueryResource((function(){return _.prepareWithIdentifier(F,t,a,c,y,{start:E,complete:x,error:x},g)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void C((function(e){return e+1}));var e=_.retain(q,g);return function(){e.dispose()}}),[m,F]),d((function(){_.releaseTemporaryRetain(q)}));var k=q.fragmentNode,D=q.fragmentRef;return u(k,D,r).data}},function(e,t,r){"use strict";var n=r(2),a=n(r(5)),o=n(r(9)),i=r(29),s=r(3),u=r(1).isPromise,l=r(6),c="function"==typeof WeakMap;function f(e){return void 0!==e.request.node.params.metadata.live}function d(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 h=2e5;function v(e,t,r,n,a,o){var i=f(t),u=n,l=0,c=null,d=null,p=a,v=function(e){return 1===++l&&(c=e.retain(t)),{dispose:function(){0===(l=Math.max(0,l-1))&&(null==c&&s(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),c.dispose(),c=null),o(y)}}},y={cacheIdentifier:e,id:h++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return u},setValue:function(e){u=e},getRetainCount:function(){return l},getNetworkSubscription:function(){return p},setNetworkSubscription:function(e){i&&null!=p&&p.unsubscribe(),p=e},temporaryRetain:function(e){if(e.isServer())return{dispose:function(){}};var t=v(e),r=null,n=function(){clearTimeout(r),r=null,d=null,t.dispose(),i&&l<=0&&null!=p&&p.unsubscribe()};return r=setTimeout(n,3e5),null!=d&&d(),d=n,{dispose:function(){d&&d()}}},permanentRetain:function(e){var t=v(e);return null!=d&&(d(),d=null),{dispose:function(){t.dispose(),i&&l<=0&&null!=p&&p.unsubscribe()}}},releaseTemporaryRetain:function(){null!=d&&(d(),d=null)}};return y}var y=function(){function e(e){var t=this;(0,o.default)(this,"_clearCacheEntry",(function(e){e.getRetainCount()<=0&&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=d(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 l=this._environment,c=null!=n?n:"store-or-network",f=null!=o?o:l.UNSTABLE_getDefaultRenderPolicy(),d=this._cache.get(e),p=null,h=null!=d;null==d&&(d=this._fetchAndSaveQuery(e,t,r,c,f,s,(0,a.default)((0,a.default)({},i),{},{unsubscribe:function(e){null!=p&&p.dispose();var t=null==i?void 0:i.unsubscribe;t&&t(e)}}))),p=d.temporaryRetain(l);var v=d.getValue();if(u(v))throw l.__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,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=d(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=v(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,o)),o},t._fetchAndSaveQuery=function(e,t,r,n,o,i,u){var c,d,h=this,y=this._environment,m=y.check(t),g=m.status,_="available"===g,b=_||"partial"===o&&"stale"!==g,R=function(){};switch(n){case"store-only":c=!1,d=!0;break;case"store-or-network":c=!_,d=b;break;case"store-and-network":c=!0,d=b;break;case"network-only":default:c=!0,d=!1}if(d){var C=p(t,e),P=v(e,t,m,C,null,this._clearCacheEntry);this._cache.set(e,P)}if(c){var E,x=p(t,e);r.subscribe({start:function(r){E=r;var n=h._cache.get(e);n&&n.setNetworkSubscription(E);var o=null==u?void 0:u.start;o&&o((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){f(t)&&r.unsubscribe()}}))},next:function(){var r=h._getOrCreateCacheEntry(e,t,m,x,E);r.processedPayloadsCount+=1,r.setValue(x),R();var n=null==u?void 0:u.next;null!=n&&n(y.lookup(t.fragment))},error:function(r){var n=h._getOrCreateCacheEntry(e,t,m,r,E);0===n.processedPayloadsCount?n.setValue(r):l(!1,"QueryResource: An incremental payload for query `%` returned an error: `%`:`%`.",t.fragment.node.name,r.message,r.stack),R(),E=null,n.setNetworkSubscription(null);var a=null==u?void 0:u.error;a&&a(r)},complete:function(){R(),E=null;var t=h._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 S=this._cache.get(e);if(!S){var F=new Promise((function(e){R=e}));F.displayName="Relay("+t.fragment.node.name+")",S=v(e,t,m,F,E,this._clearCacheEntry),this._cache.set(e,S)}}else{var q=null==u?void 0:u.complete;q&&q()}var I=this._cache.get(e);return null==I&&s(!1,"Relay: Expected to have cached a result when attempting to fetch query.If you're seeing this, this is likely a bug in Relay."),y.__log({name:"queryresource.fetch",resourceID:I.id,operation:t,profilerContext:i,fetchPolicy:n,renderPolicy:o,queryAvailability:m,shouldFetch:c}),I},e}();function m(e){return new y(e)}var g=c?new WeakMap:new Map;e.exports={createQueryResource:m,getQueryResourceForEnvironment:function(e){var t=g.get(e);if(t)return t;var r=m(e);return g.set(e,r),r},getQueryCacheIdentifier:d}},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(51),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(28).getFragmentResourceForEnvironment,i=r(21),s=r(31).getQueryResourceForEnvironment,u=r(22),l=r(11),c=r(35),f=r(4),d=r(3),p=r(0),h=p.useCallback,v=p.useContext,y=p.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 x(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 p=f(),m=R(e,r),S=m.refetchableRequest,F=m.fragmentRefPathInResponse,q=m.identifierField,I=b(e,t),k=y(x,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=k[0],O=k[1],w=D.fetchPolicy,A=D.mirroredEnvironment,N=D.mirroredFragmentIdentifier,Q=D.onComplete,M=D.refetchEnvironment,T=D.refetchQuery,U=D.renderPolicy,j=null!=M?M:p,L=s(j),V=o(j),W=v(i),H=j!==A||I!==N,K=c(S),B=K[0],G=K[1],z=K[2],Y=t;if(H)O({type:"reset",environment:j,fragmentIdentifier:I}),z();else if(null!=T&&null!=B){var X;X=n.getInitialIDAndType(T.request.variables,F,j);var J=function(e){Q&&Q(null!=e?e:null)},Z=null!=B.source?B.source:g(j,T),$=W.wrapPrepareQueryResource((function(){return L.prepare(T,Z,w,U,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,j,e,r),J()}},B.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,F),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 p=l(),v=null!=u&&null!=n&&"object"==typeof n?n[u]:null;return h((function(n,o){if(!0!==p.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,h=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,x,S;s=null!==(R=null===(P=b.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(x=null===(S=b.selectors[0])||void 0===S?void 0:S.variables)&&void 0!==x?x:{}}else s=b.owner.variables,l=b.variables;var F=(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),F.id=v);var q=_(d,F,{force:!0});return c(q.request.variables,{fetchPolicy:y,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:y,onComplete:g,refetchEnvironment:h,refetchQuery:q,renderPolicy:m}),{dispose:r}}),[o,t,r,v,c])}(r,O,z,re,I,e,0,q,G,t,S),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=r(2)(r(27)),a=r(7),o=a.loadQuery,i=a.useTrackLoadQueryInRender,s=r(11),u=r(4),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,p=l.useState,h=r(1).getRequest,v={kind:"NullQueryReference"};function y(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=u();i();var l=s(),h=d(new Set([r])),m=p((function(){return r})),g=m[0],_=m[1],b=p((function(){return r})),R=b[0],C=b[1];r!==R&&(h.current.add(r),C(r),_(r));var P=c((function(){l.current&&(h.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);h.current.add(s),_(s)}}),[a,e,_,l]),x=d(!1);return f((function(){return function(){x.current=!0}}),[]),f((function(){if(!0===x.current)return x.current=!1,void("NullQueryReference"!==g.kind&&E(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 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)(h.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(8),a=r(37),o=r(41),i=r(42),s=r(43),u=r(44),l=r(45),c=r(26),f=r(7).loadQuery,d=r(46),p=r(47),h=r(48),v=r(50),y=r(52),m=r(53),g=r(56),_=r(35),b=r(57),R=r(4),C=r(58),P=r(59),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:h,useLazyLoadQuery:v,useEntryPointLoader:p,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(9)),l=r(16),c=r(14).getContainerName,f=r(19).assertRelayContext,d=r(10),p=r(0),h=r(1),v=h.createFragmentSpecResolver,y=h.getDataIDsFromObject,m=h.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 p=c.resolve();return p!==r.data?{data:p,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 p.createElement(e,(0,a.default)((0,a.default)((0,a.default)({},n),this.state.data),{},{ref:r,relay:this.state.relayProp}))},n}(p.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(8),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,p=i.useRef,h=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=h((function(){var e=c(y);return u(e,_)}),[y,_]),R=h((function(){return{environment:s}}),[s]),C=p(null),P=d(null)[1],E=p(null),x=h((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()}}),[x]),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(9)),l=n(r(5)),c=r(16),f=r(24),d=r(14),p=d.getComponentName,h=d.getContainerName,v=r(8),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,x=R.createFragmentSpecResolver,S=R.createOperationDescriptor,F=R.getDataIDsFromObject,q=R.getRequest,I=R.getVariablesFromObject,k=R.isScalarAndEqual,D=r(6);function O(e){return"function"==typeof e?{error:e,complete:e,unsubscribe:function(t){"function"==typeof e&&e()}}:e||{}}function w(e,t,r){var n,c,d=p(e),R=h(e),w=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}}(w),N=r.direction||w.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))}}(w);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,O(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=O(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;D(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=x(o,R,t,e,s):a._resolver=x(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 p=c.prototype;return p.componentDidMount=function(){this._isUnmounted=!1,!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&this._subscribeToNewResolverAndRerenderIfStoreHasChanged()},p.componentDidUpdate=function(e,t){!0===E.ENABLE_CONTAINERS_SUBSCRIBE_ON_COMMIT&&(t.resolverGeneration!==this.state.resolverGeneration?this._subscribeToNewResolverAndRerenderIfStoreHasChanged():this._rerenderIfStoreHasChanged())},p.UNSAFE_componentWillReceiveProps=function(e){var r,n=this,a=m(e.__relayContext),o=null!==(r=e.__rootIsQueryRenderer)&&void 0!==r&&r,i=F(t,this.props),s=F(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=x(a,R,t,e,o):this._resolver=x(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})},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),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)&&!k(e[o],this.props[o]))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,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,p=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 h=n[i],v=n[s];if(null==h||null==v)return null;Array.isArray(h)||_(!1,"ReactRelayPaginationContainer: Expected `getConnectionFromProps()` in `%s`to return an object with %s: Array, got `%s`.",d,i,h),"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[p];return"boolean"!=typeof y||0!==h.length&&void 0===m?(D(!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:p,m),null):{cursor:m,edgeCount:h.length,hasMore:y}},p._getQueryFetcher=function(){return this._queryFetcher||(this._queryFetcher=new y),this._queryFetcher},p._canFetchPage=function(e){return!this._isUnmounted||(D(!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,a){var i,s=this,u=m(this.props.__relayContext).environment,c=this.props,p=(c.componentRef,c.__relayContext,c.__rootIsQueryRenderer,(0,o.default)(c,["componentRef","__relayContext","__rootIsQueryRenderer"])),h=(0,l.default)((0,l.default)({},p),this.state.data),v=f(t,p);i=I(t,p),i=(0,l.default)((0,l.default)((0,l.default)({},v),i),this._refetchVariables);var y=r.getVariables(h,{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=q(r.query),C=S(R,y,b),E=null;this._refetchSubscription&&this._refetchSubscription.unsubscribe(),this._hasFetched=!0;var x=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:x,complete:x,unsubscribe:x}).subscribe(n||{}),this._refetchSubscription=this._isARequestInFlight?E:null,E},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,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 w(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(9)),u=r(8),l=r(20),c=r(18),f=r(10),d=r(0),p=r(1),h=p.RelayFeatureFlags,v=p.createOperationDescriptor,y=p.deepFreeze,m=p.getRequest,g={},_={rootIsQueryRenderer:!0},b=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 g[r],n===e.snapshot&&t===e.error?null:{renderProps:R(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=C(m(c).params,t.variables),n=g[i]?g[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},E(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:P(e,t)};var r=t.prototype;return r.componentDidMount=function(){var e=this;if(!0===h.ENABLE_QUERY_RENDERER_OFFSCREEN_SUPPORT&&!0===this._maybeHiddenOrFastRefresh)return this._maybeHiddenOrFastRefresh=!1,void this.setState((function(t){return P(e.props,t)}));var t=this.state,r=t.retryCallbacks,n=t.queryFetcher,a=t.requestCacheKey;a&&delete g[a],r.handleDataChange=this._handleDataChange,r.handleRetryAfterError=function(t){return e.setState((function(e){var t=e.requestCacheKey;return t&&delete g[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 g[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 y(t),d.createElement(u.Provider,{value:r},d.createElement(c.Provider,{value:_},this.props.render(t)))},t}(d.Component);function R(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 C(e,t){return JSON.stringify({id:e.cacheID?e.cacheID:e.id,variables:t})}function P(e,t){var r,n=e.query,o=t.queryFetcher.getSelectionReferences();if(t.queryFetcher.disposeRequest(),n){var i=C(m(n).params,e.variables);r=g[i]?g[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},E(e,r,t.retryCallbacks))}function E(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=m(o),c=v(l,i,s),f={environment:u};if("string"==typeof n&&g[n]){var d=g[n].snapshot;return d?{error:null,relayContext:f,renderProps:R(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 p=t.lookupInStore(u,c,e.fetchPolicy),h=t.fetch({environment:u,onDataChange:null,operation:c})||p;return n=n||C(l.params,e.variables),g[n]={queryFetcher:t,snapshot:h},h?{error:null,relayContext:f,renderProps:R(null,h,t,r),snapshot:h,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:R(e,null,t,r),snapshot:null,requestCacheKey:n}}}e.exports=b},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(9)),c=r(16),f=r(24),d=r(14).getContainerName,p=r(8),h=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,x=g.isScalarAndEqual,S=r(6);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,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 S(!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,p=s?{force:!!s.force}:void 0;null!=p&&null!=(null==s?void 0:s.metadata)&&(p.metadata=null==s?void 0:s.metadata);var h,y="function"==typeof a?{next:a,error:a}:a||{},m=P(r),b=R(m,c,p);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===h&&(o._refetchSubscription=null)})).subscribe((0,i.default)((0,i.default)({},y),{},{start:function(e){o._refetchSubscription=h=e,y.start&&y.start(e)}})),{dispose:function(){h&&h.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:F(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:F(o.environment,r.relayProp.refetch),resolver:d};r.localVariables||d.setProps(e);var p=d.resolve();return p!==r.data?{data:p,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)&&!x(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 h),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(p.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,p=t.rootModuleID,h=i(),v=s(n),y=a();return u((function(){y.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:p})}),[y,v,p]),o.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(25),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(27)),a=r(26),o=r(7).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,p,h,v;o();var y=null!==(s=null==r||null===(p=r.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==s?s:d,m=null!==(h=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==h?h:null,g=i(),_=c(new Set([y])),b=f(y),R=b[0],C=b[1],P=f(m),E=P[0],x=P[1],S=u((function(){if(g.current){var e={kind:"NullEntryPointReference"};_.current.add(e),C(e)}}),[C,g]),F=u((function(r){if(g.current){var n=a(e,t,r);_.current.add(n),C(n),x(r)}}),[e,t,C,g]),q=c(!1);return l((function(){return function(){q.current=!0}}),[]),l((function(){if(!0===q.current)return q.current=!1,void("NullEntryPointReference"!==R.kind&&null!=E&&F(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,F,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,F,S]}},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(22),o=r(23),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=h},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(30),o=r(33),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),p=c(e),h=c(new Set),v=u(!1),y=v[0],m=v[1],g=f((function(t){d.current===r&&p.current===e&&(h.current.delete(t),i.current&&m(h.current.size>0))}),[r,i,e]);l((function(){d.current===r&&p.current===e||(h.current=new Set,i.current&&m(!1),d.current=r,p.current=e)}),[r,i,e]);var _=f((function(a){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 h.current.add(o),i.current&&m(!0),o}),[g,t,r,i,e]);return[_,y]}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(54),o=r(34),i=r(23),s=r(0),u=s.useCallback,l=s.useDebugValue,c=s.useState,f=r(1),d=f.getFragment,p=f.getFragmentIdentifier,h=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=h(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=p(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],x=C[2],S=C[3],F=v({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:s,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:_,identifierField:y,paginationMetadata:f,paginationRequest:c}),q=F[0],I=F[1],k=F[2],D=F[3],O=u((function(e,t){return D(),S(),b(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,S,b]);return l({fragment:r.name,data:g,hasNext:I,isLoadingNext:k,hasPrevious:E,isLoadingPrevious:x}),{data:g,loadNext:q,loadPrevious:P,hasNext:I,hasPrevious:E,isLoadingNext:k,isLoadingPrevious:x,refetch:O}}},function(e,t,r){"use strict";var n=r(2)(r(5)),a=r(32),o=r(11),i=r(55),s=r(4),u=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,v=p.__internal.fetchQuery,y=p.createOperationDescriptor,m=p.getPaginationVariables,g=p.getSelector,_=p.getValueAtPath,b=r(6);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,C=e.connectionPathInFragmentData,P=e.paginationRequest,E=e.paginationMetadata,x=e.componentDisplayName,S=e.observer,F=e.onReset,q=e.identifierField,I=s(),k=a(),D=k.isFetchingRef,O=k.startFetch,w=k.disposeFetch,A=k.completeFetch,N=null!=q&&null!=R&&"object"==typeof R?R[q]:null,Q=o(),M=d(I),T=M[0],U=M[1],j=d(p),L=j[0],V=j[1],W=i(r,l);(I!==T||p!==L)&&(w(),F(),U(I),V(p));var H=function(e,t,r,n){var a,o,i=h.get(),s=i.EDGES,l=i.PAGE_INFO,c=i.HAS_NEXT_PAGE,f=i.HAS_PREV_PAGE,d=i.END_CURSOR,p=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[p])&&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,p,b),g="forward"===e?null!=b&&!0===m[c]:null!=b&&!0===m[f];return{cursor:b,hasMore:g}}(t,r,R,C),K=H.cursor,B=H.hasMore;return f((function(){return function(){w()}}),[w]),[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,x),{dispose:function(){}};var i=g(r,l);if(!0===D.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,x,x),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,x);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),p=m(t,e,K,d,(0,n.default)({},f),E);null!=q&&("string"!=typeof N&&b(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",q,N),p.id=N);var h=y(P,p,{force:!0});return v(I,h).subscribe((0,n.default)((0,n.default)({},S),{},{start:function(e){O(e),S.start&&S.start(e)},complete:function(){A(),S.complete&&S.complete(),o&&o(null)},error:function(e){A(),S.error&&S.error(e),o&&o(e)}})),{dispose:w}}),[I,N,t,K,O,w,A,D,W,R,r.name,l,x]),B,w]}},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],p=i[1];return l((function(){var e;if(p(null!=o),null!=o){var t=function(){p(!1)};e=o.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[o]),d}},function(e,t,r){"use strict";var n=r(7).useTrackLoadQueryInRender,a=r(30),o=r(33),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,p=i(),h=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:h,fetchObservable:c(p,_.request.identifier,(function(){return p===t.environment&&null!=y?p.executeWithSource({operation:_,source:y}):p.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(p,_);null!=y&&p===t.environment?b=y.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."),b=R):b=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:b,fetchKey:h,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:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),C}},function(e,t,r){"use strict";var n=r(34),a=r(23),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
@@ -49,13 +49,8 @@ function EntryPointContainer<
|
|
49
49
|
'collection, and as such may no longer be present in the Relay store. ' +
|
50
50
|
'In the future, this will become a hard error.',
|
51
51
|
);
|
52
|
-
const {
|
53
|
-
|
54
|
-
queries,
|
55
|
-
entryPoints,
|
56
|
-
extraProps,
|
57
|
-
rootModuleID,
|
58
|
-
} = entryPointReference;
|
52
|
+
const {getComponent, queries, entryPoints, extraProps, rootModuleID} =
|
53
|
+
entryPointReference;
|
59
54
|
const Component = getComponent();
|
60
55
|
const profilerContext = useContext(ProfilerContext);
|
61
56
|
const environment = useRelayEnvironment();
|
@@ -261,16 +261,14 @@ export type ExtractEntryPointTypeHelper = <
|
|
261
261
|
EntryPoint<TEntryPointParams, TEntryPointComponent>,
|
262
262
|
>;
|
263
263
|
|
264
|
-
export type EntryPoint<
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
$PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
|
273
|
-
>;
|
264
|
+
export type EntryPoint<TEntryPointParams, +TEntryPointComponent> =
|
265
|
+
InternalEntryPointRepresentation<
|
266
|
+
TEntryPointParams,
|
267
|
+
$PropertyType<ElementConfig<TEntryPointComponent>, 'queries'>,
|
268
|
+
$PropertyType<ElementConfig<TEntryPointComponent>, 'entryPoints'>,
|
269
|
+
$PropertyType<ElementConfig<TEntryPointComponent>, 'props'>,
|
270
|
+
$PropertyType<ElementConfig<TEntryPointComponent>, 'extraProps'>,
|
271
|
+
>;
|
274
272
|
|
275
273
|
type ExtractFirstParam = <P, R>((P) => R) => P;
|
276
274
|
type GetPreloadPropsType<T> = $ElementType<T, 'getPreloadProps'>;
|
@@ -259,12 +259,13 @@ class FragmentResourceImpl {
|
|
259
259
|
fragmentSelector.kind === 'PluralReaderSelector'
|
260
260
|
? fragmentSelector.selectors[0].owner
|
261
261
|
: fragmentSelector.owner;
|
262
|
-
const networkPromiseResult =
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
262
|
+
const networkPromiseResult =
|
263
|
+
this._getAndSavePromiseForFragmentRequestInFlight(
|
264
|
+
fragmentIdentifier,
|
265
|
+
fragmentNode,
|
266
|
+
fragmentOwner,
|
267
|
+
fragmentResult,
|
268
|
+
);
|
268
269
|
if (
|
269
270
|
networkPromiseResult != null &&
|
270
271
|
isPromise(networkPromiseResult.promise)
|
@@ -332,9 +333,8 @@ class FragmentResourceImpl {
|
|
332
333
|
|
333
334
|
// 1. Check for any updates missed during render phase
|
334
335
|
// TODO(T44066760): More efficiently detect if we missed an update
|
335
|
-
const [didMissUpdates, currentSnapshot] =
|
336
|
-
fragmentResult
|
337
|
-
);
|
336
|
+
const [didMissUpdates, currentSnapshot] =
|
337
|
+
this.checkMissedUpdates(fragmentResult);
|
338
338
|
|
339
339
|
// 2. If an update was missed, notify the component so it updates with
|
340
340
|
// the latest data.
|
@@ -471,7 +471,7 @@ class FragmentResourceImpl {
|
|
471
471
|
|
472
472
|
checkMissedUpdatesSpec(fragmentResults: {
|
473
473
|
[string]: FragmentResult,
|
474
|
-
|
474
|
+
...
|
475
475
|
}): boolean {
|
476
476
|
return Object.keys(fragmentResults).some(
|
477
477
|
key => this.checkMissedUpdates(fragmentResults[key])[0],
|
@@ -98,12 +98,8 @@ function prepareEntryPoint<
|
|
98
98
|
if (queries != null) {
|
99
99
|
const queriesPropNames = Object.keys(queries);
|
100
100
|
queriesPropNames.forEach(queryPropName => {
|
101
|
-
const {
|
102
|
-
|
103
|
-
options,
|
104
|
-
parameters,
|
105
|
-
variables,
|
106
|
-
} = queries[queryPropName];
|
101
|
+
const {environmentProviderOptions, options, parameters, variables} =
|
102
|
+
queries[queryPropName];
|
107
103
|
|
108
104
|
const environment = environmentProvider.getEnvironment(
|
109
105
|
environmentProviderOptions,
|
@@ -126,10 +122,8 @@ function prepareEntryPoint<
|
|
126
122
|
if (entryPointDescription == null) {
|
127
123
|
return;
|
128
124
|
}
|
129
|
-
const {
|
130
|
-
|
131
|
-
entryPointParams: nestedParams,
|
132
|
-
} = entryPointDescription;
|
125
|
+
const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
|
126
|
+
entryPointDescription;
|
133
127
|
preloadedEntryPoints[entryPointPropName] = prepareEntryPoint(
|
134
128
|
environmentProvider,
|
135
129
|
nestedEntryPoint,
|
@@ -178,23 +172,23 @@ function LazyLoadEntryPointContainer_DEPRECATED<
|
|
178
172
|
// *must* be computed first to fetch the component's data-dependencies in
|
179
173
|
// parallel with the component itself (the code).
|
180
174
|
const entryPointParamsHash = stableStringify(entryPointParams);
|
181
|
-
const {
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
175
|
+
const {getComponent, queries, entryPoints, extraProps, rootModuleID} =
|
176
|
+
useMemo(() => {
|
177
|
+
return prepareEntryPoint(
|
178
|
+
environmentProvider ?? {
|
179
|
+
getEnvironment: () => environment,
|
180
|
+
},
|
181
|
+
entryPoint,
|
182
|
+
entryPointParams,
|
183
|
+
);
|
184
|
+
// NOTE: stableParams encodes the information from params
|
185
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
186
|
+
}, [
|
187
|
+
environment,
|
188
|
+
environmentProvider,
|
189
|
+
getPreloadProps,
|
190
|
+
entryPointParamsHash,
|
191
|
+
]);
|
198
192
|
const Component = useMemo(() => {
|
199
193
|
return getComponent();
|
200
194
|
}, [getComponent]);
|
@@ -34,10 +34,10 @@ type Props = $ReadOnly<{|
|
|
34
34
|
|
35
35
|
function RelayEnvironmentProvider(props: Props): React.Node {
|
36
36
|
const {children, environment, getEnvironmentForActor} = props;
|
37
|
-
const context = useMemo(
|
38
|
-
environment,
|
39
|
-
getEnvironmentForActor,
|
40
|
-
|
37
|
+
const context = useMemo(
|
38
|
+
() => ({environment, getEnvironmentForActor}),
|
39
|
+
[environment, getEnvironmentForActor],
|
40
|
+
);
|
41
41
|
return (
|
42
42
|
<ReactRelayContext.Provider value={context}>
|
43
43
|
{children}
|
@@ -30,7 +30,8 @@ type PreloadParams = $ReadOnly<{||}>;
|
|
30
30
|
type MyComponentEntryPointType = EntryPoint<PreloadParams, typeof MyComponent>;
|
31
31
|
|
32
32
|
// This gets the "other props" of the component through the entrypoint's typing
|
33
|
-
type MyComponentEntryPointProps =
|
33
|
+
type MyComponentEntryPointProps =
|
34
|
+
EntryPointElementConfig<MyComponentEntryPointType>;
|
34
35
|
|
35
36
|
// This gets the "other props" directly from the component's prop typings
|
36
37
|
type OtherProps = $PropertyType<MyComponentProps, 'props'>;
|
@@ -51,12 +51,8 @@ function loadEntryPoint<
|
|
51
51
|
if (queries != null) {
|
52
52
|
const queriesPropNames = Object.keys(queries);
|
53
53
|
queriesPropNames.forEach(queryPropName => {
|
54
|
-
const {
|
55
|
-
|
56
|
-
options,
|
57
|
-
parameters,
|
58
|
-
variables,
|
59
|
-
} = queries[queryPropName];
|
54
|
+
const {environmentProviderOptions, options, parameters, variables} =
|
55
|
+
queries[queryPropName];
|
60
56
|
|
61
57
|
const environment = environmentProvider.getEnvironment(
|
62
58
|
environmentProviderOptions,
|
@@ -83,10 +79,8 @@ function loadEntryPoint<
|
|
83
79
|
if (entryPointDescription == null) {
|
84
80
|
return;
|
85
81
|
}
|
86
|
-
const {
|
87
|
-
|
88
|
-
entryPointParams: nestedParams,
|
89
|
-
} = entryPointDescription;
|
82
|
+
const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
|
83
|
+
entryPointDescription;
|
90
84
|
preloadedEntryPoints[entryPointPropName] = loadEntryPoint(
|
91
85
|
environmentProvider,
|
92
86
|
nestedEntryPoint,
|
@@ -272,7 +272,8 @@ function loadQuery<TQuery: OperationType, TEnvironmentProviderOptions>(
|
|
272
272
|
let cancelOnLoadCallback;
|
273
273
|
let queryId;
|
274
274
|
if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
|
275
|
-
const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
|
275
|
+
const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
|
276
|
+
(preloadableRequest: $FlowFixMe);
|
276
277
|
({params} = preloadableConcreteRequest);
|
277
278
|
|
278
279
|
({id: queryId} = params);
|
@@ -316,7 +317,8 @@ function loadQuery<TQuery: OperationType, TEnvironmentProviderOptions>(
|
|
316
317
|
));
|
317
318
|
}
|
318
319
|
} else {
|
319
|
-
const graphQlTaggedNode: GraphQLTaggedNode =
|
320
|
+
const graphQlTaggedNode: GraphQLTaggedNode =
|
321
|
+
(preloadableRequest: $FlowFixMe);
|
320
322
|
const request = getRequest(graphQlTaggedNode);
|
321
323
|
params = request.params;
|
322
324
|
queryId = params.cacheID != null ? params.cacheID : params.id;
|
@@ -157,7 +157,8 @@ function preloadQueryDeduped<TQuery: OperationType>(
|
|
157
157
|
let params;
|
158
158
|
let query: ?ConcreteRequest;
|
159
159
|
if (preloadableRequest.kind === 'PreloadableConcreteRequest') {
|
160
|
-
const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
|
160
|
+
const preloadableConcreteRequest: PreloadableConcreteRequest<TQuery> =
|
161
|
+
(preloadableRequest: $FlowFixMe);
|
161
162
|
params = preloadableConcreteRequest.params;
|
162
163
|
query = params.id != null ? PreloadableQueryRegistry.get(params.id) : null;
|
163
164
|
} else {
|
@@ -51,12 +51,8 @@ function prepareEntryPoint<
|
|
51
51
|
if (queries != null) {
|
52
52
|
const queriesPropNames = Object.keys(queries);
|
53
53
|
queriesPropNames.forEach(queryPropName => {
|
54
|
-
const {
|
55
|
-
|
56
|
-
options,
|
57
|
-
parameters,
|
58
|
-
variables,
|
59
|
-
} = queries[queryPropName];
|
54
|
+
const {environmentProviderOptions, options, parameters, variables} =
|
55
|
+
queries[queryPropName];
|
60
56
|
|
61
57
|
const environment = environmentProvider.getEnvironment(
|
62
58
|
environmentProviderOptions,
|
@@ -79,10 +75,8 @@ function prepareEntryPoint<
|
|
79
75
|
if (entryPointDescription == null) {
|
80
76
|
return;
|
81
77
|
}
|
82
|
-
const {
|
83
|
-
|
84
|
-
entryPointParams: nestedParams,
|
85
|
-
} = entryPointDescription;
|
78
|
+
const {entryPoint: nestedEntryPoint, entryPointParams: nestedParams} =
|
79
|
+
entryPointDescription;
|
86
80
|
preloadedEntryPoints[entryPointPropName] = prepareEntryPoint(
|
87
81
|
environmentProvider,
|
88
82
|
nestedEntryPoint,
|
@@ -120,10 +120,8 @@ function useLoadEntryPoint<
|
|
120
120
|
const [entryPointReference, setEntryPointReference] = useState<
|
121
121
|
PreloadedEntryPoint<TEntryPointComponent> | NullEntryPointReference,
|
122
122
|
>(initialEntryPointReferenceInternal);
|
123
|
-
const [
|
124
|
-
|
125
|
-
setEntryPointParams,
|
126
|
-
] = useState<TEntryPointParams | null>(initialEntryPointParamsInternal);
|
123
|
+
const [entryPointParams, setEntryPointParams] =
|
124
|
+
useState<TEntryPointParams | null>(initialEntryPointParamsInternal);
|
127
125
|
|
128
126
|
const disposeEntryPoint = useCallback(() => {
|
129
127
|
if (isMountedRef.current) {
|
@@ -50,9 +50,8 @@ function useFragmentNode<TFragmentData: mixed>(
|
|
50
50
|
const isListeningForUpdatesRef = useRef(true);
|
51
51
|
function enableStoreUpdates() {
|
52
52
|
isListeningForUpdatesRef.current = true;
|
53
|
-
const didMissUpdates =
|
54
|
-
fragmentResult
|
55
|
-
)[0];
|
53
|
+
const didMissUpdates =
|
54
|
+
FragmentResource.checkMissedUpdates(fragmentResult)[0];
|
56
55
|
if (didMissUpdates) {
|
57
56
|
handleDataUpdate();
|
58
57
|
}
|
@@ -82,12 +82,8 @@ function useLoadMoreFunction<TQuery: OperationType>(
|
|
82
82
|
identifierField,
|
83
83
|
} = args;
|
84
84
|
const environment = useRelayEnvironment();
|
85
|
-
const {
|
86
|
-
|
87
|
-
startFetch,
|
88
|
-
disposeFetch,
|
89
|
-
completeFetch,
|
90
|
-
} = useFetchTrackingRef();
|
85
|
+
const {isFetchingRef, startFetch, disposeFetch, completeFetch} =
|
86
|
+
useFetchTrackingRef();
|
91
87
|
const identifierValue =
|
92
88
|
identifierField != null &&
|
93
89
|
fragmentData != null &&
|
@@ -96,9 +92,8 @@ function useLoadMoreFunction<TQuery: OperationType>(
|
|
96
92
|
: null;
|
97
93
|
const isMountedRef = useIsMountedRef();
|
98
94
|
const [mirroredEnvironment, setMirroredEnvironment] = useState(environment);
|
99
|
-
const [mirroredFragmentIdentifier, setMirroredFragmentIdentifier] =
|
100
|
-
fragmentIdentifier
|
101
|
-
);
|
95
|
+
const [mirroredFragmentIdentifier, setMirroredFragmentIdentifier] =
|
96
|
+
useState(fragmentIdentifier);
|
102
97
|
|
103
98
|
const isParentQueryActive = useIsOperationNodeActive(
|
104
99
|
fragmentNode,
|
@@ -44,9 +44,10 @@ function useMemoVariables<TVariables: Variables | null>(
|
|
44
44
|
// NOTE: We disable react-hooks-deps warning because we explicitly
|
45
45
|
// don't want to memoize on object identity
|
46
46
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
47
|
-
const memoVariables = useMemo(
|
48
|
-
|
49
|
-
|
47
|
+
const memoVariables = useMemo(
|
48
|
+
() => variables,
|
49
|
+
[variablesChangedGenerationRef.current],
|
50
|
+
);
|
50
51
|
return [memoVariables, variablesChangedGenerationRef.current ?? 0];
|
51
52
|
}
|
52
53
|
|
@@ -84,42 +84,34 @@ function usePaginationFragment<
|
|
84
84
|
const fragmentIdentifier = getFragmentIdentifier(fragmentNode, fragmentRef);
|
85
85
|
|
86
86
|
// Backward pagination
|
87
|
-
const [
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
identifierField,
|
101
|
-
paginationMetadata,
|
102
|
-
paginationRequest,
|
103
|
-
});
|
87
|
+
const [loadPrevious, hasPrevious, isLoadingPrevious, disposeFetchPrevious] =
|
88
|
+
useLoadMore<TQuery>({
|
89
|
+
componentDisplayName,
|
90
|
+
connectionPathInFragmentData,
|
91
|
+
direction: 'backward',
|
92
|
+
fragmentData,
|
93
|
+
fragmentIdentifier,
|
94
|
+
fragmentNode,
|
95
|
+
fragmentRef,
|
96
|
+
identifierField,
|
97
|
+
paginationMetadata,
|
98
|
+
paginationRequest,
|
99
|
+
});
|
104
100
|
|
105
101
|
// Forward pagination
|
106
|
-
const [
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
identifierField,
|
120
|
-
paginationMetadata,
|
121
|
-
paginationRequest,
|
122
|
-
});
|
102
|
+
const [loadNext, hasNext, isLoadingNext, disposeFetchNext] =
|
103
|
+
useLoadMore<TQuery>({
|
104
|
+
componentDisplayName,
|
105
|
+
connectionPathInFragmentData,
|
106
|
+
direction: 'forward',
|
107
|
+
fragmentData,
|
108
|
+
fragmentIdentifier,
|
109
|
+
fragmentNode,
|
110
|
+
fragmentRef,
|
111
|
+
identifierField,
|
112
|
+
paginationMetadata,
|
113
|
+
paginationRequest,
|
114
|
+
});
|
123
115
|
|
124
116
|
const refetchPagination: RefetchFnDynamic<TQuery, TKey> = useCallback(
|
125
117
|
(variables, options) => {
|
@@ -43,13 +43,8 @@ function usePreloadedQuery<TQuery: OperationType>(
|
|
43
43
|
useTrackLoadQueryInRender();
|
44
44
|
|
45
45
|
const environment = useRelayEnvironment();
|
46
|
-
const {
|
47
|
-
|
48
|
-
fetchPolicy,
|
49
|
-
source,
|
50
|
-
variables,
|
51
|
-
networkCacheConfig,
|
52
|
-
} = preloadedQuery;
|
46
|
+
const {fetchKey, fetchPolicy, source, variables, networkCacheConfig} =
|
47
|
+
preloadedQuery;
|
53
48
|
const operation = useMemoOperationDescriptor(
|
54
49
|
gqlQuery,
|
55
50
|
variables,
|
@@ -103,12 +103,10 @@ function useQueryLoader<TQuery: OperationType>(
|
|
103
103
|
PreloadedQuery<TQuery> | NullQueryReference,
|
104
104
|
>(() => initialQueryReferenceInternal);
|
105
105
|
|
106
|
-
const [
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
() => initialQueryReferenceInternal,
|
111
|
-
);
|
106
|
+
const [previousInitialQueryReference, setPreviousInitialQueryReference] =
|
107
|
+
useState<PreloadedQuery<TQuery> | NullQueryReference>(
|
108
|
+
() => initialQueryReferenceInternal,
|
109
|
+
);
|
112
110
|
|
113
111
|
if (initialQueryReferenceInternal !== previousInitialQueryReference) {
|
114
112
|
// Rendering the query reference makes it "managed" by this hook, so
|
@@ -174,11 +174,8 @@ function useRefetchableFragmentNode<
|
|
174
174
|
componentDisplayName: string,
|
175
175
|
): ReturnType<TQuery, TKey, InternalOptions> {
|
176
176
|
const parentEnvironment = useRelayEnvironment();
|
177
|
-
const {
|
178
|
-
|
179
|
-
fragmentRefPathInResponse,
|
180
|
-
identifierField,
|
181
|
-
} = getRefetchMetadata(fragmentNode, componentDisplayName);
|
177
|
+
const {refetchableRequest, fragmentRefPathInResponse, identifierField} =
|
178
|
+
getRefetchMetadata(fragmentNode, componentDisplayName);
|
182
179
|
const fragmentIdentifier = getFragmentIdentifier(
|
183
180
|
fragmentNode,
|
184
181
|
parentFragmentRef,
|
@@ -211,9 +208,8 @@ function useRefetchableFragmentNode<
|
|
211
208
|
const shouldReset =
|
212
209
|
environment !== mirroredEnvironment ||
|
213
210
|
fragmentIdentifier !== mirroredFragmentIdentifier;
|
214
|
-
const [queryRef, loadQuery, disposeQuery] =
|
215
|
-
refetchableRequest
|
216
|
-
);
|
211
|
+
const [queryRef, loadQuery, disposeQuery] =
|
212
|
+
useQueryLoader<TQuery>(refetchableRequest);
|
217
213
|
|
218
214
|
let fragmentRef = parentFragmentRef;
|
219
215
|
if (shouldReset) {
|
@@ -34,9 +34,7 @@ function useSubscribeToInvalidationState(
|
|
34
34
|
const environment = useRelayEnvironment();
|
35
35
|
const disposableRef = useRef(null);
|
36
36
|
|
37
|
-
const stableDataIDs = Array.from(dataIDs)
|
38
|
-
.sort()
|
39
|
-
.join('');
|
37
|
+
const stableDataIDs = Array.from(dataIDs).sort().join('');
|
40
38
|
useEffect(() => {
|
41
39
|
const store = environment.getStore();
|
42
40
|
const invalidationState = store.lookupInvalidationState(dataIDs);
|