@apollo/federation-internals 2.2.3 → 2.3.0-beta.1

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 (63) hide show
  1. package/dist/definitions.d.ts +2 -0
  2. package/dist/definitions.d.ts.map +1 -1
  3. package/dist/definitions.js +14 -2
  4. package/dist/definitions.js.map +1 -1
  5. package/dist/error.d.ts +5 -1
  6. package/dist/error.d.ts.map +1 -1
  7. package/dist/error.js +21 -12
  8. package/dist/error.js.map +1 -1
  9. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  10. package/dist/extractSubgraphsFromSupergraph.js +31 -5
  11. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  12. package/dist/federation.d.ts +14 -6
  13. package/dist/federation.d.ts.map +1 -1
  14. package/dist/federation.js +141 -62
  15. package/dist/federation.js.map +1 -1
  16. package/dist/federationSpec.d.ts +2 -1
  17. package/dist/federationSpec.d.ts.map +1 -1
  18. package/dist/federationSpec.js +11 -2
  19. package/dist/federationSpec.js.map +1 -1
  20. package/dist/joinSpec.d.ts +9 -1
  21. package/dist/joinSpec.d.ts.map +1 -1
  22. package/dist/joinSpec.js +24 -2
  23. package/dist/joinSpec.js.map +1 -1
  24. package/dist/operations.d.ts +11 -0
  25. package/dist/operations.d.ts.map +1 -1
  26. package/dist/operations.js +46 -1
  27. package/dist/operations.js.map +1 -1
  28. package/dist/schemaUpgrader.d.ts.map +1 -1
  29. package/dist/schemaUpgrader.js +9 -0
  30. package/dist/schemaUpgrader.js.map +1 -1
  31. package/dist/supergraphs.d.ts.map +1 -1
  32. package/dist/supergraphs.js +2 -0
  33. package/dist/supergraphs.js.map +1 -1
  34. package/dist/tagSpec.d.ts +1 -0
  35. package/dist/tagSpec.d.ts.map +1 -1
  36. package/dist/tagSpec.js +9 -1
  37. package/dist/tagSpec.js.map +1 -1
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js +3 -6
  40. package/dist/types.js.map +1 -1
  41. package/dist/utils.js +1 -1
  42. package/dist/utils.js.map +1 -1
  43. package/package.json +2 -3
  44. package/src/__tests__/extractSubgraphsFromSupergraph.test.ts +0 -1
  45. package/src/__tests__/matchers/toMatchString.ts +5 -1
  46. package/src/__tests__/schemaUpgrader.test.ts +43 -0
  47. package/src/__tests__/subgraphValidation.test.ts +126 -57
  48. package/src/__tests__/testUtils.ts +28 -0
  49. package/src/__tests__/values.test.ts +1 -1
  50. package/src/definitions.ts +12 -0
  51. package/src/error.ts +47 -16
  52. package/src/extractSubgraphsFromSupergraph.ts +40 -9
  53. package/src/federation.ts +178 -73
  54. package/src/federationSpec.ts +16 -2
  55. package/src/joinSpec.ts +40 -11
  56. package/src/operations.ts +59 -1
  57. package/src/schemaUpgrader.ts +13 -0
  58. package/src/supergraphs.ts +2 -0
  59. package/src/tagSpec.ts +10 -1
  60. package/src/types.ts +12 -15
  61. package/src/utils.ts +1 -1
  62. package/tsconfig.test.tsbuildinfo +1 -1
  63. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeInactiveProvidesAndRequires = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.FEDERATION_OPERATION_FIELDS = exports.entitiesFieldName = exports.serviceFieldName = exports.FEDERATION_OPERATION_TYPES = exports.entityTypeSpec = exports.serviceTypeSpec = exports.anyTypeSpec = exports.Subgraphs = exports.subgraphsFromServiceList = exports.collectTargetFields = exports.parseFieldSetArgument = exports.newEmptyFederation2Schema = exports.buildSubgraph = exports.isEntityType = exports.isFederationField = exports.isFederationSubgraphSchema = exports.federationMetadata = exports.printSubgraphNames = exports.asFed2SubgraphDocument = exports.FEDERATION2_LINK_WITH_FULL_IMPORTS = exports.setSchemaAsFed2Subgraph = exports.FederationBlueprint = exports.isFederationDirectiveDefinedInSchema = exports.FederationMetadata = exports.collectUsedFields = exports.FEDERATION_UNNAMED_SUBGRAPH_NAME = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = void 0;
3
+ exports.removeInactiveProvidesAndRequires = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.FEDERATION_OPERATION_FIELDS = exports.entitiesFieldName = exports.serviceFieldName = exports.FEDERATION_OPERATION_TYPES = exports.entityTypeSpec = exports.serviceTypeSpec = exports.anyTypeSpec = exports.Subgraphs = exports.subgraphsFromServiceList = exports.collectTargetFields = exports.parseFieldSetArgument = exports.newEmptyFederation2Schema = exports.buildSubgraph = exports.isInterfaceObjectType = exports.isEntityType = exports.isFederationField = exports.isFederationSubgraphSchema = exports.federationMetadata = exports.printSubgraphNames = exports.asFed2SubgraphDocument = exports.FEDERATION2_LINK_WITH_FULL_IMPORTS = exports.setSchemaAsFed2Subgraph = exports.FederationBlueprint = exports.hasAppliedDirective = exports.isFederationDirectiveDefinedInSchema = exports.FederationMetadata = exports.collectUsedFields = exports.FEDERATION_UNNAMED_SUBGRAPH_NAME = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = void 0;
4
4
  const definitions_1 = require("./definitions");
5
5
  const utils_1 = require("./utils");
6
6
  const specifiedRules_1 = require("graphql/validation/specifiedRules");
@@ -149,12 +149,12 @@ function fieldSetTargetDescription(directive) {
149
149
  const targetKind = directive.parent instanceof definitions_1.FieldDefinition ? "field" : "type";
150
150
  return `${targetKind} "${(_a = directive.parent) === null || _a === void 0 ? void 0 : _a.coordinate}"`;
151
151
  }
152
- function validateAllFieldSet({ definition, targetTypeExtractor, errorCollector, metadata, isOnParentType = false, allowOnNonExternalLeafFields = false, allowFieldsWithArguments = false, onFields, }) {
152
+ function validateAllFieldSet({ definition, targetTypeExtractor, errorCollector, metadata, isOnParentType = false, allowOnNonExternalLeafFields = false, allowFieldsWithArguments = false, allowOnInterface = false, onFields, }) {
153
153
  for (const application of definition.applications()) {
154
154
  const elt = application.parent;
155
155
  const type = targetTypeExtractor(elt);
156
156
  const parentType = isOnParentType ? type : elt.parent;
157
- if ((0, definitions_1.isInterfaceType)(parentType)) {
157
+ if ((0, definitions_1.isInterfaceType)(parentType) && !allowOnInterface) {
158
158
  const code = error_1.ERROR_CATEGORIES.DIRECTIVE_UNSUPPORTED_ON_INTERFACE.get(definition.name);
159
159
  errorCollector.push(code.err(isOnParentType
160
160
  ? `Cannot use ${definition.coordinate} on interface "${parentType.coordinate}": ${definition.coordinate} is not yet supported on interfaces`
@@ -230,31 +230,49 @@ function validateNoExternalOnInterfaceFields(metadata, errorCollector) {
230
230
  }
231
231
  }
232
232
  }
233
- function validateInterfaceRuntimeImplementationFieldsTypes(itf, metadata, errorCollector) {
234
- var _a;
235
- const requiresDirective = (_a = federationMetadata(itf.schema())) === null || _a === void 0 ? void 0 : _a.requiresDirective();
236
- (0, utils_1.assert)(requiresDirective, 'Schema should be a federation subgraph, but @requires directive not found');
237
- const runtimeTypes = itf.possibleRuntimeTypes();
238
- for (const field of itf.fields()) {
239
- const withExternalOrRequires = [];
240
- const typeToImplems = new utils_1.MultiMap();
241
- const nodes = [];
242
- for (const type of runtimeTypes) {
243
- const implemField = type.field(field.name);
244
- if (!implemField)
245
- continue;
246
- if (implemField.sourceAST) {
247
- nodes.push(implemField.sourceAST);
233
+ function validateKeyOnInterfacesAreAlsoOnAllImplementations(metadata, errorCollector) {
234
+ for (const itfType of metadata.schema.interfaceTypes()) {
235
+ const implementations = itfType.possibleRuntimeTypes();
236
+ for (const keyApplication of itfType.appliedDirectivesOf(metadata.keyDirective())) {
237
+ const fields = parseFieldSetArgument({ parentType: itfType, directive: keyApplication, validate: false });
238
+ const isResolvable = !(keyApplication.arguments().resolvable === false);
239
+ const implementationsWithKeyButNotResolvable = new Array();
240
+ const implementationsMissingKey = new Array();
241
+ for (const type of implementations) {
242
+ const matchingApp = type.appliedDirectivesOf(metadata.keyDirective()).find((app) => {
243
+ const appFields = parseFieldSetArgument({ parentType: type, directive: app, validate: false });
244
+ return fields.equals(appFields);
245
+ });
246
+ if (matchingApp) {
247
+ if (isResolvable && matchingApp.arguments().resolvable === false) {
248
+ implementationsWithKeyButNotResolvable.push(type);
249
+ }
250
+ }
251
+ else {
252
+ implementationsMissingKey.push(type);
253
+ }
254
+ }
255
+ if (implementationsMissingKey.length > 0) {
256
+ const typesString = (0, utils_1.printHumanReadableList)(implementationsMissingKey.map((i) => `"${i.coordinate}"`), {
257
+ prefix: 'type',
258
+ prefixPlural: 'types',
259
+ });
260
+ errorCollector.push(error_1.ERRORS.INTERFACE_KEY_NOT_ON_IMPLEMENTATION.err(`Key ${keyApplication} on interface type "${itfType.coordinate}" is missing on implementation ${typesString}.`, { nodes: (0, definitions_1.sourceASTs)(...implementationsMissingKey) }));
248
261
  }
249
- if (metadata.isFieldExternal(implemField) || implemField.hasAppliedDirective(requiresDirective)) {
250
- withExternalOrRequires.push(implemField);
262
+ else if (implementationsWithKeyButNotResolvable.length > 0) {
263
+ const typesString = (0, utils_1.printHumanReadableList)(implementationsWithKeyButNotResolvable.map((i) => `"${i.coordinate}"`), {
264
+ prefix: 'type',
265
+ prefixPlural: 'types',
266
+ });
267
+ errorCollector.push(error_1.ERRORS.INTERFACE_KEY_NOT_ON_IMPLEMENTATION.err(`Key ${keyApplication} on interface type "${itfType.coordinate}" should be resolvable on all implementation types, but is declared with argument "@key(resolvable:)" set to false in ${typesString}.`, { nodes: (0, definitions_1.sourceASTs)(...implementationsWithKeyButNotResolvable) }));
251
268
  }
252
- const returnType = implemField.type;
253
- typeToImplems.add(returnType.toString(), implemField);
254
269
  }
255
- if (withExternalOrRequires.length > 0 && typeToImplems.size > 1) {
256
- const typeToImplemsArray = [...typeToImplems.entries()];
257
- errorCollector.push(error_1.ERRORS.INTERFACE_FIELD_IMPLEM_TYPE_MISMATCH.err(`Some of the runtime implementations of interface field "${field.coordinate}" are marked @external or have a @require (${withExternalOrRequires.map(printFieldCoordinate)}) so all the implementations should use the same type (a current limitation of federation; see https://github.com/apollographql/federation/issues/1257), but ${formatFieldsToReturnType(typeToImplemsArray[0])} while ${(0, utils_1.joinStrings)(typeToImplemsArray.slice(1).map(formatFieldsToReturnType), ' and ')}.`, { nodes }));
270
+ }
271
+ }
272
+ function validateInterfaceObjectsAreOnEntities(metadata, errorCollector) {
273
+ for (const application of metadata.interfaceObjectDirective().applications()) {
274
+ if (!isEntityType(application.parent)) {
275
+ errorCollector.push(error_1.ERRORS.INTERFACE_OBJECT_USAGE_ERROR.err(`The @interfaceObject directive can only be applied to entity types but type "${application.parent.coordinate}" has no @key in this subgraph.`, { nodes: application.parent.sourceAST }));
258
276
  }
259
277
  }
260
278
  }
@@ -284,10 +302,6 @@ function validateShareableNotRepeatedOnSameDeclaration(element, metadata, errorC
284
302
  }
285
303
  }
286
304
  }
287
- const printFieldCoordinate = (f) => `"${f.coordinate}"`;
288
- function formatFieldsToReturnType([type, implems]) {
289
- return `${(0, utils_1.joinStrings)(implems.map(printFieldCoordinate))} ${implems.length == 1 ? 'has' : 'have'} type "${type}"`;
290
- }
291
305
  class FederationMetadata {
292
306
  constructor(schema) {
293
307
  this.schema = schema;
@@ -349,6 +363,10 @@ class FederationMetadata {
349
363
  isFieldShareable(field) {
350
364
  return this.sharingPredicate()(field);
351
365
  }
366
+ isInterfaceObjectType(type) {
367
+ return (0, definitions_1.isObjectType)(type)
368
+ && hasAppliedDirective(type, this.interfaceObjectDirective());
369
+ }
352
370
  federationDirectiveNameInSchema(name) {
353
371
  if (this.isFed2Schema()) {
354
372
  const coreFeatures = this.schema.coreFeatures;
@@ -384,6 +402,13 @@ class FederationMetadata {
384
402
  getFederationDirective(name) {
385
403
  return this.schema.directive(this.federationDirectiveNameInSchema(name));
386
404
  }
405
+ getPost20FederationDirective(name) {
406
+ var _a;
407
+ return (_a = this.getFederationDirective(name)) !== null && _a !== void 0 ? _a : {
408
+ name,
409
+ applications: () => new Array(),
410
+ };
411
+ }
387
412
  keyDirective() {
388
413
  return this.getLegacyFederationDirective(federationSpec_1.FederationDirectiveName.KEY);
389
414
  }
@@ -409,15 +434,14 @@ class FederationMetadata {
409
434
  return this.getLegacyFederationDirective(federationSpec_1.FederationDirectiveName.TAG);
410
435
  }
411
436
  composeDirective() {
412
- var _a;
413
- return (_a = this.getFederationDirective(federationSpec_1.FederationDirectiveName.COMPOSE_DIRECTIVE)) !== null && _a !== void 0 ? _a : {
414
- name: federationSpec_1.FederationDirectiveName.COMPOSE_DIRECTIVE,
415
- applications: () => new Array(),
416
- };
437
+ return this.getPost20FederationDirective(federationSpec_1.FederationDirectiveName.COMPOSE_DIRECTIVE);
417
438
  }
418
439
  inaccessibleDirective() {
419
440
  return this.getLegacyFederationDirective(federationSpec_1.FederationDirectiveName.INACCESSIBLE);
420
441
  }
442
+ interfaceObjectDirective() {
443
+ return this.getPost20FederationDirective(federationSpec_1.FederationDirectiveName.INTERFACE_OBJECT);
444
+ }
421
445
  allFederationDirectives() {
422
446
  const baseDirectives = [
423
447
  this.keyDirective(),
@@ -437,6 +461,10 @@ class FederationMetadata {
437
461
  if (isFederationDirectiveDefinedInSchema(composeDirective)) {
438
462
  baseDirectives.push(composeDirective);
439
463
  }
464
+ const interfaceObjectDirective = this.interfaceObjectDirective();
465
+ if (isFederationDirectiveDefinedInSchema(interfaceObjectDirective)) {
466
+ baseDirectives.push(interfaceObjectDirective);
467
+ }
440
468
  return baseDirectives;
441
469
  }
442
470
  entityType() {
@@ -469,6 +497,10 @@ function isFederationDirectiveDefinedInSchema(definition) {
469
497
  return definition instanceof definitions_1.DirectiveDefinition;
470
498
  }
471
499
  exports.isFederationDirectiveDefinedInSchema = isFederationDirectiveDefinedInSchema;
500
+ function hasAppliedDirective(type, definition) {
501
+ return isFederationDirectiveDefinedInSchema(definition) && type.hasAppliedDirective(definition);
502
+ }
503
+ exports.hasAppliedDirective = hasAppliedDirective;
472
504
  class FederationBlueprint extends definitions_1.SchemaBlueprint {
473
505
  constructor(withRootTypeRenaming) {
474
506
  super();
@@ -547,6 +579,7 @@ class FederationBlueprint extends definitions_1.SchemaBlueprint {
547
579
  metadata,
548
580
  isOnParentType: true,
549
581
  allowOnNonExternalLeafFields: true,
582
+ allowOnInterface: metadata.federationFeature().url.version.compareTo(new coreSpec_1.FeatureVersion(2, 3)) >= 0,
550
583
  onFields: field => {
551
584
  const type = (0, definitions_1.baseType)(field.type);
552
585
  if ((0, definitions_1.isUnionType)(type) || (0, definitions_1.isInterfaceType)(type)) {
@@ -580,6 +613,8 @@ class FederationBlueprint extends definitions_1.SchemaBlueprint {
580
613
  });
581
614
  validateNoExternalOnInterfaceFields(metadata, errorCollector);
582
615
  validateAllExternalFieldsUsed(metadata, errorCollector);
616
+ validateKeyOnInterfacesAreAlsoOnAllImplementations(metadata, errorCollector);
617
+ validateInterfaceObjectsAreOnEntities(metadata, errorCollector);
583
618
  const tagDirective = metadata.tagDirective();
584
619
  if (tagDirective) {
585
620
  const error = tagSpec.checkCompatibleDirective(tagDirective);
@@ -587,9 +622,6 @@ class FederationBlueprint extends definitions_1.SchemaBlueprint {
587
622
  errorCollector.push(error);
588
623
  }
589
624
  }
590
- for (const itf of schema.interfaceTypes()) {
591
- validateInterfaceRuntimeImplementationFieldsTypes(itf, metadata, errorCollector);
592
- }
593
625
  for (const objectType of schema.objectTypes()) {
594
626
  validateShareableNotRepeatedOnSameDeclaration(objectType, metadata, errorCollector);
595
627
  for (const field of objectType.fields()) {
@@ -680,30 +712,69 @@ function setSchemaAsFed2Subgraph(schema) {
680
712
  }
681
713
  }
682
714
  exports.setSchemaAsFed2Subgraph = setSchemaAsFed2Subgraph;
683
- exports.FEDERATION2_LINK_WITH_FULL_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.2", import: ["@key", "@requires", "@provides", "@external", "@tag", "@extends", "@shareable", "@inaccessible", "@override", "@composeDirective"])';
684
- function asFed2SubgraphDocument(document) {
685
- const fed2LinkExtension = {
686
- kind: graphql_1.Kind.SCHEMA_EXTENSION,
687
- directives: [{
688
- kind: graphql_1.Kind.DIRECTIVE,
689
- name: { kind: graphql_1.Kind.NAME, value: coreSpec_1.linkDirectiveDefaultName },
690
- arguments: [{
691
- kind: graphql_1.Kind.ARGUMENT,
692
- name: { kind: graphql_1.Kind.NAME, value: 'url' },
693
- value: { kind: graphql_1.Kind.STRING, value: federationSpec.url.toString() }
694
- },
695
- {
696
- kind: graphql_1.Kind.ARGUMENT,
697
- name: { kind: graphql_1.Kind.NAME, value: 'import' },
698
- value: { kind: graphql_1.Kind.LIST, values: federationSpec.directiveSpecs().map((spec) => ({ kind: graphql_1.Kind.STRING, value: `@${spec.name}` })) }
699
- }]
700
- }]
701
- };
702
- return {
703
- kind: graphql_1.Kind.DOCUMENT,
704
- loc: document.loc,
705
- definitions: document.definitions.concat(fed2LinkExtension)
706
- };
715
+ exports.FEDERATION2_LINK_WITH_FULL_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key", "@requires", "@provides", "@external", "@tag", "@extends", "@shareable", "@inaccessible", "@override", "@composeDirective", "@interfaceObject"])';
716
+ function asFed2SubgraphDocument(document, options) {
717
+ var _a, _b;
718
+ const directiveToAdd = ({
719
+ kind: graphql_1.Kind.DIRECTIVE,
720
+ name: { kind: graphql_1.Kind.NAME, value: coreSpec_1.linkDirectiveDefaultName },
721
+ arguments: [
722
+ {
723
+ kind: graphql_1.Kind.ARGUMENT,
724
+ name: { kind: graphql_1.Kind.NAME, value: 'url' },
725
+ value: { kind: graphql_1.Kind.STRING, value: federationSpec.url.toString() }
726
+ },
727
+ {
728
+ kind: graphql_1.Kind.ARGUMENT,
729
+ name: { kind: graphql_1.Kind.NAME, value: 'import' },
730
+ value: { kind: graphql_1.Kind.LIST, values: federationSpec.directiveSpecs().map((spec) => ({ kind: graphql_1.Kind.STRING, value: `@${spec.name}` })) }
731
+ }
732
+ ]
733
+ });
734
+ if ((_a = options === null || options === void 0 ? void 0 : options.addAsSchemaExtension) !== null && _a !== void 0 ? _a : true) {
735
+ return {
736
+ kind: graphql_1.Kind.DOCUMENT,
737
+ loc: document.loc,
738
+ definitions: document.definitions.concat({
739
+ kind: graphql_1.Kind.SCHEMA_EXTENSION,
740
+ directives: [directiveToAdd]
741
+ }),
742
+ };
743
+ }
744
+ const existingSchemaDefinition = document.definitions.find((d) => d.kind == graphql_1.Kind.SCHEMA_DEFINITION);
745
+ if (existingSchemaDefinition) {
746
+ return {
747
+ kind: graphql_1.Kind.DOCUMENT,
748
+ loc: document.loc,
749
+ definitions: document.definitions.filter((d) => d !== existingSchemaDefinition).concat([{
750
+ ...existingSchemaDefinition,
751
+ directives: [directiveToAdd].concat((_b = existingSchemaDefinition.directives) !== null && _b !== void 0 ? _b : []),
752
+ }]),
753
+ };
754
+ }
755
+ else {
756
+ const hasMutation = document.definitions.some((d) => d.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION && d.name.value === 'Mutation');
757
+ const makeOpType = (opType, name) => ({
758
+ kind: graphql_1.Kind.OPERATION_TYPE_DEFINITION,
759
+ operation: opType,
760
+ type: {
761
+ kind: graphql_1.Kind.NAMED_TYPE,
762
+ name: {
763
+ kind: graphql_1.Kind.NAME,
764
+ value: name,
765
+ }
766
+ },
767
+ });
768
+ return {
769
+ kind: graphql_1.Kind.DOCUMENT,
770
+ loc: document.loc,
771
+ definitions: document.definitions.concat({
772
+ kind: graphql_1.Kind.SCHEMA_DEFINITION,
773
+ directives: [directiveToAdd],
774
+ operationTypes: [makeOpType(graphql_1.OperationTypeNode.QUERY, 'Query')].concat(hasMutation ? makeOpType(graphql_1.OperationTypeNode.MUTATION, 'Mutation') : []),
775
+ }),
776
+ };
777
+ }
707
778
  }
708
779
  exports.asFed2SubgraphDocument = asFed2SubgraphDocument;
709
780
  function printSubgraphNames(names) {
@@ -730,13 +801,21 @@ function isFederationField(field) {
730
801
  }
731
802
  exports.isFederationField = isFederationField;
732
803
  function isEntityType(type) {
733
- if (type.kind !== "ObjectType") {
804
+ if (!(0, definitions_1.isObjectType)(type) && !(0, definitions_1.isInterfaceType)(type)) {
734
805
  return false;
735
806
  }
736
807
  const metadata = federationMetadata(type.schema());
737
808
  return !!metadata && type.hasAppliedDirective(metadata.keyDirective());
738
809
  }
739
810
  exports.isEntityType = isEntityType;
811
+ function isInterfaceObjectType(type) {
812
+ if (!(0, definitions_1.isObjectType)(type)) {
813
+ return false;
814
+ }
815
+ const metadata = federationMetadata(type.schema());
816
+ return !!metadata && metadata.isInterfaceObjectType(type);
817
+ }
818
+ exports.isInterfaceObjectType = isInterfaceObjectType;
740
819
  function buildSubgraph(name, url, source, withRootTypeRenaming = true) {
741
820
  const buildOptions = {
742
821
  blueprint: new FederationBlueprint(withRootTypeRenaming),
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ export declare enum FederationDirectiveName {
16
16
  OVERRIDE = "override",
17
17
  TAG = "tag",
18
18
  INACCESSIBLE = "inaccessible",
19
- COMPOSE_DIRECTIVE = "composeDirective"
19
+ COMPOSE_DIRECTIVE = "composeDirective",
20
+ INTERFACE_OBJECT = "interfaceObject"
20
21
  }
21
22
  export declare const FEDERATION1_TYPES: TypeSpecification[];
22
23
  export declare const FEDERATION1_DIRECTIVES: DirectiveSpecification[];
@@ -1 +1 @@
1
- {"version":3,"file":"federationSpec.d.ts","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAIL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAqB,YAAY,EAAE,MAAM,SAAS,CAAC;AAO1D,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,oBAAY,kBAAkB;IAC5B,SAAS,aAAa;CACvB;AAED,oBAAY,uBAAuB;IACjC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,iBAAiB,qBAAqB;CACvC;AA8DD,eAAO,MAAM,iBAAiB,qBAAwB,CAAC;AACvD,eAAO,MAAM,sBAAsB,0BAA6B,CAAC;AAYjE,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;IAC7F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;gBAEvE,OAAO,EAAE,cAAc;IAyCnC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAIpB,cAAc,IAAI,SAAS,sBAAsB,EAAE;IAInD,SAAS,IAAI,SAAS,iBAAiB,EAAE;IAIzC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAenD,eAAe,IAAI,MAAM,EAAE;CAI5B;AAED,eAAO,MAAM,mBAAmB,8CAG8B,CAAC"}
1
+ {"version":3,"file":"federationSpec.d.ts","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAIL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAqB,YAAY,EAAE,MAAM,SAAS,CAAC;AAO1D,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,oBAAY,kBAAkB;IAC5B,SAAS,aAAa;CACvB;AAED,oBAAY,uBAAuB;IACjC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,iBAAiB,qBAAqB;IACtC,gBAAgB,oBAAoB;CACrC;AAgED,eAAO,MAAM,iBAAiB,qBAAwB,CAAC;AACvD,eAAO,MAAM,sBAAsB,0BAA6B,CAAC;AAYjE,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;IAC7F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;gBAEvE,OAAO,EAAE,cAAc;IAmDnC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAIpB,cAAc,IAAI,SAAS,sBAAsB,EAAE;IAInD,SAAS,IAAI,SAAS,iBAAiB,EAAE;IAIzC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAenD,eAAe,IAAI,MAAM,EAAE;CAI5B;AAED,eAAO,MAAM,mBAAmB,8CAI8B,CAAC"}
@@ -27,6 +27,7 @@ var FederationDirectiveName;
27
27
  FederationDirectiveName["TAG"] = "tag";
28
28
  FederationDirectiveName["INACCESSIBLE"] = "inaccessible";
29
29
  FederationDirectiveName["COMPOSE_DIRECTIVE"] = "composeDirective";
30
+ FederationDirectiveName["INTERFACE_OBJECT"] = "interfaceObject";
30
31
  })(FederationDirectiveName = exports.FederationDirectiveName || (exports.FederationDirectiveName = {}));
31
32
  const fieldSetTypeSpec = (0, directiveAndTypeSpecification_1.createScalarTypeSpecification)({ name: FederationTypeName.FIELD_SET });
32
33
  const keyDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
@@ -77,7 +78,7 @@ const legacyFederationDirectives = [
77
78
  requiresDirectiveSpec,
78
79
  providesDirectiveSpec,
79
80
  externalDirectiveSpec,
80
- tagSpec_1.TAG_VERSIONS.latest().tagDirectiveSpec,
81
+ tagSpec_1.TAG_VERSIONS.find(new coreSpec_1.FeatureVersion(0, 2)).tagDirectiveSpec,
81
82
  extendsDirectiveSpec,
82
83
  ];
83
84
  exports.FEDERATION1_TYPES = legacyFederationTypes;
@@ -126,6 +127,13 @@ class FederationSpecDefinition extends coreSpec_1.FeatureDefinition {
126
127
  }),
127
128
  }));
128
129
  }
130
+ if (version >= (new coreSpec_1.FeatureVersion(2, 3))) {
131
+ this.registerDirective((0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
132
+ name: FederationDirectiveName.INTERFACE_OBJECT,
133
+ locations: [graphql_1.DirectiveLocation.OBJECT],
134
+ }));
135
+ this.registerDirective(tagSpec_1.TAG_VERSIONS.find(new coreSpec_1.FeatureVersion(0, 3)).tagDirectiveSpec);
136
+ }
129
137
  }
130
138
  registerDirective(spec) {
131
139
  this._directiveSpecs.set(spec.name, spec);
@@ -160,6 +168,7 @@ exports.FederationSpecDefinition = FederationSpecDefinition;
160
168
  exports.FEDERATION_VERSIONS = new coreSpec_1.FeatureDefinitions(exports.federationIdentity)
161
169
  .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 0)))
162
170
  .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 1)))
163
- .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 2)));
171
+ .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 2)))
172
+ .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 3)));
164
173
  (0, knownCoreFeatures_1.registerKnownFeature)(exports.FEDERATION_VERSIONS);
165
174
  //# sourceMappingURL=federationSpec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federationSpec.js","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federationSpec.js","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"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"}