Skip to content

Commit f44ea9c

Browse files
committed
comments rework and documentation
1 parent 2677be3 commit f44ea9c

22 files changed

+497
-279
lines changed

src/GraphQLParser.ApiTests/GraphQL-Parser.approved.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,24 @@ namespace GraphQLParser.AST
105105
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLDirective>? Directives { get; set; }
106106
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
107107
}
108-
public class GraphQLFieldDefinition : GraphQLParser.AST.GraphQLTypeDefinition, GraphQLParser.AST.IHasDirectivesNode
109-
{
110-
public GraphQLFieldDefinition() { }
111-
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLInputValueDefinition>? Arguments { get; set; }
112-
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLDirective>? Directives { get; set; }
113-
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
114-
public GraphQLParser.AST.GraphQLType? Type { get; set; }
115-
}
116-
public class GraphQLFieldSelection : GraphQLParser.AST.ASTNode, GraphQLParser.AST.IHasDirectivesNode, GraphQLParser.AST.INamedNode
108+
public class GraphQLField : GraphQLParser.AST.ASTNode, GraphQLParser.AST.IHasDirectivesNode, GraphQLParser.AST.INamedNode
117109
{
118-
public GraphQLFieldSelection() { }
110+
public GraphQLField() { }
119111
public GraphQLParser.AST.GraphQLName? Alias { get; set; }
120112
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLArgument>? Arguments { get; set; }
121113
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLDirective>? Directives { get; set; }
122114
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
123115
public GraphQLParser.AST.GraphQLName? Name { get; set; }
124116
public GraphQLParser.AST.GraphQLSelectionSet? SelectionSet { get; set; }
125117
}
118+
public class GraphQLFieldDefinition : GraphQLParser.AST.GraphQLTypeDefinition, GraphQLParser.AST.IHasDirectivesNode
119+
{
120+
public GraphQLFieldDefinition() { }
121+
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLInputValueDefinition>? Arguments { get; set; }
122+
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLDirective>? Directives { get; set; }
123+
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
124+
public GraphQLParser.AST.GraphQLType? Type { get; set; }
125+
}
126126
public class GraphQLFragmentDefinition : GraphQLParser.AST.GraphQLInlineFragment, GraphQLParser.AST.INamedNode
127127
{
128128
public GraphQLFragmentDefinition() { }
@@ -244,9 +244,9 @@ namespace GraphQLParser.AST
244244
public GraphQLParser.AST.GraphQLSelectionSet? SelectionSet { get; set; }
245245
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLVariableDefinition>? VariableDefinitions { get; set; }
246246
}
247-
public class GraphQLOperationTypeDefinition : GraphQLParser.AST.ASTNode
247+
public class GraphQLRootOperationTypeDefinition : GraphQLParser.AST.ASTNode
248248
{
249-
public GraphQLOperationTypeDefinition() { }
249+
public GraphQLRootOperationTypeDefinition() { }
250250
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
251251
public GraphQLParser.AST.OperationType Operation { get; set; }
252252
public GraphQLParser.AST.GraphQLNamedType? Type { get; set; }
@@ -270,7 +270,7 @@ namespace GraphQLParser.AST
270270
public GraphQLParser.AST.GraphQLDescription? Description { get; set; }
271271
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLDirective>? Directives { get; set; }
272272
public override GraphQLParser.AST.ASTNodeKind Kind { get; }
273-
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLOperationTypeDefinition>? OperationTypes { get; set; }
273+
public System.Collections.Generic.List<GraphQLParser.AST.GraphQLRootOperationTypeDefinition>? OperationTypes { get; set; }
274274
}
275275
public class GraphQLSelectionSet : GraphQLParser.AST.ASTNode
276276
{
@@ -361,7 +361,7 @@ namespace GraphQLParser
361361
public virtual GraphQLParser.AST.GraphQLDirective BeginVisitDirective(GraphQLParser.AST.GraphQLDirective directive) { }
362362
public virtual System.Collections.Generic.IEnumerable<GraphQLParser.AST.GraphQLDirective> BeginVisitDirectives(System.Collections.Generic.IEnumerable<GraphQLParser.AST.GraphQLDirective> directives) { }
363363
public virtual GraphQLParser.AST.GraphQLScalarValue BeginVisitEnumValue(GraphQLParser.AST.GraphQLScalarValue value) { }
364-
public virtual GraphQLParser.AST.GraphQLFieldSelection BeginVisitFieldSelection(GraphQLParser.AST.GraphQLFieldSelection selection) { }
364+
public virtual GraphQLParser.AST.GraphQLField BeginVisitField(GraphQLParser.AST.GraphQLField selection) { }
365365
public virtual GraphQLParser.AST.GraphQLScalarValue BeginVisitFloatValue(GraphQLParser.AST.GraphQLScalarValue value) { }
366366
public virtual GraphQLParser.AST.GraphQLFragmentDefinition BeginVisitFragmentDefinition(GraphQLParser.AST.GraphQLFragmentDefinition node) { }
367367
public virtual GraphQLParser.AST.GraphQLFragmentSpread BeginVisitFragmentSpread(GraphQLParser.AST.GraphQLFragmentSpread fragmentSpread) { }
@@ -379,7 +379,7 @@ namespace GraphQLParser
379379
public virtual GraphQLParser.AST.GraphQLVariableDefinition BeginVisitVariableDefinition(GraphQLParser.AST.GraphQLVariableDefinition node) { }
380380
public virtual System.Collections.Generic.IEnumerable<GraphQLParser.AST.GraphQLVariableDefinition> BeginVisitVariableDefinitions(System.Collections.Generic.IEnumerable<GraphQLParser.AST.GraphQLVariableDefinition> variableDefinitions) { }
381381
public virtual GraphQLParser.AST.GraphQLArgument EndVisitArgument(GraphQLParser.AST.GraphQLArgument argument) { }
382-
public virtual GraphQLParser.AST.GraphQLFieldSelection EndVisitFieldSelection(GraphQLParser.AST.GraphQLFieldSelection selection) { }
382+
public virtual GraphQLParser.AST.GraphQLField EndVisitField(GraphQLParser.AST.GraphQLField selection) { }
383383
public virtual GraphQLParser.AST.GraphQLListValue EndVisitListValue(GraphQLParser.AST.GraphQLListValue node) { }
384384
public virtual GraphQLParser.AST.GraphQLObjectValue EndVisitObjectValue(GraphQLParser.AST.GraphQLObjectValue node) { }
385385
public virtual GraphQLParser.AST.GraphQLOperationDefinition EndVisitOperationDefinition(GraphQLParser.AST.GraphQLOperationDefinition definition) { }
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
scalar Json
2+
#comment for directive
3+
@external
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# aaa
2+
3+
query _ {
4+
person {
5+
... on
6+
#comment for named type from TypeCondition
7+
human {
8+
name
9+
}
10+
}
11+
}
12+
13+
type A implements
14+
#comment for named type from ImplementsInterfaces
15+
B {
16+
name : String
17+
}
18+
19+
schema {
20+
query:
21+
#comment for named type from RootOperationTypeDefinition
22+
Query
23+
}
24+
25+
type Query {
26+
field:
27+
#comment for named type from Type
28+
String
29+
}
30+
31+
union U = A |
32+
#comment for named type from UnionMemberTypes
33+
B
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
schema {
2+
#comment for root operation type
3+
query: Query
4+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
query
2+
#comment on selection set
3+
{
4+
name
5+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
type Person {
2+
name:
3+
#comment for named type
4+
String
5+
age:
6+
#comment for nonnull type
7+
Int!
8+
friends:
9+
#comment for list type
10+
[
11+
#comment for item type
12+
Person
13+
]
14+
}

src/GraphQLParser.Tests/Files/CommentsOnVariables.graphql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
query _(
22
#comment1
3-
$id: ID,
3+
$id:
4+
#comment on variable type
5+
ID,
46
$id2: String!,
57
#comment3
68
$id3: String) {

src/GraphQLParser.Tests/GraphQLAstVisitorTests.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class GraphQLAstVisitorTests
1515
private readonly List<ASTNode> _visitedDefinitions;
1616
private readonly List<GraphQLDirective> _visitedDirectives;
1717
private readonly List<GraphQLScalarValue> _visitedEnumValues;
18-
private readonly List<GraphQLFieldSelection> _visitedFieldSelections;
18+
private readonly List<GraphQLField> _visitedFields;
1919
private readonly List<GraphQLScalarValue> _visitedFloatValues;
2020
private readonly List<GraphQLFragmentDefinition> _visitedFragmentDefinitions;
2121
private readonly List<GraphQLFragmentSpread> _visitedFragmentSpreads;
@@ -35,7 +35,7 @@ public GraphQLAstVisitorTests()
3535

3636
_visitedDefinitions = MockVisitMethod<ASTNode>((visitor) => visitor.BeginVisitOperationDefinition(null));
3737
_visitedSelectionSets = MockVisitMethod<GraphQLSelectionSet>((visitor) => visitor.BeginVisitSelectionSet(null));
38-
_visitedFieldSelections = MockVisitMethod<GraphQLFieldSelection>((visitor) => visitor.BeginVisitFieldSelection(null));
38+
_visitedFields = MockVisitMethod<GraphQLField>((visitor) => visitor.BeginVisitField(null));
3939
_visitedNames = MockVisitMethod<GraphQLName>((visitor) => visitor.BeginVisitName(null));
4040
_visitedArguments = MockVisitMethod<GraphQLArgument>((visitor) => visitor.BeginVisitArgument(null));
4141
_visitedAliases = MockVisitMethod<GraphQLName>((visitor) => visitor.BeginVisitAlias(null));
@@ -205,7 +205,7 @@ public void Visit_InlineFragmentWithOneField_VisitsOneField(IgnoreOptions option
205205
using var d = "{ ... @include(if : $stuff) { field } }".Parse(new ParserOptions { Ignore = options });
206206
_visitor.Visit(d);
207207

208-
_visitedFieldSelections.ShouldHaveSingleItem();
208+
_visitedFields.ShouldHaveSingleItem();
209209
}
210210

211211
[Theory]
@@ -356,20 +356,20 @@ public void Visit_TwoDefinitions_CallsVisitDefinitionTwice(IgnoreOptions options
356356
[InlineData(IgnoreOptions.Comments)]
357357
[InlineData(IgnoreOptions.Locations)]
358358
[InlineData(IgnoreOptions.All)]
359-
public void Visit_TwoFieldSelections_VisitsFieldSelectionTwice(IgnoreOptions options)
359+
public void Visit_TwoFields_VisitsFieldTwice(IgnoreOptions options)
360360
{
361361
using var d = "{ a, b }".Parse(new ParserOptions { Ignore = options });
362362
_visitor.Visit(d);
363363

364-
_visitedFieldSelections.Count.ShouldBe(2);
364+
_visitedFields.Count.ShouldBe(2);
365365
}
366366

367367
[Theory]
368368
[InlineData(IgnoreOptions.None)]
369369
[InlineData(IgnoreOptions.Comments)]
370370
[InlineData(IgnoreOptions.Locations)]
371371
[InlineData(IgnoreOptions.All)]
372-
public void Visit_TwoFieldSelections_VisitsTwoFieldNames(IgnoreOptions options)
372+
public void Visit_TwoFields_VisitsTwoFieldNames(IgnoreOptions options)
373373
{
374374
using var d = "{ a, b }".Parse(new ParserOptions { Ignore = options });
375375
_visitor.Visit(d);
@@ -382,7 +382,7 @@ public void Visit_TwoFieldSelections_VisitsTwoFieldNames(IgnoreOptions options)
382382
[InlineData(IgnoreOptions.Comments)]
383383
[InlineData(IgnoreOptions.Locations)]
384384
[InlineData(IgnoreOptions.All)]
385-
public void Visit_TwoFieldSelections_VisitsTwoFieldNamesAndDefinitionName(IgnoreOptions options)
385+
public void Visit_TwoFields_VisitsTwoFieldNamesAndDefinitionName(IgnoreOptions options)
386386
{
387387
using var d = "query foo { a, b }".Parse(new ParserOptions { Ignore = options });
388388
_visitor.Visit(d);
@@ -395,20 +395,20 @@ public void Visit_TwoFieldSelections_VisitsTwoFieldNamesAndDefinitionName(Ignore
395395
[InlineData(IgnoreOptions.Comments)]
396396
[InlineData(IgnoreOptions.Locations)]
397397
[InlineData(IgnoreOptions.All)]
398-
public void Visit_TwoFieldSelectionsWithOneNested_VisitsFiveFieldSelections(IgnoreOptions options)
398+
public void Visit_TwoFieldsWithOneNested_VisitsFiveFields(IgnoreOptions options)
399399
{
400400
using var d = "{a, nested { x, y }, b}".Parse(new ParserOptions { Ignore = options });
401401
_visitor.Visit(d);
402402

403-
_visitedFieldSelections.Count.ShouldBe(5);
403+
_visitedFields.Count.ShouldBe(5);
404404
}
405405

406406
[Theory]
407407
[InlineData(IgnoreOptions.None)]
408408
[InlineData(IgnoreOptions.Comments)]
409409
[InlineData(IgnoreOptions.Locations)]
410410
[InlineData(IgnoreOptions.All)]
411-
public void Visit_TwoFieldSelectionsWithOneNested_VisitsFiveNames(IgnoreOptions options)
411+
public void Visit_TwoFieldsWithOneNested_VisitsFiveNames(IgnoreOptions options)
412412
{
413413
using var d = "{a, nested { x, y }, b}".Parse(new ParserOptions { Ignore = options });
414414
_visitor.Visit(d);

src/GraphQLParser.Tests/Issue82.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void Parse_Named_And_Literal_Variables(IgnoreOptions options)
2727
def.VariableDefinitions[0].Type.ShouldBeAssignableTo<GraphQLNamedType>().Name.Value.ShouldBe("String");
2828
def.VariableDefinitions[0].Variable.Name.Value.ShouldBe("username");
2929

30-
var selection = def.SelectionSet.Selections[0].ShouldBeAssignableTo<GraphQLFieldSelection>();
30+
var selection = def.SelectionSet.Selections[0].ShouldBeAssignableTo<GraphQLField>();
3131
selection.Arguments.Count.ShouldBe(2);
3232
selection.Arguments[0].Value.ShouldBeAssignableTo<GraphQLVariable>().Name.Value.ShouldBe("username");
3333
selection.Arguments[1].Value.ShouldBeAssignableTo<GraphQLScalarValue>().Value.ShouldBe("Pete");

0 commit comments

Comments
 (0)