pub trait JsObject {
Show 17 methods
// Required methods
fn get_object_base_mut(&mut self) -> &mut ObjectBase;
fn get_object_base(&self) -> &ObjectBase;
fn as_js_object(&self) -> &dyn JsObject;
fn as_js_object_mut(&mut self) -> &mut dyn JsObject;
// Provided methods
fn get_prototype_of(&self) -> Option<JsObjectType> { ... }
fn set_prototype_of(&mut self, prototype: Option<JsObjectType>) -> bool { ... }
fn is_extensible(&self) -> bool { ... }
fn prevent_extensions(&mut self) -> bool { ... }
fn get_own_property(
&self,
property: &PropertyKey,
) -> Result<Option<&PropertyDescriptor>, JErrorType> { ... }
fn define_own_property(
&mut self,
property: PropertyKey,
descriptor_setter: PropertyDescriptorSetter,
) -> Result<bool, JErrorType> { ... }
fn has_property(&self, property: &PropertyKey) -> bool { ... }
fn get(
&self,
ctx_stack: &mut ExecutionContextStack,
property: &PropertyKey,
receiver: JsValueOrSelf<'_>,
) -> Result<JsValue, JErrorType> { ... }
fn set(
&mut self,
ctx_stack: &mut ExecutionContextStack,
property: PropertyKey,
value: JsValue,
receiver: JsValueOrSelf<'_>,
) -> Result<bool, JErrorType> { ... }
fn delete(&mut self, property: &PropertyKey) -> Result<bool, JErrorType> { ... }
fn enumerate(&self) -> JsIteratorObject { ... }
fn own_property_keys(
&self,
ctx_stack: &mut ExecutionContextStack,
) -> Vec<PropertyKey> { ... }
fn to_string(&self) -> String { ... }
}Required Methods§
fn get_object_base_mut(&mut self) -> &mut ObjectBase
fn get_object_base(&self) -> &ObjectBase
fn as_js_object(&self) -> &dyn JsObject
fn as_js_object_mut(&mut self) -> &mut dyn JsObject
Provided Methods§
fn get_prototype_of(&self) -> Option<JsObjectType>
fn set_prototype_of(&mut self, prototype: Option<JsObjectType>) -> bool
fn is_extensible(&self) -> bool
fn prevent_extensions(&mut self) -> bool
fn get_own_property( &self, property: &PropertyKey, ) -> Result<Option<&PropertyDescriptor>, JErrorType>
fn define_own_property( &mut self, property: PropertyKey, descriptor_setter: PropertyDescriptorSetter, ) -> Result<bool, JErrorType>
fn has_property(&self, property: &PropertyKey) -> bool
fn get( &self, ctx_stack: &mut ExecutionContextStack, property: &PropertyKey, receiver: JsValueOrSelf<'_>, ) -> Result<JsValue, JErrorType>
fn set( &mut self, ctx_stack: &mut ExecutionContextStack, property: PropertyKey, value: JsValue, receiver: JsValueOrSelf<'_>, ) -> Result<bool, JErrorType>
fn delete(&mut self, property: &PropertyKey) -> Result<bool, JErrorType>
fn enumerate(&self) -> JsIteratorObject
fn own_property_keys( &self, ctx_stack: &mut ExecutionContextStack, ) -> Vec<PropertyKey>
fn to_string(&self) -> String
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".