@apollo/federation-internals 2.0.0-alpha.6 → 2.0.0-preview.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +43 -3
  2. package/dist/buildSchema.d.ts +7 -3
  3. package/dist/buildSchema.d.ts.map +1 -1
  4. package/dist/buildSchema.js +94 -61
  5. package/dist/buildSchema.js.map +1 -1
  6. package/dist/coreSpec.d.ts +39 -9
  7. package/dist/coreSpec.d.ts.map +1 -1
  8. package/dist/coreSpec.js +232 -42
  9. package/dist/coreSpec.js.map +1 -1
  10. package/dist/definitions.d.ts +71 -51
  11. package/dist/definitions.d.ts.map +1 -1
  12. package/dist/definitions.js +326 -231
  13. package/dist/definitions.js.map +1 -1
  14. package/dist/directiveAndTypeSpecification.d.ts +48 -0
  15. package/dist/directiveAndTypeSpecification.d.ts.map +1 -0
  16. package/dist/directiveAndTypeSpecification.js +253 -0
  17. package/dist/directiveAndTypeSpecification.js.map +1 -0
  18. package/dist/error.d.ts +21 -1
  19. package/dist/error.d.ts.map +1 -1
  20. package/dist/error.js +63 -3
  21. package/dist/error.js.map +1 -1
  22. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  23. package/dist/extractSubgraphsFromSupergraph.js +42 -97
  24. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  25. package/dist/federation.d.ts +102 -46
  26. package/dist/federation.d.ts.map +1 -1
  27. package/dist/federation.js +762 -234
  28. package/dist/federation.js.map +1 -1
  29. package/dist/federationSpec.d.ts +23 -0
  30. package/dist/federationSpec.d.ts.map +1 -0
  31. package/dist/federationSpec.js +117 -0
  32. package/dist/federationSpec.js.map +1 -0
  33. package/dist/inaccessibleSpec.d.ts +5 -1
  34. package/dist/inaccessibleSpec.d.ts.map +1 -1
  35. package/dist/inaccessibleSpec.js +31 -3
  36. package/dist/inaccessibleSpec.js.map +1 -1
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +9 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/introspection.d.ts.map +1 -1
  42. package/dist/introspection.js +8 -3
  43. package/dist/introspection.js.map +1 -1
  44. package/dist/joinSpec.d.ts +6 -1
  45. package/dist/joinSpec.d.ts.map +1 -1
  46. package/dist/joinSpec.js +22 -0
  47. package/dist/joinSpec.js.map +1 -1
  48. package/dist/knownCoreFeatures.d.ts +4 -0
  49. package/dist/knownCoreFeatures.d.ts.map +1 -0
  50. package/dist/knownCoreFeatures.js +16 -0
  51. package/dist/knownCoreFeatures.js.map +1 -0
  52. package/dist/operations.d.ts +9 -1
  53. package/dist/operations.d.ts.map +1 -1
  54. package/dist/operations.js +27 -5
  55. package/dist/operations.js.map +1 -1
  56. package/dist/precompute.d.ts +3 -0
  57. package/dist/precompute.d.ts.map +1 -0
  58. package/dist/precompute.js +51 -0
  59. package/dist/precompute.js.map +1 -0
  60. package/dist/print.d.ts +11 -9
  61. package/dist/print.d.ts.map +1 -1
  62. package/dist/print.js +32 -22
  63. package/dist/print.js.map +1 -1
  64. package/dist/schemaUpgrader.d.ts +108 -0
  65. package/dist/schemaUpgrader.d.ts.map +1 -0
  66. package/dist/schemaUpgrader.js +497 -0
  67. package/dist/schemaUpgrader.js.map +1 -0
  68. package/dist/suggestions.d.ts +1 -1
  69. package/dist/suggestions.d.ts.map +1 -1
  70. package/dist/suggestions.js.map +1 -1
  71. package/dist/supergraphs.d.ts.map +1 -1
  72. package/dist/supergraphs.js +3 -3
  73. package/dist/supergraphs.js.map +1 -1
  74. package/dist/tagSpec.d.ts +7 -2
  75. package/dist/tagSpec.d.ts.map +1 -1
  76. package/dist/tagSpec.js +36 -16
  77. package/dist/tagSpec.js.map +1 -1
  78. package/dist/utils.d.ts +7 -0
  79. package/dist/utils.d.ts.map +1 -1
  80. package/dist/utils.js +34 -1
  81. package/dist/utils.js.map +1 -1
  82. package/dist/validate.d.ts.map +1 -1
  83. package/dist/validate.js +19 -11
  84. package/dist/validate.js.map +1 -1
  85. package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +1 -1
  86. package/dist/validation/KnownTypeNamesInFederationRule.js +1 -2
  87. package/dist/validation/KnownTypeNamesInFederationRule.js.map +1 -1
  88. package/dist/values.d.ts +1 -0
  89. package/dist/values.d.ts.map +1 -1
  90. package/dist/values.js +3 -2
  91. package/dist/values.js.map +1 -1
  92. package/package.json +4 -4
  93. package/src/__tests__/coreSpec.test.ts +100 -0
  94. package/src/__tests__/definitions.test.ts +98 -17
  95. package/src/__tests__/extractSubgraphsFromSupergraph.test.ts +64 -0
  96. package/src/__tests__/federation.test.ts +31 -0
  97. package/src/__tests__/operations.test.ts +2 -3
  98. package/src/__tests__/removeInaccessibleElements.test.ts +59 -6
  99. package/src/__tests__/schemaUpgrader.test.ts +169 -0
  100. package/src/__tests__/subgraphValidation.test.ts +422 -21
  101. package/src/__tests__/values.test.ts +2 -4
  102. package/src/buildSchema.ts +154 -84
  103. package/src/coreSpec.ts +294 -55
  104. package/src/definitions.ts +415 -275
  105. package/src/directiveAndTypeSpecification.ts +353 -0
  106. package/src/error.ts +143 -5
  107. package/src/extractSubgraphsFromSupergraph.ts +56 -122
  108. package/src/federation.ts +991 -302
  109. package/src/federationSpec.ts +146 -0
  110. package/src/inaccessibleSpec.ts +39 -11
  111. package/src/index.ts +4 -0
  112. package/src/introspection.ts +8 -3
  113. package/src/joinSpec.ts +35 -4
  114. package/src/knownCoreFeatures.ts +13 -0
  115. package/src/operations.ts +37 -7
  116. package/src/precompute.ts +65 -0
  117. package/src/print.ts +63 -48
  118. package/src/schemaUpgrader.ts +653 -0
  119. package/src/suggestions.ts +1 -1
  120. package/src/supergraphs.ts +4 -3
  121. package/src/tagSpec.ts +50 -18
  122. package/src/utils.ts +63 -0
  123. package/src/validate.ts +27 -16
  124. package/src/validation/KnownTypeNamesInFederationRule.ts +1 -7
  125. package/src/values.ts +7 -3
  126. package/tsconfig.test.tsbuildinfo +1 -1
  127. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,10 +1,50 @@
1
1
  # CHANGELOG for `@apollo/federation-internals`
2
2
 
3
- ## vNEXT
3
+ ## v2.0.0-preview.10
4
4
 
5
- > The changes noted within this `vNEXT` section have not been released yet. New PRs and commits which introduce changes should include an entry in this `vNEXT` section as part of their development. When a release is being prepared, a new header will be (manually) created below and the appropriate changes within that release will be moved into the new section.
5
+ - Released in sync with other federation packages but no changes to this package.
6
6
 
7
- - _Nothing yet! Stay tuned!_
7
+ ## v2.0.0-preview.9
8
+
9
+ - Adds Support for `@tag/v0.2`, which allows the `@tag` directive to be additionally placed on arguments, scalars, enums, enum values, input objects, and input object fields. [PR #1652](https://github.com/apollographql/federation/pull/1652).
10
+ - Add missing `includeDeprecated` argument for `args` and `inputFields` when defining introspection fields [PR #1584](https://github.com/apollographql/federation/pull/1584)
11
+ - Adds support for the `@override` directive on fields to indicate that a field should be moved from one subgraph to another. [PR #1484](https://github.com/apollographql/federation/pull/1484)
12
+
13
+ ## v2.0.0-preview.8
14
+
15
+ - Released in sync with other federation packages but no changes to this package.
16
+
17
+ ## v2.0.0-preview.7
18
+
19
+ - Released in sync with other federation packages but no changes to this package.
20
+
21
+ ## v2.0.0-preview.6
22
+
23
+ - Released in sync with other federation packages but no changes to this package.
24
+
25
+ ## v2.0.0-preview.5
26
+
27
+ - Fix propagation of `@tag` to the supergraph and allows @tag to be repeated. Additionally, merged directives (only `@tag` and `@deprecated` currently) are not allowed on external fields anymore [PR #1592](https://github.com/apollographql/federation/pull/1592).
28
+
29
+ ## v2.0.0-preview.4
30
+
31
+ - Make error messages more actionable when constructing subgraphs from a supergraph [PR #1586](https://github.com/apollographql/federation/pull/1586)
32
+
33
+ ## v2.0.0-preview.3
34
+
35
+ - Fix issue that created type extensions with descriptions, which is invalid graphQL syntax [PR #1582](https://github.com/apollographql/federation/pull/1582).
36
+
37
+ ## v2.0.0-preview.2
38
+
39
+ - Re-publishing release which published to npm with stale build artifacts from `version-0.x` release.
40
+
41
+ ## v2.0.0-preview.1
42
+
43
+ - No-op publish to account for publishing difficulties.
44
+
45
+ ## v2.0.0-preview.0
46
+
47
+ - Initial "preview" release.
8
48
 
9
49
  ## v2.0.0-alpha.6
10
50
 
@@ -1,6 +1,10 @@
1
1
  import { DocumentNode, Source } from "graphql";
2
- import { BuiltIns, Schema, Type } from "./definitions";
3
- export declare function buildSchema(source: string | Source, builtIns?: BuiltIns, validate?: boolean): Schema;
4
- export declare function buildSchemaFromAST(documentNode: DocumentNode, builtIns?: BuiltIns, validate?: boolean): Schema;
2
+ import { SchemaBlueprint, Schema, Type } from "./definitions";
3
+ export declare type BuildSchemaOptions = {
4
+ blueprint?: SchemaBlueprint;
5
+ validate?: boolean;
6
+ };
7
+ export declare function buildSchema(source: string | Source, options?: BuildSchemaOptions): Schema;
8
+ export declare function buildSchemaFromAST(documentNode: DocumentNode, options?: BuildSchemaOptions): Schema;
5
9
  export declare function builtTypeReference(encodedType: string, schema: Schema): Type;
6
10
  //# sourceMappingURL=buildSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAMZ,MAAM,EAWP,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,QAAQ,EACR,MAAM,EAUN,IAAI,EAcL,MAAM,eAAe,CAAC;AAcvB,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,QAA0B,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,CAE3H;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,GAAE,QAA0B,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,CAyDrI;AA4MD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5E"}
1
+ {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAMZ,MAAM,EAUP,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,eAAe,EACf,MAAM,EASN,IAAI,EAgBL,MAAM,eAAe,CAAC;AAMvB,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEzF;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAkER;AA4PD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5E"}
@@ -2,38 +2,43 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.builtTypeReference = exports.buildSchemaFromAST = exports.buildSchema = void 0;
4
4
  const graphql_1 = require("graphql");
5
+ const values_1 = require("./values");
5
6
  const definitions_1 = require("./definitions");
6
7
  function buildValue(value) {
7
- return value ? (0, graphql_1.valueFromASTUntyped)(value) : undefined;
8
+ return value ? (0, values_1.valueFromASTUntyped)(value) : undefined;
8
9
  }
9
- function buildSchema(source, builtIns = definitions_1.graphQLBuiltIns, validate = true) {
10
- return buildSchemaFromAST((0, graphql_1.parse)(source), builtIns, validate);
10
+ function buildSchema(source, options) {
11
+ return buildSchemaFromAST((0, graphql_1.parse)(source), options);
11
12
  }
12
13
  exports.buildSchema = buildSchema;
13
- function buildSchemaFromAST(documentNode, builtIns = definitions_1.graphQLBuiltIns, validate = true) {
14
- const schema = new definitions_1.Schema(builtIns);
15
- const directiveDefinitionNodes = buildNamedTypeAndDirectivesShallow(documentNode, schema);
16
- for (const directiveDefinitionNode of directiveDefinitionNodes) {
17
- buildDirectiveDefinitionInner(directiveDefinitionNode, schema.directive(directiveDefinitionNode.name.value));
14
+ function buildSchemaFromAST(documentNode, options) {
15
+ var _a;
16
+ const errors = [];
17
+ const schema = new definitions_1.Schema(options === null || options === void 0 ? void 0 : options.blueprint);
18
+ const { directiveDefinitions, schemaDefinitions, schemaExtensions } = buildNamedTypeAndDirectivesShallow(documentNode, schema);
19
+ for (const directiveDefinitionNode of directiveDefinitions) {
20
+ buildDirectiveDefinitionInner(directiveDefinitionNode, schema.directive(directiveDefinitionNode.name.value), errors);
21
+ }
22
+ for (const schemaDefinition of schemaDefinitions) {
23
+ buildSchemaDefinitionInner(schemaDefinition, schema.schemaDefinition, errors);
24
+ }
25
+ for (const schemaExtension of schemaExtensions) {
26
+ buildSchemaDefinitionInner(schemaExtension, schema.schemaDefinition, errors, schema.schemaDefinition.newExtension());
18
27
  }
28
+ errors.push(...schema.blueprint.onDirectiveDefinitionAndSchemaParsed(schema));
19
29
  for (const definitionNode of documentNode.definitions) {
20
30
  switch (definitionNode.kind) {
21
31
  case 'OperationDefinition':
22
32
  case 'FragmentDefinition':
23
- throw new graphql_1.GraphQLError("Invalid executable definition found while building schema", definitionNode);
24
- case 'SchemaDefinition':
25
- buildSchemaDefinitionInner(definitionNode, schema.schemaDefinition);
26
- break;
27
- case 'SchemaExtension':
28
- buildSchemaDefinitionInner(definitionNode, schema.schemaDefinition, schema.schemaDefinition.newExtension());
29
- break;
33
+ errors.push(new graphql_1.GraphQLError("Invalid executable definition found while building schema", definitionNode));
34
+ continue;
30
35
  case 'ScalarTypeDefinition':
31
36
  case 'ObjectTypeDefinition':
32
37
  case 'InterfaceTypeDefinition':
33
38
  case 'UnionTypeDefinition':
34
39
  case 'EnumTypeDefinition':
35
40
  case 'InputObjectTypeDefinition':
36
- buildNamedTypeInner(definitionNode, schema.type(definitionNode.name.value));
41
+ buildNamedTypeInner(definitionNode, schema.type(definitionNode.name.value), schema.blueprint, errors);
37
42
  break;
38
43
  case 'ScalarTypeExtension':
39
44
  case 'ObjectTypeExtension':
@@ -44,21 +49,31 @@ function buildSchemaFromAST(documentNode, builtIns = definitions_1.graphQLBuiltI
44
49
  const toExtend = schema.type(definitionNode.name.value);
45
50
  const extension = toExtend.newExtension();
46
51
  extension.sourceAST = definitionNode;
47
- buildNamedTypeInner(definitionNode, toExtend, extension);
52
+ buildNamedTypeInner(definitionNode, toExtend, schema.blueprint, errors, extension);
48
53
  break;
49
54
  }
50
55
  }
51
- definitions_1.Schema.prototype['forceSetCachedDocument'].call(schema, documentNode);
52
- if (validate) {
56
+ if (errors.length > 0) {
57
+ throw (0, definitions_1.ErrGraphQLValidationFailed)(errors);
58
+ }
59
+ if ((_a = options === null || options === void 0 ? void 0 : options.validate) !== null && _a !== void 0 ? _a : true) {
53
60
  schema.validate();
54
61
  }
55
62
  return schema;
56
63
  }
57
64
  exports.buildSchemaFromAST = buildSchemaFromAST;
58
65
  function buildNamedTypeAndDirectivesShallow(documentNode, schema) {
59
- const directiveDefinitionNodes = [];
66
+ const directiveDefinitions = [];
67
+ const schemaDefinitions = [];
68
+ const schemaExtensions = [];
60
69
  for (const definitionNode of documentNode.definitions) {
61
70
  switch (definitionNode.kind) {
71
+ case 'SchemaDefinition':
72
+ schemaDefinitions.push(definitionNode);
73
+ break;
74
+ case 'SchemaExtension':
75
+ schemaExtensions.push(definitionNode);
76
+ break;
62
77
  case 'ScalarTypeDefinition':
63
78
  case 'ObjectTypeDefinition':
64
79
  case 'InterfaceTypeDefinition':
@@ -77,12 +92,16 @@ function buildNamedTypeAndDirectivesShallow(documentNode, schema) {
77
92
  }
78
93
  break;
79
94
  case 'DirectiveDefinition':
80
- directiveDefinitionNodes.push(definitionNode);
95
+ directiveDefinitions.push(definitionNode);
81
96
  schema.addDirectiveDefinition(definitionNode.name.value);
82
97
  break;
83
98
  }
84
99
  }
85
- return directiveDefinitionNodes;
100
+ return {
101
+ directiveDefinitions,
102
+ schemaDefinitions,
103
+ schemaExtensions,
104
+ };
86
105
  }
87
106
  function withoutTrailingDefinition(str) {
88
107
  const endString = str.endsWith('Definition') ? 'Definition' : 'Extension';
@@ -95,37 +114,42 @@ function getReferencedType(node, schema) {
95
114
  }
96
115
  return type;
97
116
  }
98
- function withNodeAttachedToError(operation, node) {
117
+ function withNodeAttachedToError(operation, node, errors) {
99
118
  try {
100
119
  operation();
101
120
  }
102
121
  catch (e) {
103
- if (e instanceof graphql_1.GraphQLError) {
104
- const allNodes = e.nodes ? [node, ...e.nodes] : node;
105
- throw new graphql_1.GraphQLError(e.message, allNodes, e.source, e.positions, e.path, e, e.extensions);
122
+ const causes = (0, definitions_1.errorCauses)(e);
123
+ if (causes) {
124
+ for (const cause of causes) {
125
+ const allNodes = cause.nodes ? [node, ...cause.nodes] : node;
126
+ errors.push(new graphql_1.GraphQLError(cause.message, allNodes, cause.source, cause.positions, cause.path, cause, cause.extensions));
127
+ }
106
128
  }
107
129
  else {
108
130
  throw e;
109
131
  }
110
132
  }
111
133
  }
112
- function buildSchemaDefinitionInner(schemaNode, schemaDefinition, extension) {
134
+ function buildSchemaDefinitionInner(schemaNode, schemaDefinition, errors, extension) {
113
135
  var _a, _b;
114
136
  for (const opTypeNode of (_a = schemaNode.operationTypes) !== null && _a !== void 0 ? _a : []) {
115
- withNodeAttachedToError(() => schemaDefinition.setRoot(opTypeNode.operation, opTypeNode.type.name.value).setOfExtension(extension), opTypeNode);
137
+ withNodeAttachedToError(() => schemaDefinition.setRoot(opTypeNode.operation, opTypeNode.type.name.value).setOfExtension(extension), opTypeNode, errors);
116
138
  }
117
139
  schemaDefinition.sourceAST = schemaNode;
118
- schemaDefinition.description = 'description' in schemaNode ? (_b = schemaNode.description) === null || _b === void 0 ? void 0 : _b.value : undefined;
119
- buildAppliedDirectives(schemaNode, schemaDefinition, extension);
140
+ if ('description' in schemaNode) {
141
+ schemaDefinition.description = (_b = schemaNode.description) === null || _b === void 0 ? void 0 : _b.value;
142
+ }
143
+ buildAppliedDirectives(schemaNode, schemaDefinition, errors, extension);
120
144
  }
121
- function buildAppliedDirectives(elementNode, element, extension) {
145
+ function buildAppliedDirectives(elementNode, element, errors, extension) {
122
146
  var _a;
123
147
  for (const directive of (_a = elementNode.directives) !== null && _a !== void 0 ? _a : []) {
124
148
  withNodeAttachedToError(() => {
125
149
  const d = element.applyDirective(directive.name.value, buildArgs(directive));
126
150
  d.setOfExtension(extension);
127
151
  d.sourceAST = directive;
128
- }, directive);
152
+ }, directive, errors);
129
153
  }
130
154
  }
131
155
  function buildArgs(argumentsNode) {
@@ -136,8 +160,8 @@ function buildArgs(argumentsNode) {
136
160
  }
137
161
  return args;
138
162
  }
139
- function buildNamedTypeInner(definitionNode, type, extension) {
140
- var _a, _b, _c, _d, _e, _f, _g;
163
+ function buildNamedTypeInner(definitionNode, type, blueprint, errors, extension) {
164
+ var _a, _b, _c, _d, _e;
141
165
  switch (definitionNode.kind) {
142
166
  case 'ObjectTypeDefinition':
143
167
  case 'ObjectTypeExtension':
@@ -145,18 +169,21 @@ function buildNamedTypeInner(definitionNode, type, extension) {
145
169
  case 'InterfaceTypeExtension':
146
170
  const fieldBasedType = type;
147
171
  for (const fieldNode of (_a = definitionNode.fields) !== null && _a !== void 0 ? _a : []) {
172
+ if (blueprint.ignoreParsedField(type, fieldNode.name.value)) {
173
+ continue;
174
+ }
148
175
  const field = fieldBasedType.addField(fieldNode.name.value);
149
176
  field.setOfExtension(extension);
150
- buildFieldDefinitionInner(fieldNode, field);
177
+ buildFieldDefinitionInner(fieldNode, field, errors);
151
178
  }
152
179
  for (const itfNode of (_b = definitionNode.interfaces) !== null && _b !== void 0 ? _b : []) {
153
180
  withNodeAttachedToError(() => {
154
181
  const itfName = itfNode.name.value;
155
182
  if (fieldBasedType.implementsInterface(itfName)) {
156
- throw new graphql_1.GraphQLError(`Type ${type} can only implement ${itfName} once.`);
183
+ throw new graphql_1.GraphQLError(`Type "${type}" can only implement "${itfName}" once.`);
157
184
  }
158
185
  fieldBasedType.addImplementedInterface(itfName).setOfExtension(extension);
159
- }, itfNode);
186
+ }, itfNode, errors);
160
187
  }
161
188
  break;
162
189
  case 'UnionTypeDefinition':
@@ -166,10 +193,10 @@ function buildNamedTypeInner(definitionNode, type, extension) {
166
193
  withNodeAttachedToError(() => {
167
194
  const name = namedType.name.value;
168
195
  if (unionType.hasTypeMember(name)) {
169
- throw new graphql_1.GraphQLError(`Union type ${unionType} can only include type ${name} once.`);
196
+ throw new graphql_1.GraphQLError(`Union type "${unionType}" can only include type "${name}" once.`);
170
197
  }
171
198
  unionType.addType(name).setOfExtension(extension);
172
- }, namedType);
199
+ }, namedType, errors);
173
200
  }
174
201
  break;
175
202
  case 'EnumTypeDefinition':
@@ -177,50 +204,56 @@ function buildNamedTypeInner(definitionNode, type, extension) {
177
204
  const enumType = type;
178
205
  for (const enumVal of (_d = definitionNode.values) !== null && _d !== void 0 ? _d : []) {
179
206
  const v = enumType.addValue(enumVal.name.value);
180
- v.description = (_e = enumVal.description) === null || _e === void 0 ? void 0 : _e.value;
207
+ if (enumVal.description) {
208
+ v.description = enumVal.description.value;
209
+ }
181
210
  v.setOfExtension(extension);
182
- buildAppliedDirectives(enumVal, v);
211
+ buildAppliedDirectives(enumVal, v, errors);
183
212
  }
184
213
  break;
185
214
  case 'InputObjectTypeDefinition':
186
215
  case 'InputObjectTypeExtension':
187
216
  const inputObjectType = type;
188
- for (const fieldNode of (_f = definitionNode.fields) !== null && _f !== void 0 ? _f : []) {
217
+ for (const fieldNode of (_e = definitionNode.fields) !== null && _e !== void 0 ? _e : []) {
189
218
  const field = inputObjectType.addField(fieldNode.name.value);
190
219
  field.setOfExtension(extension);
191
- buildInputFieldDefinitionInner(fieldNode, field);
220
+ buildInputFieldDefinitionInner(fieldNode, field, errors);
192
221
  }
193
222
  break;
194
223
  }
195
- buildAppliedDirectives(definitionNode, type, extension);
196
- type.description = (_g = definitionNode.description) === null || _g === void 0 ? void 0 : _g.value;
224
+ buildAppliedDirectives(definitionNode, type, errors, extension);
225
+ if (definitionNode.description) {
226
+ type.description = definitionNode.description.value;
227
+ }
197
228
  type.sourceAST = definitionNode;
198
229
  }
199
- function buildFieldDefinitionInner(fieldNode, field) {
230
+ function buildFieldDefinitionInner(fieldNode, field, errors) {
200
231
  var _a, _b;
201
232
  const type = buildTypeReferenceFromAST(fieldNode.type, field.schema());
202
- field.type = ensureOutputType(type, field.coordinate, fieldNode);
233
+ field.type = validateOutputType(type, field.coordinate, fieldNode, errors);
203
234
  for (const inputValueDef of (_a = fieldNode.arguments) !== null && _a !== void 0 ? _a : []) {
204
- buildArgumentDefinitionInner(inputValueDef, field.addArgument(inputValueDef.name.value));
235
+ buildArgumentDefinitionInner(inputValueDef, field.addArgument(inputValueDef.name.value), errors);
205
236
  }
206
- buildAppliedDirectives(fieldNode, field);
237
+ buildAppliedDirectives(fieldNode, field, errors);
207
238
  field.description = (_b = fieldNode.description) === null || _b === void 0 ? void 0 : _b.value;
208
239
  field.sourceAST = fieldNode;
209
240
  }
210
- function ensureOutputType(type, what, node) {
241
+ function validateOutputType(type, what, node, errors) {
211
242
  if ((0, definitions_1.isOutputType)(type)) {
212
243
  return type;
213
244
  }
214
245
  else {
215
- throw new graphql_1.GraphQLError(`The type of ${what} must be Output Type but got: ${type}, a ${type.kind}.`, node);
246
+ errors.push(new graphql_1.GraphQLError(`The type of "${what}" must be Output Type but got "${type}", a ${type.kind}.`, node));
247
+ return undefined;
216
248
  }
217
249
  }
218
- function ensureInputType(type, what, node) {
250
+ function validateInputType(type, what, node, errors) {
219
251
  if ((0, definitions_1.isInputType)(type)) {
220
252
  return type;
221
253
  }
222
254
  else {
223
- throw new graphql_1.GraphQLError(`The type of ${what} must be Input Type but got: ${type}, a ${type.kind}.`, node);
255
+ errors.push(new graphql_1.GraphQLError(`The type of "${what}" must be Input Type but got "${type}", a ${type.kind}.`, node));
256
+ return undefined;
224
257
  }
225
258
  }
226
259
  function builtTypeReference(encodedType, schema) {
@@ -241,28 +274,28 @@ function buildTypeReferenceFromAST(typeNode, schema) {
241
274
  return getReferencedType(typeNode, schema);
242
275
  }
243
276
  }
244
- function buildArgumentDefinitionInner(inputNode, arg) {
277
+ function buildArgumentDefinitionInner(inputNode, arg, errors) {
245
278
  var _a;
246
279
  const type = buildTypeReferenceFromAST(inputNode.type, arg.schema());
247
- arg.type = ensureInputType(type, arg.coordinate, inputNode);
280
+ arg.type = validateInputType(type, arg.coordinate, inputNode, errors);
248
281
  arg.defaultValue = buildValue(inputNode.defaultValue);
249
- buildAppliedDirectives(inputNode, arg);
282
+ buildAppliedDirectives(inputNode, arg, errors);
250
283
  arg.description = (_a = inputNode.description) === null || _a === void 0 ? void 0 : _a.value;
251
284
  arg.sourceAST = inputNode;
252
285
  }
253
- function buildInputFieldDefinitionInner(fieldNode, field) {
286
+ function buildInputFieldDefinitionInner(fieldNode, field, errors) {
254
287
  var _a;
255
288
  const type = buildTypeReferenceFromAST(fieldNode.type, field.schema());
256
- field.type = ensureInputType(type, field.coordinate, fieldNode);
289
+ field.type = validateInputType(type, field.coordinate, fieldNode, errors);
257
290
  field.defaultValue = buildValue(fieldNode.defaultValue);
258
- buildAppliedDirectives(fieldNode, field);
291
+ buildAppliedDirectives(fieldNode, field, errors);
259
292
  field.description = (_a = fieldNode.description) === null || _a === void 0 ? void 0 : _a.value;
260
293
  field.sourceAST = fieldNode;
261
294
  }
262
- function buildDirectiveDefinitionInner(directiveNode, directive) {
295
+ function buildDirectiveDefinitionInner(directiveNode, directive, errors) {
263
296
  var _a, _b;
264
297
  for (const inputValueDef of (_a = directiveNode.arguments) !== null && _a !== void 0 ? _a : []) {
265
- buildArgumentDefinitionInner(inputValueDef, directive.addArgument(inputValueDef.name.value));
298
+ buildArgumentDefinitionInner(inputValueDef, directive.addArgument(inputValueDef.name.value), errors);
266
299
  }
267
300
  directive.repeatable = directiveNode.repeatable;
268
301
  const locations = directiveNode.locations.map(({ value }) => value);
@@ -1 +1 @@
1
- {"version":3,"file":"buildSchema.js","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":";;;AAAA,qCAsBiB;AAEjB,+CA0BuB;AAEvB,SAAS,UAAU,CAAC,KAAiB;IASnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAgB,WAAW,CAAC,MAAuB,EAAE,WAAqB,6BAAe,EAAE,WAAoB,IAAI;IACjH,OAAO,kBAAkB,CAAC,IAAA,eAAK,EAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAFD,kCAEC;AAED,SAAgB,kBAAkB,CAAC,YAA0B,EAAE,WAAqB,6BAAe,EAAE,WAAoB,IAAI;IAC3H,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,QAAQ,CAAC,CAAC;IAGpC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAO1F,KAAK,MAAM,uBAAuB,IAAI,wBAAwB,EAAE;QAC9D,6BAA6B,CAAC,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;KAC/G;IAED,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,WAAW,EAAE;QACrD,QAAQ,cAAc,CAAC,IAAI,EAAE;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB;gBACvB,MAAM,IAAI,sBAAY,CAAC,2DAA2D,EAAE,cAAc,CAAC,CAAC;YACtG,KAAK,kBAAkB;gBACrB,0BAA0B,CAAC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,iBAAiB;gBACpB,0BAA0B,CACxB,cAAc,EACd,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,sBAAsB,CAAC;YAC5B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,2BAA2B;gBAC9B,mBAAmB,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;gBAC7E,MAAM;YACR,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,mBAAmB,CAAC;YACzB,KAAK,0BAA0B;gBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;gBACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1C,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC;gBACrC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACzD,MAAM;SACT;KACF;IAED,oBAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtE,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,QAAQ,EAAE,CAAC;KACnB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAzDD,gDAyDC;AAED,SAAS,kCAAkC,CAAC,YAA0B,EAAE,MAAc;IACpF,MAAM,wBAAwB,GAAG,EAAE,CAAC;IACpC,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,WAAW,EAAE;QACrD,QAAQ,cAAc,CAAC,IAAI,EAAE;YAC3B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,2BAA2B,CAAC;YACjC,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,mBAAmB,CAAC;YACzB,KAAK,0BAA0B;gBAG7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;oBACnC,MAAM,CAAC,OAAO,CAAC,IAAA,0BAAY,EAAC,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACzG;gBACD,MAAM;YACR,KAAK,qBAAqB;gBACxB,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9C,MAAM,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM;SACT;KACF;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAMD,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAC1E,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAkB,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB,EAAE,MAAc;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,sBAAY,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;KACjE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAqB,EAAE,IAAa;IACnE,IAAI;QACF,SAAS,EAAE,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,sBAAY,EAAE;YAC7B,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,IAAI,sBAAY,CACpB,CAAC,CAAC,OAAO,EACT,QAAQ,EACR,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,IAAI,EACN,CAAC,EACD,CAAC,CAAC,UAAU,CACb,CAAC;SACH;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsD,EACtD,gBAAkC,EAClC,SAAuC;;IAEvC,KAAK,MAAM,UAAU,IAAI,MAAA,UAAU,CAAC,cAAc,mCAAI,EAAE,EAAE;QACxD,uBAAuB,CACrB,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAC1G,UAAU,CAAC,CAAC;KACf;IACD,gBAAgB,CAAC,SAAS,GAAG,UAAU,CAAC;IACxC,gBAAgB,CAAC,WAAW,GAAG,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,WAAW,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAA+B,EAC/B,OAAgC,EAChC,SAA0B;;IAE1B,KAAK,MAAM,SAAS,IAAI,MAAA,WAAW,CAAC,UAAU,mCAAI,EAAE,EAAE;QACpD,uBAAuB,CAAC,GAAG,EAAE;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7E,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;KACf;AACH,CAAC;AAED,SAAS,SAAS,CAAC,aAAgC;;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,MAAA,aAAa,CAAC,SAAS,mCAAI,EAAE,EAAE;QACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACtD;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,cAAyE,EACzE,IAAe,EACf,SAA0B;;IAE1B,QAAQ,cAAc,CAAC,IAAI,EAAE;QAC3B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,yBAAyB,CAAC;QAC/B,KAAK,wBAAwB;YAC3B,MAAM,cAAc,GAAG,IAAkC,CAAC;YAC1D,KAAK,MAAM,SAAS,IAAI,MAAA,cAAc,CAAC,MAAM,mCAAI,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5D,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAChC,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAC7C;YACD,KAAK,MAAM,OAAO,IAAI,MAAA,cAAc,CAAC,UAAU,mCAAI,EAAE,EAAE;gBACrD,uBAAuB,CACrB,GAAG,EAAE;oBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnC,IAAI,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;wBAC/C,MAAM,IAAI,sBAAY,CAAC,QAAQ,IAAI,uBAAuB,OAAO,QAAQ,CAAC,CAAC;qBAC5E;oBACD,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5E,CAAC,EACD,OAAO,CAAC,CAAC;aACZ;YACD,MAAM;QACR,KAAK,qBAAqB,CAAC;QAC3B,KAAK,oBAAoB;YACvB,MAAM,SAAS,GAAG,IAAiB,CAAC;YACpC,KAAK,MAAM,SAAS,IAAI,MAAA,cAAc,CAAC,KAAK,mCAAI,EAAE,EAAE;gBAClD,uBAAuB,CACrB,GAAG,EAAE;oBACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;oBAClC,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;wBACjC,MAAM,IAAI,sBAAY,CAAC,cAAc,SAAS,0BAA0B,IAAI,QAAQ,CAAC,CAAC;qBACvF;oBACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC,EACD,SAAS,CAAC,CAAC;aACd;YACD,MAAM;QACR,KAAK,oBAAoB,CAAC;QAC1B,KAAK,mBAAmB;YACtB,MAAM,QAAQ,GAAG,IAAgB,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,MAAA,cAAc,CAAC,MAAM,mCAAI,EAAE,EAAE;gBACjD,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,KAAK,CAAC;gBAC3C,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACpC;YACD,MAAM;QACR,KAAK,2BAA2B,CAAC;QACjC,KAAK,0BAA0B;YAC7B,MAAM,eAAe,GAAG,IAAuB,CAAC;YAChD,KAAK,MAAM,SAAS,IAAI,MAAA,cAAc,CAAC,MAAM,mCAAI,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7D,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAChC,8BAA8B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAClD;YACD,MAAM;KACT;IACD,sBAAsB,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,GAAG,MAAA,cAAc,CAAC,WAAW,0CAAE,KAAK,CAAC;IACrD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;AAClC,CAAC;AAED,SAAS,yBAAyB,CAAC,SAA8B,EAAE,KAA2B;;IAC5F,MAAM,IAAI,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACjE,KAAK,MAAM,aAAa,IAAI,MAAA,SAAS,CAAC,SAAS,mCAAI,EAAE,EAAE;QACrD,4BAA4B,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1F;IACD,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,KAAK,CAAC,WAAW,GAAG,MAAA,SAAS,CAAC,WAAW,0CAAE,KAAK,CAAC;IACjD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,IAAY,EAAE,IAAa;IAC/D,IAAI,IAAA,0BAAY,EAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,MAAM,IAAI,sBAAY,CAAC,eAAe,IAAI,iCAAiC,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;KAC3G;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAU,EAAE,IAAY,EAAE,IAAa;IAC9D,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,MAAM,IAAI,sBAAY,CAAC,eAAe,IAAI,gCAAgC,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;KAC1G;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,WAAmB,EAAE,MAAc;IACpE,OAAO,yBAAyB,CAAC,IAAA,mBAAS,EAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAFD,gDAEC;AAED,SAAS,yBAAyB,CAAC,QAAkB,EAAE,MAAc;IACnE,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACrB,KAAK,cAAI,CAAC,SAAS;YACjB,OAAO,IAAI,sBAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,KAAK,cAAI,CAAC,aAAa;YACrB,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI,IAAI,cAAI,CAAC,aAAa,EAAE;gBACtC,MAAM,IAAI,sBAAY,CAAC,+DAA+D,EAAE,QAAQ,CAAC,CAAC;aACnG;YACD,OAAO,IAAI,yBAAW,CAAC,OAAO,CAAC,CAAC;QAClC;YACE,OAAO,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC9C;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAmC,EAAE,GAA4B;;IACrG,MAAM,IAAI,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,GAAG,MAAA,SAAS,CAAC,WAAW,0CAAE,KAAK,CAAC;IAC/C,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;AAC5B,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAmC,EAAE,KAA2B;;IACtG,MAAM,IAAI,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxD,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,KAAK,CAAC,WAAW,GAAG,MAAA,SAAS,CAAC,WAAW,0CAAE,KAAK,CAAC;IACjD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,6BAA6B,CAAC,aAAsC,EAAE,SAA8B;;IAC3G,KAAK,MAAM,aAAa,IAAI,MAAA,aAAa,CAAC,SAAS,mCAAI,EAAE,EAAE;QACzD,4BAA4B,CAAC,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC9F;IACD,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAA0B,CAAC,CAAC;IACzF,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IACrC,SAAS,CAAC,WAAW,GAAG,MAAA,aAAa,CAAC,WAAW,0CAAE,KAAK,CAAC;IACzD,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"buildSchema.js","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { ASTNode, StringValueNode } from "graphql";
1
+ import { ASTNode, GraphQLError, StringValueNode } from "graphql";
2
2
  import { CoreFeature, Directive, DirectiveDefinition, EnumType, NamedType, ScalarType, Schema, SchemaDefinition } from "./definitions";
3
+ import { DirectiveSpecification, TypeSpecification } from "./directiveAndTypeSpecification";
3
4
  export declare const coreIdentity = "https://specs.apollo.dev/core";
5
+ export declare const linkIdentity = "https://specs.apollo.dev/link";
6
+ export declare const linkDirectiveDefaultName = "link";
4
7
  export declare const ErrCoreCheckFailed: (causes: Error[]) => import("@apollo/core-schema/dist/error").GraphQLErrorExt<"CheckFailed"> & {
5
8
  message: string;
6
9
  causes: Error[];
@@ -14,9 +17,11 @@ export declare abstract class FeatureDefinition {
14
17
  get version(): FeatureVersion;
15
18
  isSpecType(type: NamedType): boolean;
16
19
  isSpecDirective(directive: DirectiveDefinition): boolean;
17
- abstract addElementsToSchema(schema: Schema): void;
20
+ abstract addElementsToSchema(schema: Schema): GraphQLError[];
21
+ abstract allElementNames(): string[];
18
22
  protected nameInSchema(schema: Schema): string | undefined;
19
- protected elementNameInSchema(schema: Schema, elementName: string): string | undefined;
23
+ protected directiveNameInSchema(schema: Schema, directiveName: string): string | undefined;
24
+ protected typeNameInSchema(schema: Schema, typeName: string): string | undefined;
20
25
  protected rootDirective<TApplicationArgs extends {
21
26
  [key: string]: any;
22
27
  }>(schema: Schema): DirectiveDefinition<TApplicationArgs> | undefined;
@@ -26,26 +31,49 @@ export declare abstract class FeatureDefinition {
26
31
  protected type<T extends NamedType>(schema: Schema, elementName: string): T | undefined;
27
32
  protected addRootDirective(schema: Schema): DirectiveDefinition;
28
33
  protected addDirective(schema: Schema, name: string): DirectiveDefinition;
34
+ protected addDirectiveSpec(schema: Schema, spec: DirectiveSpecification): GraphQLError[];
35
+ protected addTypeSpec(schema: Schema, spec: TypeSpecification): GraphQLError[];
29
36
  protected addScalarType(schema: Schema, name: string): ScalarType;
30
37
  protected addEnumType(schema: Schema, name: string): EnumType;
31
38
  protected featureInSchema(schema: Schema): CoreFeature | undefined;
32
39
  toString(): string;
33
40
  }
34
41
  export declare type CoreDirectiveArgs = {
42
+ url: undefined;
35
43
  feature: string;
36
44
  as?: string;
37
45
  for?: string;
38
46
  };
39
- export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreDirectiveArgs>;
47
+ export declare type LinkDirectiveArgs = {
48
+ url: string;
49
+ feature: undefined;
50
+ as?: string;
51
+ for?: string;
52
+ import?: (string | CoreImport)[];
53
+ };
54
+ export declare type CoreOrLinkDirectiveArgs = CoreDirectiveArgs | LinkDirectiveArgs;
55
+ export declare type CoreImport = {
56
+ name: string;
57
+ as?: string;
58
+ };
59
+ export declare function extractCoreFeatureImports(url: FeatureUrl, directive: Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>): CoreImport[];
60
+ export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>;
40
61
  export declare class CoreSpecDefinition extends FeatureDefinition {
41
- constructor(version: FeatureVersion);
42
- addElementsToSchema(_: Schema): void;
43
- addToSchema(schema: Schema, as?: string): void;
62
+ private readonly directiveDefinitionSpec;
63
+ constructor(version: FeatureVersion, identity?: string, name?: string);
64
+ private createDefinitionArgumentSpecifications;
65
+ addElementsToSchema(_: Schema): GraphQLError[];
66
+ addToSchema(schema: Schema, as?: string): GraphQLError[];
67
+ addDefinitionsToSchema(schema: Schema, as?: string): GraphQLError[];
68
+ allElementNames(): string[];
44
69
  private supportPurposes;
70
+ private supportImport;
45
71
  private extractFeature;
46
- coreDirective(schema: Schema): DirectiveDefinition<CoreDirectiveArgs>;
72
+ coreDirective(schema: Schema): DirectiveDefinition<CoreOrLinkDirectiveArgs>;
47
73
  coreVersion(schema: Schema): FeatureVersion;
48
- applyFeatureToSchema(schema: Schema, feature: FeatureDefinition, as?: string, purpose?: CorePurpose): void;
74
+ applyFeatureToSchema(schema: Schema, feature: FeatureDefinition, as?: string, purpose?: CorePurpose): GraphQLError[];
75
+ extractFeatureUrl(args: CoreOrLinkDirectiveArgs): FeatureUrl;
76
+ urlArgName(): 'feature' | 'url';
49
77
  }
50
78
  export declare class FeatureDefinitions<T extends FeatureDefinition = FeatureDefinition> {
51
79
  readonly identity: string;
@@ -85,6 +113,8 @@ export declare class FeatureUrl {
85
113
  get base(): FeatureUrl;
86
114
  toString(): string;
87
115
  }
116
+ export declare function findCoreSpecVersion(featureUrl: FeatureUrl): CoreSpecDefinition | undefined;
88
117
  export declare const CORE_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
118
+ export declare const LINK_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
89
119
  export declare function removeFeatureElements(schema: Schema, feature: CoreFeature): void;
90
120
  //# sourceMappingURL=coreSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreSpec.d.ts","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreSpec.d.ts","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}