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
@@ -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 _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
16
16
 
17
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
-
19
- 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; } } }; }
20
-
21
- 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); }
22
-
23
- 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; }
24
-
25
- 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; }
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
26
18
 
27
- 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; }
19
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
28
20
 
29
21
  var IRTransformer = require('../core/IRTransformer');
30
22
 
@@ -35,10 +27,15 @@ var _require2 = require('relay-runtime'),
35
27
  ConnectionInterface = _require2.ConnectionInterface;
36
28
 
37
29
  var DELETE_RECORD = 'deleteRecord';
30
+ var DELETE_EDGE = 'deleteEdge';
38
31
  var APPEND_EDGE = 'appendEdge';
39
32
  var PREPEND_EDGE = 'prependEdge';
40
- var LINKED_FIELD_DIRECTIVES = [APPEND_EDGE, PREPEND_EDGE];
41
- var SCHEMA_EXTENSION = "\n directive @".concat(DELETE_RECORD, " on FIELD\n directive @").concat(APPEND_EDGE, "(\n connections: [String!]!\n ) on FIELD\n directive @").concat(PREPEND_EDGE, "(\n connections: [String!]!\n ) on FIELD\n");
33
+ var APPEND_NODE = 'appendNode';
34
+ var PREPEND_NODE = 'prependNode';
35
+ var EDGE_LINKED_FIELD_DIRECTIVES = [APPEND_EDGE, PREPEND_EDGE];
36
+ var NODE_LINKED_FIELD_DIRECTIVES = [APPEND_NODE, PREPEND_NODE];
37
+ var LINKED_FIELD_DIRECTIVES = [].concat(EDGE_LINKED_FIELD_DIRECTIVES, NODE_LINKED_FIELD_DIRECTIVES);
38
+ var SCHEMA_EXTENSION = "\n directive @".concat(DELETE_RECORD, " on FIELD\n directive @").concat(DELETE_EDGE, "(\n connections: [ID!]!\n ) on FIELD\n directive @").concat(APPEND_EDGE, "(\n connections: [ID!]!\n ) on FIELD\n directive @").concat(PREPEND_EDGE, "(\n connections: [ID!]!\n ) on FIELD\n directive @").concat(APPEND_NODE, "(\n connections: [ID!]!\n edgeTypeName: String!\n ) on FIELD\n directive @").concat(PREPEND_NODE, "(\n connections: [ID!]!\n edgeTypeName: String!\n ) on FIELD\n");
42
39
 
43
40
  function transform(context) {
44
41
  return IRTransformer.transform(context, {
@@ -62,29 +59,42 @@ function visitScalarField(field) {
62
59
  throw createUserError("Invalid use of @".concat(linkedFieldDirective.name, " on scalar field '").concat(field.name, "'"), [linkedFieldDirective.loc]);
63
60
  }
64
61
 
65
- var deleteDirective = field.directives.find(function (directive) {
62
+ var deleteNodeDirective = field.directives.find(function (directive) {
66
63
  return directive.name === DELETE_RECORD;
67
64
  });
65
+ var deleteEdgeDirective = field.directives.find(function (directive) {
66
+ return directive.name === DELETE_EDGE;
67
+ });
68
+
69
+ if (deleteNodeDirective != null && deleteEdgeDirective != null) {
70
+ throw createUserError("Both @deleteNode and @deleteEdge are used on field '".concat(field.name, "'. Only one directive is supported for now."), [deleteNodeDirective.loc, deleteEdgeDirective.loc]);
71
+ }
72
+
73
+ var targetDirective = deleteNodeDirective !== null && deleteNodeDirective !== void 0 ? deleteNodeDirective : deleteEdgeDirective;
68
74
 
69
- if (deleteDirective == null) {
75
+ if (targetDirective == null) {
70
76
  return field;
71
77
  }
72
78
 
73
79
  var schema = this.getContext().getSchema();
74
80
 
75
- if (!schema.isId(field.type)) {
76
- throw createUserError("Invalid use of @".concat(DELETE_RECORD, " on field '").concat(field.name, "'. Expected field type ID, got ").concat(schema.getTypeString(field.type), "."), [deleteDirective.loc]);
81
+ if (!schema.isId(schema.getRawType(field.type))) {
82
+ throw createUserError("Invalid use of @".concat(targetDirective.name, " on field '").concat(field.name, "'. Expected field to return an ID or list of ID values, got ").concat(schema.getTypeString(field.type), "."), [targetDirective.loc]);
77
83
  }
78
84
 
85
+ var connectionsArg = targetDirective.args.find(function (arg) {
86
+ return arg.name === 'connections';
87
+ });
79
88
  var handle = {
80
- name: DELETE_RECORD,
89
+ name: targetDirective.name,
81
90
  key: '',
82
91
  dynamicKey: null,
83
- filters: null
92
+ filters: null,
93
+ handleArgs: connectionsArg ? [connectionsArg] : undefined
84
94
  };
85
- return _objectSpread({}, field, {
95
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field), {}, {
86
96
  directives: field.directives.filter(function (directive) {
87
- return directive !== deleteDirective;
97
+ return directive !== targetDirective;
88
98
  }),
89
99
  handles: field.handles ? [].concat((0, _toConsumableArray2["default"])(field.handles), [handle]) : [handle]
90
100
  });
@@ -101,64 +111,105 @@ function visitLinkedField(field) {
101
111
  }
102
112
 
103
113
  var edgeDirective = transformedField.directives.find(function (directive) {
104
- return LINKED_FIELD_DIRECTIVES.indexOf(directive.name) > -1;
114
+ return EDGE_LINKED_FIELD_DIRECTIVES.indexOf(directive.name) > -1;
115
+ });
116
+ var nodeDirective = transformedField.directives.find(function (directive) {
117
+ return NODE_LINKED_FIELD_DIRECTIVES.indexOf(directive.name) > -1;
105
118
  });
106
119
 
107
- if (edgeDirective == null) {
120
+ if (edgeDirective == null && nodeDirective == null) {
108
121
  return transformedField;
109
122
  }
110
123
 
111
- var connectionsArg = edgeDirective.args.find(function (arg) {
124
+ if (edgeDirective != null && nodeDirective != null) {
125
+ throw createUserError("Invalid use of @".concat(edgeDirective.name, " and @").concat(nodeDirective.name, " on field '").concat(transformedField.name, "' - these directives cannot be used together."), [edgeDirective.loc]);
126
+ }
127
+
128
+ var targetDirective = edgeDirective !== null && edgeDirective !== void 0 ? edgeDirective : nodeDirective;
129
+ var connectionsArg = targetDirective.args.find(function (arg) {
112
130
  return arg.name === 'connections';
113
131
  });
114
132
 
115
133
  if (connectionsArg == null) {
116
- throw createUserError("Expected the 'connections' argument to be defined on @".concat(edgeDirective.name, "."), [edgeDirective.loc]);
134
+ throw createUserError("Expected the 'connections' argument to be defined on @".concat(targetDirective.name, "."), [targetDirective.loc]);
117
135
  }
118
136
 
119
137
  var schema = this.getContext().getSchema();
120
- var fields = schema.getFields(transformedField.type);
121
- var cursorFieldID;
122
- var nodeFieldID;
123
-
124
- var _iterator = _createForOfIteratorHelper(fields),
125
- _step;
126
-
127
- try {
128
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
129
- var fieldID = _step.value;
130
- var fieldName = schema.getFieldName(fieldID);
131
-
132
- if (fieldName === ConnectionInterface.get().CURSOR) {
133
- cursorFieldID = fieldID;
134
- } else if (fieldName === ConnectionInterface.get().NODE) {
135
- nodeFieldID = fieldID;
136
- }
137
- } // Edge
138
-
139
- } catch (err) {
140
- _iterator.e(err);
141
- } finally {
142
- _iterator.f();
143
- }
144
138
 
145
- if (cursorFieldID != null && nodeFieldID != null) {
146
- var handle = {
147
- name: edgeDirective.name,
148
- key: '',
149
- dynamicKey: null,
150
- filters: null,
151
- handleArgs: [connectionsArg]
152
- };
153
- return _objectSpread({}, transformedField, {
154
- directives: transformedField.directives.filter(function (directive) {
155
- return directive !== edgeDirective;
156
- }),
157
- handles: transformedField.handles ? [].concat((0, _toConsumableArray2["default"])(transformedField.handles), [handle]) : [handle]
139
+ if (edgeDirective) {
140
+ var fieldType = schema.isList(transformedField.type) ? transformedField.type.ofType : transformedField.type;
141
+ var fields = schema.getFields(fieldType);
142
+ var cursorFieldID;
143
+ var nodeFieldID;
144
+
145
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(fields),
146
+ _step;
147
+
148
+ try {
149
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
150
+ var fieldID = _step.value;
151
+ var fieldName = schema.getFieldName(fieldID);
152
+
153
+ if (fieldName === ConnectionInterface.get().CURSOR) {
154
+ cursorFieldID = fieldID;
155
+ } else if (fieldName === ConnectionInterface.get().NODE) {
156
+ nodeFieldID = fieldID;
157
+ }
158
+ } // Edge
159
+
160
+ } catch (err) {
161
+ _iterator.e(err);
162
+ } finally {
163
+ _iterator.f();
164
+ }
165
+
166
+ if (cursorFieldID != null && nodeFieldID != null) {
167
+ var handle = {
168
+ name: edgeDirective.name,
169
+ key: '',
170
+ dynamicKey: null,
171
+ filters: null,
172
+ handleArgs: [connectionsArg]
173
+ };
174
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedField), {}, {
175
+ directives: transformedField.directives.filter(function (directive) {
176
+ return directive !== edgeDirective;
177
+ }),
178
+ handles: transformedField.handles ? [].concat((0, _toConsumableArray2["default"])(transformedField.handles), [handle]) : [handle]
179
+ });
180
+ }
181
+
182
+ throw createUserError("Unsupported use of @".concat(edgeDirective.name, " on field '").concat(transformedField.name, "', expected an edge field (a field with 'cursor' and 'node' selection)."), [targetDirective.loc]);
183
+ } else {
184
+ // Node
185
+ var edgeTypeNameArg = nodeDirective.args.find(function (arg) {
186
+ return arg.name === 'edgeTypeName';
158
187
  });
159
- }
160
188
 
161
- throw createUserError("Unsupported use of @".concat(edgeDirective.name, " on field '").concat(transformedField.name, "', expected an edge field (a field with 'cursor' and 'node' selection)."), [edgeDirective.loc]);
189
+ if (!edgeTypeNameArg) {
190
+ throw createUserError("Unsupported use of @".concat(nodeDirective.name, " on field '").concat(transformedField.name, "', 'edgeTypeName' argument must be provided."), [targetDirective.loc]);
191
+ }
192
+
193
+ var rawType = schema.getRawType(transformedField.type);
194
+
195
+ if (schema.canHaveSelections(rawType)) {
196
+ var _handle = {
197
+ name: nodeDirective.name,
198
+ key: '',
199
+ dynamicKey: null,
200
+ filters: null,
201
+ handleArgs: [connectionsArg, edgeTypeNameArg]
202
+ };
203
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedField), {}, {
204
+ directives: transformedField.directives.filter(function (directive) {
205
+ return directive !== nodeDirective;
206
+ }),
207
+ handles: transformedField.handles ? [].concat((0, _toConsumableArray2["default"])(transformedField.handles), [_handle]) : [_handle]
208
+ });
209
+ }
210
+
211
+ throw createUserError("Unsupported use of @".concat(nodeDirective.name, " on field '").concat(transformedField.name, "'. Expected an object, union or interface, but got '").concat(schema.getTypeString(transformedField.type), "'."), [nodeDirective.loc]);
212
+ }
162
213
  }
163
214
 
164
215
  module.exports = {
@@ -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 getIdentifierForArgumentValue = require('../core/getIdentifierForArgumentValue');
@@ -95,7 +91,7 @@ function visitLinkedField(field, state) {
95
91
  throw createUserError("Invalid use of @stream on non-plural field '".concat(field.name, "'"), [streamDirective.loc]);
96
92
  }
97
93
 
98
- transformedField = _objectSpread({}, transformedField, {
94
+ transformedField = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedField), {}, {
99
95
  directives: transformedField.directives.filter(function (directive) {
100
96
  return directive.name !== 'stream';
101
97
  })
@@ -173,7 +169,7 @@ function visitFragmentSpread(spread, state) {
173
169
  return transformedSpread;
174
170
  }
175
171
 
176
- transformedSpread = _objectSpread({}, transformedSpread, {
172
+ transformedSpread = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedSpread), {}, {
177
173
  directives: transformedSpread.directives.filter(function (directive) {
178
174
  return directive.name !== 'defer';
179
175
  })
@@ -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 IRValidator = require('../core/IRValidator');
20
18
 
@@ -22,7 +20,7 @@ var _require = require('../core/CompilerError'),
22
20
  createUserError = _require.createUserError;
23
21
 
24
22
  function visitRoot(node) {
25
- var _iterator = _createForOfIteratorHelper(node.selections),
23
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(node.selections),
26
24
  _step;
27
25
 
28
26
  try {
@@ -12,11 +12,7 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
- 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; }
18
-
19
- 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; }
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
20
16
 
21
17
  var IRTransformer = require('../core/IRTransformer');
22
18
 
@@ -58,7 +54,7 @@ function visitField(field) {
58
54
  var filters = handle.filters;
59
55
  var args = filters ? nextField.args.filter(function (arg) {
60
56
  return filters.indexOf(arg.name) !== -1;
61
- }) : []; // T45504512: new connection model
57
+ }) : [];
62
58
 
63
59
  if (handle.dynamicKey != null) {
64
60
  args.push({
@@ -70,7 +66,7 @@ function visitField(field) {
70
66
  });
71
67
  }
72
68
 
73
- return _objectSpread({}, nextField, {
69
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, nextField), {}, {
74
70
  args: args,
75
71
  alias: alias,
76
72
  name: name,
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ *
8
+ * @format
9
+ */
10
+ 'use strict';
11
+
12
+ var IRTransformer = require('../core/IRTransformer');
13
+
14
+ var COMPILE_TIME_DIRECTIVES = new Set(['required']);
15
+ /**
16
+ * A transform that removes any directives that are only interpreted by the Relay compiler.
17
+ */
18
+
19
+ function filterDirectivesTransform(context) {
20
+ return IRTransformer.transform(context, {
21
+ Directive: function Directive(directive) {
22
+ return COMPILE_TIME_DIRECTIVES.has(directive.name) ? null : directive;
23
+ }
24
+ });
25
+ }
26
+
27
+ module.exports = {
28
+ transform: filterDirectivesTransform
29
+ };
@@ -12,11 +12,7 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
- 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; }
18
-
19
- 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; }
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
20
16
 
21
17
  var IRTransformer = require('../core/IRTransformer');
22
18
 
@@ -45,9 +41,10 @@ function flattenTransformImpl(context, options) {
45
41
  Condition: visitorFn,
46
42
  Defer: visitorFn,
47
43
  Fragment: visitorFn,
48
- InlineFragment: visitorFn,
49
44
  InlineDataFragmentSpread: visitorFn,
45
+ InlineFragment: visitorFn,
50
46
  LinkedField: visitorFn,
47
+ ModuleImport: visitorFn,
51
48
  Root: visitorFn,
52
49
  SplitOperation: visitorFn
53
50
  }, function () {
@@ -84,7 +81,7 @@ function memoizedFlattenSelection(cache) {
84
81
 
85
82
  var nextSelections = new Map();
86
83
  var hasFlattened = flattenSelectionsInto(context.getSchema(), nextSelections, node, state, type);
87
- var flattenedNode = hasFlattened ? _objectSpread({}, node, {
84
+ var flattenedNode = hasFlattened ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, node), {}, {
88
85
  selections: Array.from(nextSelections.values())
89
86
  }) : node;
90
87
  state.parentType = type;
@@ -124,7 +121,7 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
124
121
  throw createCompilerError("FlattenTransform: Expected an InlineFragment, got a '".concat(selection.kind, "'"), [selection.loc]);
125
122
  }
126
123
 
127
- flattenedSelections.set(nodeIdentifier, _objectSpread({}, flattenedSelection, {
124
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, flattenedSelection), {}, {
128
125
  selections: mergeSelections(schema, flattenedSelection, selection, state, selection.typeCondition)
129
126
  }));
130
127
  } else if (flattenedSelection.kind === 'Condition') {
@@ -132,7 +129,7 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
132
129
  throw createCompilerError("FlattenTransform: Expected a Condition, got a '".concat(selection.kind, "'"), [selection.loc]);
133
130
  }
134
131
 
135
- flattenedSelections.set(nodeIdentifier, _objectSpread({}, flattenedSelection, {
132
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, flattenedSelection), {}, {
136
133
  selections: mergeSelections(schema, flattenedSelection, selection, state, type)
137
134
  }));
138
135
  } else if (flattenedSelection.kind === 'ClientExtension') {
@@ -140,7 +137,7 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
140
137
  throw createCompilerError("FlattenTransform: Expected a ClientExtension, got a '".concat(selection.kind, "'"), [selection.loc]);
141
138
  }
142
139
 
143
- flattenedSelections.set(nodeIdentifier, _objectSpread({}, flattenedSelection, {
140
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, flattenedSelection), {}, {
144
141
  selections: mergeSelections(schema, flattenedSelection, selection, state, type)
145
142
  }));
146
143
  } else if (flattenedSelection.kind === 'FragmentSpread') {// Ignore duplicate fragment spreads.
@@ -153,7 +150,7 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
153
150
  throw createUserError('Found conflicting @module selections: use a unique alias on the ' + 'parent fields.', [selection.loc, flattenedSelection.loc]);
154
151
  }
155
152
 
156
- flattenedSelections.set(nodeIdentifier, _objectSpread({}, flattenedSelection, {
153
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, flattenedSelection), {}, {
157
154
  selections: mergeSelections(schema, flattenedSelection, selection, state, type)
158
155
  }));
159
156
  } else if (flattenedSelection.kind === 'Defer') {
@@ -161,9 +158,9 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
161
158
  throw createCompilerError("FlattenTransform: Expected a Defer, got a '".concat(selection.kind, "'"), [selection.loc]);
162
159
  }
163
160
 
164
- flattenedSelections.set(nodeIdentifier, _objectSpread({
161
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
165
162
  kind: 'Defer'
166
- }, flattenedSelection, {
163
+ }, flattenedSelection), {}, {
167
164
  selections: mergeSelections(schema, flattenedSelection, selection, state, type)
168
165
  }));
169
166
  } else if (flattenedSelection.kind === 'Stream') {
@@ -171,9 +168,9 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
171
168
  throw createCompilerError("FlattenTransform: Expected a Stream, got a '".concat(selection.kind, "'"), [selection.loc]);
172
169
  }
173
170
 
174
- flattenedSelections.set(nodeIdentifier, _objectSpread({
171
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
175
172
  kind: 'Stream'
176
- }, flattenedSelection, {
173
+ }, flattenedSelection), {}, {
177
174
  selections: mergeSelections(schema, flattenedSelection, selection, state, type)
178
175
  }));
179
176
  } else if (flattenedSelection.kind === 'LinkedField') {
@@ -204,9 +201,9 @@ function flattenSelectionsInto(schema, flattenedSelections, node, state, type) {
204
201
  assertUniqueArgsForAlias(selection, flattenedSelection);
205
202
 
206
203
  if (selection.handles && selection.handles.length > 0) {
207
- flattenedSelections.set(nodeIdentifier, _objectSpread({
204
+ flattenedSelections.set(nodeIdentifier, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
208
205
  kind: 'ScalarField'
209
- }, flattenedSelection, {
206
+ }, flattenedSelection), {}, {
210
207
  handles: mergeHandles(selection, flattenedSelection)
211
208
  }));
212
209
  }
@@ -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/SchemaUtils'),
@@ -95,7 +91,7 @@ function visitLinkedField(field, state) {
95
91
  var unmodifiedType = schema.assertCompositeType(schema.getRawType(field.type)); // If the field type has an `id` subfield add an `id` selection
96
92
 
97
93
  if (schema.canHaveSelections(unmodifiedType) && schema.hasId(unmodifiedType)) {
98
- return _objectSpread({}, transformedNode, {
94
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
99
95
  selections: [].concat((0, _toConsumableArray2["default"])(transformedNode.selections), [state.idFieldForType(unmodifiedType)])
100
96
  });
101
97
  } // If the field type is abstract, then generate a `... on Node { id }`
@@ -126,7 +122,7 @@ function visitLinkedField(field, state) {
126
122
  }).forEach(function (concreteType) {
127
123
  selections.push(state.idFragmentForType(concreteType));
128
124
  });
129
- return _objectSpread({}, transformedNode, {
125
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
130
126
  selections: selections
131
127
  });
132
128
  }
@@ -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 generateAbstractTypeRefinementKey = require('../util/generateAbstractTypeRefinementKey');
@@ -69,7 +65,7 @@ function visitFragment(fragment, state) {
69
65
 
70
66
  if (!isClientType && schema.isAbstractType(rawType)) {
71
67
  var abstractKey = generateAbstractTypeRefinementKey(schema, rawType);
72
- transformedNode = _objectSpread({}, transformedNode, {
68
+ transformedNode = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
73
69
  selections: [{
74
70
  kind: 'ScalarField',
75
71
  alias: abstractKey,
@@ -105,7 +101,7 @@ function visitInlineFragment(fragment, state) {
105
101
 
106
102
  if (!isClientType && schema.isAbstractType(rawType)) {
107
103
  var abstractKey = generateAbstractTypeRefinementKey(schema, rawType);
108
- transformedNode = _objectSpread({}, transformedNode, {
104
+ transformedNode = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
109
105
  selections: [{
110
106
  kind: 'ScalarField',
111
107
  alias: abstractKey,
@@ -139,7 +135,7 @@ function visitLinkedField(field, state) {
139
135
  transformedNode = this.traverse(field, state);
140
136
 
141
137
  if (schema.isAbstractType(schema.getRawType(transformedNode.type)) && !hasUnaliasedSelection(transformedNode, TYPENAME_KEY)) {
142
- transformedNode = _objectSpread({}, transformedNode, {
138
+ transformedNode = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedNode), {}, {
143
139
  selections: [state.typenameField].concat((0, _toConsumableArray2["default"])(transformedNode.selections))
144
140
  });
145
141
  }
@@ -12,11 +12,7 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
- 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; }
18
-
19
- 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; }
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
20
16
 
21
17
  var IRTransformer = require('../core/IRTransformer');
22
18
 
@@ -49,11 +45,11 @@ function visitFragment(fragment) {
49
45
  return transformedFragment;
50
46
  }
51
47
 
52
- return _objectSpread({}, transformedFragment, {
48
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedFragment), {}, {
53
49
  directives: transformedFragment.directives.filter(function (directive) {
54
50
  return directive !== inlineDirective;
55
51
  }),
56
- metadata: _objectSpread({}, transformedFragment.metadata || {}, {
52
+ metadata: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, transformedFragment.metadata || {}), {}, {
57
53
  inlineData: true
58
54
  })
59
55
  });
@@ -12,17 +12,9 @@
12
12
 
13
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
14
 
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
16
16
 
17
- 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; } } }; }
18
-
19
- 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); }
20
-
21
- 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; }
22
-
23
- 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; }
24
-
25
- 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; }
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
26
18
 
27
19
  var IRTransformer = require('../core/IRTransformer');
28
20
 
@@ -56,7 +48,7 @@ function visitFragment(fragment, state) {
56
48
  }
57
49
 
58
50
  var joinedArgumentDefinitions = joinArgumentDefinitions(this.getContext().getSchema(), fragment, state.reachableArguments, '@relay(unmask: true)');
59
- return _objectSpread({}, result, {
51
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, result), {}, {
60
52
  argumentDefinitions: joinedArgumentDefinitions
61
53
  });
62
54
  }
@@ -95,7 +87,7 @@ function visitFragmentSpread(fragmentSpread, state) {
95
87
  // to list all invalid variables/arguments instead of only one.
96
88
 
97
89
 
98
- var _iterator = _createForOfIteratorHelper(fragment.argumentDefinitions),
90
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(fragment.argumentDefinitions),
99
91
  _step;
100
92
 
101
93
  try {