SchemaDefinition

Trait SchemaDefinition 

Source
pub trait SchemaDefinition: HasDirectives<Directives = Self::Directives> {
Show 35 associated items type Directive: Directive<DirectiveDefinition = Self::DirectiveDefinition>; type Directives: Directives<Directive = Self::Directive>; type InputValueDefinition: InputValueDefinition<InputType = Self::InputType, Directives = <Self as SchemaDefinition>::Directives>; type InputFieldsDefinition: InputFieldsDefinition<InputValueDefinition = Self::InputValueDefinition>; type ArgumentsDefinition: ArgumentsDefinition<ArgumentDefinition = Self::InputValueDefinition>; type EnumValueDefinition: EnumValueDefinition<Directives = <Self as SchemaDefinition>::Directives>; type EnumValueDefinitions: EnumValueDefinitions<EnumValueDefinition = Self::EnumValueDefinition>; type FieldDefinition: FieldDefinition<ArgumentsDefinition = Self::ArgumentsDefinition, OutputType = Self::OutputType, Directives = <Self as SchemaDefinition>::Directives>; type FieldsDefinition: FieldsDefinition<FieldDefinition = Self::FieldDefinition>; type InterfaceImplementation: InterfaceImplementation<InterfaceTypeDefinition = Self::InterfaceTypeDefinition>; type InterfaceImplementations: InterfaceImplementations<InterfaceImplementation = Self::InterfaceImplementation>; type UnionMemberType: UnionMemberType<ObjectTypeDefinition = Self::ObjectTypeDefinition>; type UnionMemberTypes: UnionMemberTypes<UnionMemberType = Self::UnionMemberType>; type InputType: InputType<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, InputObjectTypeDefinition = Self::InputObjectTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition>; type OutputType: OutputType<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition, ObjectTypeDefinition = Self::ObjectTypeDefinition, InterfaceTypeDefinition = Self::InterfaceTypeDefinition, UnionTypeDefinition = Self::UnionTypeDefinition>; type CustomScalarTypeDefinition: ScalarTypeDefinition<Directives = <Self as SchemaDefinition>::Directives>; type ObjectTypeDefinition: ObjectTypeDefinition<FieldsDefinition = Self::FieldsDefinition, InterfaceImplementations = Self::InterfaceImplementations, Directives = <Self as SchemaDefinition>::Directives>; type InterfaceTypeDefinition: InterfaceTypeDefinition<FieldsDefinition = Self::FieldsDefinition, InterfaceImplementations = Self::InterfaceImplementations, Directives = <Self as SchemaDefinition>::Directives>; type UnionTypeDefinition: UnionTypeDefinition<UnionMemberTypes = Self::UnionMemberTypes, Directives = <Self as SchemaDefinition>::Directives, FieldsDefinition = Self::FieldsDefinition>; type InputObjectTypeDefinition: InputObjectTypeDefinition<InputFieldsDefinition = Self::InputFieldsDefinition, Directives = <Self as SchemaDefinition>::Directives>; type EnumTypeDefinition: EnumTypeDefinition<Directives = <Self as SchemaDefinition>::Directives, EnumValueDefinitions = Self::EnumValueDefinitions>; type TypeDefinition: TypeDefinition<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, ObjectTypeDefinition = Self::ObjectTypeDefinition, InputObjectTypeDefinition = Self::InputObjectTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition, UnionTypeDefinition = Self::UnionTypeDefinition, InterfaceTypeDefinition = Self::InterfaceTypeDefinition>; type DirectiveDefinition: DirectiveDefinition<ArgumentsDefinition = Self::ArgumentsDefinition>; type TypeDefinitions<'a>: Iterator<Item = TypeDefinitionReference<'a, Self::TypeDefinition>> where Self: 'a; type DirectiveDefinitions<'a>: Iterator<Item = &'a Self::DirectiveDefinition> where Self: 'a; type InterfaceImplementors<'a>: Iterator<Item = &'a Self::ObjectTypeDefinition> where Self: 'a; // Required methods fn description(&self) -> Option<&str>; fn query(&self) -> &Self::ObjectTypeDefinition; fn mutation(&self) -> Option<&Self::ObjectTypeDefinition>; fn subscription(&self) -> Option<&Self::ObjectTypeDefinition>; fn get_type_definition( &self, name: &str, ) -> Option<TypeDefinitionReference<'_, Self::TypeDefinition>>; fn type_definitions(&self) -> Self::TypeDefinitions<'_>; fn get_directive_definition( &self, name: &str, ) -> Option<&Self::DirectiveDefinition>; fn directive_definitions(&self) -> Self::DirectiveDefinitions<'_>; fn get_interface_implementors( &self, itd: &Self::InterfaceTypeDefinition, ) -> Self::InterfaceImplementors<'_>;
}

Required Associated Types§

Source

type Directive: Directive<DirectiveDefinition = Self::DirectiveDefinition>

Source

type Directives: Directives<Directive = Self::Directive>

Source

type InputValueDefinition: InputValueDefinition<InputType = Self::InputType, Directives = <Self as SchemaDefinition>::Directives>

Source

type InputFieldsDefinition: InputFieldsDefinition<InputValueDefinition = Self::InputValueDefinition>

Source

type ArgumentsDefinition: ArgumentsDefinition<ArgumentDefinition = Self::InputValueDefinition>

Source

type EnumValueDefinition: EnumValueDefinition<Directives = <Self as SchemaDefinition>::Directives>

Source

type EnumValueDefinitions: EnumValueDefinitions<EnumValueDefinition = Self::EnumValueDefinition>

Source

type FieldDefinition: FieldDefinition<ArgumentsDefinition = Self::ArgumentsDefinition, OutputType = Self::OutputType, Directives = <Self as SchemaDefinition>::Directives>

Source

type FieldsDefinition: FieldsDefinition<FieldDefinition = Self::FieldDefinition>

Source

type InterfaceImplementation: InterfaceImplementation<InterfaceTypeDefinition = Self::InterfaceTypeDefinition>

Source

type InterfaceImplementations: InterfaceImplementations<InterfaceImplementation = Self::InterfaceImplementation>

Source

type UnionMemberType: UnionMemberType<ObjectTypeDefinition = Self::ObjectTypeDefinition>

Source

type UnionMemberTypes: UnionMemberTypes<UnionMemberType = Self::UnionMemberType>

Source

type InputType: InputType<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, InputObjectTypeDefinition = Self::InputObjectTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition>

Source

type OutputType: OutputType<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition, ObjectTypeDefinition = Self::ObjectTypeDefinition, InterfaceTypeDefinition = Self::InterfaceTypeDefinition, UnionTypeDefinition = Self::UnionTypeDefinition>

Source

type CustomScalarTypeDefinition: ScalarTypeDefinition<Directives = <Self as SchemaDefinition>::Directives>

Source

type ObjectTypeDefinition: ObjectTypeDefinition<FieldsDefinition = Self::FieldsDefinition, InterfaceImplementations = Self::InterfaceImplementations, Directives = <Self as SchemaDefinition>::Directives>

Source

type InterfaceTypeDefinition: InterfaceTypeDefinition<FieldsDefinition = Self::FieldsDefinition, InterfaceImplementations = Self::InterfaceImplementations, Directives = <Self as SchemaDefinition>::Directives>

Source

type UnionTypeDefinition: UnionTypeDefinition<UnionMemberTypes = Self::UnionMemberTypes, Directives = <Self as SchemaDefinition>::Directives, FieldsDefinition = Self::FieldsDefinition>

Source

type InputObjectTypeDefinition: InputObjectTypeDefinition<InputFieldsDefinition = Self::InputFieldsDefinition, Directives = <Self as SchemaDefinition>::Directives>

Source

type EnumTypeDefinition: EnumTypeDefinition<Directives = <Self as SchemaDefinition>::Directives, EnumValueDefinitions = Self::EnumValueDefinitions>

Source

type TypeDefinition: TypeDefinition<CustomScalarTypeDefinition = Self::CustomScalarTypeDefinition, ObjectTypeDefinition = Self::ObjectTypeDefinition, InputObjectTypeDefinition = Self::InputObjectTypeDefinition, EnumTypeDefinition = Self::EnumTypeDefinition, UnionTypeDefinition = Self::UnionTypeDefinition, InterfaceTypeDefinition = Self::InterfaceTypeDefinition>

Source

type DirectiveDefinition: DirectiveDefinition<ArgumentsDefinition = Self::ArgumentsDefinition>

Source

type TypeDefinitions<'a>: Iterator<Item = TypeDefinitionReference<'a, Self::TypeDefinition>> where Self: 'a

Source

type DirectiveDefinitions<'a>: Iterator<Item = &'a Self::DirectiveDefinition> where Self: 'a

Source

type InterfaceImplementors<'a>: Iterator<Item = &'a Self::ObjectTypeDefinition> where Self: 'a

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§