@@ -21,6 +21,7 @@ import {
2121} from "graphql" ;
2222import { CodegenConfigWithDefaults } from "../config/build-config-with-defaults" ;
2323import { getBaseTypeNode } from "@graphql-codegen/visitor-plugin-common" ;
24+ import { shouldIncludeTypeDefinition } from "../config/should-include-type-definition" ;
2425
2526export function getDependentFieldTypeNames (
2627 node : TypeDefinitionNode ,
@@ -41,9 +42,16 @@ function getFieldTypeName(fieldType: TypeNode) {
4142 return getBaseTypeNode ( fieldType ) . name . value ;
4243}
4344
44- export function getDependentInterfaceNames ( node : TypeDefinitionNode ) {
45+ export function getDependentInterfaceNames (
46+ node : TypeDefinitionNode ,
47+ config : CodegenConfigWithDefaults ,
48+ ) {
4549 return "interfaces" in node
46- ? ( node . interfaces ?. map ( ( interfaceNode ) => interfaceNode . name . value ) ?? [ ] )
50+ ? ( node . interfaces
51+ ?. map ( ( interfaceNode ) => interfaceNode . name . value )
52+ . filter ( ( interfaceName ) =>
53+ shouldIncludeTypeDefinition ( interfaceName , config ) ,
54+ ) ?? [ ] )
4755 : [ ] ;
4856}
4957
@@ -56,6 +64,7 @@ export function getDependentUnionNames(node: TypeDefinitionNode) {
5664export function getDependentUnionsForType (
5765 schema : GraphQLSchema ,
5866 node : TypeDefinitionNode ,
67+ config : CodegenConfigWithDefaults ,
5968) {
6069 const typeMap = schema . getTypeMap ( ) ;
6170 const unions = Object . values ( typeMap ) . filter ( ( type ) =>
@@ -65,5 +74,6 @@ export function getDependentUnionsForType(
6574 . filter ( ( union ) =>
6675 union . getTypes ( ) . some ( ( type ) => type . name === node . name . value ) ,
6776 )
68- . map ( ( union ) => union . name ) ;
77+ . map ( ( union ) => union . name )
78+ . filter ( ( unionName ) => shouldIncludeTypeDefinition ( unionName , config ) ) ;
6979}
0 commit comments