File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import type {
4
4
DefinitionNode ,
5
5
DocumentNode ,
6
6
GraphQLSchema ,
7
+ InterfaceTypeDefinitionNode ,
7
8
ListTypeNode ,
8
9
NameNode ,
9
10
NamedTypeNode ,
@@ -23,6 +24,7 @@ export const isNamedType = (typ?: TypeNode): typ is NamedTypeNode => typ?.kind =
23
24
export const isInput = ( kind : string ) => kind . includes ( 'Input' ) ;
24
25
25
26
type ObjectTypeDefinitionFn = ( node : ObjectTypeDefinitionNode ) => any ;
27
+ type InterfaceTypeDefinitionFn = ( node : InterfaceTypeDefinitionNode ) => any ;
26
28
27
29
export function ObjectTypeDefinitionBuilder ( useObjectTypes : boolean | undefined , callback : ObjectTypeDefinitionFn ) : ObjectTypeDefinitionFn | undefined {
28
30
if ( ! useObjectTypes )
@@ -35,7 +37,17 @@ export function ObjectTypeDefinitionBuilder(useObjectTypes: boolean | undefined,
35
37
} ;
36
38
}
37
39
38
- export function topologicalSortAST ( schema : GraphQLSchema , ast : DocumentNode ) : DocumentNode {
40
+ export const InterfaceTypeDefinitionBuilder = (
41
+ useInterfaceTypes : boolean | undefined ,
42
+ callback : InterfaceTypeDefinitionFn
43
+ ) : InterfaceTypeDefinitionFn | undefined => {
44
+ if ( ! useInterfaceTypes ) return undefined ;
45
+ return node => {
46
+ return callback ( node ) ;
47
+ } ;
48
+ } ;
49
+
50
+ export const topologicalSortAST = ( schema : GraphQLSchema , ast : DocumentNode ) : DocumentNode => {
39
51
const dependencyGraph = new Graph ( ) ;
40
52
const targetKinds = [
41
53
'ObjectTypeDefinition' ,
You can’t perform that action at this time.
0 commit comments