Skip to content

Commit ee1f95c

Browse files
a-stewartkobylynskyi
authored andcommitted
Adding missing directive definition (#11)
* Handle DirectiveDefinition in GraphQLDefinitionType determiner * Adding a catch handler in case there are other types we can't handle * Fixing typo from last commit
1 parent 1fc590e commit ee1f95c

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/main/java/com/kobylynskyi/graphql/codegen/GraphqlCodegen.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.kobylynskyi.graphql.codegen.model.GraphqlDefinitionType;
55
import com.kobylynskyi.graphql.codegen.model.DefinitionTypeDeterminer;
66
import com.kobylynskyi.graphql.codegen.model.MappingConfig;
7+
import com.kobylynskyi.graphql.codegen.model.UnsupportedGraphqlDefinitionException;
78
import freemarker.template.TemplateException;
89
import graphql.language.*;
910
import lombok.Getter;
@@ -52,7 +53,12 @@ public void generate() throws Exception {
5253

5354
private void processDocument(Document document) throws IOException, TemplateException {
5455
for (Definition definition : document.getDefinitions()) {
55-
GraphqlDefinitionType definitionType = DefinitionTypeDeterminer.determine(definition);
56+
GraphqlDefinitionType definitionType;
57+
try {
58+
definitionType = DefinitionTypeDeterminer.determine(definition);
59+
} catch (UnsupportedGraphqlDefinitionException ex) {
60+
continue;
61+
}
5662
switch (definitionType) {
5763
case OPERATION:
5864
generateOperation((ObjectTypeDefinition) definition);

src/main/java/com/kobylynskyi/graphql/codegen/model/DefinitionTypeDeterminer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static GraphqlDefinitionType determine(@NonNull Definition definition) {
2626
return GraphqlDefinitionType.SCALAR;
2727
} else if (definition instanceof InterfaceTypeDefinition) {
2828
return GraphqlDefinitionType.INTERFACE;
29+
} else if (definition instanceof DirectiveDefinition) {
30+
return GraphqlDefinitionType.DIRECTIVE;
2931
} else {
3032
throw new UnsupportedGraphqlDefinitionException(definition);
3133
}

src/main/java/com/kobylynskyi/graphql/codegen/model/GraphqlDefinitionType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public enum GraphqlDefinitionType {
99
INPUT,
1010
UNION,
1111
ENUM,
12-
SCALAR;
12+
SCALAR,
13+
DIRECTIVE;
1314

1415
}

0 commit comments

Comments
 (0)