Struct apollo_encoder::DirectiveDefinition
source · pub struct DirectiveDefinition { /* private fields */ }Expand description
The DirectiveDefinition type represents a Directive definition.
DirectiveDefinition: Description? directive @ Name Arguments Definition? repeatable? on DirectiveLocations
Detailed documentation can be found in GraphQL spec.
Example
use apollo_encoder::DirectiveDefinition;
use indoc::indoc;
let mut directive = DirectiveDefinition::new("infer".to_string());
directive.description("Infer field types\nfrom field values.".to_string());
directive.location("OBJECT".to_string());
directive.location("FIELD_DEFINITION".to_string());
directive.location("INPUT_FIELD_DEFINITION".to_string());
assert_eq!(
directive.to_string(),
r#""""
Infer field types
from field values.
"""
directive @infer on OBJECT | FIELD_DEFINITION | INPUT_FIELD_DEFINITION
"#
);Implementations§
source§impl DirectiveDefinition
impl DirectiveDefinition
sourcepub fn description(&mut self, description: String)
pub fn description(&mut self, description: String)
Set the Directive’s description.
sourcepub fn arg(&mut self, arg: InputValueDefinition)
pub fn arg(&mut self, arg: InputValueDefinition)
Add an argument to this Directive.
sourcepub fn repeatable(&mut self)
pub fn repeatable(&mut self)
Set the Directive’s repeatable
Trait Implementations§
source§impl Debug for DirectiveDefinition
impl Debug for DirectiveDefinition
source§impl Display for DirectiveDefinition
impl Display for DirectiveDefinition
source§impl TryFrom<DirectiveDefinition> for DirectiveDefinition
impl TryFrom<DirectiveDefinition> for DirectiveDefinition
source§fn try_from(node: DirectiveDefinition) -> Result<Self, Self::Error>
fn try_from(node: DirectiveDefinition) -> Result<Self, Self::Error>
Create an apollo-encoder node from an apollo-parser one.
Errors
This returns an error if the apollo-parser tree is not valid. The error doesn’t have much context due to TryFrom API constraints: validate the parse tree before using TryFrom if granular errors are important to you.