View Source argo_graphql_type_definition (argo v1.0.1)
Summary
Functions
Schema extensions without additional operation type definitions must not be followed by a { (such as a query shorthand) to avoid parsing ambiguity. The same limitation applies to the type definitions and extensions below.
Types
-type t() :: #argo_graphql_type_definition{}.
Functions
-spec add_directive_const(TypeDefinition, DirectiveConst) -> TypeDefinition when TypeDefinition :: t(), DirectiveConst :: argo_graphql_directive_const:t().
-spec builtin(TypeName) -> {ok, TypeDefinition} | error when TypeName :: argo_types:name(), TypeDefinition :: t().
-spec enum_type_definition(Name, EnumTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), EnumTypeDefinition :: argo_graphql_enum_type_definition:t(), TypeDefinition :: t().
-spec find_field_definition(TypeDefinition, FieldName, ServiceDocument) -> {ok, FieldDefinition} | error when TypeDefinition :: t(), FieldName :: argo_types:name(), ServiceDocument :: argo_graphql_service_document:t(), FieldDefinition :: argo_graphql_field_definition:t().
-spec format(Formatter1, Type :: t()) -> Formatter2 when Formatter1 :: argo_graphql_formatter:t(), Formatter2 :: argo_graphql_formatter:t().
-spec format_error(dynamic(), dynamic()) -> dynamic().
-spec from_language(LanguageTypeDefinition) -> TypeDefinition when LanguageTypeDefinition :: argo_graphql_language_type_definition:t(), TypeDefinition :: t().
-spec get_field_definition(TypeDefinition, FieldName, ServiceDocument) -> FieldDefinition when TypeDefinition :: t(), FieldName :: argo_types:name(), ServiceDocument :: argo_graphql_service_document:t(), FieldDefinition :: argo_graphql_field_definition:t().
-spec get_implementations(InterfaceTypeDefinition, ServiceDocument) -> [TypeName] when InterfaceTypeDefinition :: t(), ServiceDocument :: argo_graphql_service_document:t(), TypeName :: argo_types:name().
-spec get_shape(TypeDefinition, ServiceDocument) -> Shape when TypeDefinition :: t(), ServiceDocument :: argo_graphql_service_document:t(), Shape :: shape().
-spec input_object_type_definition(Name, InputObjectTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), InputObjectTypeDefinition :: argo_graphql_input_object_type_definition:t(), TypeDefinition :: t().
-spec interface_type_definition(Name, InterfaceTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), InterfaceTypeDefinition :: argo_graphql_interface_type_definition:t(), TypeDefinition :: t().
-spec is_ambiguous(Definition) -> boolean() when Definition :: t().
-spec is_input_type(Definition) -> boolean() when Definition :: t().
-spec object_type_definition(Name, ObjectTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), ObjectTypeDefinition :: argo_graphql_object_type_definition:t(), TypeDefinition :: t().
-spec scalar_type_definition(Name, ScalarTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), ScalarTypeDefinition :: argo_graphql_scalar_type_definition:t(), TypeDefinition :: t().
-spec set_description(TypeDefinition, OptionDescription) -> TypeDefinition when TypeDefinition :: t(), OptionDescription :: none | {some, unicode:unicode_binary()}.
-spec union_type_definition(Name, UnionTypeDefinition) -> TypeDefinition when Name :: argo_types:name(), UnionTypeDefinition :: argo_graphql_union_type_definition:t(), TypeDefinition :: t().