pub struct FederatedGraph {Show 15 fields
pub subgraphs: Vec<Subgraph>,
pub extensions: Vec<Extension>,
pub root_operation_types: RootOperationTypes,
pub objects: Vec<Object>,
pub interfaces: Vec<Interface>,
pub fields: Vec<Field>,
pub directive_definitions: Vec<DirectiveDefinitionRecord>,
pub directive_definition_arguments: Vec<DirectiveDefinitionArgument>,
pub scalar_definitions: Vec<ScalarDefinitionRecord>,
pub enum_definitions: Vec<EnumDefinitionRecord>,
pub unions: Vec<Union>,
pub input_objects: Vec<InputObject>,
pub enum_values: Vec<EnumValueRecord>,
pub input_value_definitions: Vec<InputValueDefinition>,
pub strings: Vec<String>,
}
Fields§
§subgraphs: Vec<Subgraph>
§extensions: Vec<Extension>
§root_operation_types: RootOperationTypes
§objects: Vec<Object>
§interfaces: Vec<Interface>
§fields: Vec<Field>
§directive_definitions: Vec<DirectiveDefinitionRecord>
§directive_definition_arguments: Vec<DirectiveDefinitionArgument>
§scalar_definitions: Vec<ScalarDefinitionRecord>
§enum_definitions: Vec<EnumDefinitionRecord>
§unions: Vec<Union>
§input_objects: Vec<InputObject>
§enum_values: Vec<EnumValueRecord>
§input_value_definitions: Vec<InputValueDefinition>
All input value definitions in the federated graph. Concretely, these are arguments of output fields, and input object fields.
strings: Vec<String>
All the strings in the federated graph, deduplicated.
Implementations§
Source§impl FederatedGraph
impl FederatedGraph
pub fn iter_directive_definitions( &self, ) -> impl ExactSizeIterator<Item = DirectiveDefinition<'_>>
pub fn push_directive_definition_argument( &mut self, directive_definition_id: DirectiveDefinitionId, argument: InputValueDefinition, )
pub fn push_directive_definition( &mut self, directive_definitons: DirectiveDefinitionRecord, ) -> DirectiveDefinitionId
Source§impl FederatedGraph
impl FederatedGraph
pub fn entity(&self, id: EntityDefinitionId) -> EntityDefinition<'_>
Source§impl FederatedGraph
impl FederatedGraph
pub fn push_enum_definition( &mut self, enum_definition: EnumDefinitionRecord, ) -> EnumDefinitionId
Source§impl FederatedGraph
impl FederatedGraph
pub fn enum_value_range( &self, enum_id: EnumDefinitionId, ) -> (EnumValueId, usize)
pub fn find_enum_value_by_name( &self, enum_id: EnumDefinitionId, name: &str, ) -> Option<EnumValue<'_>>
pub fn find_enum_value_by_name_id( &self, enum_id: EnumDefinitionId, name_id: StringId, ) -> Option<EnumValue<'_>>
pub fn iter_enum_values( &self, enum_id: EnumDefinitionId, ) -> impl Iterator<Item = EnumValue<'_>> + Clone
pub fn push_enum_value(&mut self, enum_value: EnumValueRecord) -> EnumValueId
Source§impl FederatedGraph
impl FederatedGraph
pub fn push_extension(&mut self, extension: Extension) -> ExtensionId
Source§impl FederatedGraph
impl FederatedGraph
pub fn push_input_value_definition( &mut self, input_value_definition: InputValueDefinition, ) -> InputValueDefinitionId
Source§impl FederatedGraph
impl FederatedGraph
pub fn push_object(&mut self, object: ObjectRecord) -> ObjectId
Source§impl FederatedGraph
impl FederatedGraph
pub fn push_scalar_definition( &mut self, scalar_definition: ScalarDefinitionRecord, ) -> ScalarDefinitionId
Source§impl FederatedGraph
impl FederatedGraph
Sourcepub fn at<Id, Record>(&self, id: Id) -> ViewNested<'_, Id, Record>
pub fn at<Id, Record>(&self, id: Id) -> ViewNested<'_, Id, Record>
Start navigating the graph from the given ID. Returns a ViewNested that exposes further steps.
Source§impl FederatedGraph
impl FederatedGraph
pub fn from_sdl(sdl: &str) -> Result<Self, DomainError>
pub fn definition_name(&self, definition: Definition) -> &str
pub fn iter_interfaces( &self, ) -> impl ExactSizeIterator<Item = View<InterfaceId, &Interface>>
pub fn iter_objects( &self, ) -> impl ExactSizeIterator<Item = View<ObjectId, &Object>>
pub fn iter_scalar_definitions( &self, ) -> impl Iterator<Item = ViewNested<'_, ScalarDefinitionId, ScalarDefinitionRecord>>
pub fn iter_enum_definitions( &self, ) -> impl Iterator<Item = ViewNested<'_, EnumDefinitionId, EnumDefinitionRecord>>
Trait Implementations§
Source§impl Clone for FederatedGraph
impl Clone for FederatedGraph
Source§fn clone(&self) -> FederatedGraph
fn clone(&self) -> FederatedGraph
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for FederatedGraph
impl Debug for FederatedGraph
Source§impl Default for FederatedGraph
impl Default for FederatedGraph
Source§fn default() -> FederatedGraph
fn default() -> FederatedGraph
Returns the “default value” for a type. Read more
Source§impl Index<(InputValueDefinitionId, usize)> for FederatedGraph
impl Index<(InputValueDefinitionId, usize)> for FederatedGraph
Source§type Output = [InputValueDefinition]
type Output = [InputValueDefinition]
The returned type after indexing.
Source§impl Index<DirectiveDefinitionId> for FederatedGraph
impl Index<DirectiveDefinitionId> for FederatedGraph
Source§type Output = DirectiveDefinitionRecord
type Output = DirectiveDefinitionRecord
The returned type after indexing.
Source§fn index(&self, index: DirectiveDefinitionId) -> &DirectiveDefinitionRecord
fn index(&self, index: DirectiveDefinitionId) -> &DirectiveDefinitionRecord
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<EnumDefinitionId> for FederatedGraph
impl Index<EnumDefinitionId> for FederatedGraph
Source§type Output = EnumDefinitionRecord
type Output = EnumDefinitionRecord
The returned type after indexing.
Source§fn index(&self, index: EnumDefinitionId) -> &EnumDefinitionRecord
fn index(&self, index: EnumDefinitionId) -> &EnumDefinitionRecord
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<EnumValueId> for FederatedGraph
impl Index<EnumValueId> for FederatedGraph
Source§type Output = EnumValueRecord
type Output = EnumValueRecord
The returned type after indexing.
Source§fn index(&self, index: EnumValueId) -> &EnumValueRecord
fn index(&self, index: EnumValueId) -> &EnumValueRecord
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<ExtensionId> for FederatedGraph
impl Index<ExtensionId> for FederatedGraph
Source§impl Index<FieldId> for FederatedGraph
impl Index<FieldId> for FederatedGraph
Source§impl Index<InputObjectId> for FederatedGraph
impl Index<InputObjectId> for FederatedGraph
Source§type Output = InputObject
type Output = InputObject
The returned type after indexing.
Source§fn index(&self, index: InputObjectId) -> &InputObject
fn index(&self, index: InputObjectId) -> &InputObject
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<InputValueDefinitionId> for FederatedGraph
impl Index<InputValueDefinitionId> for FederatedGraph
Source§type Output = InputValueDefinition
type Output = InputValueDefinition
The returned type after indexing.
Source§fn index(&self, index: InputValueDefinitionId) -> &InputValueDefinition
fn index(&self, index: InputValueDefinitionId) -> &InputValueDefinition
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<InterfaceId> for FederatedGraph
impl Index<InterfaceId> for FederatedGraph
Source§impl Index<ObjectId> for FederatedGraph
impl Index<ObjectId> for FederatedGraph
Source§impl Index<ScalarDefinitionId> for FederatedGraph
impl Index<ScalarDefinitionId> for FederatedGraph
Source§type Output = ScalarDefinitionRecord
type Output = ScalarDefinitionRecord
The returned type after indexing.
Source§fn index(&self, index: ScalarDefinitionId) -> &ScalarDefinitionRecord
fn index(&self, index: ScalarDefinitionId) -> &ScalarDefinitionRecord
Performs the indexing (
container[index]
) operation. Read moreSource§impl Index<StringId> for FederatedGraph
impl Index<StringId> for FederatedGraph
Source§impl Index<SubgraphId> for FederatedGraph
impl Index<SubgraphId> for FederatedGraph
Source§impl Index<UnionId> for FederatedGraph
impl Index<UnionId> for FederatedGraph
Source§impl IndexMut<DirectiveDefinitionId> for FederatedGraph
impl IndexMut<DirectiveDefinitionId> for FederatedGraph
Source§fn index_mut(
&mut self,
index: DirectiveDefinitionId,
) -> &mut DirectiveDefinitionRecord
fn index_mut( &mut self, index: DirectiveDefinitionId, ) -> &mut DirectiveDefinitionRecord
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<EnumDefinitionId> for FederatedGraph
impl IndexMut<EnumDefinitionId> for FederatedGraph
Source§fn index_mut(&mut self, index: EnumDefinitionId) -> &mut EnumDefinitionRecord
fn index_mut(&mut self, index: EnumDefinitionId) -> &mut EnumDefinitionRecord
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<EnumValueId> for FederatedGraph
impl IndexMut<EnumValueId> for FederatedGraph
Source§fn index_mut(&mut self, index: EnumValueId) -> &mut EnumValueRecord
fn index_mut(&mut self, index: EnumValueId) -> &mut EnumValueRecord
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<ExtensionId> for FederatedGraph
impl IndexMut<ExtensionId> for FederatedGraph
Source§impl IndexMut<FieldId> for FederatedGraph
impl IndexMut<FieldId> for FederatedGraph
Source§impl IndexMut<InputObjectId> for FederatedGraph
impl IndexMut<InputObjectId> for FederatedGraph
Source§fn index_mut(&mut self, index: InputObjectId) -> &mut InputObject
fn index_mut(&mut self, index: InputObjectId) -> &mut InputObject
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<InputValueDefinitionId> for FederatedGraph
impl IndexMut<InputValueDefinitionId> for FederatedGraph
Source§fn index_mut(
&mut self,
index: InputValueDefinitionId,
) -> &mut InputValueDefinition
fn index_mut( &mut self, index: InputValueDefinitionId, ) -> &mut InputValueDefinition
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<InterfaceId> for FederatedGraph
impl IndexMut<InterfaceId> for FederatedGraph
Source§impl IndexMut<ObjectId> for FederatedGraph
impl IndexMut<ObjectId> for FederatedGraph
Source§impl IndexMut<ScalarDefinitionId> for FederatedGraph
impl IndexMut<ScalarDefinitionId> for FederatedGraph
Source§fn index_mut(
&mut self,
index: ScalarDefinitionId,
) -> &mut ScalarDefinitionRecord
fn index_mut( &mut self, index: ScalarDefinitionId, ) -> &mut ScalarDefinitionRecord
Performs the mutable indexing (
container[index]
) operation. Read moreSource§impl IndexMut<StringId> for FederatedGraph
impl IndexMut<StringId> for FederatedGraph
Source§impl IndexMut<SubgraphId> for FederatedGraph
impl IndexMut<SubgraphId> for FederatedGraph
Auto Trait Implementations§
impl Freeze for FederatedGraph
impl RefUnwindSafe for FederatedGraph
impl Send for FederatedGraph
impl Sync for FederatedGraph
impl Unpin for FederatedGraph
impl UnwindSafe for FederatedGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more