Trait juniper::ResultExt [] [src]

pub trait ResultExt<T, E: Display> {
    fn to_field_err(self) -> Result<T, String>;
}

Helper trait to produce FieldResults

FieldResult only have strings as errors as that's what's going out in the GraphQL response. As such, all errors must be manually converted to strings. Importing the ResultExt macro and using its only method to_field_err can help with that:

use std::str::FromStr;
use juniper::{FieldResult, ResultExt};

fn sample_fn(s: &str) -> FieldResult<i32> {
    i32::from_str(s).to_field_err()
}

Alternatively, you can use the jtry! macro in all places you'd normally use the regular try! macro:

#[macro_use] extern crate juniper;

use std::str::FromStr;

use juniper::{FieldResult, ResultExt};

fn sample_fn(s: &str) -> FieldResult<i32> {
    let value = jtry!(i32::from_str(s));

    Ok(value)
}

Required Methods

Convert the error to a string by using it's Display implementation

Implementors