Trait boa_engine::object::JsData

source ·
pub trait JsData { }
Expand description

Represents a type that can be stored inside a JsObject.

This can be automatically derived using a macro.

§Example

use boa_engine::{Finalize, JsData, JsObject, Trace};

#[derive(Trace, Finalize, JsData)]
struct CustomStruct {
    #[unsafe_ignore_trace]
    counter: usize,
}

let object =
    JsObject::from_proto_and_data(None, CustomStruct { counter: 5 });

assert_eq!(object.downcast_ref::<CustomStruct>().unwrap().counter, 5);

Implementations on Foreign Types§

source§

impl JsData for bool

source§

impl JsData for char

source§

impl JsData for f32

source§

impl JsData for f64

source§

impl JsData for i8

source§

impl JsData for i16

source§

impl JsData for i32

source§

impl JsData for i64

source§

impl JsData for i128

source§

impl JsData for isize

source§

impl JsData for u8

source§

impl JsData for u16

source§

impl JsData for u32

source§

impl JsData for u64

source§

impl JsData for u128

source§

impl JsData for ()

source§

impl JsData for usize

source§

impl JsData for String

source§

impl JsData for TypeId

source§

impl JsData for AtomicBool

source§

impl JsData for AtomicI8

source§

impl JsData for AtomicI16

source§

impl JsData for AtomicI32

source§

impl JsData for AtomicI64

source§

impl JsData for AtomicIsize

source§

impl JsData for AtomicU8

source§

impl JsData for AtomicU16

source§

impl JsData for AtomicU32

source§

impl JsData for AtomicU64

source§

impl JsData for AtomicUsize

source§

impl JsData for Path

source§

impl JsData for PathBuf

source§

impl JsData for NonZeroI8

source§

impl JsData for NonZeroI16

source§

impl JsData for NonZeroI32

source§

impl JsData for NonZeroI64

source§

impl JsData for NonZeroI128

source§

impl JsData for NonZeroIsize

source§

impl JsData for NonZeroU8

source§

impl JsData for NonZeroU16

source§

impl JsData for NonZeroU32

source§

impl JsData for NonZeroU64

source§

impl JsData for NonZeroU128

source§

impl JsData for NonZeroUsize

source§

impl<A> JsData for (A,)

source§

impl<A, B> JsData for (A, B)

source§

impl<A, B, C> JsData for (A, B, C)

source§

impl<A, B, C, D> JsData for (A, B, C, D)

source§

impl<A, B, C, D, E> JsData for (A, B, C, D, E)

source§

impl<A, B, C, D, E, F> JsData for (A, B, C, D, E, F)

source§

impl<A, B, C, D, E, F, G> JsData for (A, B, C, D, E, F, G)

source§

impl<A, B, C, D, E, F, G, H> JsData for (A, B, C, D, E, F, G, H)

source§

impl<A, B, C, D, E, F, G, H, I> JsData for (A, B, C, D, E, F, G, H, I)

source§

impl<A, B, C, D, E, F, G, H, I, J> JsData for (A, B, C, D, E, F, G, H, I, J)

source§

impl<A, B, C, D, E, F, G, H, I, J, K> JsData for (A, B, C, D, E, F, G, H, I, J, K)

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> JsData for (A, B, C, D, E, F, G, H, I, J, K, L)

source§

impl<K, V> JsData for BTreeMap<K, V>

source§

impl<K: Trace + ?Sized, V: Trace> JsData for WeakMap<K, V>

source§

impl<K: Eq + Hash, V, S: BuildHasher> JsData for HashMap<K, V, S>

source§

impl<K: Eq + Hash, V, S: BuildHasher> JsData for HashMap<K, V, S>

source§

impl<Ret> JsData for fn() -> Ret

source§

impl<Ret> JsData for extern "C" fn() -> Ret

source§

impl<Ret> JsData for unsafe fn() -> Ret

source§

impl<Ret> JsData for unsafe extern "C" fn() -> Ret

source§

impl<Ret, A> JsData for fn(_: A) -> Ret

source§

impl<Ret, A> JsData for extern "C" fn(_: A) -> Ret

source§

impl<Ret, A> JsData for extern "C" fn(_: A, ...) -> Ret

source§

impl<Ret, A> JsData for unsafe fn(_: A) -> Ret

source§

impl<Ret, A> JsData for unsafe extern "C" fn(_: A) -> Ret

source§

impl<Ret, A> JsData for unsafe extern "C" fn(_: A, ...) -> Ret

source§

impl<Ret, A, B> JsData for fn(_: A, _: B) -> Ret

source§

impl<Ret, A, B> JsData for extern "C" fn(_: A, _: B) -> Ret

source§

impl<Ret, A, B> JsData for extern "C" fn(_: A, _: B, ...) -> Ret

source§

impl<Ret, A, B> JsData for unsafe fn(_: A, _: B) -> Ret

source§

impl<Ret, A, B> JsData for unsafe extern "C" fn(_: A, _: B) -> Ret

source§

impl<Ret, A, B> JsData for unsafe extern "C" fn(_: A, _: B, ...) -> Ret

source§

impl<Ret, A, B, C> JsData for fn(_: A, _: B, _: C) -> Ret

source§

impl<Ret, A, B, C> JsData for extern "C" fn(_: A, _: B, _: C) -> Ret

source§

impl<Ret, A, B, C> JsData for extern "C" fn(_: A, _: B, _: C, ...) -> Ret

source§

impl<Ret, A, B, C> JsData for unsafe fn(_: A, _: B, _: C) -> Ret

source§

impl<Ret, A, B, C> JsData for unsafe extern "C" fn(_: A, _: B, _: C) -> Ret

source§

impl<Ret, A, B, C> JsData for unsafe extern "C" fn(_: A, _: B, _: C, ...) -> Ret

source§

impl<Ret, A, B, C, D> JsData for fn(_: A, _: B, _: C, _: D) -> Ret

source§

impl<Ret, A, B, C, D> JsData for extern "C" fn(_: A, _: B, _: C, _: D) -> Ret

source§

impl<Ret, A, B, C, D> JsData for extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret

source§

impl<Ret, A, B, C, D> JsData for unsafe fn(_: A, _: B, _: C, _: D) -> Ret

source§

impl<Ret, A, B, C, D> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D) -> Ret

source§

impl<Ret, A, B, C, D> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

impl<Ret, A, B, C, D, E> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

impl<Ret, A, B, C, D, E, F> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, ...) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> JsData for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, ...) -> Ret

source§

impl<T> JsData for Option<T>

source§

impl<T> JsData for BTreeSet<T>

source§

impl<T> JsData for VecDeque<T>

source§

impl<T> JsData for Vec<T>

source§

impl<T> JsData for Cell<Option<T>>

source§

impl<T> JsData for PhantomData<T>

source§

impl<T> JsData for ThinVec<T>

source§

impl<T, E> JsData for Result<T, E>

source§

impl<T, const N: usize> JsData for [T; N]

source§

impl<T: Trace + ?Sized> JsData for GcRefCell<T>

source§

impl<T: Trace + ?Sized> JsData for Gc<T>

source§

impl<T: Trace + ?Sized> JsData for WeakGc<T>

source§

impl<T: Trace + ?Sized, V: Trace> JsData for Ephemeron<T, V>

source§

impl<T: ToOwned + ?Sized> JsData for Cow<'static, T>

source§

impl<T: Eq + Hash> JsData for LinkedList<T>

source§

impl<T: Eq + Hash, S: BuildHasher> JsData for HashSet<T, S>

source§

impl<T: Ord> JsData for BinaryHeap<T>

source§

impl<T: ?Sized> JsData for Box<T>

source§

impl<T: ?Sized> JsData for Rc<T>

Implementors§