Skip to content

Commit 7a3f75b

Browse files
committed
replace Default derives with fn new(name: Name)
1 parent 5cebc37 commit 7a3f75b

File tree

1 file changed

+175
-14
lines changed

1 file changed

+175
-14
lines changed

src/schema/ast.rs

Lines changed: 175 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,43 @@ pub enum TypeExtension {
4848
InputObject(InputObjectTypeExtension),
4949
}
5050

51-
#[derive(Debug, Clone, Default, PartialEq)]
51+
#[derive(Debug, Clone, 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, Default, PartialEq)]
59+
impl ScalarType {
60+
pub fn new(name: Name) -> Self {
61+
Self {
62+
position: Pos::default(),
63+
description: None,
64+
name,
65+
directives: vec![],
66+
}
67+
}
68+
}
69+
70+
#[derive(Debug, Clone, PartialEq)]
6071
pub struct ScalarTypeExtension {
6172
pub position: Pos,
6273
pub name: Name,
6374
pub directives: Vec<Directive>,
6475
}
6576

66-
#[derive(Debug, Clone, Default, PartialEq)]
77+
impl ScalarTypeExtension {
78+
pub fn new(name: Name) -> Self {
79+
Self {
80+
position: Pos::default(),
81+
name,
82+
directives: vec![],
83+
}
84+
}
85+
}
86+
87+
#[derive(Debug, Clone, PartialEq)]
6788
pub struct ObjectType {
6889
pub position: Pos,
6990
pub description: Option<String>,
@@ -73,7 +94,20 @@ pub struct ObjectType {
7394
pub fields: Vec<Field>,
7495
}
7596

76-
#[derive(Debug, Clone, Default, PartialEq)]
97+
impl ObjectType {
98+
pub fn new(name: Name) -> Self {
99+
Self {
100+
position: Pos::default(),
101+
description: None,
102+
name,
103+
implements_interfaces: vec![],
104+
directives: vec![],
105+
fields: vec![],
106+
}
107+
}
108+
}
109+
110+
#[derive(Debug, Clone, PartialEq)]
77111
pub struct ObjectTypeExtension {
78112
pub position: Pos,
79113
pub name: Name,
@@ -82,6 +116,18 @@ pub struct ObjectTypeExtension {
82116
pub fields: Vec<Field>,
83117
}
84118

119+
impl ObjectTypeExtension {
120+
pub fn new(name: Name) -> Self {
121+
Self {
122+
position: Pos::default(),
123+
name,
124+
implements_interfaces: vec![],
125+
directives: vec![],
126+
fields: vec![],
127+
}
128+
}
129+
}
130+
85131
#[derive(Debug, Clone, PartialEq)]
86132
pub struct Field {
87133
pub position: Pos,
@@ -102,7 +148,7 @@ pub struct InputValue {
102148
pub directives: Vec<Directive>,
103149
}
104150

105-
#[derive(Debug, Clone, Default, PartialEq)]
151+
#[derive(Debug, Clone, PartialEq)]
106152
pub struct InterfaceType {
107153
pub position: Pos,
108154
pub description: Option<String>,
@@ -111,15 +157,38 @@ pub struct InterfaceType {
111157
pub fields: Vec<Field>,
112158
}
113159

114-
#[derive(Debug, Clone, Default, PartialEq)]
160+
impl InterfaceType {
161+
pub fn new(name: Name) -> Self {
162+
Self {
163+
position: Pos::default(),
164+
description: None,
165+
name,
166+
directives: vec![],
167+
fields: vec![],
168+
}
169+
}
170+
}
171+
172+
#[derive(Debug, Clone, PartialEq)]
115173
pub struct InterfaceTypeExtension {
116174
pub position: Pos,
117175
pub name: Name,
118176
pub directives: Vec<Directive>,
119177
pub fields: Vec<Field>,
120178
}
121179

122-
#[derive(Debug, Clone, Default, PartialEq)]
180+
impl InterfaceTypeExtension {
181+
pub fn new(name: Name) -> Self {
182+
Self {
183+
position: Pos::default(),
184+
name,
185+
directives: vec![],
186+
fields: vec![],
187+
}
188+
}
189+
}
190+
191+
#[derive(Debug, Clone, PartialEq)]
123192
pub struct UnionType {
124193
pub position: Pos,
125194
pub description: Option<String>,
@@ -128,15 +197,38 @@ pub struct UnionType {
128197
pub types: Vec<NamedType>,
129198
}
130199

131-
#[derive(Debug, Clone, Default, PartialEq)]
200+
impl UnionType {
201+
pub fn new(name: Name) -> Self {
202+
Self {
203+
position: Pos::default(),
204+
description: None,
205+
name,
206+
directives: vec![],
207+
types: vec![],
208+
}
209+
}
210+
}
211+
212+
#[derive(Debug, Clone, PartialEq)]
132213
pub struct UnionTypeExtension {
133214
pub position: Pos,
134215
pub name: Name,
135216
pub directives: Vec<Directive>,
136217
pub types: Vec<NamedType>,
137218
}
138219

139-
#[derive(Debug, Clone, Default, PartialEq)]
220+
impl UnionTypeExtension {
221+
pub fn new(name: Name) -> Self {
222+
Self {
223+
position: Pos::default(),
224+
name,
225+
directives: vec![],
226+
types: vec![],
227+
}
228+
}
229+
}
230+
231+
#[derive(Debug, Clone, PartialEq)]
140232
pub struct EnumType {
141233
pub position: Pos,
142234
pub description: Option<String>,
@@ -145,23 +237,57 @@ pub struct EnumType {
145237
pub values: Vec<EnumValue>,
146238
}
147239

148-
#[derive(Debug, Clone, Default, PartialEq)]
240+
impl EnumType {
241+
pub fn new(name: Name) -> Self {
242+
Self {
243+
position: Pos::default(),
244+
description: None,
245+
name,
246+
directives: vec![],
247+
values: vec![],
248+
}
249+
}
250+
}
251+
252+
#[derive(Debug, Clone, PartialEq)]
149253
pub struct EnumValue {
150254
pub position: Pos,
151255
pub description: Option<String>,
152256
pub name: Name,
153257
pub directives: Vec<Directive>,
154258
}
155259

156-
#[derive(Debug, Clone, Default, PartialEq)]
260+
impl EnumValue {
261+
pub fn new(name: Name) -> Self {
262+
Self {
263+
position: Pos::default(),
264+
description: None,
265+
name,
266+
directives: vec![],
267+
}
268+
}
269+
}
270+
271+
#[derive(Debug, Clone, PartialEq)]
157272
pub struct EnumTypeExtension {
158273
pub position: Pos,
159274
pub name: Name,
160275
pub directives: Vec<Directive>,
161276
pub values: Vec<EnumValue>,
162277
}
163278

164-
#[derive(Debug, Clone, Default, PartialEq)]
279+
impl EnumTypeExtension {
280+
pub fn new(name: Name) -> Self {
281+
Self {
282+
position: Pos::default(),
283+
name,
284+
directives: vec![],
285+
values: vec![],
286+
}
287+
}
288+
}
289+
290+
#[derive(Debug, Clone, PartialEq)]
165291
pub struct InputObjectType {
166292
pub position: Pos,
167293
pub description: Option<String>,
@@ -170,14 +296,37 @@ pub struct InputObjectType {
170296
pub fields: Vec<InputValue>,
171297
}
172298

173-
#[derive(Debug, Clone, Default, PartialEq)]
299+
impl InputObjectType {
300+
pub fn new(name: Name) -> Self {
301+
Self {
302+
position: Pos::default(),
303+
description: None,
304+
name,
305+
directives: vec![],
306+
fields: vec![],
307+
}
308+
}
309+
}
310+
311+
#[derive(Debug, Clone, PartialEq)]
174312
pub struct InputObjectTypeExtension {
175313
pub position: Pos,
176314
pub name: Name,
177315
pub directives: Vec<Directive>,
178316
pub fields: Vec<InputValue>,
179317
}
180318

319+
impl InputObjectTypeExtension {
320+
pub fn new(name: Name) -> Self {
321+
Self {
322+
position: Pos::default(),
323+
name,
324+
directives: vec![],
325+
fields: vec![],
326+
}
327+
}
328+
}
329+
181330
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
182331
pub enum DirectiveLocation {
183332
// executable
@@ -203,7 +352,7 @@ pub enum DirectiveLocation {
203352
InputFieldDefinition,
204353
}
205354

206-
#[derive(Debug, Clone, Default, PartialEq)]
355+
#[derive(Debug, Clone, PartialEq)]
207356
pub struct DirectiveDefinition {
208357
pub position: Pos,
209358
pub description: Option<String>,
@@ -212,6 +361,18 @@ pub struct DirectiveDefinition {
212361
pub locations: Vec<DirectiveLocation>,
213362
}
214363

364+
impl DirectiveDefinition {
365+
pub fn new(name: Name) -> Self {
366+
Self {
367+
position: Pos::default(),
368+
description: None,
369+
name,
370+
arguments: vec![],
371+
locations: vec![],
372+
}
373+
}
374+
}
375+
215376
impl DirectiveLocation {
216377
/// Returns GraphQL syntax compatible name of the directive
217378
pub fn as_str(&self) -> &'static str {

0 commit comments

Comments
 (0)