relay-compiler 1.3.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/LICENSE +16 -26
  2. package/bin/relay-compiler +7348 -5939
  3. package/index.js +3 -6
  4. package/lib/{FileParser.js → ASTCache.js} +17 -14
  5. package/lib/ASTConvert.js +84 -70
  6. package/lib/CodegenDirectory.js +122 -28
  7. package/lib/{RelayCodegenRunner.js → CodegenRunner.js} +110 -186
  8. package/lib/CodegenTypes.js +12 -0
  9. package/lib/{RelayCodegenWatcher.js → CodegenWatcher.js} +53 -43
  10. package/lib/DefaultHandleKey.js +2 -4
  11. package/lib/DotGraphQLParser.js +27 -0
  12. package/lib/FilterDirectivesTransform.js +11 -11
  13. package/lib/FindGraphQLTags.js +33 -52
  14. package/lib/FlattenTransform.js +197 -0
  15. package/lib/GraphQLCompilerContext.js +158 -0
  16. package/lib/GraphQLCompilerProfiler.js +271 -0
  17. package/lib/GraphQLCompilerPublic.js +27 -22
  18. package/lib/GraphQLCompilerUserError.js +26 -0
  19. package/lib/GraphQLConsoleReporter.js +58 -0
  20. package/lib/GraphQLIR.js +12 -0
  21. package/lib/{RelayPrinter.js → GraphQLIRPrinter.js} +42 -38
  22. package/lib/{RelayIRTransformer.js → GraphQLIRTransformer.js} +47 -38
  23. package/lib/GraphQLIRTransforms.js +6 -15
  24. package/lib/{RelayIRVisitor.js → GraphQLIRVisitor.js} +7 -6
  25. package/lib/GraphQLMultiReporter.js +50 -0
  26. package/lib/GraphQLParser.js +743 -0
  27. package/lib/GraphQLReporter.js +12 -0
  28. package/lib/GraphQLSchemaUtils.js +10 -36
  29. package/lib/GraphQLValidator.js +13 -15
  30. package/lib/{RelayWatchmanClient.js → GraphQLWatchmanClient.js} +15 -17
  31. package/lib/InlineFragmentsTransform.js +48 -0
  32. package/lib/PatchedBabelGenerator.js +58 -0
  33. package/lib/RelayApplyFragmentArgumentTransform.js +37 -18
  34. package/lib/RelayCodeGenerator.js +130 -60
  35. package/lib/RelayCompilerBin.js +80 -35
  36. package/lib/RelayCompilerCache.js +18 -11
  37. package/lib/RelayCompilerPublic.js +24 -10
  38. package/lib/RelayCompilerScope.js +2 -4
  39. package/lib/RelayConcreteNode.js +31 -14
  40. package/lib/RelayConnectionConstants.js +2 -4
  41. package/lib/RelayConnectionTransform.js +34 -38
  42. package/lib/RelayDefaultHandleKey.js +2 -4
  43. package/lib/RelayDeferrableFragmentTransform.js +464 -0
  44. package/lib/RelayError.js +2 -6
  45. package/lib/RelayFieldHandleTransform.js +15 -11
  46. package/lib/RelayFileWriter.js +119 -98
  47. package/lib/RelayFlowBabelFactories.js +113 -0
  48. package/lib/RelayFlowGenerator.js +180 -200
  49. package/lib/RelayFlowTypeTransformers.js +109 -0
  50. package/lib/RelayGenerateIDFieldTransform.js +131 -0
  51. package/lib/RelayGenerateTypeNameTransform.js +75 -0
  52. package/lib/RelayGraphQLEnumsGenerator.js +65 -0
  53. package/lib/RelayIRTransforms.js +19 -23
  54. package/lib/RelayInternalTypes.js +2 -5
  55. package/lib/RelayInternals.js +2 -5
  56. package/lib/RelayJSModuleParser.js +64 -0
  57. package/lib/RelayMaskTransform.js +129 -0
  58. package/lib/RelayMetricsRecorder.js +9 -9
  59. package/lib/RelayMockRenderer.js +3 -8
  60. package/lib/RelayNetworkDebug.js +4 -7
  61. package/lib/RelayParser.js +28 -645
  62. package/lib/RelayProfiler.js +7 -7
  63. package/lib/RelayQueryCaching.js +2 -5
  64. package/lib/RelayRelayDirectiveTransform.js +47 -33
  65. package/lib/RelayRuntimeTypes.js +22 -0
  66. package/lib/RelayShallowMock.js +4 -7
  67. package/lib/RelaySkipHandleFieldTransform.js +13 -11
  68. package/lib/RelayTaskQueue.js +2 -5
  69. package/lib/RelayTransformUtils.js +20 -0
  70. package/lib/RelayTypes.js +2 -5
  71. package/lib/RelayValidator.js +9 -8
  72. package/lib/RelayViewerHandleTransform.js +22 -18
  73. package/lib/SkipClientFieldTransform.js +36 -53
  74. package/lib/SkipRedundantNodesTransform.js +22 -29
  75. package/lib/SkipUnreachableNodeTransform.js +57 -36
  76. package/lib/SourceControl.js +61 -0
  77. package/lib/StripUnusedVariablesTransform.js +86 -41
  78. package/lib/areEqualOSS.js +2 -4
  79. package/lib/compileRelayArtifacts.js +72 -0
  80. package/lib/dedent.js +2 -5
  81. package/lib/dedupeJSONStringify.js +132 -0
  82. package/lib/deepFreeze.js +3 -5
  83. package/lib/deepMergeAssignments.js +68 -0
  84. package/lib/filterContextForNode.js +5 -7
  85. package/lib/formatGeneratedModule.js +5 -9
  86. package/lib/{getIdentifierForRelayArgumentValue.js → getIdentifierForArgumentValue.js} +8 -10
  87. package/lib/getIdentifierForSelection.js +37 -0
  88. package/lib/getLiteralArgumentValues.js +26 -0
  89. package/lib/getModuleName.js +2 -4
  90. package/lib/getRelayHandleKey.js +2 -4
  91. package/lib/isCompatibleRelayFragmentType.js +2 -5
  92. package/lib/isEquivalentType.js +55 -0
  93. package/lib/isPromise.js +2 -5
  94. package/lib/isScalarAndEqual.js +3 -5
  95. package/lib/murmurHash.js +2 -4
  96. package/lib/nullthrowsOSS.js +7 -5
  97. package/lib/recycleNodesInto.js +2 -4
  98. package/lib/relayUnstableBatchedUpdates.js +2 -5
  99. package/lib/relayUnstableBatchedUpdates.native.js +2 -5
  100. package/lib/requestsForOperation.js +75 -0
  101. package/lib/simpleClone.js +2 -4
  102. package/lib/stableCopy.js +35 -0
  103. package/lib/testEditDistance.js +2 -5
  104. package/lib/throwFailedPromise.js +2 -5
  105. package/lib/writeRelayGeneratedFile.js +84 -50
  106. package/package.json +16 -15
  107. package/relay-compiler.js +7208 -5872
  108. package/relay-compiler.min.js +7200 -5867
  109. package/ARCHITECTURE.md +0 -94
  110. package/PATENTS +0 -33
  111. package/lib/AutoAliasTransform.js +0 -80
  112. package/lib/GraphQLFileParser.js +0 -27
  113. package/lib/GraphQLTextParser.js +0 -46
  114. package/lib/RelayCodegenTypes.js +0 -14
  115. package/lib/RelayCompiledTypes.js +0 -13
  116. package/lib/RelayCompiler.js +0 -144
  117. package/lib/RelayCompilerContext.js +0 -133
  118. package/lib/RelayCompilerUserError.js +0 -30
  119. package/lib/RelayConsoleReporter.js +0 -40
  120. package/lib/RelayFileIRParser.js +0 -66
  121. package/lib/RelayFlattenTransform.js +0 -278
  122. package/lib/RelayFlowParser.js +0 -188
  123. package/lib/RelayGenerateRequisiteFieldsTransform.js +0 -189
  124. package/lib/RelayIR.js +0 -14
  125. package/lib/RelayMultiReporter.js +0 -40
  126. package/lib/RelayReporter.js +0 -14
  127. package/lib/RelayTestSchema.js +0 -21
  128. package/lib/formatStorageKey.js +0 -37
  129. package/lib/getIdentifierForRelaySelection.js +0 -54
  130. package/lib/getRelayLiteralArgumentValues.js +0 -28
  131. package/lib/parseGraphQLText.js +0 -33
  132. package/lib/prettyStringify.js +0 -35
  133. package/lib/printFlowTypes.js +0 -282
  134. package/lib/stableJSONStringify.js +0 -45
  135. package/lib/stableJSONStringifyOSS.js +0 -44
  136. package/lib/transformInputObjectToIR.js +0 -85
  137. package/lib/writeLegacyFlowFile.js +0 -24
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Copyright (c) 2013-present, Facebook, Inc.
3
- * All rights reserved.
4
3
  *
5
- * This source code is licensed under the BSD-style license found in the
6
- * LICENSE file in the root directory of this source tree. An additional grant
7
- * of patent rights can be found in the PATENTS file in the same directory.
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
8
6
  *
9
7
  * @providesModule RelayConcreteNode
10
8
  *
@@ -14,19 +12,27 @@
14
12
  'use strict';
15
13
 
16
14
  /**
17
- * Represents a single ConcreteRoot along with metadata for processing it at
18
- * runtime. The persisted `id` (or `text`) can be used to fetch the query,
19
- * the `fragment` can be used to read the root data (masking data from child
20
- * fragments), and the `query` can be used to normalize server responses.
15
+ * Represents a common GraphQL request with `text` (or persisted `id`) can be
16
+ * used to execute it, an `operation` containing information to normalize the
17
+ * results, and a `fragment` derived from that operation to read the response
18
+ * data (masking data from child fragments).
19
+ */
20
+
21
+ /**
22
+ * An experimental wrapper around many operations to request in a batched
23
+ * network request. The composed indivual GraphQL requests should be submitted
24
+ * as a single networked request, e.g. in the case of deferred nodes or
25
+ * for streaming connections that are represented as distinct compiled concrete
26
+ * operations but are still conceptually tied to one source operation.
21
27
  *
22
- * NOTE: The use of "batch" in the name is intentional, as this wrapper around
23
- * the ConcreteRoot will provide a place to store multiple concrete nodes that
24
- * are part of the same batch, e.g. in the case of deferred nodes or
25
- * for streaming connections that are represented as distinct concrete roots but
26
- * are still conceptually tied to one source query.
28
+ * Individual requests within the batch may contain data describing their
29
+ * dependencies on other requests or themselves.
27
30
  */
28
31
  var RelayConcreteNode = {
32
+ BATCH_REQUEST: 'BatchRequest',
29
33
  CONDITION: 'Condition',
34
+ DEFERRABLE_FRAGMENT_SPREAD: 'DeferrableFragmentSpread',
35
+ DEFERRABLE_OPERATION: 'DeferrableOperation',
30
36
  FRAGMENT: 'Fragment',
31
37
  FRAGMENT_SPREAD: 'FragmentSpread',
32
38
  INLINE_FRAGMENT: 'InlineFragment',
@@ -34,11 +40,22 @@ var RelayConcreteNode = {
34
40
  LINKED_HANDLE: 'LinkedHandle',
35
41
  LITERAL: 'Literal',
36
42
  LOCAL_ARGUMENT: 'LocalArgument',
37
- ROOT: 'Root',
43
+ OPERATION: 'Operation',
38
44
  ROOT_ARGUMENT: 'RootArgument',
45
+ REQUEST: 'Request',
39
46
  SCALAR_FIELD: 'ScalarField',
40
47
  SCALAR_HANDLE: 'ScalarHandle',
41
48
  VARIABLE: 'Variable'
42
49
  };
50
+ /**
51
+ * Represents a single operation used to processing and normalize runtime
52
+ * request results.
53
+ */
54
+
55
+ /**
56
+ * Argument in the provided operation to be derived via the results of
57
+ * other requests in the batch.
58
+ */
59
+
43
60
 
44
61
  module.exports = RelayConcreteNode;
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Copyright (c) 2013-present, Facebook, Inc.
3
- * All rights reserved.
4
3
  *
5
- * This source code is licensed under the BSD-style license found in the
6
- * LICENSE file in the root directory of this source tree. An additional grant
7
- * of patent rights can be found in the PATENTS file in the same directory.
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
8
6
  *
9
7
  * @providesModule RelayConnectionConstants
10
8
  *
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Copyright (c) 2013-present, Facebook, Inc.
3
- * All rights reserved.
4
3
  *
5
- * This source code is licensed under the BSD-style license found in the
6
- * LICENSE file in the root directory of this source tree. An additional grant
7
- * of patent rights can be found in the PATENTS file in the same directory.
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
8
6
  *
9
7
  *
10
8
  * @providesModule RelayConnectionTransform
@@ -25,6 +23,8 @@ var _require = require('./RelayConnectionConstants'),
25
23
  FIRST = _require.FIRST,
26
24
  KEY = _require.KEY,
27
25
  LAST = _require.LAST;
26
+ // TODO T21875029 ../../../relay-runtime/RelayRuntime
27
+
28
28
 
29
29
  var _require2 = require('relay-runtime'),
30
30
  ConnectionInterface = _require2.ConnectionInterface;
@@ -38,6 +38,14 @@ var _require3 = require('graphql'),
38
38
  GraphQLUnionType = _require3.GraphQLUnionType,
39
39
  parse = _require3.parse;
40
40
 
41
+ var _require4 = require('./GraphQLCompilerPublic'),
42
+ getLiteralArgumentValues = _require4.getLiteralArgumentValues,
43
+ IRTransformer = _require4.IRTransformer,
44
+ SchemaUtils = _require4.SchemaUtils;
45
+
46
+ // TODO T21875029 ../../../relay-runtime/handlers/connection/RelayConnectionHandler
47
+
48
+
41
49
  var CONNECTION = 'connection';
42
50
 
43
51
  /**
@@ -50,16 +58,16 @@ var CONNECTION = 'connection';
50
58
  * - Inserts a sub-fragment on the field to ensure that standard connection
51
59
  * fields are fetched (e.g. cursors, node ids, page info).
52
60
  */
53
- function transform(context) {
54
- return require('./RelayIRTransformer').transform(context, {
61
+ function relayConnectionTransform(context) {
62
+ return IRTransformer.transform(context, {
55
63
  Fragment: visitFragmentOrRoot,
56
64
  LinkedField: visitLinkedField,
57
65
  Root: visitFragmentOrRoot
58
- }, function () {
66
+ }, function (node) {
59
67
  return {
60
68
  path: [],
61
69
  connectionMetadata: [],
62
- definitionName: null
70
+ definitionName: node.name
63
71
  };
64
72
  });
65
73
  }
@@ -70,11 +78,8 @@ var SCHEMA_EXTENSION = 'directive @connection(key: String!, filters: [String]) o
70
78
  * @internal
71
79
  */
72
80
  function visitFragmentOrRoot(node, options) {
73
- var passedOptions = (0, _extends3['default'])({}, options, {
74
- definitionName: node.name
75
- });
76
- var transformedNode = this.traverse(node, passedOptions);
77
- var connectionMetadata = passedOptions.connectionMetadata;
81
+ var transformedNode = this.traverse(node, options);
82
+ var connectionMetadata = options.connectionMetadata;
78
83
  if (connectionMetadata.length) {
79
84
  return (0, _extends3['default'])({}, transformedNode, {
80
85
  metadata: (0, _extends3['default'])({}, transformedNode.metadata, {
@@ -89,7 +94,7 @@ function visitFragmentOrRoot(node, options) {
89
94
  * @internal
90
95
  */
91
96
  function visitLinkedField(field, options) {
92
- var isPlural = require('./GraphQLSchemaUtils').getNullableType(field.type) instanceof GraphQLList;
97
+ var isPlural = SchemaUtils.getNullableType(field.type) instanceof GraphQLList;
93
98
  options.path.push(isPlural ? null : field.alias || field.name);
94
99
  var transformedField = this.traverse(field, options);
95
100
  var connectionDirective = field.directives.find(function (directive) {
@@ -101,7 +106,6 @@ function visitLinkedField(field, options) {
101
106
  }
102
107
  var definitionName = options.definitionName;
103
108
 
104
- require('fbjs/lib/invariant')(definitionName, 'RelayConnectionTransform: Transform error, expected a name to have ' + 'been set by the parent operation or fragment definition.');
105
109
  validateConnectionSelection(definitionName, transformedField);
106
110
  validateConnectionType(definitionName, transformedField.type);
107
111
 
@@ -130,9 +134,9 @@ function visitLinkedField(field, options) {
130
134
  });
131
135
  options.path.pop();
132
136
 
133
- var _getRelayLiteralArgum = require('./getRelayLiteralArgumentValues')(connectionDirective.args),
134
- key = _getRelayLiteralArgum.key,
135
- filters = _getRelayLiteralArgum.filters;
137
+ var _getLiteralArgumentVa = getLiteralArgumentValues(connectionDirective.args),
138
+ key = _getLiteralArgumentVa.key,
139
+ filters = _getLiteralArgumentVa.filters;
136
140
 
137
141
  require('fbjs/lib/invariant')(typeof key === 'string', 'RelayConnectionTransform: Expected the %s argument to @%s to ' + 'be a string literal for field %s', KEY, CONNECTION, field.name);
138
142
  var postfix = '' + (field.alias || field.name);
@@ -187,7 +191,7 @@ function generateConnectionFragment(context, type, direction) {
187
191
  PAGE_INFO = _ConnectionInterface$.PAGE_INFO,
188
192
  START_CURSOR = _ConnectionInterface$.START_CURSOR;
189
193
 
190
- var compositeType = assertCompositeType(require('./GraphQLSchemaUtils').getNullableType(type));
194
+ var compositeType = assertCompositeType(SchemaUtils.getNullableType(type));
191
195
 
192
196
  var pageInfo = PAGE_INFO;
193
197
  if (direction === 'forward') {
@@ -201,7 +205,7 @@ function generateConnectionFragment(context, type, direction) {
201
205
  var ast = parse(fragmentString);
202
206
  var fragmentAST = ast.definitions[0];
203
207
  require('fbjs/lib/invariant')(fragmentAST && fragmentAST.kind === 'FragmentDefinition', 'RelayConnectionTransform: Expected a fragment definition AST.');
204
- var fragment = require('./RelayParser').transform(context.schema, fragmentAST);
208
+ var fragment = require('./RelayParser').transform(context.clientSchema, fragmentAST);
205
209
  require('fbjs/lib/invariant')(fragment && fragment.kind === 'Fragment', 'RelayConnectionTransform: Expected a connection fragment.');
206
210
  return {
207
211
  directives: [],
@@ -261,46 +265,38 @@ function validateConnectionType(definitionName, type) {
261
265
  PAGE_INFO = _ConnectionInterface$3.PAGE_INFO,
262
266
  START_CURSOR = _ConnectionInterface$3.START_CURSOR;
263
267
 
264
- var typeWithFields = require('./GraphQLSchemaUtils').assertTypeWithFields(require('./GraphQLSchemaUtils').getNullableType(type));
268
+ var typeWithFields = SchemaUtils.assertTypeWithFields(SchemaUtils.getNullableType(type));
265
269
  var typeFields = typeWithFields.getFields();
266
270
  var edges = typeFields[EDGES];
267
271
 
268
272
  require('fbjs/lib/invariant')(edges, 'RelayConnectionTransform: Expected type `%s` to have an %s field in ' + 'document `%s`.', type, EDGES, definitionName);
269
273
 
270
- var edgesType = require('./GraphQLSchemaUtils').getNullableType(edges.type);
274
+ var edgesType = SchemaUtils.getNullableType(edges.type);
271
275
  require('fbjs/lib/invariant')(edgesType instanceof GraphQLList, 'RelayConnectionTransform: Expected `%s` field on type `%s` to be a ' + 'list type in document `%s`.', EDGES, type, definitionName);
272
- var edgeType = require('./GraphQLSchemaUtils').getNullableType(edgesType.ofType);
276
+ var edgeType = SchemaUtils.getNullableType(edgesType.ofType);
273
277
  require('fbjs/lib/invariant')(edgeType instanceof GraphQLObjectType, 'RelayConnectionTransform: Expected %s field on type `%s` to be a list ' + 'of objects in document `%s`.', EDGES, type, definitionName);
274
278
 
275
279
  var node = edgeType.getFields()[NODE];
276
280
  require('fbjs/lib/invariant')(node, 'RelayConnectionTransform: Expected type `%s` to have an %s.%s field in ' + 'document `%s`.', type, EDGES, NODE, definitionName);
277
- var nodeType = require('./GraphQLSchemaUtils').getNullableType(node.type);
278
- if (!(nodeType instanceof GraphQLInterfaceType || nodeType instanceof GraphQLUnionType || nodeType instanceof GraphQLObjectType)) {
279
- require('fbjs/lib/invariant')(false, 'RelayConnectionTransform: Expected type `%s` to have an %s.%s field' + 'for which the type is an interface, object, or union in document `%s`.', type, EDGES, NODE, definitionName);
280
- }
281
+ var nodeType = SchemaUtils.getNullableType(node.type);
282
+ require('fbjs/lib/invariant')(nodeType instanceof GraphQLInterfaceType || nodeType instanceof GraphQLUnionType || nodeType instanceof GraphQLObjectType, 'RelayConnectionTransform: Expected type `%s` to have an %s.%s field' + 'for which the type is an interface, object, or union in document `%s`.', type, EDGES, NODE, definitionName);
281
283
 
282
284
  var cursor = edgeType.getFields()[CURSOR];
283
- if (!cursor || !(require('./GraphQLSchemaUtils').getNullableType(cursor.type) instanceof GraphQLScalarType)) {
284
- require('fbjs/lib/invariant')(false, 'RelayConnectionTransform: Expected type `%s` to have an ' + '%s.%s field for which the type is a scalar in document `%s`.', type, EDGES, CURSOR, definitionName);
285
- }
285
+ require('fbjs/lib/invariant')(cursor && SchemaUtils.getNullableType(cursor.type) instanceof GraphQLScalarType, 'RelayConnectionTransform: Expected type `%s` to have an ' + '%s.%s field for which the type is a scalar in document `%s`.', type, EDGES, CURSOR, definitionName);
286
286
 
287
287
  var pageInfo = typeFields[PAGE_INFO];
288
288
  require('fbjs/lib/invariant')(pageInfo, 'RelayConnectionTransform: Expected type `%s` to have a %s field ' + 'in document `%s`.', type, PAGE_INFO, definitionName);
289
- var pageInfoType = require('./GraphQLSchemaUtils').getNullableType(pageInfo.type);
290
- if (!(pageInfoType instanceof GraphQLObjectType)) {
291
- require('fbjs/lib/invariant')(false, 'RelayConnectionTransform: Expected type `%s` to have a %s field for ' + 'which the type is an object in document `%s`.', type, PAGE_INFO, definitionName);
292
- }
289
+ var pageInfoType = SchemaUtils.getNullableType(pageInfo.type);
290
+ require('fbjs/lib/invariant')(pageInfoType instanceof GraphQLObjectType, 'RelayConnectionTransform: Expected type `%s` to have a %s field for ' + 'which the type is an object in document `%s`.', type, PAGE_INFO, definitionName);
293
291
 
294
292
  [END_CURSOR, HAS_NEXT_PAGE, HAS_PREV_PAGE, START_CURSOR].forEach(function (fieldName) {
295
293
  var pageInfoField = pageInfoType.getFields()[fieldName];
296
- if (!pageInfoField || !(require('./GraphQLSchemaUtils').getNullableType(pageInfoField.type) instanceof GraphQLScalarType)) {
297
- require('fbjs/lib/invariant')(false, 'RelayConnectionTransform: Expected type `%s` to have an ' + '%s field for which the type is an scalar in document `%s`.', pageInfo.type, fieldName, definitionName);
298
- }
294
+ require('fbjs/lib/invariant')(pageInfoField && SchemaUtils.getNullableType(pageInfoField.type) instanceof GraphQLScalarType, 'RelayConnectionTransform: Expected type `%s` to have an ' + '%s field for which the type is an scalar in document `%s`.', pageInfo.type, fieldName, definitionName);
299
295
  });
300
296
  }
301
297
 
302
298
  module.exports = {
303
299
  CONNECTION: CONNECTION,
304
300
  SCHEMA_EXTENSION: SCHEMA_EXTENSION,
305
- transform: transform
301
+ transform: relayConnectionTransform
306
302
  };
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Copyright (c) 2013-present, Facebook, Inc.
3
- * All rights reserved.
4
3
  *
5
- * This source code is licensed under the BSD-style license found in the
6
- * LICENSE file in the root directory of this source tree. An additional grant
7
- * of patent rights can be found in the PATENTS file in the same directory.
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
8
6
  *
9
7
  * @providesModule RelayDefaultHandleKey
10
8
  *