relay-runtime 0.0.0-main-6b2ec499 → 0.0.0-main-0796537a

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-6b2ec499
2
+ * Relay v0.0.0-main-0796537a
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-6b2ec499
2
+ * Relay v0.0.0-main-0796537a
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -58,7 +58,6 @@ function updateProxyFromSelections(mutableUpdatableProxy, updatableProxyRootReco
58
58
  case LINKED_FIELD:
59
59
  if (selection.plural) {
60
60
  Object.defineProperty(mutableUpdatableProxy, (_selection$alias = selection.alias) !== null && _selection$alias !== void 0 ? _selection$alias : selection.name, {
61
- // $FlowFixMe[incompatible-call] these getters and setters have different types on purpose
62
61
  get: createGetterForPluralLinkedField(selection, variables, updatableProxyRootRecord, recordSourceProxy, missingFieldHandlers),
63
62
  set: createSetterForPluralLinkedField(selection, variables, updatableProxyRootRecord, recordSourceProxy)
64
63
  });
@@ -22,7 +22,6 @@ function convertFetch(fn) {
22
22
  // Note: We allow FetchFunction to directly return Error to indicate
23
23
  // a failure to fetch. To avoid handling this special case throughout the
24
24
  // Relay codebase, it is explicitly handled here.
25
- // $FlowFixMe[incompatible-type]
26
25
  if (result instanceof Error) {
27
26
  return RelayObservable.create(function (sink) {
28
27
  return sink.error(result);
@@ -97,7 +97,6 @@ function getLocalVariables(currentVariables, argumentDefinitions, args) {
97
97
  var nextArgs = args ? getArgumentValues(args, currentVariables) : {};
98
98
  argumentDefinitions.forEach(function (def) {
99
99
  var _nextArgs$def$name;
100
- // $FlowFixMe[cannot-write]
101
100
  var value = (_nextArgs$def$name = nextArgs[def.name]) !== null && _nextArgs$def$name !== void 0 ? _nextArgs$def$name : def.defaultValue;
102
101
  nextVariables[def.name] = value;
103
102
  });
@@ -15,15 +15,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
15
15
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
16
  var deepFreeze = require('../util/deepFreeze');
17
17
  var _require = require('./ClientID'),
18
+ generateClientObjectClientID = _require.generateClientObjectClientID,
18
19
  isClientID = _require.isClientID;
19
- var _require2 = require('./RelayStoreUtils'),
20
- ACTOR_IDENTIFIER_KEY = _require2.ACTOR_IDENTIFIER_KEY,
21
- ID_KEY = _require2.ID_KEY,
22
- INVALIDATED_AT_KEY = _require2.INVALIDATED_AT_KEY,
23
- REF_KEY = _require2.REF_KEY,
24
- REFS_KEY = _require2.REFS_KEY,
25
- ROOT_ID = _require2.ROOT_ID,
26
- TYPENAME_KEY = _require2.TYPENAME_KEY;
20
+ var _require2 = require('./experimental-live-resolvers/LiveResolverSuspenseSentinel'),
21
+ isSuspenseSentinel = _require2.isSuspenseSentinel;
22
+ var _require3 = require('./RelayStoreUtils'),
23
+ ACTOR_IDENTIFIER_KEY = _require3.ACTOR_IDENTIFIER_KEY,
24
+ ID_KEY = _require3.ID_KEY,
25
+ INVALIDATED_AT_KEY = _require3.INVALIDATED_AT_KEY,
26
+ REF_KEY = _require3.REF_KEY,
27
+ REFS_KEY = _require3.REFS_KEY,
28
+ RELAY_RESOLVER_VALUE_KEY = _require3.RELAY_RESOLVER_VALUE_KEY,
29
+ ROOT_ID = _require3.ROOT_ID,
30
+ TYPENAME_KEY = _require3.TYPENAME_KEY;
27
31
  var areEqual = require("fbjs/lib/areEqual");
28
32
  var invariant = require('invariant');
29
33
  var warning = require("fbjs/lib/warning");
@@ -329,6 +333,36 @@ function getActorLinkedRecordID(record, storageKey) {
329
333
  !(typeof link === 'object' && typeof link[REF_KEY] === 'string' && link[ACTOR_IDENTIFIER_KEY] != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getActorLinkedRecordID(): Expected `%s.%s` to be an actor specific linked ID, ' + 'was `%s`.', record[ID_KEY], storageKey, JSON.stringify(link)) : invariant(false) : void 0;
330
334
  return [link[ACTOR_IDENTIFIER_KEY], link[REF_KEY]];
331
335
  }
336
+ function getResolverLinkedRecordID(record, typeName) {
337
+ var id = getValue(record, RELAY_RESOLVER_VALUE_KEY);
338
+ if (id == null || isSuspenseSentinel(id)) {
339
+ return null;
340
+ }
341
+ // TODD: Deprecate client edges that return just id.
342
+ if (typeof id === 'object') {
343
+ id = id.id;
344
+ }
345
+ !(typeof id === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordID(): Expected value to be a linked ID, ' + 'was `%s`.', JSON.stringify(id)) : invariant(false) : void 0;
346
+ return generateClientObjectClientID(typeName, id);
347
+ }
348
+ function getResolverLinkedRecordIDs(record, typeName) {
349
+ var resolverValue = getValue(record, RELAY_RESOLVER_VALUE_KEY);
350
+ if (resolverValue == null || isSuspenseSentinel(resolverValue)) {
351
+ return null;
352
+ }
353
+ !Array.isArray(resolverValue) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordIDs(): Expected value to be an array of linked IDs, ' + 'was `%s`.', JSON.stringify(resolverValue)) : invariant(false) : void 0;
354
+ return resolverValue.map(function (id) {
355
+ if (id == null) {
356
+ return null;
357
+ }
358
+ // TODD: Deprecate client edges that return just id.
359
+ if (typeof id === 'object') {
360
+ id = id.id;
361
+ }
362
+ !(typeof id === 'string') ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayModernRecord.getResolverLinkedRecordIDs(): Expected item within resolver linked field to be a DataID, ' + 'was `%s`.', JSON.stringify(id)) : invariant(false) : void 0;
363
+ return generateClientObjectClientID(typeName, id);
364
+ });
365
+ }
332
366
  module.exports = {
333
367
  clone: clone,
334
368
  copyFields: copyFields,
@@ -346,5 +380,7 @@ module.exports = {
346
380
  setLinkedRecordIDs: setLinkedRecordIDs,
347
381
  update: update,
348
382
  getActorLinkedRecordID: getActorLinkedRecordID,
349
- setActorLinkedRecordID: setActorLinkedRecordID
383
+ setActorLinkedRecordID: setActorLinkedRecordID,
384
+ getResolverLinkedRecordID: getResolverLinkedRecordID,
385
+ getResolverLinkedRecordIDs: getResolverLinkedRecordIDs
350
386
  };
@@ -141,9 +141,7 @@ var RelayPublishQueue = /*#__PURE__*/function () {
141
141
  * Execute all queued up operations from the other public methods.
142
142
  */;
143
143
  _proto.run = function run(sourceOperation) {
144
- var runWillClearGcHold =
145
- // $FlowFixMe[incompatible-type]
146
- this._appliedOptimisticUpdates === 0 && !!this._gcHold;
144
+ var runWillClearGcHold = this._appliedOptimisticUpdates === 0 && !!this._gcHold;
147
145
  var runIsANoop =
148
146
  // this._pendingBackupRebase is true if an applied optimistic
149
147
  // update has potentially been reverted or if this._pendingData is not empty.
@@ -203,26 +203,56 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
203
203
  return;
204
204
  }
205
205
  var resolverRecord = this._recordSource.get(dataID);
206
- if (resolverRecord != null) {
207
- if (field.backingField.isOutputType) {
208
- // Mark all @outputType record IDs
209
- var outputTypeRecordIDs = getOutputTypeRecordIDs(resolverRecord);
210
- if (outputTypeRecordIDs != null) {
211
- var _iterator = (0, _createForOfIteratorHelper2["default"])(outputTypeRecordIDs),
212
- _step;
206
+ if (resolverRecord == null) {
207
+ return;
208
+ }
209
+ if (field.backingField.isOutputType) {
210
+ // Mark all @outputType record IDs
211
+ var outputTypeRecordIDs = getOutputTypeRecordIDs(resolverRecord);
212
+ if (outputTypeRecordIDs != null) {
213
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(outputTypeRecordIDs),
214
+ _step;
215
+ try {
216
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
217
+ var _dataID = _step.value;
218
+ this._references.add(_dataID);
219
+ }
220
+ } catch (err) {
221
+ _iterator.e(err);
222
+ } finally {
223
+ _iterator.f();
224
+ }
225
+ }
226
+ } else {
227
+ var linkedField = field.linkedField;
228
+ var concreteType = linkedField.concreteType;
229
+ if (concreteType == null) {
230
+ // TODO: Handle retaining abstract client edges to client types.
231
+ return;
232
+ }
233
+ if (linkedField.plural) {
234
+ var dataIDs = RelayModernRecord.getResolverLinkedRecordIDs(resolverRecord, concreteType);
235
+ if (dataIDs != null) {
236
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(dataIDs),
237
+ _step2;
213
238
  try {
214
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
215
- var _dataID = _step.value;
216
- this._references.add(_dataID);
239
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
240
+ var _dataID2 = _step2.value;
241
+ if (_dataID2 != null) {
242
+ this._traverse(linkedField, _dataID2);
243
+ }
217
244
  }
218
245
  } catch (err) {
219
- _iterator.e(err);
246
+ _iterator2.e(err);
220
247
  } finally {
221
- _iterator.f();
248
+ _iterator2.f();
222
249
  }
223
250
  }
224
251
  } else {
225
- // TODO: Find cached resolver value.
252
+ var _dataID3 = RelayModernRecord.getResolverLinkedRecordID(resolverRecord, concreteType);
253
+ if (_dataID3 != null) {
254
+ this._traverse(linkedField, _dataID3);
255
+ }
226
256
  }
227
257
  }
228
258
  };
@@ -306,11 +336,11 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
306
336
  // definitions aren't the same as what's in scope for the outer query.
307
337
  var prevVariables = this._variables;
308
338
  // $FlowFixMe[incompatible-cast]
309
- var _iterator2 = (0, _createForOfIteratorHelper2["default"])(reachableExecutableDefinitions),
310
- _step2;
339
+ var _iterator3 = (0, _createForOfIteratorHelper2["default"])(reachableExecutableDefinitions),
340
+ _step3;
311
341
  try {
312
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
313
- var definition = _step2.value;
342
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
343
+ var definition = _step3.value;
314
344
  this._variables = definition.variables;
315
345
  var operationReference = definition.module;
316
346
  var normalizationRootNode = operationLoader.get(operationReference);
@@ -320,9 +350,9 @@ var RelayReferenceMarker = /*#__PURE__*/function () {
320
350
  }
321
351
  }
322
352
  } catch (err) {
323
- _iterator2.e(err);
353
+ _iterator3.e(err);
324
354
  } finally {
325
- _iterator2.f();
355
+ _iterator3.f();
326
356
  }
327
357
  this._variables = prevVariables;
328
358
  };
@@ -220,17 +220,12 @@ var RelayResponseNormalizer = /*#__PURE__*/function () {
220
220
  var fieldKey = getStorageKey(selection, this._variables);
221
221
  var handleKey = getHandleStorageKey(selection, this._variables);
222
222
  this._handleFieldPayloads.push({
223
- /* $FlowFixMe[class-object-subtyping] added when improving typing
224
- * for this parameters */
225
223
  args: args,
226
224
  dataID: RelayModernRecord.getDataID(record),
227
225
  fieldKey: fieldKey,
228
226
  handle: selection.handle,
229
227
  handleKey: handleKey,
230
- handleArgs: selection.handleArgs ?
231
- /* $FlowFixMe[class-object-subtyping] added when improving typing
232
- * for this parameters */
233
- getArgumentValues(selection.handleArgs, this._variables) : {}
228
+ handleArgs: selection.handleArgs ? getArgumentValues(selection.handleArgs, this._variables) : {}
234
229
  });
235
230
  break;
236
231
  case MODULE_IMPORT:
@@ -16,10 +16,8 @@ var _require = require('./ViewerPattern'),
16
16
  VIEWER_TYPE = _require.VIEWER_TYPE;
17
17
  function defaultGetDataID(fieldValue, typeName) {
18
18
  if (typeName === VIEWER_TYPE) {
19
- // $FlowFixMe[prop-missing]
20
19
  return fieldValue.id == null ? VIEWER_ID : fieldValue.id;
21
20
  }
22
- // $FlowFixMe[prop-missing]
23
21
  return fieldValue.id;
24
22
  }
25
23
  module.exports = defaultGetDataID;
@@ -20,7 +20,6 @@
20
20
  function deepFreeze(object) {
21
21
  Object.freeze(object);
22
22
  Object.getOwnPropertyNames(object).forEach(function (name) {
23
- // $FlowFixMe[prop-missing]
24
23
  var property = object[name];
25
24
  if (property && typeof property === 'object' && !Object.isFrozen(property)) {
26
25
  deepFreeze(property);
@@ -38,6 +38,16 @@ function getPendingOperationsForFragment(environment, fragmentNode, fragmentOwne
38
38
  var promiseDisplayName = pendingOperationName === fragmentName ? "Relay(".concat(pendingOperationName, ")") : "Relay(".concat(pendingOperationName, ":").concat(fragmentName, ")");
39
39
  // $FlowExpectedError[prop-missing] Expando to annotate Promises.
40
40
  promise.displayName = promiseDisplayName;
41
+
42
+ // In order to monitor the efficacy of RelayOperationTracker, we log
43
+ // enough information to track whether we are suspending on the fragment
44
+ // owner's operation, or some other operation.
45
+ environment.__log({
46
+ name: 'pendingoperation.found',
47
+ fragment: fragmentNode,
48
+ fragmentOwner: fragmentOwner,
49
+ pendingOperations: pendingOperations
50
+ });
41
51
  return {
42
52
  promise: promise,
43
53
  pendingOperations: pendingOperations
@@ -89,7 +89,6 @@ function updateProxyFromSelections<TData>(
89
89
  mutableUpdatableProxy,
90
90
  selection.alias ?? selection.name,
91
91
  {
92
- // $FlowFixMe[incompatible-call] these getters and setters have different types on purpose
93
92
  get: createGetterForPluralLinkedField(
94
93
  selection,
95
94
  variables,
@@ -36,7 +36,6 @@ function convertFetch(fn: FetchFunction): ExecuteFunction {
36
36
  // Note: We allow FetchFunction to directly return Error to indicate
37
37
  // a failure to fetch. To avoid handling this special case throughout the
38
38
  // Relay codebase, it is explicitly handled here.
39
- // $FlowFixMe[incompatible-type]
40
39
  if (result instanceof Error) {
41
40
  return RelayObservable.create(sink => sink.error(result));
42
41
  }
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-6b2ec499",
4
+ "version": "0.0.0-main-0796537a",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-6b2ec499
2
+ * Relay v0.0.0-main-0796537a
3
3
  */
4
4
  !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/defineProperty")):"function"==typeof define&&define.amd?define(["invariant","@babel/runtime/helpers/interopRequireDefault","fbjs/lib/warning","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual","@babel/runtime/helpers/defineProperty"],r):"object"==typeof exports?exports.ReactRelayExperimental=r(require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual"),require("@babel/runtime/helpers/defineProperty")):e.ReactRelayExperimental=r(e.invariant,e["@babel/runtime/helpers/interopRequireDefault"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"],e["@babel/runtime/helpers/defineProperty"])}(window,(function(e,r,t,n,a,o,l){return function(e){var r={};function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var a in e)t.d(n,a,function(r){return e[r]}.bind(null,a));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=6)}([function(r,t){r.exports=e},function(e,t){e.exports=r},function(e,r,t){"use strict";e.exports={ACTOR_CHANGE:"ActorChange",CONDITION:"Condition",CLIENT_COMPONENT:"ClientComponent",CLIENT_EDGE_TO_SERVER_OBJECT:"ClientEdgeToServerObject",CLIENT_EDGE_TO_CLIENT_OBJECT:"ClientEdgeToClientObject",CLIENT_EXTENSION:"ClientExtension",DEFER:"Defer",CONNECTION:"Connection",FLIGHT_FIELD:"FlightField",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"}},function(e,r){e.exports=t},function(e,r){e.exports=n},function(e,r,t){"use strict";var n=(0,t(1).default)(t(12)),a=t(13),o=t(2),l=t(15),i=t(0),u=o.VARIABLE,f=o.LITERAL,s=o.OBJECT_VALUE,c=o.LIST_VALUE;function d(e,r){if(e.kind===u)return function(e,r){return r.hasOwnProperty(e)||i(!1,"getVariableValue(): Undefined variable `%s`.",e),l(r[e])}(e.variableName,r);if(e.kind===f)return e.value;if(e.kind===s){var t={};return e.fields.forEach((function(e){t[e.name]=d(e,r)})),t}if(e.kind===c){var n=[];return e.items.forEach((function(e){null!=e&&n.push(d(e,r))})),n}}function p(e,r){var t={};return e.forEach((function(e){t[e.name]=d(e,r)})),t}function E(e,r){if(!r)return e;var t=[];for(var n in r)if(r.hasOwnProperty(n)){var a,o=r[n];if(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 g={ACTOR_IDENTIFIER_KEY:"__actorIdentifier",CLIENT_EDGE_TRAVERSAL_PATH:"__clientEdgeTraversalPath",FRAGMENTS_KEY:"__fragments",FRAGMENT_OWNER_KEY:"__fragmentOwner",FRAGMENT_PROP_NAME_KEY:"__fragmentPropName",MODULE_COMPONENT_KEY:"__module_component",ID_KEY:"__id",REF_KEY:"__ref",REFS_KEY:"__refs",ROOT_ID:"client:root",ROOT_TYPE:"__Root",TYPENAME_KEY:"__typename",INVALIDATED_AT_KEY:"__invalidated_at",IS_WITHIN_UNMATCHED_TYPE_REFINEMENT:"__isWithinUnmatchedTypeRefinement",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:E,getArgumentValue:d,getArgumentValues:p,getHandleStorageKey:function(e,r){var t=e.dynamicKey,o=e.handle,l=e.key,i=e.name,u=e.args,f=e.filters,s=a(o,l,i),c=null;return u&&f&&0!==u.length&&0!==f.length&&(c=u.filter((function(e){return f.indexOf(e.name)>-1}))),t&&(c=null!=c?[t].concat((0,n.default)(c)):[t]),null===c?s:E(s,p(c,r))},getStorageKey:function(e,r){if(e.storageKey)return e.storageKey;var t=function(e){if("RelayResolver"===e.kind||"RelayLiveResolver"===e.kind){var r,t;return 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)}return void 0===e.args?void 0:e.args}(e),n=e.name;return t&&0!==t.length?E(n,p(t,r)):n},getStableStorageKey:function(e,r){return E(e,l(r))},getModuleComponentKey:function(e){return"".concat("__module_component_").concat(e)},getModuleOperationKey:function(e){return"".concat("__module_operation_").concat(e)}};e.exports=g},function(e,r,t){"use strict";var n=t(7),a=t(17),o=a.weakObjectWrapper,l=a.weakObjectWrapperLive;e.exports={resolverDataInjector:n,weakObjectWrapper:o,weakObjectWrapperLive:l}},function(e,r,t){"use strict";var n=t(8).readFragment,a=t(0);e.exports=function(e,r,t,o){return function(l,i){var u=n(e,l);if(null==t)return r(u,i);if(null==u){if(!0!==o)return r(null,i);a(!1,"Expected required resolver field `%` to be present. But resolvers fragment data is null/undefined.",t)}if(t in u)return!0===o&&null==u[t]&&a(!1,"Expected required resolver field `%` to be non-null."),r(u[t],i);a(!1,"Missing field `%` in resolver response.",t)}}},function(e,r,t){"use strict";var n=t(9).getFragment,a=t(10).getSelector,o=t(0),l=[];var i={};e.exports={readFragment:function(e,r){if(!l.length)throw new Error("readFragment should be called only from within a Relay Resolver function.");var t=l[l.length-1],u=n(e),f=a(u,r);null==f&&o(!1,"Expected a selector for the fragment of the resolver ".concat(u.name,", but got null.")),"SingularReaderSelector"!==f.kind&&o(!1,"Expected a singular reader selector for the fragment of the resolver ".concat(u.name,", but it was plural."));var s=t.getDataForResolverFragment(f,r),c=s.data;if(s.isMissingData)throw i;return c},withResolverContext:function(e,r){l.push(e);try{return r()}finally{l.pop()}},RESOLVER_FRAGMENT_MISSING_DATA_SENTINEL:i}},function(e,r,t){"use strict";var n=t(2),a=t(0),o=t(3);function l(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 i(e){var r=l(e);return"object"==typeof r&&null!==r&&r.kind===n.FRAGMENT}function u(e){var r=l(e);return"object"==typeof r&&null!==r&&r.kind===n.REQUEST}function f(e){var r=l(e);return"object"==typeof r&&null!==r&&r.kind===n.UPDATABLE_QUERY}function s(e){var r=l(e);return"object"==typeof r&&null!==r&&r.kind===n.INLINE_DATA_FRAGMENT}function c(e){var r=l(e);return i(r)||a(!1,"GraphQLTag: Expected a fragment, got `%s`.",JSON.stringify(r)),r}e.exports={getFragment:c,getNode:l,getPaginationFragment:function(e){var r,t=c(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=c(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=l(e);return u(r)||a(!1,"GraphQLTag: Expected a request, got `%s`.",JSON.stringify(r)),r},getUpdatableQuery:function(e){var r=l(e);return f(r)||a(!1,"GraphQLTag: Expected a request, got `%s`.",JSON.stringify(r)),r},getInlineDataFragment:function(e){var r=l(e);return s(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:i,isRequest:u,isUpdatableQuery:f,isInlineDataFragment:s}},function(e,r,t){"use strict";var n=t(11).getFragmentVariables,a=t(5),o=a.CLIENT_EDGE_TRAVERSAL_PATH,l=a.FRAGMENT_OWNER_KEY,i=a.FRAGMENTS_KEY,u=a.ID_KEY,f=a.IS_WITHIN_UNMATCHED_TYPE_REFINEMENT,s=t(16),c=t(0),d=t(3);function p(e,r){("object"!=typeof r||null===r||Array.isArray(r))&&c(!1,"RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`.",e.name,JSON.stringify(r));var t=r[u],a=r[i],s=r[l],p=!0===r[f],E=r[o];if("string"==typeof t&&"object"==typeof a&&null!==a&&"object"==typeof a[e.name]&&null!==a[e.name]&&"object"==typeof s&&null!==s&&(null==E||Array.isArray(E))){var g=s,m=E,b=a[e.name];return A(e,t,n(e,g.variables,b),g,p,m)}var _=JSON.stringify(r);return _.length>499&&(_=_.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,_,e.name),null}function E(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 g(e,r){return null==r?r:e.metadata&&!0===e.metadata.plural?(Array.isArray(r)||c(!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),E(e,r)):(Array.isArray(r)&&c(!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 m(e,r){return null==r?r:e.metadata&&!0===e.metadata.plural?(Array.isArray(r)||c(!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?b(e,r):null;null!=n&&(t=t||[]).push(n)})),t}(e,r)):(Array.isArray(r)&&c(!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),b(e,r))}function b(e,r){("object"!=typeof r||null===r||Array.isArray(r))&&c(!1,"RelayModernSelector: Expected value for fragment `%s` to be an object, got `%s`.",e.name,JSON.stringify(r));var t=r[u];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 _(e,r){var t;return null==r?{}:!0===(null===(t=e.metadata)||void 0===t?void 0:t.plural)?(Array.isArray(r)||c(!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)&&c(!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){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=v(e,r);null!=a&&Object.assign(t,a)}})),t}function R(e,r){return e.owner===r.owner&&e.dataID===r.dataID&&e.node===r.node&&s(e.variables,r.variables)}function A(e,r,t,n){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0;return{kind:"SingularReaderSelector",dataID:r,isWithinUnmatchedTypeRefinement:a,clientEdgeTraversalPath:null!=o?o: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?R(e,r):"PluralReaderSelector"===e.kind&&"PluralReaderSelector"===r.kind&&(e.selectors.length===r.selectors.length&&e.selectors.every((function(e,t){return R(e,r.selectors[t])}))))},createReaderSelector:A,createNormalizationSelector:function(e,r,t){return{dataID:r,node:e,variables:t}},getDataIDsFromFragment:m,getDataIDsFromObject: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},getSingularSelector:p,getPluralSelector:E,getSelector:g,getSelectorsFromObject: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},getVariablesFromSingularFragment:v,getVariablesFromPluralFragment:y,getVariablesFromFragment:_,getVariablesFromObject:function(e,r){var t={};for(var n in e)if(e.hasOwnProperty(n)){var a=_(e[n],r[n]);Object.assign(t,a)}return t}}},function(e,r,t){"use strict";var n=(0,t(1).default)(t(4)),a=t(5).getArgumentValues,o=t(0);e.exports={getLocalVariables:function(e,r,t){if(null==r)return e;var o=(0,n.default)({},e),l=t?a(t,e):{};return r.forEach((function(e){var r,t=null!==(r=l[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(l){if(!t.hasOwnProperty(l.name))switch(a=a||(0,n.default)({},t),l.kind){case"LocalArgument":a[l.name]=l.defaultValue;break;case"RootArgument":if(!r.hasOwnProperty(l.name)){a[l.name]=void 0;break}a[l.name]=r[l.name];break;default:o(!1,"RelayConcreteVariables: Unexpected node kind `%s` in fragment `%s`.",l.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}}},function(e,r){e.exports=a},function(e,r,t){"use strict";var n=t(14).DEFAULT_HANDLE_KEY,a=t(0);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))}},function(e,r,t){"use strict";e.exports={DEFAULT_HANDLE_KEY:""}},function(e,r,t){"use strict";e.exports=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}},function(e,r){e.exports=o},function(e,r,t){"use strict";var n=t(1).default,a=n(t(18)),o=n(t(4)),l=t(19),i=t(0);function u(e,r,t){return function(){for(var n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];var u=e.apply(null,o);return t?(Array.isArray(u)||i(!1,"Resolver is expected to return a plural value."),u.map((function(e){return(0,a.default)({},r,e)}))):(0,a.default)({},r,u)}}e.exports={weakObjectWrapperLive:function(e,r,t){return function(){for(var n=arguments.length,a=new Array(n),f=0;f<n;f++)a[f]=arguments[f];var s=e.apply(null,a);return l(s)||i(!1,"Resolver is expected to return a LiveState value."),(0,o.default)((0,o.default)({},s),{},{read:u((function(){return s.read()}),r,t)})}},weakObjectWrapper:u}},function(e,r){e.exports=l},function(e,r,t){"use strict";e.exports=function(e){return null!=e&&"object"==typeof e&&"function"==typeof e.read&&"function"==typeof e.subscribe}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-6b2ec499
2
+ * Relay v0.0.0-main-0796537a
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *