pub trait FromInputValue<S = DefaultScalarValue>: Sized {
    fn from_input_value(v: &InputValue<S>) -> Option<Self>;

    fn from_implicit_null() -> Self { ... }
}
Expand description

Parse an unstructured input value into a Rust data type.

The conversion can fail, and must in that case return None. Implemented automatically by the convenience proc macro graphql_scalar or by deriving GraphQLEnum.

Must be implemented manually when manually exposing new enums or scalars.

Required Methods§

source

fn from_input_value(v: &InputValue<S>) -> Option<Self>

Performs the conversion.

Provided Methods§

source

fn from_implicit_null() -> Self

Performs the conversion from an absent value (e.g. to distinguish between implicit and explicit null). The default implementation just uses from_input_value as if an explicit null were provided. This conversion must not fail.

Implementations on Foreign Types§

source§

impl<S, T> FromInputValue<S> for Option<T>where
    T: FromInputValue<S>,
    S: ScalarValue,

source§

impl<T, S> FromInputValue<S> for Vec<T>where
    T: FromInputValue<S>,
    S: ScalarValue,

source§

impl<T, S> FromInputValue<S> for Box<T>where
    S: ScalarValue,
    T: FromInputValue<S>,

source§

impl<T, S> FromInputValue<S> for Arc<T>where
    S: ScalarValue,
    T: FromInputValue<S>,

source§

impl<S> FromInputValue<S> for Stringwhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for boolwhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for i32where
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for f64where
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for DateTime<FixedOffset>where
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for DateTime<Utc>where
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for NaiveDatewhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for NaiveDateTimewhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for Urlwhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for Uuidwhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for ObjectIdwhere
    S: ScalarValue,

source§

impl<S> FromInputValue<S> for UtcDateTimewhere
    S: ScalarValue,

Implementors§

source§

impl<S> FromInputValue<S> for IDwhere
    S: ScalarValue,

source§

impl<S, T> FromInputValue<S> for Nullable<T>where
    T: FromInputValue<S>,
    S: ScalarValue,

source§

impl<__S> FromInputValue<__S> for TypeKindwhere
    __S: ScalarValue,