relay-runtime 0.0.0-main-da757ca9 → 0.0.0-main-ee99ea4b

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/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-da757ca9
2
+ * Relay v0.0.0-main-ee99ea4b
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -27,6 +27,13 @@ var invariant = require('invariant');
27
27
 
28
28
 
29
29
  function getFragmentVariables(fragment, rootVariables, argumentVariables) {
30
+ // TODO: Support for legacy ReaderInlineDataFragmentSpread nodes.
31
+ // Remove this once all we've updated the ReaderInlineDataFragmentSpread
32
+ // type to indicate that all compiled artifacts have been updated.
33
+ if (fragment.argumentDefinitions == null) {
34
+ return argumentVariables;
35
+ }
36
+
30
37
  var variables;
31
38
  fragment.argumentDefinitions.forEach(function (definition) {
32
39
  if (argumentVariables.hasOwnProperty(definition.name)) {
@@ -42,6 +42,8 @@ var RelayFeatureFlags = require('../util/RelayFeatureFlags');
42
42
 
43
43
  var ClientID = require('./ClientID');
44
44
 
45
+ var RelayConcreteVariables = require('./RelayConcreteVariables');
46
+
45
47
  var RelayModernRecord = require('./RelayModernRecord');
46
48
 
47
49
  var _require2 = require('./RelayStoreReactFlightUtils'),
@@ -747,6 +749,7 @@ var RelayReader = /*#__PURE__*/function () {
747
749
  var _field$alias4;
748
750
 
749
751
  var applicationName = (_field$alias4 = field.alias) !== null && _field$alias4 !== void 0 ? _field$alias4 : field.name;
752
+ getStorageKey(field, this._variables);
750
753
  var storageKey = getStorageKey(field, this._variables);
751
754
  var linkedID = RelayModernRecord.getLinkedRecordID(record, storageKey);
752
755
 
@@ -1008,9 +1011,21 @@ var RelayReader = /*#__PURE__*/function () {
1008
1011
  var inlineData = {};
1009
1012
  var parentFragmentName = this._fragmentName;
1010
1013
  this._fragmentName = fragmentSpreadOrFragment.name;
1014
+ var parentVariables = this._variables; // We only want to update `this._variables` if we have compiler artifacts that support it.
1015
+ // Until we've rolled out the compiler portion of this change, we need to check at runtime.
1016
+
1017
+ if (fragmentSpreadOrFragment.argumentDefinitions != null) {
1018
+ // If the inline fragment spread has arguments, we need to temporarily
1019
+ // switch this._variables to include the fragment spread's arguments
1020
+ // for the duration of its traversal.
1021
+ var argumentVariables = fragmentSpreadOrFragment.args ? getArgumentValues(fragmentSpreadOrFragment.args, this._variables) : {};
1022
+ this._variables = RelayConcreteVariables.getFragmentVariables(fragmentSpreadOrFragment, this._owner.variables, argumentVariables);
1023
+ }
1024
+
1025
+ this._traverseSelections(fragmentSpreadOrFragment.selections, record, inlineData); // Put the parent variables back
1011
1026
 
1012
- this._traverseSelections(fragmentSpreadOrFragment.selections, record, inlineData);
1013
1027
 
1028
+ this._variables = parentVariables;
1014
1029
  this._fragmentName = parentFragmentName; // $FlowFixMe[cannot-write] - writing into read-only field
1015
1030
 
1016
1031
  fragmentPointers[fragmentSpreadOrFragment.name] = inlineData;
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-da757ca9",
4
+ "version": "0.0.0-main-ee99ea4b",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"