Struct apollo_compiler::executable::ExecutableDocument
source · pub struct ExecutableDocument {
pub sources: SourceMap,
pub anonymous_operation: Option<Node<Operation>>,
pub named_operations: IndexMap<Name, Node<Operation>>,
pub fragments: IndexMap<Name, Node<Fragment>>,
}
Expand description
Executable definitions, annotated with type information
Fields§
§sources: SourceMap
If this document was originally parsed from a source file, this map contains one entry for that file and its ID.
The document may have been modified since.
anonymous_operation: Option<Node<Operation>>
§named_operations: IndexMap<Name, Node<Operation>>
§fragments: IndexMap<Name, Node<Fragment>>
Implementations§
source§impl ExecutableDocument
impl ExecutableDocument
sourcepub fn parse(
schema: &Valid<Schema>,
source_text: impl Into<String>,
path: impl AsRef<Path>,
) -> Result<Self, WithErrors<Self>>
pub fn parse( schema: &Valid<Schema>, source_text: impl Into<String>, path: impl AsRef<Path>, ) -> Result<Self, WithErrors<Self>>
Parse an executable document with the default configuration.
path
is the filesystem path (or arbitrary string) used in diagnostics
to identify this source file to users.
Create a Parser
to use different parser configuration.
sourcepub fn parse_and_validate(
schema: &Valid<Schema>,
source_text: impl Into<String>,
path: impl AsRef<Path>,
) -> Result<Valid<Self>, WithErrors<Self>>
pub fn parse_and_validate( schema: &Valid<Schema>, source_text: impl Into<String>, path: impl AsRef<Path>, ) -> Result<Valid<Self>, WithErrors<Self>>
pub fn validate( self, schema: &Valid<Schema>, ) -> Result<Valid<Self>, WithErrors<Self>>
sourcepub fn all_operations(&self) -> impl Iterator<Item = &Node<Operation>>
pub fn all_operations(&self) -> impl Iterator<Item = &Node<Operation>>
Returns an iterator of operations, both anonymous and named
sourcepub fn get_operation(
&self,
name_request: Option<&str>,
) -> Result<&Node<Operation>, GetOperationError>
pub fn get_operation( &self, name_request: Option<&str>, ) -> Result<&Node<Operation>, GetOperationError>
Return the relevant operation for a request, or a request error
This the GetOperation() algorithm in the Executing Requests section of the specification.
A GraphQL request comes with a document (which may contain multiple operations)
an an optional operation name. When a name is given the request executes the operation
with that name, which is expected to exist. When it is not given / null / None
,
the document is expected to contain a single operation (which may or may not be named)
to avoid ambiguity.
sourcepub fn get_operation_mut(
&mut self,
name_request: Option<&str>,
) -> Result<&mut Operation, GetOperationError>
pub fn get_operation_mut( &mut self, name_request: Option<&str>, ) -> Result<&mut Operation, GetOperationError>
Similar to get_operation
but returns a mutable reference.
Trait Implementations§
source§impl Clone for ExecutableDocument
impl Clone for ExecutableDocument
source§fn clone(&self) -> ExecutableDocument
fn clone(&self) -> ExecutableDocument
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExecutableDocument
impl Debug for ExecutableDocument
source§impl Default for ExecutableDocument
impl Default for ExecutableDocument
source§fn default() -> ExecutableDocument
fn default() -> ExecutableDocument
source§impl Display for ExecutableDocument
impl Display for ExecutableDocument
Serialize to GraphQL syntax with the default configuration
source§impl PartialEq for ExecutableDocument
impl PartialEq for ExecutableDocument
sources
and build_errors
are ignored for comparison
impl Eq for ExecutableDocument
Auto Trait Implementations§
impl Freeze for ExecutableDocument
impl RefUnwindSafe for ExecutableDocument
impl Send for ExecutableDocument
impl Sync for ExecutableDocument
impl Unpin for ExecutableDocument
impl UnwindSafe for ExecutableDocument
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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);