relay-compiler 10.0.1 → 10.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. package/bin/relay-compiler +1538 -975
  2. package/codegen/NormalizationCodeGenerator.js.flow +12 -4
  3. package/codegen/ReaderCodeGenerator.js.flow +38 -3
  4. package/codegen/RelayFileWriter.js.flow +2 -0
  5. package/codegen/writeRelayGeneratedFile.js.flow +1 -1
  6. package/core/ASTCache.js.flow +1 -0
  7. package/core/CompilerContext.js.flow +1 -0
  8. package/core/CompilerError.js.flow +6 -1
  9. package/core/IR.js.flow +0 -1
  10. package/core/IRPrinter.js.flow +3 -8
  11. package/core/RelayIRTransforms.js.flow +7 -0
  12. package/core/Schema.js.flow +55 -1
  13. package/index.js +1 -1
  14. package/language/javascript/FindGraphQLTags.js.flow +2 -97
  15. package/language/javascript/RelayFlowBabelFactories.js.flow +11 -15
  16. package/language/javascript/RelayFlowGenerator.js.flow +76 -19
  17. package/language/javascript/RelayFlowTypeTransformers.js.flow +4 -4
  18. package/lib/bin/RelayCompilerMain.js +8 -14
  19. package/lib/codegen/CodegenRunner.js +5 -9
  20. package/lib/codegen/NormalizationCodeGenerator.js +21 -13
  21. package/lib/codegen/ReaderCodeGenerator.js +44 -13
  22. package/lib/codegen/RelayFileWriter.js +3 -7
  23. package/lib/codegen/compileRelayArtifacts.js +4 -8
  24. package/lib/codegen/sortObjectByKey.js +3 -5
  25. package/lib/codegen/writeRelayGeneratedFile.js +3 -7
  26. package/lib/core/ASTCache.js +1 -0
  27. package/lib/core/CompilerContext.js +1 -0
  28. package/lib/core/CompilerError.js +8 -8
  29. package/lib/core/IRPrinter.js +3 -4
  30. package/lib/core/IRTransformer.js +3 -7
  31. package/lib/core/RelayGraphQLEnumsGenerator.js +3 -7
  32. package/lib/core/RelayIRTransforms.js +10 -4
  33. package/lib/core/RelayParser.js +7 -15
  34. package/lib/core/Schema.js +50 -13
  35. package/lib/core/getFieldDefinition.js +3 -5
  36. package/lib/core/inferRootArgumentDefinitions.js +6 -14
  37. package/lib/language/javascript/FindGraphQLTags.js +3 -69
  38. package/lib/language/javascript/RelayFlowBabelFactories.js +5 -5
  39. package/lib/language/javascript/RelayFlowGenerator.js +85 -34
  40. package/lib/runner/Artifacts.js +13 -17
  41. package/lib/runner/BufferedFilesystem.js +6 -10
  42. package/lib/runner/GraphQLASTNodeGroup.js +10 -14
  43. package/lib/runner/GraphQLNodeMap.js +3 -7
  44. package/lib/runner/Sources.js +27 -17
  45. package/lib/runner/StrictMap.js +5 -7
  46. package/lib/runner/getChangedNodeNames.js +6 -8
  47. package/lib/transforms/ApplyFragmentArgumentTransform.js +16 -25
  48. package/lib/transforms/ClientExtensionsTransform.js +8 -9
  49. package/lib/transforms/ConnectionTransform.js +9 -14
  50. package/lib/transforms/DeclarativeConnectionMutationTransform.js +115 -64
  51. package/lib/transforms/DeferStreamTransform.js +3 -7
  52. package/lib/transforms/DisallowTypenameOnRoot.js +3 -5
  53. package/lib/transforms/FieldHandleTransform.js +3 -7
  54. package/lib/transforms/FilterCompilerDirectivesTransform.js +29 -0
  55. package/lib/transforms/FlattenTransform.js +14 -17
  56. package/lib/transforms/GenerateIDFieldTransform.js +3 -7
  57. package/lib/transforms/GenerateTypeNameTransform.js +4 -8
  58. package/lib/transforms/InlineDataFragmentTransform.js +3 -7
  59. package/lib/transforms/MaskTransform.js +4 -12
  60. package/lib/transforms/MatchTransform.js +8 -8
  61. package/lib/transforms/ReactFlightComponentTransform.js +158 -0
  62. package/lib/transforms/RefetchableFragmentTransform.js +5 -9
  63. package/lib/transforms/RelayDirectiveTransform.js +3 -7
  64. package/lib/transforms/RequiredFieldTransform.js +369 -0
  65. package/lib/transforms/SkipHandleFieldTransform.js +2 -6
  66. package/lib/transforms/SkipRedundantNodesTransform.js +4 -6
  67. package/lib/transforms/SkipUnreachableNodeTransform.js +2 -6
  68. package/lib/transforms/SkipUnusedVariablesTransform.js +4 -12
  69. package/lib/transforms/TestOperationTransform.js +3 -7
  70. package/lib/transforms/ValidateGlobalVariablesTransform.js +4 -6
  71. package/lib/transforms/ValidateRequiredArgumentsTransform.js +3 -5
  72. package/lib/transforms/ValidateServerOnlyDirectivesTransform.js +4 -6
  73. package/lib/transforms/ValidateUnusedVariablesTransform.js +4 -6
  74. package/lib/transforms/query-generators/FetchableQueryGenerator.js +2 -6
  75. package/lib/transforms/query-generators/NodeQueryGenerator.js +2 -6
  76. package/lib/transforms/query-generators/index.js +3 -5
  77. package/lib/transforms/query-generators/utils.js +3 -5
  78. package/package.json +3 -3
  79. package/relay-compiler.js +4 -4
  80. package/relay-compiler.min.js +4 -4
  81. package/runner/Sources.js.flow +14 -0
  82. package/transforms/ClientExtensionsTransform.js.flow +3 -0
  83. package/transforms/ConnectionTransform.js.flow +0 -1
  84. package/transforms/DeclarativeConnectionMutationTransform.js.flow +140 -48
  85. package/transforms/FieldHandleTransform.js.flow +0 -1
  86. package/transforms/FilterCompilerDirectivesTransform.js.flow +33 -0
  87. package/transforms/FlattenTransform.js.flow +3 -2
  88. package/transforms/MatchTransform.js.flow +6 -0
  89. package/transforms/ReactFlightComponentTransform.js.flow +195 -0
  90. package/transforms/RequiredFieldTransform.js.flow +415 -0
  91. package/transforms/SkipRedundantNodesTransform.js.flow +3 -0
@@ -13,17 +13,9 @@
13
13
 
14
14
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
15
15
 
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
-
22
- function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
-
24
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
-
26
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
27
19
 
28
20
  var invariant = require("fbjs/lib/invariant");
29
21
 
@@ -42,7 +34,7 @@ var Sources = /*#__PURE__*/function () {
42
34
  savedState = _ref.savedState;
43
35
  var state = {};
44
36
 
45
- var _iterator = _createForOfIteratorHelper(savedState),
37
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(savedState),
46
38
  _step;
47
39
 
48
40
  try {
@@ -53,7 +45,7 @@ var Sources = /*#__PURE__*/function () {
53
45
  var nodes = {};
54
46
  var sources = [];
55
47
 
56
- var _iterator2 = _createForOfIteratorHelper(savedStateSources),
48
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(savedStateSources),
57
49
  _step2;
58
50
 
59
51
  try {
@@ -100,18 +92,19 @@ var Sources = /*#__PURE__*/function () {
100
92
  var extractFromFile = _ref2.extractFromFile,
101
93
  state = _ref2.state;
102
94
  this._extractFromFile = extractFromFile;
103
- this._state = _objectSpread({}, state);
95
+ this._state = (0, _objectSpread2["default"])({}, state);
104
96
  }
105
97
 
106
98
  var _proto = Sources.prototype;
107
99
 
108
100
  _proto.processChanges = function processChanges(baseDir, files) {
101
+ var _ast$name$value, _ast$name;
102
+
109
103
  var added = [];
110
104
  var removed = [];
105
+ var state = (0, _objectSpread2["default"])({}, this._state);
111
106
 
112
- var state = _objectSpread({}, this._state);
113
-
114
- var _iterator3 = _createForOfIteratorHelper(files),
107
+ var _iterator3 = (0, _createForOfIteratorHelper2["default"])(files),
115
108
  _step3;
116
109
 
117
110
  try {
@@ -142,7 +135,7 @@ var Sources = /*#__PURE__*/function () {
142
135
  var newEntry = {};
143
136
  var newTexts = new Set();
144
137
 
145
- var _iterator4 = _createForOfIteratorHelper(newDefs),
138
+ var _iterator4 = (0, _createForOfIteratorHelper2["default"])(newDefs),
146
139
  _step4;
147
140
 
148
141
  try {
@@ -151,6 +144,23 @@ var Sources = /*#__PURE__*/function () {
151
144
  _ast = _step4$value.ast,
152
145
  text = _step4$value.text;
153
146
  var hashedText = md5(text);
147
+
148
+ if (newTexts.has(hashedText)) {
149
+ var name = 'unknown';
150
+
151
+ switch (_ast.kind) {
152
+ case 'FragmentDefinition':
153
+ name = _ast.name.value;
154
+ break;
155
+
156
+ case 'OperationDefinition':
157
+ name = (_ast$name$value = (_ast$name = _ast.name) === null || _ast$name === void 0 ? void 0 : _ast$name.value) !== null && _ast$name$value !== void 0 ? _ast$name$value : 'unnamed operation';
158
+ break;
159
+ }
160
+
161
+ throw new Error("Duplicate definition of `".concat(name, "` in `").concat(_file.name, "`"));
162
+ }
163
+
154
164
  newTexts.add(hashedText);
155
165
 
156
166
  if (hasEntry && oldEntry[hashedText] != null) {
@@ -11,13 +11,11 @@
11
11
  // flowlint ambiguous-object-type:error
12
12
  'use strict';
13
13
 
14
- var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
15
-
16
- function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
14
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
15
 
18
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
19
17
 
20
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
21
19
 
22
20
  var invariant = require("fbjs/lib/invariant");
23
21
 
@@ -48,7 +46,7 @@ var StrictMap = /*#__PURE__*/function () {
48
46
  _proto.map = function map(f) {
49
47
  var result = new StrictMap();
50
48
 
51
- var _iterator = _createForOfIteratorHelper(this._map),
49
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(this._map),
52
50
  _step;
53
51
 
54
52
  try {
@@ -73,7 +71,7 @@ var StrictMap = /*#__PURE__*/function () {
73
71
 
74
72
  var entryPromises = [];
75
73
 
76
- var _iterator2 = _createForOfIteratorHelper(this._map),
74
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(this._map),
77
75
  _step2;
78
76
 
79
77
  try {
@@ -10,11 +10,9 @@
10
10
  // flowlint ambiguous-object-type:error
11
11
  'use strict';
12
12
 
13
- function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
-
17
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
18
16
 
19
17
  var _require = require('./GraphQLASTUtils'),
20
18
  getName = _require.getName;
@@ -22,7 +20,7 @@ var _require = require('./GraphQLASTUtils'),
22
20
  function getChangedNodeNames(projectStates, projects) {
23
21
  var changedNames = new Set();
24
22
 
25
- var _iterator = _createForOfIteratorHelper(projects),
23
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(projects),
26
24
  _step;
27
25
 
28
26
  try {
@@ -30,7 +28,7 @@ function getChangedNodeNames(projectStates, projects) {
30
28
  var projectType = _step.value;
31
29
  var subConfig = projectStates.get(projectType);
32
30
 
33
- var _iterator2 = _createForOfIteratorHelper(subConfig.initialDirty),
31
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(subConfig.initialDirty),
34
32
  _step2;
35
33
 
36
34
  try {
@@ -44,7 +42,7 @@ function getChangedNodeNames(projectStates, projects) {
44
42
  _iterator2.f();
45
43
  }
46
44
 
47
- var _iterator3 = _createForOfIteratorHelper(subConfig.changes.added),
45
+ var _iterator3 = (0, _createForOfIteratorHelper2["default"])(subConfig.changes.added),
48
46
  _step3;
49
47
 
50
48
  try {
@@ -58,7 +56,7 @@ function getChangedNodeNames(projectStates, projects) {
58
56
  _iterator3.f();
59
57
  }
60
58
 
61
- var _iterator4 = _createForOfIteratorHelper(subConfig.changes.removed),
59
+ var _iterator4 = (0, _createForOfIteratorHelper2["default"])(subConfig.changes.removed),
62
60
  _step4;
63
61
 
64
62
  try {
@@ -12,19 +12,11 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
16
 
17
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
-
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
-
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
-
23
- function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
17
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
24
18
 
25
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
-
27
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
28
20
 
29
21
  var IRTransformer = require('../core/IRTransformer');
30
22
 
@@ -80,7 +72,7 @@ function applyFragmentArgumentTransform(context) {
80
72
  }
81
73
  });
82
74
 
83
- var _iterator = _createForOfIteratorHelper(fragments.values()),
75
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(fragments.values()),
84
76
  _step;
85
77
 
86
78
  try {
@@ -109,13 +101,13 @@ function transformNode(context, fragments, scope, node, errorContext) {
109
101
 
110
102
  if (node.hasOwnProperty('directives')) {
111
103
  var directives = transformDirectives(scope, node.directives, errorContext);
112
- return _objectSpread({}, node, {
104
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
113
105
  directives: directives,
114
106
  selections: selections
115
107
  });
116
108
  }
117
109
 
118
- return _objectSpread({}, node, {
110
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
119
111
  selections: selections
120
112
  });
121
113
  }
@@ -162,13 +154,12 @@ function transformFragmentSpread(context, fragments, scope, spread, errorContext
162
154
  return null;
163
155
  }
164
156
 
165
- var transformed = _objectSpread({}, spread, {
157
+ var transformed = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, spread), {}, {
166
158
  kind: 'FragmentSpread',
167
159
  args: [],
168
160
  directives: directives,
169
161
  name: appliedFragment.name
170
162
  });
171
-
172
163
  return transformed;
173
164
  }
174
165
 
@@ -183,13 +174,13 @@ function transformField(context, fragments, scope, field, errorContext) {
183
174
  return null;
184
175
  }
185
176
 
186
- return _objectSpread({}, field, {
177
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field), {}, {
187
178
  args: args,
188
179
  directives: directives,
189
180
  selections: selections
190
181
  });
191
182
  } else {
192
- return _objectSpread({}, field, {
183
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field), {}, {
193
184
  args: args,
194
185
  directives: directives
195
186
  });
@@ -222,7 +213,7 @@ function transformCondition(context, fragments, scope, node, errorContext) {
222
213
  return selections;
223
214
  }
224
215
 
225
- return [_objectSpread({}, node, {
216
+ return [(0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
226
217
  condition: condition,
227
218
  selections: selections
228
219
  })];
@@ -267,7 +258,7 @@ function transformSelections(context, fragments, scope, selections, errorContext
267
258
  function transformDirectives(scope, directives, errorContext) {
268
259
  return directives.map(function (directive) {
269
260
  var args = transformArguments(scope, directive.args, errorContext);
270
- return _objectSpread({}, directive, {
261
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, directive), {}, {
271
262
  args: args
272
263
  });
273
264
  });
@@ -276,7 +267,7 @@ function transformDirectives(scope, directives, errorContext) {
276
267
  function transformArguments(scope, args, errorContext) {
277
268
  return args.map(function (arg) {
278
269
  var value = transformValue(scope, arg.value, errorContext);
279
- return value === arg.value ? arg : _objectSpread({}, arg, {
270
+ return value === arg.value ? arg : (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, arg), {}, {
280
271
  value: value
281
272
  });
282
273
  });
@@ -297,15 +288,15 @@ function transformValue(scope, value, errorContext) {
297
288
 
298
289
  return scopeValue;
299
290
  } else if (value.kind === 'ObjectValue') {
300
- return _objectSpread({}, value, {
291
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, value), {}, {
301
292
  fields: value.fields.map(function (field) {
302
- return _objectSpread({}, field, {
293
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field), {}, {
303
294
  value: transformValue(scope, field.value, errorContext)
304
295
  });
305
296
  })
306
297
  });
307
298
  } else if (value.kind === 'ListValue') {
308
- return _objectSpread({}, value, {
299
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, value), {}, {
309
300
  items: value.items.map(function (item) {
310
301
  return transformValue(scope, item, errorContext);
311
302
  })
@@ -349,7 +340,7 @@ function transformFragment(context, fragments, parentScope, spread, args, errorC
349
340
  var selections = transformSelections(context, fragments, fragmentScope, fragment.selections, errorContext);
350
341
 
351
342
  if (selections) {
352
- transformedFragment = _objectSpread({}, fragment, {
343
+ transformedFragment = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fragment), {}, {
353
344
  selections: selections,
354
345
  name: fragmentName,
355
346
  argumentDefinitions: []
@@ -12,14 +12,10 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
16
 
17
17
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
18
 
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
-
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
-
23
19
  var IRTransformer = require('../core/IRTransformer');
24
20
 
25
21
  var _require = require('../core/CompilerError'),
@@ -87,10 +83,12 @@ function traverseDefinition(node) {
87
83
  }
88
84
 
89
85
  function traverseSelections(node, compilerContext, parentType) {
86
+ // $FlowFixMe[escaped-generic]
90
87
  var nodeCache = cachesByNode.get(node);
91
88
 
92
89
  if (nodeCache == null) {
93
- nodeCache = new Map();
90
+ nodeCache = new Map(); // $FlowFixMe[escaped-generic]
91
+
94
92
  cachesByNode.set(node, nodeCache);
95
93
  }
96
94
 
@@ -161,12 +159,12 @@ function traverseSelections(node, compilerContext, parentType) {
161
159
  if (serverSelections === node.selections) {
162
160
  result = node;
163
161
  } else {
164
- result = _objectSpread({}, node, {
162
+ result = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
165
163
  selections: serverSelections
166
164
  });
167
165
  }
168
166
  } else {
169
- result = _objectSpread({}, node, {
167
+ result = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
170
168
  selections: [].concat((0, _toConsumableArray2["default"])(serverSelections), [// Group client fields under a single ClientExtension node
171
169
  {
172
170
  kind: 'ClientExtension',
@@ -175,7 +173,8 @@ function traverseSelections(node, compilerContext, parentType) {
175
173
  selections: clientSelections
176
174
  }])
177
175
  });
178
- }
176
+ } // $FlowFixMe[escaped-generic]
177
+
179
178
 
180
179
  nodeCache.set(parentType, result);
181
180
  /* $FlowFixMe[incompatible-return] - TODO: type IRTransformer to allow
@@ -12,14 +12,10 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
16
 
17
17
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
18
 
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
-
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
-
23
19
  var IRTransformer = require('../core/IRTransformer');
24
20
 
25
21
  var RelayParser = require('../core/RelayParser');
@@ -82,8 +78,8 @@ function visitFragmentOrRoot(node, options) {
82
78
  var connectionMetadata = options.connectionMetadata;
83
79
 
84
80
  if (connectionMetadata.length) {
85
- return _objectSpread({}, transformedNode, {
86
- metadata: _objectSpread({}, transformedNode.metadata, {
81
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
82
+ metadata: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode.metadata), {}, {
87
83
  connection: connectionMetadata
88
84
  })
89
85
  });
@@ -104,7 +100,7 @@ function visitLinkedField(field, options) {
104
100
  var nullableType = schema.getNullableType(field.type);
105
101
  var isPlural = schema.isList(nullableType);
106
102
  var path = options.path.concat(isPlural ? null : field.alias || field.name);
107
- var transformedField = this.traverse(field, _objectSpread({}, options, {
103
+ var transformedField = this.traverse(field, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, options), {}, {
108
104
  path: path
109
105
  }));
110
106
  var connectionDirective = field.directives.find(function (directive) {
@@ -134,12 +130,12 @@ function visitLinkedField(field, options) {
134
130
 
135
131
  if (direction != null) {
136
132
  var selections = transformConnectionSelections(this.getContext(), transformedField, schema.assertCompositeType(nullableType), direction, connectionArguments, connectionDirective.loc, options.documentName);
137
- transformedField = _objectSpread({}, transformedField, {
133
+ transformedField = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedField), {}, {
138
134
  selections: selections
139
135
  });
140
136
  }
141
137
 
142
- return _objectSpread({}, transformedField, {
138
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedField), {}, {
143
139
  directives: transformedField.directives.filter(function (directive) {
144
140
  return directive !== connectionDirective;
145
141
  }),
@@ -228,8 +224,7 @@ function buildConnectionArguments(field, connectionDirective) {
228
224
  useCustomizedBatch: useCustomizedBatchArg,
229
225
  label: key
230
226
  };
231
- } // T45504512: new connection model
232
-
227
+ }
233
228
 
234
229
  var dynamicKeyArg = connectionDirective.args.find(function (arg) {
235
230
  return arg.name === 'dynamicKey_UNSTABLE';
@@ -452,7 +447,7 @@ function transformConnectionSelections(context, field, nullableType, direction,
452
447
  throw createCompilerError('ConnectionTransform: Expected generated pageInfo selection to be ' + 'a LinkedField', [field.loc]);
453
448
  }
454
449
 
455
- transformedPageInfoSelection = _objectSpread({}, transformedPageInfoSelection, {
450
+ transformedPageInfoSelection = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedPageInfoSelection), {}, {
456
451
  selections: [].concat((0, _toConsumableArray2["default"])(transformedPageInfoSelection.selections), [{
457
452
  directives: [],
458
453
  kind: 'InlineFragment',
@@ -481,7 +476,7 @@ function transformConnectionSelections(context, field, nullableType, direction,
481
476
  var edgeAst = parse(edgeText);
482
477
  var edgeFragment = RelayParser.transform(schema, [edgeAst.definitions[0]])[0]; // When streaming the edges field needs @stream
483
478
 
484
- transformedEdgesSelection = _objectSpread({}, transformedEdgesSelection, {
479
+ transformedEdgesSelection = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedEdgesSelection), {}, {
485
480
  directives: streamDirective != null ? [].concat((0, _toConsumableArray2["default"])(transformedEdgesSelection.directives), [streamDirective]) : transformedEdgesSelection.directives,
486
481
  selections: [].concat((0, _toConsumableArray2["default"])(transformedEdgesSelection.selections), [{
487
482
  directives: [],