View Source argo_graphql_interface_type_definition (argo v1.0.6)
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{implements :: argo_index_set:t(argo_types:name()), fields :: argo_index_map:t(argo_types:name(), argo_graphql_field_definition:t())}.
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 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 new() -> InterfaceTypeDefinition when InterfaceTypeDefinition :: t().