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.