Skip to main content

JsData

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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl JsData for ()

Source§

impl JsData for Atomic<bool>

Source§

impl JsData for Atomic<i8>

Source§

impl JsData for Atomic<i16>

Source§

impl JsData for Atomic<i32>

Source§

impl JsData for Atomic<i64>

Source§

impl JsData for Atomic<isize>

Source§

impl JsData for Atomic<u8>

Source§

impl JsData for Atomic<u16>

Source§

impl JsData for Atomic<u32>

Source§

impl JsData for Atomic<u64>

Source§

impl JsData for Atomic<usize>

Source§

impl JsData for Locale

Source§

impl JsData for NonZero<i8>

Source§

impl JsData for NonZero<i16>

Source§

impl JsData for NonZero<i32>

Source§

impl JsData for NonZero<i64>

Source§

impl JsData for NonZero<i128>

Source§

impl JsData for NonZero<isize>

Source§

impl JsData for NonZero<u8>

Source§

impl JsData for NonZero<u16>

Source§

impl JsData for NonZero<u32>

Source§

impl JsData for NonZero<u64>

Source§

impl JsData for NonZero<u128>

Source§

impl JsData for NonZero<usize>

Source§

impl JsData for Path

Source§

impl JsData for PathBuf

Source§

impl JsData for String

Source§

impl JsData for TypeId

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 usize

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<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> JsData for (A, B, C, D, E, F, G, H, I, J)

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> JsData for (A, B, C, D, E, F, G, H)

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> JsData for (A, B, C, D, E, F)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<A> JsData for (A,)

Source§

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

Source§

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

Source§

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

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 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<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> 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 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> 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> 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 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> 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> 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 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> 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> 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 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> JsData for unsafe fn(A, B, C, D, E, F, G, H) -> 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 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> JsData for unsafe fn(A, B, C, D, E, F, G) -> 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 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> JsData for unsafe fn(A, B, C, D, E, F) -> 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 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> JsData for unsafe fn(A, B, C, D, E) -> 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 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> JsData for unsafe fn(A, B, C, D) -> 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 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> JsData for unsafe fn(A, B, C) -> 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 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> JsData for unsafe fn(A, B) -> 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 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> JsData for unsafe fn(A) -> Ret

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> JsData for BTreeSet<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> JsData for Option<T>

Source§

impl<T> JsData for PhantomData<T>

Source§

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

Source§

impl<T> JsData for ThinVec<T>

Source§

impl<T> JsData for Vec<T>

Source§

impl<T> JsData for VecDeque<T>

Implementors§

Source§

impl JsData for ArrayBuffer

Source§

impl JsData for AsyncGenerator

Source§

impl JsData for BlockingReqwestFetcher

Source§

impl JsData for BoundFunction

Source§

impl JsData for Console

Source§

impl JsData for DataView

Source§

impl JsData for Date

Source§

impl JsData for Duration

Source§

impl JsData for ErasedObjectData

Source§

impl JsData for Error

Source§

impl JsData for ErrorFetcher

Source§

impl JsData for ErrorKind

Source§

impl JsData for Generator

Source§

impl JsData for Instant

Source§

impl JsData for Intl

Source§

impl JsData for JsBigInt

Source§

impl JsData for JsHeaders

Source§

impl JsData for JsRequest

Source§

impl JsData for JsResponse

Source§

impl JsData for JsResponseOptions

Source§

impl JsData for JsString

Source§

impl JsData for JsSymbol

Source§

impl JsData for ModuleNamespace

Source§

impl JsData for NativeFunctionObject

Source§

impl JsData for OnMessageQueueSender

Source§

impl JsData for OrderedSet

Source§

impl JsData for OrdinaryFunction

Source§

impl JsData for OrdinaryObject

Source§

impl JsData for PlainDate

Source§

impl JsData for PlainDateTime

Source§

impl JsData for PlainMonthDay

Source§

impl JsData for PlainTime

Source§

impl JsData for PlainYearMonth

Source§

impl JsData for Promise

Source§

impl JsData for Proxy

Source§

impl JsData for RegExp

Source§

impl JsData for SharedArrayBuffer

Source§

impl JsData for TestFetcher

Source§

impl JsData for TextDecoder

Source§

impl JsData for TextEncoder

Source§

impl JsData for TypedArray

Source§

impl JsData for Url

Source§

impl JsData for ZonedDateTime

Source§

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

Source§

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

Source§

impl<T> JsData for Convert<T>
where T: TryFromJs,

Source§

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

Source§

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

Source§

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

Source§

impl<V> JsData for OrderedMap<V>