#[repr(transparent)]pub struct Handle<'a, T: Managed + 'a> { /* private fields */ }
Expand description
A handle to a JavaScript value that is owned by the JavaScript engine.
Implementations
sourceimpl<'a, T: Value> Handle<'a, T>
impl<'a, T: Value> Handle<'a, T>
sourcepub fn upcast<U: Value + SuperType<T>>(&self) -> Handle<'a, U>
pub fn upcast<U: Value + SuperType<T>>(&self) -> Handle<'a, U>
Safely upcast a handle to a supertype.
This method does not require an execution context because it only copies a handle.
sourcepub fn is_a<'b, U: Value, C: Context<'b>>(&self, cx: &mut C) -> bool
pub fn is_a<'b, U: Value, C: Context<'b>>(&self, cx: &mut C) -> bool
Tests whether this value is an instance of the given type.
Example:
let v: Handle<JsValue> = cx.number(17).upcast();
v.is_a::<JsString, _>(&mut cx); // false
v.is_a::<JsNumber, _>(&mut cx); // true
v.is_a::<JsValue, _>(&mut cx); // true
sourcepub fn downcast<'b, U: Value, C: Context<'b>>(
&self,
cx: &mut C
) -> DowncastResult<'a, T, U>
pub fn downcast<'b, U: Value, C: Context<'b>>(
&self,
cx: &mut C
) -> DowncastResult<'a, T, U>
Attempts to downcast a handle to another type, which may fail. A failure
to downcast does not throw a JavaScript exception, so it’s OK to
continue interacting with the JS engine if this method produces an Err
result.
sourcepub fn downcast_or_throw<'b, U: Value, C: Context<'b>>(
&self,
cx: &mut C
) -> JsResult<'a, U>
pub fn downcast_or_throw<'b, U: Value, C: Context<'b>>(
&self,
cx: &mut C
) -> JsResult<'a, U>
Attempts to downcast a handle to another type, raising a JavaScript TypeError
exception on failure. This method is a convenient shorthand, equivalent to
self.downcast::<U>().or_throw::<C>(cx)
.
pub fn strict_equals<'b, U: Value, C: Context<'b>>(
&self,
cx: &mut C,
other: Handle<'b, U>
) -> bool
Trait Implementations
sourceimpl<'a, K: Value> PropertyKey for Handle<'a, K>
impl<'a, K: Value> PropertyKey for Handle<'a, K>
impl<'a, T: Managed> Copy for Handle<'a, T>
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Handle<'a, T> where
T: RefUnwindSafe,
<T as TransparentNoCopyWrapper>::Inner: RefUnwindSafe,
impl<'a, T> Send for Handle<'a, T> where
T: Sync,
<T as TransparentNoCopyWrapper>::Inner: Send,
impl<'a, T> Sync for Handle<'a, T> where
T: Sync,
<T as TransparentNoCopyWrapper>::Inner: Sync,
impl<'a, T> Unpin for Handle<'a, T> where
<T as TransparentNoCopyWrapper>::Inner: Unpin,
impl<'a, T> UnwindSafe for Handle<'a, T> where
T: RefUnwindSafe,
<T as TransparentNoCopyWrapper>::Inner: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more