Method: GraphQL::Schema#get_field
- Defined in:
- lib/graphql/schema.rb
#get_field(parent_type, field_name) ⇒ GraphQL::Field?
Resolve field named field_name for type parent_type.
Handles dynamic fields __typename, __type and __schema, too
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
# File 'lib/graphql/schema.rb', line 309 def get_field(parent_type, field_name) with_definition_error_check do parent_type_name = case parent_type when GraphQL::BaseType parent_type.name when String parent_type else raise "Unexpected parent_type: #{parent_type}" end defined_field = @instrumented_field_map[parent_type_name][field_name] if defined_field defined_field elsif field_name == "__typename" GraphQL::Introspection::TypenameField elsif field_name == "__schema" && parent_type == query GraphQL::Introspection::SchemaField elsif field_name == "__type" && parent_type == query GraphQL::Introspection::TypeByNameField else nil end end end |