relay-runtime 0.0.0-main-79c12a09 → 0.0.0-main-e9e556cf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/experimental.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-79c12a09
2
+ * Relay v0.0.0-main-e9e556cf
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-79c12a09
2
+ * Relay v0.0.0-main-e9e556cf
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -7,6 +7,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
7
7
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _excluded = ["message"];
10
+ var RelayFeatureFlags = require('../util/RelayFeatureFlags');
10
11
  var _require = require('./live-resolvers/LiveResolverSuspenseSentinel'),
11
12
  isSuspenseSentinel = _require.isSuspenseSentinel;
12
13
  var RelayConcreteVariables = require('./RelayConcreteVariables');
@@ -679,7 +680,7 @@ var RelayReader = /*#__PURE__*/function () {
679
680
  var fieldName = (_field$alias3 = field.alias) !== null && _field$alias3 !== void 0 ? _field$alias3 : field.name;
680
681
  var storageKey = getStorageKey(field, this._variables);
681
682
  var value = RelayModernRecord.getValue(record, storageKey);
682
- if (value === null) {
683
+ if (value === null || RelayFeatureFlags.ENABLE_NONCOMPLIANT_ERROR_HANDLING_ON_LISTS && Array.isArray(value) && value.length === 0) {
683
684
  this._maybeAddErrorResponseFields(record, storageKey);
684
685
  } else if (value === undefined) {
685
686
  this._markDataAsMissing(fieldName);
@@ -757,7 +758,7 @@ var RelayReader = /*#__PURE__*/function () {
757
758
  _proto._readPluralLink = function _readPluralLink(field, record, data) {
758
759
  var storageKey = getStorageKey(field, this._variables);
759
760
  var linkedIDs = RelayModernRecord.getLinkedRecordIDs(record, storageKey);
760
- if (linkedIDs === null) {
761
+ if (linkedIDs === null || RelayFeatureFlags.ENABLE_NONCOMPLIANT_ERROR_HANDLING_ON_LISTS && Array.isArray(linkedIDs) && linkedIDs.length === 0) {
761
762
  this._maybeAddErrorResponseFields(record, storageKey);
762
763
  }
763
764
  return this._readLinkedIds(field, linkedIDs, record, data);
@@ -289,7 +289,8 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
289
289
  var responseKey = selection.alias || selection.name;
290
290
  var storageKey = getStorageKey(selection, this._variables);
291
291
  var fieldValue = data[responseKey];
292
- if (fieldValue == null || RelayFeatureFlags.ENABLE_NONCOMPLIANT_ERROR_HANDLING_ON_LISTS && Array.isArray(fieldValue) && fieldValue.length === 0) {
292
+ var isNoncompliantlyNullish = RelayFeatureFlags.ENABLE_NONCOMPLIANT_ERROR_HANDLING_ON_LISTS && Array.isArray(fieldValue) && fieldValue.length === 0;
293
+ if (fieldValue == null || isNoncompliantlyNullish) {
293
294
  if (fieldValue === undefined) {
294
295
  var isOptionalField = this._isClientExtension || this._isUnmatchedAbstractType;
295
296
  if (isOptionalField) {
@@ -306,7 +307,15 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
306
307
  this._validateConflictingFieldsWithIdenticalId(record, storageKey, null);
307
308
  }
308
309
  }
309
- RelayModernRecord.setValue(record, storageKey, null);
310
+ if (isNoncompliantlyNullish) {
311
+ if (selection.kind === 'LinkedField') {
312
+ RelayModernRecord.setLinkedRecordIDs(record, storageKey, []);
313
+ } else {
314
+ RelayModernRecord.setValue(record, storageKey, []);
315
+ }
316
+ } else {
317
+ RelayModernRecord.setValue(record, storageKey, null);
318
+ }
310
319
  var errorTrie = this._errorTrie;
311
320
  if (errorTrie != null) {
312
321
  var errors = getErrorsByKey(errorTrie, responseKey);
@@ -21,6 +21,7 @@ var RelayFeatureFlags = {
21
21
  ENABLE_CYLE_DETECTION_IN_VARIABLES: false,
22
22
  ENABLE_ACTIVITY_COMPATIBILITY: false,
23
23
  ENABLE_READ_TIME_RESOLVER_STORAGE_KEY_PREFIX: true,
24
- ENABLE_RESOURCE_EFFECTS: false
24
+ ENABLE_RESOURCE_EFFECTS: false,
25
+ ENABLE_USE_PAGINATION_IS_LOADING_FIX: false
25
26
  };
26
27
  module.exports = RelayFeatureFlags;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relay-runtime",
3
3
  "description": "A core runtime for building GraphQL-driven applications.",
4
- "version": "0.0.0-main-79c12a09",
4
+ "version": "0.0.0-main-e9e556cf",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-79c12a09
2
+ * Relay v0.0.0-main-e9e556cf
3
3
  */
4
4
  !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant")):"function"==typeof define&&define.amd?define(["@babel/runtime/helpers/asyncToGenerator","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/interopRequireDefault","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual","fbjs/lib/warning","invariant"],r):"object"==typeof exports?exports.ReactRelayExperimental=r(require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/interopRequireDefault"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("fbjs/lib/warning"),require("invariant")):e.ReactRelayExperimental=r(e["@babel/runtime/helpers/asyncToGenerator"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/defineProperty"],e["@babel/runtime/helpers/interopRequireDefault"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"],e["fbjs/lib/warning"],e.invariant)}(self,((e,r,t,n,a,o,i,u,l)=>(()=>{"use strict";var s={649:(e,r,t)=>{var n=t(662),a=t(696).observeFragment,o=t(461).waitForFragmentData;e.exports={resolverDataInjector:n,isValueResult:function(e){return!0===e.ok},isErrorResult:function(e){return!1===e.ok},observeFragment:a,waitForFragmentData:o}},60:(e,r,t)=>{var n=t(571),a=function(e,r){},o=function(){function e(e){if(!e||"function"!=typeof e)throw new Error("Source must be a Function: "+String(e));this._source=e}e.create=function(r){return new e(r)},e.onUnhandledError=function(e){a=e},e.from=function(e){return function(e){return"object"==typeof e&&null!==e&&"function"==typeof e.subscribe}(e)?i(e):n(e)?u(e):l(e)};var r=e.prototype;return r.catch=function(r){var t=this;return e.create((function(e){var n;return t.subscribe({start:function(e){n=e},next:e.next,complete:e.complete,error:function(t){try{r(t).subscribe({start:function(e){n=e},next:e.next,complete:e.complete,error:e.error})}catch(r){e.error(r,!0)}}}),function(){return n.unsubscribe()}}))},r.concat=function(r){var t=this;return e.create((function(e){var n;return t.subscribe({start:function(e){n=e},next:e.next,error:e.error,complete:function(){n=r.subscribe(e)}}),function(){n&&n.unsubscribe()}}))},r.do=function(r){var t=this;return e.create((function(e){var n=function(t){return function(){try{r[t]&&r[t].apply(r,arguments)}catch(e){a(e,!0)}e[t]&&e[t].apply(e,arguments)}};return t.subscribe({start:n("start"),next:n("next"),error:n("error"),complete:n("complete"),unsubscribe:n("unsubscribe")})}))},r.finally=function(r){var t=this;return e.create((function(e){var n=t.subscribe(e);return function(){n.unsubscribe(),r()}}))},r.ifEmpty=function(r){var t=this;return e.create((function(e){var n,a=!1;return n=t.subscribe({next:function(r){a=!0,e.next(r)},error:e.error,complete:function(){a?e.complete():n=r.subscribe(e)}}),function(){n&&n.unsubscribe()}}))},r.subscribe=function(e){if(!e||"object"!=typeof e)throw new Error("Observer must be an Object with callbacks: "+String(e));return function(e,r){var t,n=!1,o=function(e){return Object.defineProperty(e,"closed",{get:function(){return n}})};function i(){if(t){if(t.unsubscribe)t.unsubscribe();else try{t()}catch(e){a(e,!0)}t=void 0}}var u=o({unsubscribe:function(){if(!n){n=!0;try{r.unsubscribe&&r.unsubscribe(u)}catch(e){a(e,!0)}finally{i()}}}});try{r.start&&r.start(u)}catch(e){a(e,!0)}if(n)return u;var l=o({next:function(e){if(!n&&r.next)try{r.next(e)}catch(e){a(e,!0)}},error:function(e,t){if(n||!r.error)n=!0,a(e,t||!1),i();else{n=!0;try{r.error(e)}catch(e){a(e,!0)}finally{i()}}},complete:function(){if(!n){n=!0;try{r.complete&&r.complete()}catch(e){a(e,!0)}finally{i()}}}});try{t=e(l)}catch(e){l.error(e,!0)}if(void 0!==t&&"function"!=typeof t&&(!t||"function"!=typeof t.unsubscribe))throw new Error("Returned cleanup function which cannot be called: "+String(t));return n&&i(),u}(this._source,e)},r.map=function(r){var t=this;return e.create((function(e){var n=t.subscribe({complete:e.complete,error:e.error,next:function(t){try{var n=r(t);e.next(n)}catch(r){e.error(r,!0)}}});return function(){n.unsubscribe()}}))},r.mergeMap=function(r){var t=this;return e.create((function(n){var a=[];function o(e){this._sub=e,a.push(e)}function i(){a.splice(a.indexOf(this._sub),1),0===a.length&&n.complete()}return t.subscribe({start:o,next:function(t){try{n.closed||e.from(r(t)).subscribe({start:o,next:n.next,error:n.error,complete:i})}catch(e){n.error(e,!0)}},error:n.error,complete:i}),function(){a.forEach((function(e){return e.unsubscribe()})),a.length=0}}))},r.poll=function(r){var t=this;if("number"!=typeof r||r<=0)throw new Error("RelayObservable: Expected pollInterval to be positive, got: "+r);return e.create((function(e){var n,a;return function o(){n=t.subscribe({next:e.next,error:e.error,complete:function(){a=setTimeout(o,r)}})}(),function(){clearTimeout(a),n.unsubscribe()}}))},r.toPromise=function(){var e=this;return new Promise((function(r,t){var n=!1;e.subscribe({next:function(e){n||(n=!0,r(e))},error:t,complete:r})}))},e}();function i(e){return e instanceof o?e:o.create((function(r){return e.subscribe(r)}))}function u(e){return o.create((function(r){e.then((function(e){r.next(e),r.complete()}),r.error)}))}function l(e){return o.create((function(r){r.next(e),r.complete()}))}o.onUnhandledError((function(e,r){"function"==typeof fail?fail(String(e)):r?setTimeout((function(){throw e})):"undefined"!=typeof console&&console.error("RelayObservable: Unhandled Error",e)})),e.exports=o},634:(e,r,t)=>{var n=t(775),a=t(56),o=t(446);function i(e){var r=e;return"function"==typeof r?(r=r(),o(!1,"RelayGraphQLTag: node `%s` unexpectedly wrapped in a function.","Fragment"===r.kind?r.name:r.operation.name)):r.default&&(r=r.default),r}function u(e){var r=i(e);return"object"==typeof r&&null!==r&&r.kind===n.FRAGMENT}function l(e){var r=i(e);return"object"==typeof r&&null!==r&&r.kind===n.REQUEST}function s(e){var r=i(e);return"object"==typeof r&&null!==r&&r.kind===n.UPDATABLE_QUERY}function c(e){var r=i(e);return"object"==typeof r&&null!==r&&r.kind===n.INLINE_DATA_FRAGMENT}function f(e){var r=i(e);return u(r)||a(!1,"GraphQLTag: Expected a fragment, got `%s`.",JSON.stringify(r)),r}e.exports={getFragment:f,getNode:i,getPaginationFragment:function(e){var r,t=f(e),n=null===(r=t.metadata)||void 0===r?void 0:r.refetch,a=null==n?void 0:n.connection;return null===n||"object"!=typeof n||null===a||"object"!=typeof a?null:t},getRefetchableFragment:function(e){var r,t=f(e),n=null===(r=t.metadata)||void 0===r?void 0:r.refetch;return null===n||"object"!=typeof n?null:t},getRequest:function(e){var r=i(e);return l(r)||a(!1,"GraphQLTag: Expected a request, got `%s`.",JSON.stringify(r)),r},getUpdatableQuery:function(e){var r=i(e);return s(r)||a(!1,"GraphQLTag: Expected a request, got `%s`.",JSON.stringify(r)),r},getInlineDataFragment:function(e){var r=i(e);return c(r)||a(!1,"GraphQLTag: Expected an inline data fragment, got `%s`.",JSON.stringify(r)),r},graphql:function(e){a(!1,"graphql: Unexpected invocation at runtime. Either the Babel transform was not set up, or it failed to identify this call site. Make sure it is being used verbatim as `graphql`. Note also that there cannot be a space between graphql and the backtick that follows.")},isFragment:u,isRequest:l,isUpdatableQuery:s,isInlineDataFragment:c}},367:(e,r,t)=>{var n=t(60),a=t(153),o=t(56),i="function"==typeof WeakMap?new WeakMap:new Map;function u(e,r,t){return n.create((function(i){var u=s(e),l=u.get(r);return l||t().finally((function(){return u.delete(r)})).subscribe({start:function(e){l={identifier:r,subject:new a,subjectForInFlightStatus:new a,subscription:e,promise:null},u.set(r,l)},next:function(e){var t=c(u,r);t.subject.next(e),t.subjectForInFlightStatus.next(e)},error:function(e){var t=c(u,r);t.subject.error(e),t.subjectForInFlightStatus.error(e)},complete:function(){var e=c(u,r);e.subject.complete(),e.subjectForInFlightStatus.complete()},unsubscribe:function(e){var t=c(u,r);t.subject.unsubscribe(),t.subjectForInFlightStatus.unsubscribe()}}),null==l&&o(!1,"[fetchQueryInternal] fetchQueryDeduped: Expected `start` to be called synchronously"),function(e,r){return n.create((function(t){var n=r.subject.subscribe(t);return function(){n.unsubscribe();var t=e.get(r.identifier);if(t){var a=t.subscription;null!=a&&0===t.subject.getObserverCount()&&(a.unsubscribe(),e.delete(r.identifier))}}}))}(u,l).subscribe(i)}))}function l(e,r,t){return n.create((function(r){var n=t.subjectForInFlightStatus.subscribe({error:r.error,next:function(n){e.isRequestActive(t.identifier)?r.next():r.complete()},complete:r.complete,unsubscribe:r.complete});return function(){n.unsubscribe()}}))}function s(e){var r=i.get(e);if(null!=r)return r;var t=new Map;return i.set(e,t),t}function c(e,r){var t=e.get(r);return null==t&&o(!1,"[fetchQueryInternal] getCachedRequest: Expected request to be cached"),t}e.exports={fetchQuery:function(e,r){return u(e,r.request.identifier,(function(){return e.execute({operation:r})}))},fetchQueryDeduped:u,getPromiseForActiveRequest:function(e,r){var t=s(e).get(r.identifier);return t&&e.isRequestActive(t.identifier)?new Promise((function(r,n){var a=!1;l(e,0,t).subscribe({complete:r,error:n,next:function(e){a&&r(e)}}),a=!0})):null},getObservableForActiveRequest:function(e,r){var t=s(e).get(r.identifier);return t&&e.isRequestActive(t.identifier)?l(e,0,t):null}}},129:(e,r,t)=>{var n=(0,t(275).default)(t(175)),a=t(165).getArgumentValues,o=t(56);e.exports={getLocalVariables:function(e,r,t){if(null==r)return e;var o=(0,n.default)({},e),i=t?a(t,e):{};return r.forEach((function(e){var r,t=null!==(r=i[e.name])&&void 0!==r?r:e.defaultValue;o[e.name]=t})),o},getFragmentVariables:function(e,r,t){return null==e.argumentDefinitions?t:(e.argumentDefinitions.forEach((function(i){if(!t.hasOwnProperty(i.name))switch(a=a||(0,n.default)({},t),i.kind){case"LocalArgument":a[i.name]=i.defaultValue;break;case"RootArgument":if(!r.hasOwnProperty(i.name)){a[i.name]=void 0;break}a[i.name]=r[i.name];break;default:o(!1,"RelayConcreteVariables: Unexpected node kind `%s` in fragment `%s`.",i.kind,e.name)}})),a||t);var a},getOperationVariables:function(e,r,t){var n={};return e.argumentDefinitions.forEach((function(e){var r=e.defaultValue;null!=t[e.name]&&(r=t[e.name]),n[e.name]=r})),null!=r&&Object.keys(r).forEach((function(e){n[e]=r[e].get()})),n}}},256:(e,r,t)=>{var n=t(129).getFragmentVariables,a=t(165),o=a.CLIENT_EDGE_TRAVERSAL_PATH,i=a.FRAGMENT_OWNER_KEY,u=a.FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT,l=a.FRAGMENTS_KEY,s=a.ID_KEY,c=t(125),f=t(56),d=t(446);function p(e,r){("object"!=typeof r||null===r||Array.isArray(r))&&f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`.",e.name,JSON.stringify(r));var t=r[s],a=r[l],c=r[i],p=r[o];if("string"==typeof t&&"object"==typeof a&&null!==a&&"object"==typeof a[e.name]&&null!==a[e.name]&&"object"==typeof c&&null!==c&&(null==p||Array.isArray(p))){var b=c,m=p,g=a[e.name];return R(e,t,n(e,b.variables,g),b,!0===g[u],m)}var v=JSON.stringify(r);return v.length>499&&(v=v.substr(0,498)+"…"),d(!1,"RelayModernSelector: Expected object to contain data for fragment `%s`, got `%s`. Make sure that the parent operation/fragment included fragment `...%s` without `@relay(mask: false)`.",e.name,v,e.name),null}function b(e,r){var t=null;return r.forEach((function(r,n){var a=null!=r?p(e,r):null;null!=a&&(t=t||[]).push(a)})),null==t?null:{kind:"PluralReaderSelector",selectors:t}}function m(e,r){return null==r?r:e.metadata&&!0===e.metadata.plural?(Array.isArray(r)||f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,JSON.stringify(r),e.name),b(e,r)):(Array.isArray(r)&&f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.",e.name,JSON.stringify(r),e.name),p(e,r))}function g(e,r){return null==r?r:e.metadata&&!0===e.metadata.plural?(Array.isArray(r)||f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,JSON.stringify(r),e.name),function(e,r){var t=null;return r.forEach((function(r){var n=null!=r?v(e,r):null;null!=n&&(t=t||[]).push(n)})),t}(e,r)):(Array.isArray(r)&&f(!1,"RelayModernFragmentSpecResolver: Expected value for fragment `%s` to be an object, got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.",e.name,JSON.stringify(r),e.name),v(e,r))}function v(e,r){("object"!=typeof r||null===r||Array.isArray(r))&&f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`.",e.name,JSON.stringify(r));var t=r[s];return"string"==typeof t?t:(d(!1,"RelayModernSelector: Expected object to contain data for fragment `%s`, got `%s`. Make sure that the parent operation/fragment included fragment `...%s` without `@relay(mask: false)`, or `null` is passed as the fragment reference for `%s` if it's conditonally included and the condition isn't met.",e.name,JSON.stringify(r),e.name,e.name),null)}function h(e,r){var t;return null==r?{}:!0===(null===(t=e.metadata)||void 0===t?void 0:t.plural)?(Array.isArray(r)||f(!1,"RelayModernSelector: Expected value for fragment `%s` to be an array, got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",e.name,JSON.stringify(r),e.name),y(e,r)):(Array.isArray(r)&&f(!1,"RelayModernFragmentSpecResolver: Expected value for fragment `%s` to be an object, got `%s`. Add `@relay(plural: true)` to fragment `%s` to allow the prop to be an array of items.",e.name,JSON.stringify(r),e.name),E(e,r)||{})}function E(e,r){var t=p(e,r);return t?t.variables:null}function y(e,r){var t={};return r.forEach((function(r,n){if(null!=r){var a=E(e,r);null!=a&&Object.assign(t,a)}})),t}function _(e,r){return e.dataID===r.dataID&&e.node===r.node&&c(e.variables,r.variables)&&((t=e.owner)===(n=r.owner)||t.identifier===n.identifier&&c(t.cacheConfig,n.cacheConfig))&&e.isWithinUnmatchedTypeRefinement===r.isWithinUnmatchedTypeRefinement&&function(e,r){if(e===r)return!0;if(null==e||null==r||e.length!==r.length)return!1;for(var t=e.length;t--;){var n=e[t],a=r[t];if(n!==a&&(null==n||null==a||n.clientEdgeDestinationID!==a.clientEdgeDestinationID||n.readerClientEdge!==a.readerClientEdge))return!1}return!0}(e.clientEdgeTraversalPath,r.clientEdgeTraversalPath);var t,n}function R(e,r,t,n){var a=arguments.length>5?arguments[5]:void 0;return{kind:"SingularReaderSelector",dataID:r,isWithinUnmatchedTypeRefinement:arguments.length>4&&void 0!==arguments[4]&&arguments[4],clientEdgeTraversalPath:null!=a?a:null,node:e,variables:t,owner:n}}e.exports={areEqualSelectors:function(e,r){return e===r||(null==e?null==r:null==r?null==e:"SingularReaderSelector"===e.kind&&"SingularReaderSelector"===r.kind?_(e,r):"PluralReaderSelector"===e.kind&&"PluralReaderSelector"===r.kind&&e.selectors.length===r.selectors.length&&e.selectors.every((function(e,t){return _(e,r.selectors[t])})))},createReaderSelector:R,createNormalizationSelector:function(e,r,t){return{dataID:r,node:e,variables:t}},getDataIDsFromFragment:g,getDataIDsFromObject:function(e,r){var t={};for(var n in e)if(e.hasOwnProperty(n)){var a=e[n],o=r[n];t[n]=g(a,o)}return t},getSingularSelector:p,getPluralSelector:b,getSelector:m,getSelectorsFromObject:function(e,r){var t={};for(var n in e)if(e.hasOwnProperty(n)){var a=e[n],o=r[n];t[n]=m(a,o)}return t},getVariablesFromSingularFragment:E,getVariablesFromPluralFragment:y,getVariablesFromFragment:h,getVariablesFromObject:function(e,r){var t={};for(var n in e)if(e.hasOwnProperty(n)){var a=h(e[n],r[n]);Object.assign(t,a)}return t}}},165:(e,r,t)=>{var n=(0,t(275).default)(t(642)),a=t(330),o=t(775),i=t(94).stableCopy,u=t(56),l=o.VARIABLE,s=o.LITERAL,c=o.OBJECT_VALUE,f=o.LIST_VALUE;function d(e,r){if(e.kind===l)return function(e,r){return r.hasOwnProperty(e)||u(!1,"getVariableValue(): Undefined variable `%s`.",e),i(r[e])}(e.variableName,r);if(e.kind===s)return e.value;if(e.kind===c){var t={};return e.fields.forEach((function(e){t[e.name]=d(e,r)})),t}if(e.kind===f){var n=[];return e.items.forEach((function(e){null!=e&&n.push(d(e,r))})),n}}function p(e,r,t){var n={};return t&&(n[m.FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT]=!0),e&&e.forEach((function(e){n[e.name]=d(e,r)})),n}function b(e,r){if(!r)return e;var t=[];for(var n in r)if(r.hasOwnProperty(n)){var a,o=r[n];null!=o&&t.push(n+":"+(null!==(a=JSON.stringify(o))&&void 0!==a?a:"undefined"))}return 0===t.length?e:e+"(".concat(t.join(","),")")}var m={ACTOR_IDENTIFIER_KEY:"__actorIdentifier",CLIENT_EDGE_TRAVERSAL_PATH:"__clientEdgeTraversalPath",FRAGMENTS_KEY:"__fragments",FRAGMENT_OWNER_KEY:"__fragmentOwner",FRAGMENT_POINTER_IS_WITHIN_UNMATCHED_TYPE_REFINEMENT:"$isWithinUnmatchedTypeRefinement",FRAGMENT_PROP_NAME_KEY:"__fragmentPropName",MODULE_COMPONENT_KEY:"__module_component",ERRORS_KEY:"__errors",ID_KEY:"__id",REF_KEY:"__ref",REFS_KEY:"__refs",ROOT_ID:"client:root",ROOT_TYPE:"__Root",TYPENAME_KEY:"__typename",INVALIDATED_AT_KEY:"__invalidated_at",RELAY_RESOLVER_VALUE_KEY:"__resolverValue",RELAY_RESOLVER_INVALIDATION_KEY:"__resolverValueMayBeInvalid",RELAY_RESOLVER_SNAPSHOT_KEY:"__resolverSnapshot",RELAY_RESOLVER_ERROR_KEY:"__resolverError",RELAY_RESOLVER_OUTPUT_TYPE_RECORD_IDS:"__resolverOutputTypeRecordIDs",formatStorageKey:b,getArgumentValue:d,getArgumentValues:p,getHandleStorageKey:function(e,r){var t=e.dynamicKey,o=e.handle,i=e.key,u=e.name,l=e.args,s=e.filters,c=a(o,i,u),f=null;return l&&s&&0!==l.length&&0!==s.length&&(f=l.filter((function(e){return s.indexOf(e.name)>-1}))),t&&(f=null!=f?[t].concat((0,n.default)(f)):[t]),null===f?c:b(c,p(f,r))},getStorageKey:function(e,r){if(e.storageKey)return e.storageKey;var t=function(e){var r,t;return"RelayResolver"===e.kind||"RelayLiveResolver"===e.kind?null==e.args?null===(t=e.fragment)||void 0===t?void 0:t.args:null==(null===(r=e.fragment)||void 0===r?void 0:r.args)?e.args:e.args.concat(e.fragment.args):void 0===e.args?void 0:e.args}(e),n=e.name;return t&&0!==t.length?b(n,p(t,r)):n},getStableStorageKey:function(e,r){return b(e,i(r))},getModuleComponentKey:function(e){return"".concat("__module_component_").concat(e)},getModuleOperationKey:function(e){return"".concat("__module_operation_").concat(e)}};e.exports=m},890:(e,r,t)=>{var n=t(634).getFragment,a=t(222).eventShouldThrow,o=t(256).getSelector,i=t(56),u=[],l={};e.exports={readFragment:function(e,r){if(!u.length)throw new Error("readFragment should be called only from within a Relay Resolver function.");var t=u[u.length-1],s=n(e),c=o(s,r);null==c&&i(!1,"Expected a selector for the fragment of the resolver ".concat(s.name,", but got null.")),"SingularReaderSelector"!==c.kind&&i(!1,"Expected a singular reader selector for the fragment of the resolver ".concat(s.name,", but it was plural."));var f=t.getDataForResolverFragment(c,r),d=f.data,p=f.isMissingData,b=f.errorResponseFields;if(p||null!=b&&b.some(a))throw l;return d},withResolverContext:function(e,r){u.push(e);try{return r()}finally{u.pop()}},RESOLVER_FRAGMENT_ERRORED_SENTINEL:l}},662:(e,r,t)=>{var n=t(890).readFragment,a=t(56);e.exports=function(e,r,t,o){var i=r;return function(r,u){var l=n(e,r);if(null==t)return i(l,u);if(null==l){if(!0!==o)return i(null,u);a(!1,"Expected required resolver field `%s` in fragment `%s` to be present. But resolvers fragment data is null/undefined.",t,e.name)}if(t in l)return!0===o&&null==l[t]&&a(!1,"Expected required resolver field `%s` in fragment `%s` to be non-null.",t,e.name),i(l[t],u);a(!1,"Missing field `%s` in fragment `%s` in resolver response.",t,e.name)}}},696:(e,r,t)=>{var n=t(314).default,a=t(60),o=t(634).getFragment,i=t(250),u=t(222).handlePotentialSnapshotErrors,l=t(256).getSelector,s=t(56);function c(){return(c=n((function*(e,r,t){var n;try{var a,o=yield new Promise((function(a,o){n=f(e,r,t).subscribe({next:function(e){"ok"===e.state?a(e.value):"error"===e.state&&o(e.error)}})}));return null===(a=n)||void 0===a||a.unsubscribe(),o}catch(e){var i;throw null===(i=n)||void 0===i||i.unsubscribe(),e}}))).apply(this,arguments)}function f(e,r,t){var n,i=o(r),u=l(i,t);switch(null!=(null===(n=i.metadata)||void 0===n?void 0:n.hasClientEdges)&&s(!1,"Client edges aren't supported yet."),null==u&&s(!1,"Expected a selector, got null."),u.kind){case"SingularReaderSelector":return function(e,r,t){var n=e.lookup(t);return a.create((function(a){a.next(d(e,r,t.owner,n));var o=e.subscribe(n,(function(n){a.next(d(e,r,t.owner,n))}));return function(){return o.dispose()}}))}(e,r,u);case"PluralReaderSelector":s(!1,"Plural fragments are not supported")}s(!1,"Unsupported fragment selector kind")}function d(e,r,t,n){var a=null!=n.missingLiveResolverFields&&n.missingLiveResolverFields.length>0,o=null!=n.missingClientEdges&&n.missingClientEdges.length>0;if(a||o)return{state:"loading"};if(n.isMissingData&&null!=i(e,r,t))return{state:"loading"};try{u(e,n.errorResponseFields)}catch(e){return{error:e,state:"error"}}return null==n.data&&s(!1,"Expected data to be non-null."),{state:"ok",value:n.data}}e.exports={observeFragment:f,waitForFragmentData:function(e,r,t){return c.apply(this,arguments)}}},461:(e,r,t)=>{var n=t(314).default,a=t(696).observeFragment;function o(){return(o=n((function*(e,r,t){var n;try{var o,i=yield new Promise((function(o,i){n=a(e,r,t).subscribe({next:function(e){"ok"===e.state?o(e.value):"error"===e.state&&i(e.error)}})}));return null===(o=n)||void 0===o||o.unsubscribe(),i}catch(e){var u;throw null===(u=n)||void 0===u||u.unsubscribe(),e}}))).apply(this,arguments)}e.exports={waitForFragmentData:function(e,r,t){return o.apply(this,arguments)}}},775:e=>{e.exports={ACTOR_CHANGE:"ActorChange",CATCH_FIELD:"CatchField",CONDITION:"Condition",CLIENT_COMPONENT:"ClientComponent",CLIENT_EDGE_TO_SERVER_OBJECT:"ClientEdgeToServerObject",CLIENT_EDGE_TO_CLIENT_OBJECT:"ClientEdgeToClientObject",CLIENT_EXTENSION:"ClientExtension",DEFER:"Defer",CONNECTION:"Connection",FRAGMENT:"Fragment",FRAGMENT_SPREAD:"FragmentSpread",INLINE_DATA_FRAGMENT_SPREAD:"InlineDataFragmentSpread",INLINE_DATA_FRAGMENT:"InlineDataFragment",INLINE_FRAGMENT:"InlineFragment",LINKED_FIELD:"LinkedField",LINKED_HANDLE:"LinkedHandle",LITERAL:"Literal",LIST_VALUE:"ListValue",LOCAL_ARGUMENT:"LocalArgument",MODULE_IMPORT:"ModuleImport",ALIASED_FRAGMENT_SPREAD:"AliasedFragmentSpread",ALIASED_INLINE_FRAGMENT_SPREAD:"AliasedInlineFragmentSpread",RELAY_RESOLVER:"RelayResolver",RELAY_LIVE_RESOLVER:"RelayLiveResolver",REQUIRED_FIELD:"RequiredField",OBJECT_VALUE:"ObjectValue",OPERATION:"Operation",REQUEST:"Request",ROOT_ARGUMENT:"RootArgument",SCALAR_FIELD:"ScalarField",SCALAR_HANDLE:"ScalarHandle",SPLIT_OPERATION:"SplitOperation",STREAM:"Stream",TYPE_DISCRIMINATOR:"TypeDiscriminator",UPDATABLE_QUERY:"UpdatableQuery",VARIABLE:"Variable"}},204:e=>{e.exports={DEFAULT_HANDLE_KEY:""}},153:(e,r,t)=>{var n=t(275).default,a=n(t(765)),o=n(t(311)),i=t(60),u=t(56),l=function(){function e(){var e=this;(0,o.default)(this,"_complete",!1),(0,o.default)(this,"_events",[]),(0,o.default)(this,"_sinks",new Set),(0,o.default)(this,"_subscription",[]),this._observable=i.create((function(r){e._sinks.add(r);for(var t=e._events,n=0;n<t.length&&!r.closed;n++){var a=t[n];switch(a.kind){case"complete":r.complete();break;case"error":r.error(a.error);break;case"next":r.next(a.data);break;default:a.kind,u(!1,"RelayReplaySubject: Unknown event kind `%s`.",a.kind)}}return function(){e._sinks.delete(r)}}))}var r=e.prototype;return r.complete=function(){!0!==this._complete&&(this._complete=!0,this._events.push({kind:"complete"}),this._sinks.forEach((function(e){return e.complete()})))},r.error=function(e){!0!==this._complete&&(this._complete=!0,this._events.push({kind:"error",error:e}),this._sinks.forEach((function(r){return r.error(e)})))},r.next=function(e){!0!==this._complete&&(this._events.push({kind:"next",data:e}),this._sinks.forEach((function(r){return r.next(e)})))},r.subscribe=function(e){var r=this._observable.subscribe(e);return this._subscription.push(r),r},r.unsubscribe=function(){var e,r=(0,a.default)(this._subscription);try{for(r.s();!(e=r.n()).done;)e.value.unsubscribe()}catch(e){r.e(e)}finally{r.f()}this._subscription=[]},r.getObserverCount=function(){return this._sinks.size},e}();e.exports=l},250:(e,r,t)=>{var n=t(367).getPromiseForActiveRequest;e.exports=function(e,r,t){var a,o,i=[],u=n(e,t);if(null!=u)i=[t];else{var l,s,c=e.getOperationTracker().getPendingOperationsAffectingOwner(t);i=null!==(l=null==c?void 0:c.pendingOperations)&&void 0!==l?l:[],u=null!==(s=null==c?void 0:c.promise)&&void 0!==s?s:null}if(!u)return null;var f=null!==(a=null===(o=i)||void 0===o?void 0:o.map((function(e){return e.node.params.name})).join(","))&&void 0!==a?a:null;null!=f&&0!==f.length||(f="Unknown pending operation");var d=r.name,p=f===d?"Relay(".concat(f,")"):"Relay(".concat(f,":").concat(d,")");return u.displayName=p,e.__log({name:"pendingoperation.found",fragment:r,fragmentOwner:t,pendingOperations:i}),{promise:u,pendingOperations:i}}},330:(e,r,t)=>{var n=t(204).DEFAULT_HANDLE_KEY,a=t(56);e.exports=function(e,r,t){return r&&r!==n?"__".concat(r,"_").concat(e):(null==t&&a(!1,"getRelayHandleKey: Expected either `fieldName` or `key` in `handle` to be provided"),"__".concat(t,"_").concat(e))}},222:(e,r,t)=>{var n=(0,t(275).default)(t(765)),a=t(56);function o(e){switch(e.kind){case"relay_resolver.error":case"relay_field_payload.error":return e.shouldThrow&&!e.handled;case"missing_expected_data.throw":case"missing_required_field.throw":return!e.handled;case"missing_required_field.log":case"missing_expected_data.log":return!1;default:throw e.kind,new Error("Relay: Unexpected event kind")}}e.exports={handlePotentialSnapshotErrors:function(e,r){null!=r&&function(e,r){var t,i=(0,n.default)(r);try{for(i.s();!(t=i.n()).done;){var u=t.value;e.relayFieldLogger(u)}}catch(e){i.e(e)}finally{i.f()}var l,s=(0,n.default)(r);try{for(s.s();!(l=s.n()).done;){var c=l.value;if(o(c))switch(c.kind){case"relay_resolver.error":throw new Error("Relay: Resolver error at path '".concat(c.fieldPath,"' in '").concat(c.owner,"'."));case"relay_field_payload.error":throw new Error("Relay: Unexpected response payload - check server logs for details.");case"missing_expected_data.throw":throw new Error("Relay: Missing expected data at path '".concat(c.fieldPath,"' in '").concat(c.owner,"'."));case"missing_required_field.throw":throw new Error("Relay: Missing @required value at path '".concat(c.fieldPath,"' in '").concat(c.owner,"'."));case"missing_required_field.log":case"missing_expected_data.log":break;default:c.kind,a(!1,"Relay: Unexpected event kind: %s",c.kind)}}}catch(e){s.e(e)}finally{s.f()}}(e,r)},eventShouldThrow:o}},571:e=>{e.exports=function(e){return null!=e&&"object"==typeof e&&"function"==typeof e.then}},94:e=>{e.exports={stableCopy:function e(r){if(!r||"object"!=typeof r)return r;if(Array.isArray(r))return r.map(e);for(var t=Object.keys(r).sort(),n={},a=0;a<t.length;a++)n[t[a]]=e(r[t[a]]);return n},hasCycle:function e(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(!r||"object"!=typeof r)return!1;if(t.has(r))return!0;var n=new Set(t);return n.add(r),(Array.isArray(r)?r:Object.values(r)).some((function(r){return e(r,n)}))}}},314:r=>{r.exports=e},765:e=>{e.exports=r},311:e=>{e.exports=t},275:e=>{e.exports=n},175:e=>{e.exports=a},642:e=>{e.exports=o},125:e=>{e.exports=i},446:e=>{e.exports=u},56:e=>{e.exports=l}},c={};return function e(r){var t=c[r];if(void 0!==t)return t.exports;var n=c[r]={exports:{}};return s[r](n,n.exports,e),n.exports}(649)})()));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-79c12a09
2
+ * Relay v0.0.0-main-e9e556cf
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *