#[repr(transparent)]pub struct FinalizationRegistry {
pub obj: Object,
}Expand description
The FinalizationRegistry object lets you request a callback when an
object is garbage-collected.
FinalizationRegistry provides a way to request that a cleanup
callback get called at some point when an object registered with the
registry has been reclaimed (garbage-collected). Cleanup callbacks
are sometimes called finalizers.
Avoid where possible: cleanup callbacks should not be relied upon for anything essential. They are best used to reduce memory usage over the course of a program for objects that benefit from cleanup. Whether, when, and in what order callbacks fire is implementation-defined.
Fields§
§obj: ObjectImplementations§
Source§impl FinalizationRegistry
impl FinalizationRegistry
Sourcepub fn new(
cleanup_callback: &Function<fn(JsValue) -> Undefined>,
) -> FinalizationRegistry
pub fn new( cleanup_callback: &Function<fn(JsValue) -> Undefined>, ) -> FinalizationRegistry
Creates a new FinalizationRegistry with the given cleanup callback.
The cleanup callback is invoked, at some point after a registered
target is garbage-collected, with the held_value that was passed to
FinalizationRegistry::register. Because callbacks may be deferred
or skipped entirely, the callback should normally outlive the
FinalizationRegistry (for example by being created via
Function::from_closure).
Source§impl FinalizationRegistry
impl FinalizationRegistry
Source§impl FinalizationRegistry
impl FinalizationRegistry
Sourcepub fn register_with_token(
&self,
target: &JsValue,
held_value: &JsValue,
unregister_token: &JsValue,
)
pub fn register_with_token( &self, target: &JsValue, held_value: &JsValue, unregister_token: &JsValue, )
Registers target with this FinalizationRegistry, with an
unregister_token that can later be passed to
FinalizationRegistry::unregister to remove the registration.
target and unregister_token must be objects (or non-registered
symbols), and the same value may be passed for both.
Source§impl FinalizationRegistry
impl FinalizationRegistry
Sourcepub fn unregister(&self, unregister_token: &JsValue) -> bool
pub fn unregister(&self, unregister_token: &JsValue) -> bool
Unregisters all entries registered with this FinalizationRegistry
using unregister_token. Returns true if any cells were removed.
Methods from Deref<Target = Object>§
Sourcepub fn constructor(&self) -> Function
pub fn constructor(&self) -> Function
The constructor property returns a reference to the Object constructor
function that created the instance object.
Sourcepub fn has_own_property(&self, property: &JsValue) -> bool
👎Deprecated: Use Object::hasOwn instead.
pub fn has_own_property(&self, property: &JsValue) -> bool
Use Object::hasOwn instead.
The hasOwnProperty() method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
Sourcepub fn is_prototype_of(&self, value: &JsValue) -> bool
pub fn is_prototype_of(&self, value: &JsValue) -> bool
The isPrototypeOf() method checks if an object exists in another
object’s prototype chain.
Sourcepub fn property_is_enumerable(&self, property: &JsValue) -> bool
pub fn property_is_enumerable(&self, property: &JsValue) -> bool
The propertyIsEnumerable() method returns a Boolean indicating
whether the specified property is enumerable.
Sourcepub fn to_locale_string(&self) -> JsString
pub fn to_locale_string(&self) -> JsString
The toLocaleString() method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
Sourcepub fn to_string(&self) -> JsString
pub fn to_string(&self) -> JsString
The toString() method returns a string representing the object.
Sourcepub fn to_js_string(&self) -> JsString
pub fn to_js_string(&self) -> JsString
The toString() method returns a string representing the object.
Methods from Deref<Target = JsValue>§
pub const NULL: JsValue
pub const UNDEFINED: JsValue
pub const TRUE: JsValue
pub const FALSE: JsValue
Sourcepub fn id(&self) -> u64
pub fn id(&self) -> u64
Get the heap ID for this value.
This is used internally for encoding values to send to JS.
Sourcepub fn unchecked_into_f64(&self) -> f64
pub fn unchecked_into_f64(&self) -> f64
Returns the value as f64 without type checking. Used by serde-wasm-bindgen for numeric conversions.
Sourcepub fn has_type<T>(&self) -> boolwhere
T: JsCast,
pub fn has_type<T>(&self) -> boolwhere
T: JsCast,
Check if this value is an instance of a specific JS type.
Sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Checked division.
Sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Unsigned right shift.
Sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Check if this value is a function.
Sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Check if this value is undefined.
Sourcepub fn is_null_or_undefined(&self) -> bool
pub fn is_null_or_undefined(&self) -> bool
Check if this value is null or undefined.
Sourcepub fn js_in(&self, obj: &JsValue) -> bool
pub fn js_in(&self, obj: &JsValue) -> bool
Check if this value has a property with the given name.
Sourcepub fn as_debug_string(&self) -> String
pub fn as_debug_string(&self) -> String
Get a debug string representation of the value.
Trait Implementations§
Source§impl AsRef<FinalizationRegistry> for FinalizationRegistry
impl AsRef<FinalizationRegistry> for FinalizationRegistry
Source§fn as_ref(&self) -> &FinalizationRegistry
fn as_ref(&self) -> &FinalizationRegistry
Source§impl AsRef<JsValue> for FinalizationRegistry
impl AsRef<JsValue> for FinalizationRegistry
Source§impl AsRef<Object> for FinalizationRegistry
impl AsRef<Object> for FinalizationRegistry
Source§impl BinaryDecode for FinalizationRegistry
impl BinaryDecode for FinalizationRegistry
fn decode(decoder: &mut DecodedData<'_>) -> Result<Self, DecodeError>
Source§impl BinaryEncode for FinalizationRegistry
impl BinaryEncode for FinalizationRegistry
fn encode(self, encoder: &mut EncodedData)
Source§impl Clone for FinalizationRegistry
impl Clone for FinalizationRegistry
Source§fn clone(&self) -> FinalizationRegistry
fn clone(&self) -> FinalizationRegistry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FinalizationRegistry
impl Debug for FinalizationRegistry
Source§impl Deref for FinalizationRegistry
impl Deref for FinalizationRegistry
Source§impl EncodeTypeDef for FinalizationRegistry
impl EncodeTypeDef for FinalizationRegistry
Source§fn encode_type_def(buf: &mut Vec<u8>)
fn encode_type_def(buf: &mut Vec<u8>)
Source§impl From<FinalizationRegistry> for JsValue
impl From<FinalizationRegistry> for JsValue
Source§fn from(val: FinalizationRegistry) -> Self
fn from(val: FinalizationRegistry) -> Self
Source§impl From<FinalizationRegistry> for Object
impl From<FinalizationRegistry> for Object
Source§fn from(val: FinalizationRegistry) -> Object
fn from(val: FinalizationRegistry) -> Object
Source§impl From<JsValue> for FinalizationRegistry
impl From<JsValue> for FinalizationRegistry
Source§impl IntoJsGeneric for FinalizationRegistrywhere
FinalizationRegistry: JsGeneric,
impl IntoJsGeneric for FinalizationRegistrywhere
FinalizationRegistry: JsGeneric,
Source§impl JsCast for FinalizationRegistry
impl JsCast for FinalizationRegistry
Source§fn instanceof(__val: &JsValue) -> bool
fn instanceof(__val: &JsValue) -> bool
Source§fn unchecked_from_js(val: JsValue) -> Self
fn unchecked_from_js(val: JsValue) -> Self
Source§fn unchecked_from_js_ref(val: &JsValue) -> &Self
fn unchecked_from_js_ref(val: &JsValue) -> &Self
Source§fn is_type_of(val: &JsValue) -> bool
fn is_type_of(val: &JsValue) -> bool
JsValue provided
is a value of this type. Read moreSource§fn has_type<T>(&self) -> boolwhere
T: JsCast,
fn has_type<T>(&self) -> boolwhere
T: JsCast,
T. Read moreSource§fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
Source§fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
Source§fn is_instance_of<T>(&self) -> boolwhere
T: JsCast,
fn is_instance_of<T>(&self) -> boolwhere
T: JsCast,
T. Read moreSource§fn unchecked_into<T>(self) -> Twhere
T: JsCast,
fn unchecked_into<T>(self) -> Twhere
T: JsCast,
Source§fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
Source§impl PartialEq for FinalizationRegistry
impl PartialEq for FinalizationRegistry
Source§fn eq(&self, other: &FinalizationRegistry) -> bool
fn eq(&self, other: &FinalizationRegistry) -> bool
self and other values to be equal, and is used by ==.