Struct Field

Source
pub struct Field<'a> {
    pub alias: Option<&'a str>,
    pub name: &'a str,
    pub arguments: Arguments<'a>,
    pub directives: Directives<'a>,
    pub selection_set: SelectionSet<'a>,
}
Expand description

AST Node for Fields, which can be likened to functions or properties on a parent object.

In JSON this would represent a property in a JSON object. Reference

Fields§

§alias: Option<&'a str>

A Field’s alias, which is used to request information under a different name than the Field’s name. Reference

§name: &'a str

A Field’s name, which represents a resolver on a GraphQL schema’s object type.

§arguments: Arguments<'a>

Arguments that are passed to a Field.

When no Arguments are passed, this will be an empty list, as can be checked using Arguments::is_empty. See: Arguments

§directives: Directives<'a>

Directives that are annotating this Field.

When no Directives are present, this will be an empty list, as can be checked using Directives::is_empty. See: Directives

§selection_set: SelectionSet<'a>

A sub-Selection Set that is passed below this field to add selections to this field’s returned GraphQL object type.

When no selections are present, this will be an empty list, as can be checked using SelectionSet::is_empty. See: SelectionSet

Implementations§

Source§

impl<'a> Field<'a>

Source

pub fn alias_or_name(&self) -> &'a str

Get the alias of the field, if present, otherwise get the name.

Source

pub fn new_leaf(ctx: &'a ASTContext, name: &'a str) -> Self

Creates a new leaf field with the given name.

All sub-lists, like arguments, directives and selection_set will be created as empty defaults.

Source

pub fn new_aliased_leaf( ctx: &'a ASTContext, alias: &'a str, name: &'a str, ) -> Self

Creates a new leaf field with the given name and alias.

All sub-lists, like arguments, directives and selection_set will be created as empty defaults.

Trait Implementations§

Source§

impl<'a> Clone for Field<'a>

Source§

fn clone(&self) -> Field<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Field<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> From<Field<'a>> for Selection<'a>

Source§

fn from(x: Field<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq for Field<'a>

Source§

fn eq(&self, other: &Field<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> PrintNode for Field<'a>

Source§

fn write_to_buffer(&self, level: usize, buffer: &mut dyn Write) -> Result

Write an AST node to a buffer implementing the Write trait. Read more
Source§

fn print(&self) -> String

Print an AST Node to source text as a String allocated on the heap. Read more
Source§

impl<'arena> Skippable<'arena> for Field<'arena>

Source§

fn should_include(&'arena self, variables: Option<&Variables<'arena>>) -> bool

Resolves @include and @skip directives to a flag on whether an AST node must be skipped during execution. Read more
Source§

impl<'arena> WithDirectives<'arena> for Field<'arena>

Source§

fn directives(&self) -> &Directives<'arena>

Source§

impl<'a> StructuralPartialEq for Field<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Field<'a>

§

impl<'a> !RefUnwindSafe for Field<'a>

§

impl<'a> !Send for Field<'a>

§

impl<'a> !Sync for Field<'a>

§

impl<'a> Unpin for Field<'a>

§

impl<'a> !UnwindSafe for Field<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<'a, T> FoldNode<'a> for T
where T: FoldNode<'a>,

Source§

fn fold<'b, F: Folder<'a>>( &'a self, ctx: &'a ASTContext, folder: &'b mut F, ) -> Result<&'a Self>

Visit the GraphQL AST node tree recursively in depth-first order and create a transformed copy of it using the given folder. The folder must implement the Folder trait. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<'a, T> ParseNode<'a> for T
where T: ParseNode<'a>,

Source§

fn parse<T: ToString>(ctx: &'a ASTContext, source: T) -> Result<&'a Self>

Parse an input source text into the implementor’s AST Node structure and allocate the resulting AST into the current AST Context’s arena.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<'a, T> VisitNode<'a> for T
where T: VisitNodeWithInfo<'a>,

Source§

fn visit<'b, C, V: Visitor<'a, C>>( &'a self, ctx: &'b mut C, visitor: &'b mut V, ) -> VisitFlow

Visit a GraphQL AST node tree recursively in depth-first order with a given visitor. Read more