Skip to main content

FromJs

Trait 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>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

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,

Available on crate feature std only.

Convert from JS object to Rust hash map

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 hashbrown hash map

Source§

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

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>

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, T, S> FromJs<'js> for HashSet<T, S>
where T: FromJs<'js> + Eq + Hash, S: Default + BuildHasher,

Available on crate feature std only.

Convert from JS array to Rust hash set

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 hashbrown hash set

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 Arc<T>
where T: FromJs<'js>,

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, 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> 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 Mutex<T>
where T: FromJs<'js>,

Available on crate feature std only.
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, 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> FromJs<'js> for RefCell<T>
where T: FromJs<'js>,

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>,

Available on crate feature std only.
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, 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> 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<Local>

Available on crate feature chrono only.
Source§

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

Source§

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

Available on crate feature chrono only.
Source§

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

Source§

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

Source§

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

Source§

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

Available on crate feature std only.
Source§

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

Source§

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

Source§

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

Source§

impl<'js> FromJs<'js> for char

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 f64

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 i16

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 i64

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> FromJs<'js> for u8

Source§

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

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 u32

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> FromJs<'js> for usize

Source§

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

Implementors§

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, 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> FromJs<'js> for List<(A, B, C)>
where A: FromJs<'js>, B: FromJs<'js>, C: FromJs<'js>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'js, T: FromJs<'js>> FromJs<'js> for JsIterator<'js, T>

Source§

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

Source§

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

Source§

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

Convert from JS as result

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'js> FromJs<'js> for CString<'js>

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 Coerced<String>

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

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 Constructor<'js>

Source§

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

Source§

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

Source§

impl<'js> FromJs<'js> for MaybePromise<'js>

Source§

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

Source§

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

Source§

impl<'js> FromJs<'js> for Promise<'js>

Source§

impl<'js> FromJs<'js> for Proxy<'js>

Source§

impl<'js> FromJs<'js> for ProxyProperty<'js>

Source§

impl<'js> FromJs<'js> for ProxyReceiver<'js>

Source§

impl<'js> FromJs<'js> for ProxyTarget<'js>

Source§

impl<'js> FromJs<'js> for rquickjs_core::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>