Skip to content

Commit eadbea9

Browse files
committed
Simplify the Introspection implementation
1 parent 006e46f commit eadbea9

File tree

4 files changed

+145
-197
lines changed

4 files changed

+145
-197
lines changed

include/graphqlservice/introspection/Introspection.h

Lines changed: 38 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,12 @@ class Schema
2525
GRAPHQLINTROSPECTION_EXPORT explicit Schema(const std::shared_ptr<schema::Schema>& schema);
2626

2727
// Accessors
28-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::vector<std::shared_ptr<object::Type>>>
29-
getTypes(service::FieldParams&& params) const;
30-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>> getQueryType(
31-
service::FieldParams&& params) const;
32-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>> getMutationType(
33-
service::FieldParams&& params) const;
34-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>>
35-
getSubscriptionType(service::FieldParams&& params) const;
36-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
37-
std::vector<std::shared_ptr<object::Directive>>>
38-
getDirectives(service::FieldParams&& params) const;
28+
GRAPHQLINTROSPECTION_EXPORT std::vector<std::shared_ptr<object::Type>> getTypes() const;
29+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getQueryType() const;
30+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getMutationType() const;
31+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getSubscriptionType() const;
32+
GRAPHQLINTROSPECTION_EXPORT std::vector<std::shared_ptr<object::Directive>> getDirectives()
33+
const;
3934

4035
private:
4136
const std::shared_ptr<schema::Schema> _schema;
@@ -47,31 +42,20 @@ class Type
4742
GRAPHQLINTROSPECTION_EXPORT explicit Type(const std::shared_ptr<const schema::BaseType>& type);
4843

4944
// Accessors
50-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<TypeKind> getKind(
51-
service::FieldParams&&) const;
52-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>> getName(
53-
service::FieldParams&& params) const;
54-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
55-
getDescription(service::FieldParams&& params) const;
56-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
57-
std::optional<std::vector<std::shared_ptr<object::Field>>>>
58-
getFields(service::FieldParams&& params,
59-
std::optional<response::BooleanType>&& includeDeprecatedArg) const;
60-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
61-
std::optional<std::vector<std::shared_ptr<object::Type>>>>
62-
getInterfaces(service::FieldParams&& params) const;
63-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
64-
std::optional<std::vector<std::shared_ptr<object::Type>>>>
65-
getPossibleTypes(service::FieldParams&& params) const;
66-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
67-
std::optional<std::vector<std::shared_ptr<object::EnumValue>>>>
68-
getEnumValues(service::FieldParams&& params,
69-
std::optional<response::BooleanType>&& includeDeprecatedArg) const;
70-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
71-
std::optional<std::vector<std::shared_ptr<object::InputValue>>>>
72-
getInputFields(service::FieldParams&& params) const;
73-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>> getOfType(
74-
service::FieldParams&& params) const;
45+
GRAPHQLINTROSPECTION_EXPORT TypeKind getKind() const;
46+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getName() const;
47+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDescription() const;
48+
GRAPHQLINTROSPECTION_EXPORT std::optional<std::vector<std::shared_ptr<object::Field>>>
49+
getFields(std::optional<response::BooleanType>&& includeDeprecatedArg) const;
50+
GRAPHQLINTROSPECTION_EXPORT std::optional<std::vector<std::shared_ptr<object::Type>>>
51+
getInterfaces() const;
52+
GRAPHQLINTROSPECTION_EXPORT std::optional<std::vector<std::shared_ptr<object::Type>>>
53+
getPossibleTypes() const;
54+
GRAPHQLINTROSPECTION_EXPORT std::optional<std::vector<std::shared_ptr<object::EnumValue>>>
55+
getEnumValues(std::optional<response::BooleanType>&& includeDeprecatedArg) const;
56+
GRAPHQLINTROSPECTION_EXPORT std::optional<std::vector<std::shared_ptr<object::InputValue>>>
57+
getInputFields() const;
58+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getOfType() const;
7559

7660
private:
7761
const std::shared_ptr<const schema::BaseType> _type;
@@ -83,19 +67,12 @@ class Field
8367
GRAPHQLINTROSPECTION_EXPORT explicit Field(const std::shared_ptr<const schema::Field>& field);
8468

8569
// Accessors
86-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::StringType> getName(
87-
service::FieldParams&& params) const;
88-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
89-
getDescription(service::FieldParams&& params) const;
90-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
91-
std::vector<std::shared_ptr<object::InputValue>>>
92-
getArgs(service::FieldParams&& params) const;
93-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>> getType(
94-
service::FieldParams&& params) const;
95-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::BooleanType> getIsDeprecated(
96-
service::FieldParams&& params) const;
97-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
98-
getDeprecationReason(service::FieldParams&& params) const;
70+
GRAPHQLINTROSPECTION_EXPORT response::StringType getName() const;
71+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDescription() const;
72+
GRAPHQLINTROSPECTION_EXPORT std::vector<std::shared_ptr<object::InputValue>> getArgs() const;
73+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getType() const;
74+
GRAPHQLINTROSPECTION_EXPORT response::BooleanType getIsDeprecated() const;
75+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDeprecationReason() const;
9976

10077
private:
10178
const std::shared_ptr<const schema::Field> _field;
@@ -108,14 +85,10 @@ class InputValue
10885
const std::shared_ptr<const schema::InputValue>& inputValue);
10986

11087
// Accessors
111-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::StringType> getName(
112-
service::FieldParams&& params) const;
113-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
114-
getDescription(service::FieldParams&& params) const;
115-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::shared_ptr<object::Type>> getType(
116-
service::FieldParams&& params) const;
117-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
118-
getDefaultValue(service::FieldParams&& params) const;
88+
GRAPHQLINTROSPECTION_EXPORT response::StringType getName() const;
89+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDescription() const;
90+
GRAPHQLINTROSPECTION_EXPORT std::shared_ptr<object::Type> getType() const;
91+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDefaultValue() const;
11992

12093
private:
12194
const std::shared_ptr<const schema::InputValue> _inputValue;
@@ -128,14 +101,10 @@ class EnumValue
128101
const std::shared_ptr<const schema::EnumValue>& enumValue);
129102

130103
// Accessors
131-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::StringType> getName(
132-
service::FieldParams&& params) const;
133-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
134-
getDescription(service::FieldParams&& params) const;
135-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::BooleanType> getIsDeprecated(
136-
service::FieldParams&& params) const;
137-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
138-
getDeprecationReason(service::FieldParams&& params) const;
104+
GRAPHQLINTROSPECTION_EXPORT response::StringType getName() const;
105+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDescription() const;
106+
GRAPHQLINTROSPECTION_EXPORT response::BooleanType getIsDeprecated() const;
107+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDeprecationReason() const;
139108

140109
private:
141110
const std::shared_ptr<const schema::EnumValue> _enumValue;
@@ -148,15 +117,10 @@ class Directive
148117
const std::shared_ptr<const schema::Directive>& directive);
149118

150119
// Accessors
151-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<response::StringType> getName(
152-
service::FieldParams&& params) const;
153-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::optional<response::StringType>>
154-
getDescription(service::FieldParams&& params) const;
155-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<std::vector<DirectiveLocation>> getLocations(
156-
service::FieldParams&& params) const;
157-
GRAPHQLINTROSPECTION_EXPORT service::FieldResult<
158-
std::vector<std::shared_ptr<object::InputValue>>>
159-
getArgs(service::FieldParams&& params) const;
120+
GRAPHQLINTROSPECTION_EXPORT response::StringType getName() const;
121+
GRAPHQLINTROSPECTION_EXPORT std::optional<response::StringType> getDescription() const;
122+
GRAPHQLINTROSPECTION_EXPORT std::vector<DirectiveLocation> getLocations() const;
123+
GRAPHQLINTROSPECTION_EXPORT std::vector<std::shared_ptr<object::InputValue>> getArgs() const;
160124

161125
private:
162126
const std::shared_ptr<const schema::Directive> _directive;

0 commit comments

Comments
 (0)