Struct rquickjs_core::Object
source · [−]#[repr(transparent)]pub struct Object<'js>(_);
Expand description
Rust representation of a javascript object.
Implementations
sourceimpl<'js> Object<'js>
impl<'js> Object<'js>
sourcepub fn init_def<T>(&self) -> Result<()> where
T: ObjectDef,
pub fn init_def<T>(&self) -> Result<()> where
T: ObjectDef,
Initialize an object using ObjectDef
sourcepub fn new_def<T>(ctx: Ctx<'js>) -> Result<Self> where
T: ObjectDef,
pub fn new_def<T>(ctx: Ctx<'js>) -> Result<Self> where
T: ObjectDef,
Create an object using ObjectDef
sourcepub fn contains_key<K>(&self, k: K) -> Result<bool> where
K: IntoAtom<'js>,
pub fn contains_key<K>(&self, k: K) -> Result<bool> where
K: IntoAtom<'js>,
check wether the object contains a certain key.
sourcepub fn set<K: IntoAtom<'js>, V: IntoJs<'js>>(
&self,
key: K,
value: V
) -> Result<()>
pub fn set<K: IntoAtom<'js>, V: IntoJs<'js>>(
&self,
key: K,
value: V
) -> Result<()>
Set a member of an object to a certain value
sourcepub fn keys<K: FromAtom<'js>>(&self) -> ObjectKeysIter<'js, K>
pub fn keys<K: FromAtom<'js>>(&self) -> ObjectKeysIter<'js, K>
Get own string enumerable property names of an object
sourcepub fn own_keys<K: FromAtom<'js>>(
&self,
filter: Filter
) -> ObjectKeysIter<'js, K>
pub fn own_keys<K: FromAtom<'js>>(
&self,
filter: Filter
) -> ObjectKeysIter<'js, K>
Get own property names of an object
sourcepub fn props<K: FromAtom<'js>, V: FromJs<'js>>(&self) -> ObjectIter<'js, K, V>
pub fn props<K: FromAtom<'js>, V: FromJs<'js>>(&self) -> ObjectIter<'js, K, V>
Get own string enumerable properties of an object
sourcepub fn own_props<K: FromAtom<'js>, V: FromJs<'js>>(
&self,
filter: Filter
) -> ObjectIter<'js, K, V>
pub fn own_props<K: FromAtom<'js>, V: FromJs<'js>>(
&self,
filter: Filter
) -> ObjectIter<'js, K, V>
Get own properties of an object
sourcepub fn values<K: FromAtom<'js>>(&self) -> ObjectValuesIter<'js, K>
pub fn values<K: FromAtom<'js>>(&self) -> ObjectValuesIter<'js, K>
Get own string enumerable property values of an object
sourcepub fn own_values<K: FromAtom<'js>>(
&self,
filter: Filter
) -> ObjectValuesIter<'js, K>
pub fn own_values<K: FromAtom<'js>>(
&self,
filter: Filter
) -> ObjectValuesIter<'js, K>
Get own property values of an object
sourcepub fn get_prototype(&self) -> Result<Object<'js>>
pub fn get_prototype(&self) -> Result<Object<'js>>
Get an object prototype
sourcepub fn set_prototype(&self, proto: &Object<'js>) -> Result<()>
pub fn set_prototype(&self, proto: &Object<'js>) -> Result<()>
Set an object prototype
sourcepub fn is_instance_of(&self, class: impl AsRef<Value<'js>>) -> bool
pub fn is_instance_of(&self, class: impl AsRef<Value<'js>>) -> bool
Check instance of object
sourcepub fn into_function(self) -> Option<Function<'js>>
pub fn into_function(self) -> Option<Function<'js>>
Convert into a function
sourcepub fn into_array(self) -> Option<Array<'js>>
pub fn into_array(self) -> Option<Array<'js>>
Convert into an array
sourceimpl<'js> Object<'js>
impl<'js> Object<'js>
sourcepub fn into_value(self) -> Value<'js>
pub fn into_value(self) -> Value<'js>
Convert into value
sourcepub fn from_value(value: Value<'js>) -> Result<Self>
pub fn from_value(value: Value<'js>) -> Result<Self>
Convert from value
sourceimpl<'js> Object<'js>
impl<'js> Object<'js>
sourcepub fn instance_of<C: ClassDef>(&self) -> bool
Available on crate feature classes
only.
pub fn instance_of<C: ClassDef>(&self) -> bool
classes
only.Check the object for instance of
sourcepub fn into_instance<C: ClassDef>(self) -> Option<Class<'js, C>>
Available on crate feature classes
only.
pub fn into_instance<C: ClassDef>(self) -> Option<Class<'js, C>>
classes
only.Convert object into instance of class
sourceimpl<'js> Object<'js>
impl<'js> Object<'js>
sourcepub fn prop<K, V, P>(&self, key: K, prop: V) -> Result<()> where
K: IntoAtom<'js>,
V: AsProperty<'js, P>,
Available on crate feature properties
only.
pub fn prop<K, V, P>(&self, key: K, prop: V) -> Result<()> where
K: IntoAtom<'js>,
V: AsProperty<'js, P>,
properties
only.Define a property of an object
// Define readonly property without value
obj.prop("no_val", ()).unwrap();
// Define readonly property with value
obj.prop("ro_str", "Some const text").unwrap();
// Define readonly property with value and make it to be writable
obj.prop("ro_str2", Property::from("Some const text").writable()).unwrap();
// Define readonly property using getter and make it to be enumerable
obj.prop("ro_str_get", Accessor::from(|| "Some readable text").enumerable()).unwrap();
// Define readonly property using getter and setter
obj.prop("ro_str_get_set",
Accessor::from(|| "Some text")
.set(|new_val: String| { /* do something */ })
).unwrap();
Methods from Deref<Target = Value<'js>>
sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Check if the value is a function
sourcepub unsafe fn ref_string(&self) -> &String<'js>
pub unsafe fn ref_string(&self) -> &String<'js>
sourcepub unsafe fn ref_symbol(&self) -> &Symbol<'js>
pub unsafe fn ref_symbol(&self) -> &Symbol<'js>
sourcepub unsafe fn ref_object(&self) -> &Object<'js>
pub unsafe fn ref_object(&self) -> &Object<'js>
sourcepub unsafe fn ref_function(&self) -> &Function<'js>
pub unsafe fn ref_function(&self) -> &Function<'js>
sourcepub fn as_function(&self) -> Option<&Function<'js>>
pub fn as_function(&self) -> Option<&Function<'js>>
Try reinterprete as
Trait Implementations
sourceimpl<'js> AsRef<Object<'js>> for ArrayBuffer<'js>
impl<'js> AsRef<Object<'js>> for ArrayBuffer<'js>
sourceimpl<'js, T> AsRef<Object<'js>> for TypedArray<'js, T>
impl<'js, T> AsRef<Object<'js>> for TypedArray<'js, T>
sourceimpl<'js, K, V> FromIteratorJs<'js, (K, V)> for Object<'js> where
K: IntoAtom<'js>,
V: IntoJs<'js>,
impl<'js, K, V> FromIteratorJs<'js, (K, V)> for Object<'js> where
K: IntoAtom<'js>,
V: IntoJs<'js>,
type Item = (Atom<'js>, Value<'js>)
fn from_iter_js<T>(ctx: Ctx<'js>, iter: T) -> Result<Self> where
T: IntoIterator<Item = (K, V)>,
sourceimpl<'js> IntoIterator for Object<'js>
impl<'js> IntoIterator for Object<'js>
sourceimpl<'js> PartialEq<Object<'js>> for Object<'js>
impl<'js> PartialEq<Object<'js>> for Object<'js>
impl<'js> StructuralPartialEq for Object<'js>
Auto Trait Implementations
impl<'js> !RefUnwindSafe for Object<'js>
impl<'js> !Send for Object<'js>
impl<'js> !Sync for Object<'js>
impl<'js> Unpin for Object<'js>
impl<'js> UnwindSafe for Object<'js>
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