Skip to content

Commit 5cebc37

Browse files
committed
Derive Default for schema ast types
This makes them easier to construct.
1 parent 2b6b46b commit 5cebc37

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

src/schema/ast.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use position::Pos;
66
pub type NamedType = String;
77

88

9-
#[derive(Debug, Clone, PartialEq)]
9+
#[derive(Debug, Clone, Default, PartialEq)]
1010
pub struct Document {
1111
pub definitions: Vec<Definition>,
1212
}
@@ -19,7 +19,7 @@ pub enum Definition {
1919
DirectiveDefinition(DirectiveDefinition),
2020
}
2121

22-
#[derive(Debug, Clone, PartialEq)]
22+
#[derive(Debug, Clone, Default, PartialEq)]
2323
pub struct SchemaDefinition {
2424
pub position: Pos,
2525
pub directives: Vec<Directive>,
@@ -48,22 +48,22 @@ pub enum TypeExtension {
4848
InputObject(InputObjectTypeExtension),
4949
}
5050

51-
#[derive(Debug, Clone, PartialEq)]
51+
#[derive(Debug, Clone, Default, PartialEq)]
5252
pub struct ScalarType {
5353
pub position: Pos,
5454
pub description: Option<String>,
5555
pub name: Name,
5656
pub directives: Vec<Directive>,
5757
}
5858

59-
#[derive(Debug, Clone, PartialEq)]
59+
#[derive(Debug, Clone, Default, PartialEq)]
6060
pub struct ScalarTypeExtension {
6161
pub position: Pos,
6262
pub name: Name,
6363
pub directives: Vec<Directive>,
6464
}
6565

66-
#[derive(Debug, Clone, PartialEq)]
66+
#[derive(Debug, Clone, Default, PartialEq)]
6767
pub struct ObjectType {
6868
pub position: Pos,
6969
pub description: Option<String>,
@@ -73,7 +73,7 @@ pub struct ObjectType {
7373
pub fields: Vec<Field>,
7474
}
7575

76-
#[derive(Debug, Clone, PartialEq)]
76+
#[derive(Debug, Clone, Default, PartialEq)]
7777
pub struct ObjectTypeExtension {
7878
pub position: Pos,
7979
pub name: Name,
@@ -102,7 +102,7 @@ pub struct InputValue {
102102
pub directives: Vec<Directive>,
103103
}
104104

105-
#[derive(Debug, Clone, PartialEq)]
105+
#[derive(Debug, Clone, Default, PartialEq)]
106106
pub struct InterfaceType {
107107
pub position: Pos,
108108
pub description: Option<String>,
@@ -111,15 +111,15 @@ pub struct InterfaceType {
111111
pub fields: Vec<Field>,
112112
}
113113

114-
#[derive(Debug, Clone, PartialEq)]
114+
#[derive(Debug, Clone, Default, PartialEq)]
115115
pub struct InterfaceTypeExtension {
116116
pub position: Pos,
117117
pub name: Name,
118118
pub directives: Vec<Directive>,
119119
pub fields: Vec<Field>,
120120
}
121121

122-
#[derive(Debug, Clone, PartialEq)]
122+
#[derive(Debug, Clone, Default, PartialEq)]
123123
pub struct UnionType {
124124
pub position: Pos,
125125
pub description: Option<String>,
@@ -128,15 +128,15 @@ pub struct UnionType {
128128
pub types: Vec<NamedType>,
129129
}
130130

131-
#[derive(Debug, Clone, PartialEq)]
131+
#[derive(Debug, Clone, Default, PartialEq)]
132132
pub struct UnionTypeExtension {
133133
pub position: Pos,
134134
pub name: Name,
135135
pub directives: Vec<Directive>,
136136
pub types: Vec<NamedType>,
137137
}
138138

139-
#[derive(Debug, Clone, PartialEq)]
139+
#[derive(Debug, Clone, Default, PartialEq)]
140140
pub struct EnumType {
141141
pub position: Pos,
142142
pub description: Option<String>,
@@ -145,23 +145,23 @@ pub struct EnumType {
145145
pub values: Vec<EnumValue>,
146146
}
147147

148-
#[derive(Debug, Clone, PartialEq)]
148+
#[derive(Debug, Clone, Default, PartialEq)]
149149
pub struct EnumValue {
150150
pub position: Pos,
151151
pub description: Option<String>,
152152
pub name: Name,
153153
pub directives: Vec<Directive>,
154154
}
155155

156-
#[derive(Debug, Clone, PartialEq)]
156+
#[derive(Debug, Clone, Default, PartialEq)]
157157
pub struct EnumTypeExtension {
158158
pub position: Pos,
159159
pub name: Name,
160160
pub directives: Vec<Directive>,
161161
pub values: Vec<EnumValue>,
162162
}
163163

164-
#[derive(Debug, Clone, PartialEq)]
164+
#[derive(Debug, Clone, Default, PartialEq)]
165165
pub struct InputObjectType {
166166
pub position: Pos,
167167
pub description: Option<String>,
@@ -170,7 +170,7 @@ pub struct InputObjectType {
170170
pub fields: Vec<InputValue>,
171171
}
172172

173-
#[derive(Debug, Clone, PartialEq)]
173+
#[derive(Debug, Clone, Default, PartialEq)]
174174
pub struct InputObjectTypeExtension {
175175
pub position: Pos,
176176
pub name: Name,
@@ -203,7 +203,7 @@ pub enum DirectiveLocation {
203203
InputFieldDefinition,
204204
}
205205

206-
#[derive(Debug, Clone, PartialEq)]
206+
#[derive(Debug, Clone, Default, PartialEq)]
207207
pub struct DirectiveDefinition {
208208
pub position: Pos,
209209
pub description: Option<String>,

0 commit comments

Comments
 (0)