Trait rquickjs_core::FromJs

source ·
pub trait FromJs<'js>: Sized {
    // Required method
    fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>;
}
Expand description

For converting javascript values to rust values

This trait automatically converts any value which can be represented as an object, like Array to one if it is required.

Required Methods§

source

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

Implementations on Foreign Types§

source§

impl<'js> FromJs<'js> for u32

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for i32

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for bool

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, K, V, S> FromJs<'js> for HashMap<K, V, S>where K: FromAtom<'js> + Eq + Hash, V: FromJs<'js>, S: Default + BuildHasher,

Convert from JS object to Rust hash map

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Rc<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T, S> FromJs<'js> for IndexSet<T, S>where T: FromJs<'js> + Eq + Hash, S: Default + BuildHasher,

Available on crate feature indexmap only.

Convert from JS array to Rust index set

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Mutex<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for ()

Convert from JS as any

source§

fn from_js(_: &Ctx<'js>, _: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for DateTime<Utc>

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<DateTime<Utc>>

source§

impl<'js, T> FromJs<'js> for LinkedList<T>where T: FromJs<'js>,

Convert from JS array to Rust linked list

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Cell<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T, S> FromJs<'js> for HashSet<T, S>where T: FromJs<'js> + Eq + Hash, S: Default + BuildHasher,

Convert from JS array to Rust hash set

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for VecDeque<T>where T: FromJs<'js>,

Convert from JS array to Rust vector deque

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for RwLock<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Option<T>where T: FromJs<'js>,

Convert from JS as optional

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for isize

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Vec<T>where T: FromJs<'js>,

Convert from JS array to Rust vector

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for i64

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, L, R> FromJs<'js> for Either<L, R>where L: FromJs<'js>, R: FromJs<'js>,

Available on crate feature either only.

Convert from JS to either

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for SystemTime

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<SystemTime>

source§

impl<'js> FromJs<'js> for u16

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for f32

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for u8

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for f64

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for usize

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Arc<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for u64

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for RefCell<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for StdString

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for BTreeSet<T>where T: FromJs<'js> + Eq + Ord,

Convert from JS array to Rust btree set

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, T> FromJs<'js> for Box<T>where T: FromJs<'js>,

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for i16

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for i8

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js> FromJs<'js> for DateTime<Local>

source§

fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<DateTime<Local>>

source§

impl<'js, K, V, S> FromJs<'js> for IndexMap<K, V, S>where K: FromAtom<'js> + Eq + Hash, V: FromJs<'js>, S: Default + BuildHasher,

Available on crate feature indexmap only.

Convert from JS object to Rust index map

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

source§

impl<'js, K, V> FromJs<'js> for BTreeMap<K, V>where K: FromAtom<'js> + Eq + Ord, V: FromJs<'js>,

Convert from JS object to Rust btree map

source§

fn from_js(_ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self>

Implementors§

source§

impl<'js> FromJs<'js> for Array<'js>

source§

impl<'js> FromJs<'js> for Coerced<bool>

Coerce a value to a bool in the same way javascript would coerce values

source§

impl<'js> FromJs<'js> for Coerced<f64>

Coerce a value to a f64 in the same way javascript would coerce values

source§

impl<'js> FromJs<'js> for Coerced<i32>

Coerce a value to a i32 in the same way javascript would coerce values

source§

impl<'js> FromJs<'js> for Coerced<i64>

Coerce a value to a i64 in the same way javascript would coerce values

source§

impl<'js> FromJs<'js> for Coerced<u64>

Coerce a value to a u64 in the same way javascript would coerce values

source§

impl<'js> FromJs<'js> for Coerced<StdString>

Coerce a value to a string in the same way javascript would coerce values.

source§

impl<'js> FromJs<'js> for Coerced<String<'js>>

Coerce a value to a string in the same way javascript would coerce values.

source§

impl<'js> FromJs<'js> for Constructor<'js>

source§

impl<'js> FromJs<'js> for Function<'js>

source§

impl<'js> FromJs<'js> for Object<'js>

source§

impl<'js> FromJs<'js> for ArrayBuffer<'js>

source§

impl<'js> FromJs<'js> for BigInt<'js>

source§

impl<'js> FromJs<'js> for Exception<'js>

source§

impl<'js> FromJs<'js> for Null

source§

impl<'js> FromJs<'js> for String<'js>

source§

impl<'js> FromJs<'js> for Symbol<'js>

source§

impl<'js> FromJs<'js> for Undefined

source§

impl<'js> FromJs<'js> for Value<'js>

source§

impl<'js, A> FromJs<'js> for List<(A,)>where A: FromJs<'js>,

source§

impl<'js, A, B> FromJs<'js> for List<(A, B)>where A: FromJs<'js>, B: FromJs<'js>,

source§

impl<'js, A, B, C> FromJs<'js> for List<(A, B, C)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>,

source§

impl<'js, A, B, C, D> FromJs<'js> for List<(A, B, C, D)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>,

source§

impl<'js, A, B, C, D, E> FromJs<'js> for List<(A, B, C, D, E)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F> FromJs<'js> for List<(A, B, C, D, E, F)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G> FromJs<'js> for List<(A, B, C, D, E, F, G)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H> FromJs<'js> for List<(A, B, C, D, E, F, G, H)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K, L> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K, L)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>, L: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K, L, M> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K, L, M)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>, L: FromJs<'js>, M: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K, L, M, N> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>, L: FromJs<'js>, M: FromJs<'js>, N: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>, L: FromJs<'js>, M: FromJs<'js>, N: FromJs<'js>, O: FromJs<'js>,

source§

impl<'js, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> FromJs<'js> for List<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>, D: FromJs<'js>, E: FromJs<'js>, F: FromJs<'js>, G: FromJs<'js>, H: FromJs<'js>, I: FromJs<'js>, J: FromJs<'js>, K: FromJs<'js>, L: FromJs<'js>, M: FromJs<'js>, N: FromJs<'js>, O: FromJs<'js>, P: FromJs<'js>,

source§

impl<'js, C: JsClass<'js>> FromJs<'js> for Class<'js, C>

source§

impl<'js, T> FromJs<'js> for Promise<'js, T>where T: FromJs<'js> + 'js,

Available on crate feature futures only.
source§

impl<'js, T> FromJs<'js> for TypedArray<'js, T>where T: TypedArrayItem,

source§

impl<'js, T> FromJs<'js> for Result<T>where T: FromJs<'js>,

Convert from JS as result

source§

impl<'js, T, R> FromJs<'js> for Persistent<R>where R: Outlive<'static, Target<'js> = T>, T: Outlive<'js, Target<'static> = R> + FromJs<'js>,

source§

impl<'js, T: JsClass<'js>> FromJs<'js> for OwnedBorrow<'js, T>

source§

impl<'js, T: JsClass<'js>> FromJs<'js> for OwnedBorrowMut<'js, T>