From a66676c3e6fab79f59d3ef27591af8d5be3a3862 Mon Sep 17 00:00:00 2001 From: Jarrod Overson Date: Fri, 28 Oct 2022 22:47:55 -0400 Subject: [PATCH] Added ability to export interfaces (#4) --- parser/parser.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/parser/parser.go b/parser/parser.go index d88e832..2860615 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -180,6 +180,8 @@ func parseDocument(parser *Parser) (*ast.Document, error) { allDefs := make(map[string]ast.Definition) for _, def := range doc.Definitions { switch v := def.(type) { + case *ast.InterfaceDefinition: + allDefs[v.Name.Value] = v case *ast.TypeDefinition: allDefs[v.Name.Value] = v case *ast.EnumDefinition: @@ -204,6 +206,16 @@ func parseDocument(parser *Parser) (*ast.Document, error) { name = n.Name } switch v := def.(type) { + case *ast.InterfaceDefinition: + renamedType := ast.NewInterfaceDefinition( + name.Loc, + name, + v.Description, + v.Annotations, + v.Operations, + ) + nodes = append(nodes, renamedType) + case *ast.TypeDefinition: renamedType := ast.NewTypeDefinition( name.Loc,