Trait rquickjs::FromJs

source ·
pub trait FromJs<'js>: Sized {
    // Required method
    fn from_js(ctx: &Ctx<'js>, value: Value<'js>) -> Result<Self, Error>;
}
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, Error>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

Convert from JS as any

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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<BTreeMap<K, V>, Error>

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<HashMap<K, V, S>, Error>

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<IndexMap<K, V, S>, Error>

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<Either<L, R>, Error>

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<Option<T>, Error>

source§

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

Convert from JS as result

source§

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

source§

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

source§

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

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<BTreeSet<T>, Error>

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<LinkedList<T>, Error>

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<VecDeque<T>, Error>

source§

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

source§

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

source§

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

source§

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

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<Vec<T>, Error>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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<HashSet<T, S>, Error>

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<IndexSet<T, S>, Error>

Implementors§

source§

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

source§

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

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

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

source§

impl<'js> FromJs<'js> for Function<'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 rquickjs::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> FromJs<'js> for Class<'js, C>
where C: JsClass<'js>,

source§

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

source§

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

source§

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

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