View Source argo_graphql_interface_type_definition (argo v1.0.2)
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 shape() :: #{argo_types:name() => argo_graphql_type:t(), type := interface}.
-type t() :: #argo_graphql_interface_type_definition{}.
Functions
-spec add_field_definition(InterfaceTypeDefinition, FieldDefinition) -> InterfaceTypeDefinition when InterfaceTypeDefinition :: t(), FieldDefinition :: argo_graphql_field_definition:t().
-spec add_interface(InterfaceTypeDefinition, InterfaceName) -> InterfaceTypeDefinition when InterfaceTypeDefinition :: t(), InterfaceName :: argo_types:name().
-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(LanguageInterfaceTypeDefinition) -> InterfaceTypeDefinition when LanguageInterfaceTypeDefinition :: argo_graphql_language_interface_type_definition:t(), InterfaceTypeDefinition :: t().
Link to this function
get_implements_interfaces(InterfaceTypeDefinition, ServiceDocument)
View Source-spec get_implements_interfaces(InterfaceTypeDefinition, ServiceDocument) -> ImplementsInterfaces when InterfaceTypeDefinition :: t(), ServiceDocument :: argo_graphql_service_document:t(), ImplementsInterfaces :: [argo_types:name()].
-spec get_shape(InterfaceTypeDefinition, ServiceDocument) -> InterfaceShape when InterfaceTypeDefinition :: t(), ServiceDocument :: argo_graphql_service_document:t(), InterfaceShape :: shape().
-spec is_ambiguous(Definition) -> boolean() when Definition :: t().
-spec new() -> InterfaceTypeDefinition when InterfaceTypeDefinition :: t().