FromValue

Trait FromValue 

Source
pub trait FromValue<'cx>: Sized {
    type Config;

    // Required method
    fn from_value(
        cx: &'cx Context,
        value: &Value<'_>,
        strict: bool,
        config: Self::Config,
    ) -> Result<Self>;
}
Expand description

Represents types that can be converted to from JavaScript Values.

Required Associated Types§

Required Methods§

Source

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: Self::Config, ) -> Result<Self>

Converts value to the desired type. strict and config determine the strictness of the conversion and specify additional conversion constraints respectively. Returns Err with the error if conversion fails.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'cx> FromValue<'cx> for bool

Source§

type Config = ()

Source§

fn from_value( _: &'cx Context, value: &Value<'_>, strict: bool, _: (), ) -> Result<bool>

Source§

impl<'cx> FromValue<'cx> for f32

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, _: (), ) -> Result<f32>

Source§

impl<'cx> FromValue<'cx> for f64

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, _: (), ) -> Result<f64>

Source§

impl<'cx> FromValue<'cx> for i8

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<i8>

Source§

impl<'cx> FromValue<'cx> for i16

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<i16>

Source§

impl<'cx> FromValue<'cx> for i32

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<i32>

Source§

impl<'cx> FromValue<'cx> for i64

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<i64>

Source§

impl<'cx> FromValue<'cx> for *mut Symbol

Source§

type Config = ()

Source§

fn from_value( _: &'cx Context, value: &Value<'_>, _: bool, _: (), ) -> Result<*mut JSSymbol>

Source§

impl<'cx> FromValue<'cx> for *mut JSFunction

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: (), ) -> Result<*mut JSFunction>

Source§

impl<'cx> FromValue<'cx> for *mut JSObject

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, _: bool, _: (), ) -> Result<*mut JSObject>

Source§

impl<'cx> FromValue<'cx> for *mut JSString

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, _: (), ) -> Result<*mut JSString>

Source§

impl<'cx> FromValue<'cx> for u8

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<u8>

Source§

impl<'cx> FromValue<'cx> for u16

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<u16>

Source§

impl<'cx> FromValue<'cx> for u32

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<u32>

Source§

impl<'cx> FromValue<'cx> for u64

Source§

type Config = ConversionBehavior

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: ConversionBehavior, ) -> Result<u64>

Source§

impl<'cx> FromValue<'cx> for String

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: (), ) -> Result<String>

Source§

impl<'cx> FromValue<'cx> for JSVal

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, _: bool, _: (), ) -> Result<JSVal>

Source§

impl<'cx, T: TypedArrayElement, S: JSObjectStorage> FromValue<'cx> for TypedArray<T, S>

Source§

type Config = ()

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, _: bool, _: (), ) -> Result<TypedArray<T, S>>

Source§

impl<'cx, T: FromValue<'cx>> FromValue<'cx> for Option<T>

Source§

type Config = <T as FromValue<'cx>>::Config

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: T::Config, ) -> Result<Option<T>>

Source§

impl<'cx, T: FromValue<'cx>> FromValue<'cx> for Vec<T>
where T::Config: Clone,

Source§

type Config = <T as FromValue<'cx>>::Config

Source§

fn from_value( cx: &'cx Context, value: &Value<'_>, strict: bool, config: T::Config, ) -> Result<Vec<T>>

Implementors§

Source§

impl<'cx> FromValue<'cx> for StringRef<'cx>

Source§

impl<'cx> FromValue<'cx> for Function<'cx>

Source§

impl<'cx> FromValue<'cx> for Array<'cx>

Source§

impl<'cx> FromValue<'cx> for Date<'cx>

Source§

impl<'cx> FromValue<'cx> for Object<'cx>

Source§

impl<'cx> FromValue<'cx> for Promise<'cx>

Source§

impl<'cx> FromValue<'cx> for RegExp<'cx>

Source§

impl<'cx> FromValue<'cx> for ArrayBuffer<'cx>

Source§

impl<'cx> FromValue<'cx> for ion::string::String<'cx>

Source§

impl<'cx> FromValue<'cx> for Value<'cx>

Source§

impl<'cx> FromValue<'cx> for Symbol<'cx>

Source§

impl<'cx, T: TypedArrayElement> FromValue<'cx> for ion::object::typedarray::TypedArray<'cx, T>

Source§

impl<'cx, T: BytePredicate> FromValue<'cx> for ByteString<T>

Source§

impl<'cx, T: FromValue<'cx>> FromValue<'cx> for Strict<T>

Source§

type Config = <T as FromValue<'cx>>::Config

Source§

impl<'cx, T: FromValue<'cx, Config = ConversionBehavior>> FromValue<'cx> for Clamp<T>

Source§

impl<'cx, T: FromValue<'cx, Config = ConversionBehavior>> FromValue<'cx> for Enforce<T>

Source§

impl<'cx, T: FromValue<'cx, Config = ConversionBehavior>> FromValue<'cx> for Wrap<T>