197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
# File 'lib/graphql/schema/loader.rb', line 197
def build_arguments(arg_owner, args, type_resolver)
args.each do |arg|
kwargs = {
type: type_resolver.call(arg["type"]),
description: arg["description"],
deprecation_reason: arg["deprecationReason"],
required: false,
camelize: false,
}
if arg["defaultValue"]
default_value_str = arg["defaultValue"]
dummy_query_str = "query getStuff($var: InputObj = #{default_value_str}) { __typename }"
dummy_query_ast = GraphQL.parse(dummy_query_str)
input_value_ast = dummy_query_ast.definitions.first.variables.first.default_value
kwargs[:default_value] = (default_value_str, input_value_ast)
end
arg_owner.argument(arg["name"], **kwargs)
end
end
|