[−][src]Trait async_graphql::ScalarType
A GraphQL scalar.
You can implement the trait to create a custom scalar.
Examples
use async_graphql::*; struct MyInt(i32); #[Scalar] impl ScalarType for MyInt { fn parse(value: Value) -> InputValueResult<Self> { if let Value::Number(n) = &value { if let Some(n) = n.as_i64() { return Ok(MyInt(n as i32)); } } Err(InputValueError::expected_type(value)) } fn to_value(&self) -> Value { Value::Number(self.0.into()) } }
Required methods
fn parse(value: Value) -> InputValueResult<Self>
Parse a scalar value.
fn to_value(&self) -> Value
Convert the scalar to Value.
Provided methods
fn is_valid(_value: &Value) -> bool
Checks for a valid scalar value.
Implementing this function can find incorrect input values during the verification phase, which can improve performance.
Implementations on Foreign Types
impl ScalarType for bool[src]
The Boolean scalar type represents true or false.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for char[src]
The Char scalar type represents a unicode char.
The input and output values are a string, and there can only be one unicode character in this string.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for f32[src]
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for f64[src]
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for i8[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for i16[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for i32[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for i64[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for u8[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for u16[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for u32[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for u64[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl<T> ScalarType for BTreeMap<String, T> where
T: OutputValueType + InputValueType + Send + Sync, [src]
T: OutputValueType + InputValueType + Send + Sync,
A scalar that can represent any JSON Object value.
impl<T> ScalarType for HashMap<String, T> where
T: OutputValueType + InputValueType + Send + Sync, [src]
T: OutputValueType + InputValueType + Send + Sync,
A scalar that can represent any JSON Object value.
impl ScalarType for NonZeroI8[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroI16[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroI32[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroI64[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroU8[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroU16[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroU32[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for NonZeroU64[src]
The Int scalar type represents non-fractional whole numeric values.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for String[src]
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for ObjectId[src]
impl ScalarType for UtcDateTime[src]
impl ScalarType for DateTime<FixedOffset>[src]
Implement the DateTime
The input/output is a string in RFC3339 format.
impl ScalarType for DateTime<Local>[src]
Implement the DateTime
The input/output is a string in RFC3339 format.
impl ScalarType for DateTime<Utc>[src]
Implement the DateTime
The input/output is a string in RFC3339 format.
impl ScalarType for NaiveDate[src]
impl ScalarType for NaiveTime[src]
impl ScalarType for NaiveDateTime[src]
impl ScalarType for Url[src]
impl ScalarType for Uuid[src]
Loading content...Implementors
impl ScalarType for Any[src]
The _Any scalar is used to pass representations of entities from external services into the root _entities field for execution.
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(_value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl ScalarType for ID[src]
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl<T: Num + Display + Send + Sync> ScalarType for StringNumber<T> where
<T as Num>::FromStrRadixErr: Display, [src]
<T as Num>::FromStrRadixErr: Display,
fn parse(value: Value) -> InputValueResult<Self>[src]
fn is_valid(value: &Value) -> bool[src]
fn to_value(&self) -> Value[src]
impl<T: DeserializeOwned + Serialize + Send + Sync> ScalarType for Json<T>[src]
A scalar that can represent any JSON value.