pub trait LookAheadMethods<'sel, S> {
    fn field_name(&self) -> &'sel str;
    fn select_child(&self, name: &str) -> Option<&Self>;
    fn has_arguments(&self) -> bool;
    fn has_children(&self) -> bool;
    fn arguments(&self) -> &[LookAheadArgument<'_, S>];
    fn child_names(&self) -> Vec<&'sel str>;
    fn children(&self) -> Vec<&Self>;

    fn has_child(&self, name: &str) -> bool { ... }
    fn argument(&self, name: &str) -> Option<&LookAheadArgument<'_, S>> { ... }
}
Expand description

Set of common methods for ConcreteLookAheadSelection and LookAheadSelection.

'sel lifetime is intended to point to the data that this LookAheadSelection (or ConcreteLookAheadSelection) points to.

Required Methods§

source

fn field_name(&self) -> &'sel str

Get the (potentially aliased) name of the field represented by the current selection

source

fn select_child(&self, name: &str) -> Option<&Self>

Get the the child selection for a given field If a child has an alias, it will only match if the alias matches name

source

fn has_arguments(&self) -> bool

Does the current node have any arguments?

source

fn has_children(&self) -> bool

Does the current node have any children?

source

fn arguments(&self) -> &[LookAheadArgument<'_, S>]

Get the top level arguments for the current selection

source

fn child_names(&self) -> Vec<&'sel str>

Get the (possibly aliased) names of the top level children for the current selection

source

fn children(&self) -> Vec<&Self>

Get an iterator over the children for the current selection

Provided Methods§

source

fn has_child(&self, name: &str) -> bool

Check if a given child selection with a name exists If a child has an alias, it will only match if the alias matches name

source

fn argument(&self, name: &str) -> Option<&LookAheadArgument<'_, S>>

Get the top level argument with a given name from the current selection

Implementors§

source§

impl<'a, S> LookAheadMethods<'a, S> for ConcreteLookAheadSelection<'a, S>

source§

impl<'a, S> LookAheadMethods<'a, S> for LookAheadSelection<'a, S>