Skip to content

Commit b0de30e

Browse files
committed
Generate Traits structs for client operations
1 parent e652672 commit b0de30e

File tree

7 files changed

+323
-1
lines changed

7 files changed

+323
-1
lines changed

samples/client/benchmark/BenchmarkClient.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,31 @@ struct [[nodiscard]] Response
9696

9797
[[nodiscard]] Response parseResponse(response::Value&& response);
9898

99+
struct Traits
100+
{
101+
[[nodiscard]] static const std::string& GetRequestText() noexcept
102+
{
103+
return benchmark::GetRequestText();
104+
}
105+
106+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
107+
{
108+
return benchmark::GetRequestObject();
109+
}
110+
111+
[[nodiscard]] static const std::string& GetOperationName() noexcept
112+
{
113+
return Query::GetOperationName();
114+
}
115+
116+
using Response = Query::Response;
117+
118+
[[nodiscard]] static Response parseResponse(response::Value&& response)
119+
{
120+
return Query::parseResponse(std::move(response));
121+
}
122+
};
123+
99124
} // namespace query::Query
100125
} // namespace graphql::client
101126

samples/client/multiple/MultipleQueriesClient.h

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,31 @@ struct [[nodiscard]] Response
180180

181181
[[nodiscard]] Response parseResponse(response::Value&& response);
182182

183+
struct Traits
184+
{
185+
[[nodiscard]] static const std::string& GetRequestText() noexcept
186+
{
187+
return multiple::GetRequestText();
188+
}
189+
190+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
191+
{
192+
return multiple::GetRequestObject();
193+
}
194+
195+
[[nodiscard]] static const std::string& GetOperationName() noexcept
196+
{
197+
return Appointments::GetOperationName();
198+
}
199+
200+
using Response = Appointments::Response;
201+
202+
[[nodiscard]] static Response parseResponse(response::Value&& response)
203+
{
204+
return Appointments::parseResponse(std::move(response));
205+
}
206+
};
207+
183208
} // namespace query::Appointments
184209

185210
namespace query::Tasks {
@@ -215,6 +240,31 @@ struct [[nodiscard]] Response
215240

216241
[[nodiscard]] Response parseResponse(response::Value&& response);
217242

243+
struct Traits
244+
{
245+
[[nodiscard]] static const std::string& GetRequestText() noexcept
246+
{
247+
return multiple::GetRequestText();
248+
}
249+
250+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
251+
{
252+
return multiple::GetRequestObject();
253+
}
254+
255+
[[nodiscard]] static const std::string& GetOperationName() noexcept
256+
{
257+
return Tasks::GetOperationName();
258+
}
259+
260+
using Response = Tasks::Response;
261+
262+
[[nodiscard]] static Response parseResponse(response::Value&& response)
263+
{
264+
return Tasks::parseResponse(std::move(response));
265+
}
266+
};
267+
218268
} // namespace query::Tasks
219269

220270
namespace query::UnreadCounts {
@@ -250,6 +300,31 @@ struct [[nodiscard]] Response
250300

251301
[[nodiscard]] Response parseResponse(response::Value&& response);
252302

303+
struct Traits
304+
{
305+
[[nodiscard]] static const std::string& GetRequestText() noexcept
306+
{
307+
return multiple::GetRequestText();
308+
}
309+
310+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
311+
{
312+
return multiple::GetRequestObject();
313+
}
314+
315+
[[nodiscard]] static const std::string& GetOperationName() noexcept
316+
{
317+
return UnreadCounts::GetOperationName();
318+
}
319+
320+
using Response = UnreadCounts::Response;
321+
322+
[[nodiscard]] static Response parseResponse(response::Value&& response)
323+
{
324+
return UnreadCounts::parseResponse(std::move(response));
325+
}
326+
};
327+
253328
} // namespace query::UnreadCounts
254329

255330
namespace query::Miscellaneous {
@@ -282,6 +357,31 @@ struct [[nodiscard]] Response
282357

283358
[[nodiscard]] Response parseResponse(response::Value&& response);
284359

360+
struct Traits
361+
{
362+
[[nodiscard]] static const std::string& GetRequestText() noexcept
363+
{
364+
return multiple::GetRequestText();
365+
}
366+
367+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
368+
{
369+
return multiple::GetRequestObject();
370+
}
371+
372+
[[nodiscard]] static const std::string& GetOperationName() noexcept
373+
{
374+
return Miscellaneous::GetOperationName();
375+
}
376+
377+
using Response = Miscellaneous::Response;
378+
379+
[[nodiscard]] static Response parseResponse(response::Value&& response)
380+
{
381+
return Miscellaneous::parseResponse(std::move(response));
382+
}
383+
};
384+
285385
} // namespace query::Miscellaneous
286386

287387
namespace mutation::CompleteTaskMutation {
@@ -324,6 +424,38 @@ struct [[nodiscard]] Response
324424

325425
[[nodiscard]] Response parseResponse(response::Value&& response);
326426

427+
struct Traits
428+
{
429+
[[nodiscard]] static const std::string& GetRequestText() noexcept
430+
{
431+
return multiple::GetRequestText();
432+
}
433+
434+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
435+
{
436+
return multiple::GetRequestObject();
437+
}
438+
439+
[[nodiscard]] static const std::string& GetOperationName() noexcept
440+
{
441+
return CompleteTaskMutation::GetOperationName();
442+
}
443+
444+
using Variables = CompleteTaskMutation::Variables;
445+
446+
[[nodiscard]] static response::Value serializeVariables(Variables&& variables)
447+
{
448+
return CompleteTaskMutation::serializeVariables(std::move(variables));
449+
}
450+
451+
using Response = CompleteTaskMutation::Response;
452+
453+
[[nodiscard]] static Response parseResponse(response::Value&& response)
454+
{
455+
return CompleteTaskMutation::parseResponse(std::move(response));
456+
}
457+
};
458+
327459
} // namespace mutation::CompleteTaskMutation
328460
} // namespace graphql::client
329461

samples/client/mutate/MutateClient.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,38 @@ struct [[nodiscard]] Response
119119

120120
[[nodiscard]] Response parseResponse(response::Value&& response);
121121

122+
struct Traits
123+
{
124+
[[nodiscard]] static const std::string& GetRequestText() noexcept
125+
{
126+
return mutate::GetRequestText();
127+
}
128+
129+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
130+
{
131+
return mutate::GetRequestObject();
132+
}
133+
134+
[[nodiscard]] static const std::string& GetOperationName() noexcept
135+
{
136+
return CompleteTaskMutation::GetOperationName();
137+
}
138+
139+
using Variables = CompleteTaskMutation::Variables;
140+
141+
[[nodiscard]] static response::Value serializeVariables(Variables&& variables)
142+
{
143+
return CompleteTaskMutation::serializeVariables(std::move(variables));
144+
}
145+
146+
using Response = CompleteTaskMutation::Response;
147+
148+
[[nodiscard]] static Response parseResponse(response::Value&& response)
149+
{
150+
return CompleteTaskMutation::parseResponse(std::move(response));
151+
}
152+
};
153+
122154
} // namespace mutation::CompleteTaskMutation
123155
} // namespace graphql::client
124156

samples/client/nestedinput/NestedInputClient.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,38 @@ struct [[nodiscard]] Response
145145

146146
[[nodiscard]] Response parseResponse(response::Value&& response);
147147

148+
struct Traits
149+
{
150+
[[nodiscard]] static const std::string& GetRequestText() noexcept
151+
{
152+
return nestedinput::GetRequestText();
153+
}
154+
155+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
156+
{
157+
return nestedinput::GetRequestObject();
158+
}
159+
160+
[[nodiscard]] static const std::string& GetOperationName() noexcept
161+
{
162+
return testQuery::GetOperationName();
163+
}
164+
165+
using Variables = testQuery::Variables;
166+
167+
[[nodiscard]] static response::Value serializeVariables(Variables&& variables)
168+
{
169+
return testQuery::serializeVariables(std::move(variables));
170+
}
171+
172+
using Response = testQuery::Response;
173+
174+
[[nodiscard]] static Response parseResponse(response::Value&& response)
175+
{
176+
return testQuery::parseResponse(std::move(response));
177+
}
178+
};
179+
148180
} // namespace query::testQuery
149181
} // namespace graphql::client
150182

samples/client/query/QueryClient.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,31 @@ struct [[nodiscard]] Response
196196

197197
[[nodiscard]] Response parseResponse(response::Value&& response);
198198

199+
struct Traits
200+
{
201+
[[nodiscard]] static const std::string& GetRequestText() noexcept
202+
{
203+
return query::GetRequestText();
204+
}
205+
206+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
207+
{
208+
return query::GetRequestObject();
209+
}
210+
211+
[[nodiscard]] static const std::string& GetOperationName() noexcept
212+
{
213+
return Query::GetOperationName();
214+
}
215+
216+
using Response = Query::Response;
217+
218+
[[nodiscard]] static Response parseResponse(response::Value&& response)
219+
{
220+
return Query::parseResponse(std::move(response));
221+
}
222+
};
223+
199224
} // namespace query::Query
200225
} // namespace graphql::client
201226

samples/client/subscribe/SubscribeClient.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,31 @@ struct [[nodiscard]] Response
7373

7474
[[nodiscard]] Response parseResponse(response::Value&& response);
7575

76+
struct Traits
77+
{
78+
[[nodiscard]] static const std::string& GetRequestText() noexcept
79+
{
80+
return subscribe::GetRequestText();
81+
}
82+
83+
[[nodiscard]] static const peg::ast& GetRequestObject() noexcept
84+
{
85+
return subscribe::GetRequestObject();
86+
}
87+
88+
[[nodiscard]] static const std::string& GetOperationName() noexcept
89+
{
90+
return TestSubscription::GetOperationName();
91+
}
92+
93+
using Response = TestSubscription::Response;
94+
95+
[[nodiscard]] static Response parseResponse(response::Value&& response)
96+
{
97+
return TestSubscription::parseResponse(std::move(response));
98+
}
99+
};
100+
76101
} // namespace subscription::TestSubscription
77102
} // namespace graphql::client
78103

0 commit comments

Comments
 (0)