Struct v8::NumberObject

source ·
#[repr(C)]
pub struct NumberObject(/* private fields */);
Expand description

A Number object (ECMA-262, 4.3.21).

Methods from Deref<Target = Object>§

source

pub fn set( &self, scope: &mut HandleScope<'_>, key: Local<'_, Value>, value: Local<'_, Value> ) -> Option<bool>

Set only return Just(true) or Empty(), so if it should never fail, use result.Check().

source

pub fn set_index( &self, scope: &mut HandleScope<'_>, index: u32, value: Local<'_, Value> ) -> Option<bool>

Set only return Just(true) or Empty(), so if it should never fail, use result.Check().

source

pub fn set_prototype( &self, scope: &mut HandleScope<'_>, prototype: Local<'_, Value> ) -> Option<bool>

Set the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.

source

pub fn get_constructor_name(&self) -> Local<'_, String>

Returns the name of the function invoked as a constructor for this object.

source

pub fn create_data_property( &self, scope: &mut HandleScope<'_>, key: Local<'_, Name>, value: Local<'_, Value> ) -> Option<bool>

Implements CreateDataProperty (ECMA-262, 7.3.4).

Defines a configurable, writable, enumerable property with the given value on the object unless the property already exists and is not configurable or the object is not extensible.

Returns true on success.

source

pub fn define_own_property( &self, scope: &mut HandleScope<'_>, key: Local<'_, Name>, value: Local<'_, Value>, attr: PropertyAttribute ) -> Option<bool>

Implements DefineOwnProperty.

In general, CreateDataProperty will be faster, however, does not allow for specifying attributes.

Returns true on success.

source

pub fn define_property( &self, scope: &mut HandleScope<'_>, key: Local<'_, Name>, descriptor: &PropertyDescriptor ) -> Option<bool>

source

pub fn get<'s>( &self, scope: &mut HandleScope<'s>, key: Local<'_, Value> ) -> Option<Local<'s, Value>>

source

pub fn get_index<'s>( &self, scope: &mut HandleScope<'s>, index: u32 ) -> Option<Local<'s, Value>>

source

pub fn get_prototype<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Value>>

Get the prototype object. This does not skip objects marked to be skipped by proto and it does not consult the security handler.

source

pub fn set_accessor( &self, scope: &mut HandleScope<'_>, name: Local<'_, Name>, getter: impl for<'s> MapFnTo<AccessorNameGetterCallback<'s>> ) -> Option<bool>

Note: SideEffectType affects the getter only, not the setter.

source

pub fn set_accessor_with_setter( &self, scope: &mut HandleScope<'_>, name: Local<'_, Name>, getter: impl for<'s> MapFnTo<AccessorNameGetterCallback<'s>>, setter: impl for<'s> MapFnTo<AccessorNameSetterCallback<'s>> ) -> Option<bool>

source

pub fn set_accessor_with_configuration( &self, scope: &mut HandleScope<'_>, name: Local<'_, Name>, configuration: AccessorConfiguration<'_> ) -> Option<bool>

source

pub fn get_identity_hash(&self) -> NonZeroI32

Returns the V8 hash value for this value. The current implementation uses a hidden property to store the identity hash.

The return value will never be 0. Also, it is not guaranteed to be unique.

source

pub fn get_creation_context<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Context>>

Returns the context in which the object was created.

source

pub fn get_own_property_names<'s>( &self, scope: &mut HandleScope<'s>, args: GetPropertyNamesArgs ) -> Option<Local<'s, Array>>

This function has the same functionality as GetPropertyNames but the returned array doesn’t contain the names of properties from prototype objects.

source

pub fn get_property_names<'s>( &self, scope: &mut HandleScope<'s>, args: GetPropertyNamesArgs ) -> Option<Local<'s, Array>>

Returns an array containing the names of the filtered properties of this object, including properties from prototype objects. The array returned by this method contains the same values as would be enumerated by a for-in statement over this object.

source

pub fn has( &self, scope: &mut HandleScope<'_>, key: Local<'_, Value> ) -> Option<bool>

source

pub fn has_index(&self, scope: &mut HandleScope<'_>, index: u32) -> Option<bool>

source

pub fn has_own_property( &self, scope: &mut HandleScope<'_>, key: Local<'_, Name> ) -> Option<bool>

HasOwnProperty() is like JavaScript’s Object.prototype.hasOwnProperty().

source

pub fn delete( &self, scope: &mut HandleScope<'_>, key: Local<'_, Value> ) -> Option<bool>

source

pub fn delete_index( &self, scope: &mut HandleScope<'_>, index: u32 ) -> Option<bool>

source

pub fn internal_field_count(&self) -> usize

Gets the number of internal fields for this Object.

source

pub fn get_internal_field<'s>( &self, scope: &mut HandleScope<'s>, index: usize ) -> Option<Local<'s, Data>>

Gets the data from an internal field.

source

pub unsafe fn get_aligned_pointer_from_internal_field( &self, index: i32 ) -> *const c_void

Gets a 2-byte-aligned native pointer from an internal field.

§Safety

This field must have been set by SetAlignedPointerInInternalField, everything else leads to undefined behavior.

source

pub fn set_aligned_pointer_in_internal_field( &self, index: i32, value: *const c_void )

Sets a 2-byte-aligned native pointer in an internal field. To retrieve such a field, GetAlignedPointerFromInternalField must be used.

source

pub fn set_integrity_level( &self, scope: &mut HandleScope<'_>, level: IntegrityLevel ) -> Option<bool>

Sets the integrity level of the object.

source

pub fn set_internal_field(&self, index: usize, data: Local<'_, Data>) -> bool

Sets the data in an internal field. Returns false when the index is out of bounds, true otherwise.

source

pub fn get_private<'s>( &self, scope: &mut HandleScope<'s>, key: Local<'_, Private> ) -> Option<Local<'s, Value>>

Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are not inherited. Do not rely on this, since it may change.

source

pub fn set_private( &self, scope: &mut HandleScope<'_>, key: Local<'_, Private>, value: Local<'_, Value> ) -> Option<bool>

Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are not inherited. Do not rely on this, since it may change.

source

pub fn delete_private( &self, scope: &mut HandleScope<'_>, key: Local<'_, Private> ) -> Option<bool>

Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are not inherited. Do not rely on this, since it may change.

source

pub fn has_private( &self, scope: &mut HandleScope<'_>, key: Local<'_, Private> ) -> Option<bool>

Functionality for private properties. This is an experimental feature, use at your own risk. Note: Private properties are not inherited. Do not rely on this, since it may change.

source

pub fn get_property_attributes( &self, scope: &mut HandleScope<'_>, key: Local<'_, Value> ) -> Option<PropertyAttribute>

Gets the property attributes of a property which can be PropertyAttribute::NONE or any combination of PropertyAttribute::READ_ONLY, PropertyAttribute::DONT_ENUM and PropertyAttribute::DONT_DELETE. Returns PropertyAttribute::NONE when the property doesn’t exist.

source

pub fn get_own_property_descriptor<'s>( &self, scope: &mut HandleScope<'s>, key: Local<'_, Name> ) -> Option<Local<'s, Value>>

Implements Object.getOwnPropertyDescriptor(O, P), see https://tc39.es/ecma262/#sec-object.getownpropertydescriptor.

source

pub fn preview_entries<'s>( &self, scope: &mut HandleScope<'s> ) -> (Option<Local<'s, Array>>, bool)

If this object is a Set, Map, WeakSet or WeakMap, this returns a representation of the elements of this object as an array. If this object is a SetIterator or MapIterator, this returns all elements of the underlying collection, starting at the iterator’s current position.

Also returns a boolean, indicating whether the returned array contains key & values (for example when the value is Set.entries()).

source

pub fn get_real_named_property<'s>( &self, scope: &mut HandleScope<'s>, key: Local<'_, Name> ) -> Option<Local<'s, Value>>

If result.IsEmpty() no real property was located on the object or in the prototype chain. This means interceptors in the prototype chain are not called.

source

pub fn get_real_named_property_attributes( &self, scope: &mut HandleScope<'_>, key: Local<'_, Name> ) -> Option<PropertyAttribute>

Gets the property attributes of a real property which can be None or any combination of ReadOnly, DontEnum and DontDelete. Interceptors in the prototype chain are not called.

Methods from Deref<Target = Value>§

source

pub fn is_undefined(&self) -> bool

Returns true if this value is the undefined value. See ECMA-262 4.3.10.

source

pub fn is_null(&self) -> bool

Returns true if this value is the null value. See ECMA-262 4.3.11.

source

pub fn is_null_or_undefined(&self) -> bool

Returns true if this value is either the null or the undefined value. See ECMA-262 4.3.11. and 4.3.12

source

pub fn is_true(&self) -> bool

Returns true if this value is true. This is not the same as BooleanValue(). The latter performs a conversion to boolean, i.e. the result of Boolean(value) in JS, whereas this checks value === true.

source

pub fn is_false(&self) -> bool

Returns true if this value is false. This is not the same as !BooleanValue(). The latter performs a conversion to boolean, i.e. the result of !Boolean(value) in JS, whereas this checks value === false.

source

pub fn is_name(&self) -> bool

Returns true if this value is a symbol or a string. This is equivalent to typeof value === 'string' || typeof value === 'symbol' in JS.

source

pub fn is_string(&self) -> bool

Returns true if this value is an instance of the String type. See ECMA-262 8.4.

source

pub fn is_symbol(&self) -> bool

Returns true if this value is a symbol. This is equivalent to typeof value === 'symbol' in JS.

source

pub fn is_function(&self) -> bool

Returns true if this value is a function.

source

pub fn is_array(&self) -> bool

Returns true if this value is an array. Note that it will return false for an Proxy for an array.

source

pub fn is_object(&self) -> bool

Returns true if this value is an object.

source

pub fn is_big_int(&self) -> bool

Returns true if this value is a bigint. This is equivalent to typeof value === 'bigint' in JS.

source

pub fn is_boolean(&self) -> bool

Returns true if this value is boolean. This is equivalent to typeof value === 'boolean' in JS.

source

pub fn is_number(&self) -> bool

Returns true if this value is a number.

source

pub fn is_external(&self) -> bool

Returns true if this value is an External object.

source

pub fn is_int32(&self) -> bool

Returns true if this value is a 32-bit signed integer.

source

pub fn is_uint32(&self) -> bool

Returns true if this value is a 32-bit unsigned integer.

source

pub fn is_date(&self) -> bool

Returns true if this value is a Date.

source

pub fn is_arguments_object(&self) -> bool

Returns true if this value is an Arguments object.

source

pub fn is_big_int_object(&self) -> bool

Returns true if this value is a BigInt object.

source

pub fn is_boolean_object(&self) -> bool

Returns true if this value is a Boolean object.

source

pub fn is_number_object(&self) -> bool

Returns true if this value is a Number object.

source

pub fn is_string_object(&self) -> bool

Returns true if this value is a String object.

source

pub fn is_symbol_object(&self) -> bool

Returns true if this value is a Symbol object.

source

pub fn is_native_error(&self) -> bool

Returns true if this value is a NativeError.

source

pub fn is_reg_exp(&self) -> bool

Returns true if this value is a RegExp.

source

pub fn is_async_function(&self) -> bool

Returns true if this value is an async function.

source

pub fn is_generator_function(&self) -> bool

Returns true if this value is a Generator function.

source

pub fn is_promise(&self) -> bool

Returns true if this value is a Promise.

source

pub fn is_map(&self) -> bool

Returns true if this value is a Map.

source

pub fn is_set(&self) -> bool

Returns true if this value is a Set.

source

pub fn is_map_iterator(&self) -> bool

Returns true if this value is a Map Iterator.

source

pub fn is_set_iterator(&self) -> bool

Returns true if this value is a Set Iterator.

source

pub fn is_generator_object(&self) -> bool

Returns true if this value is a Generator Object.

source

pub fn is_weak_map(&self) -> bool

Returns true if this value is a WeakMap.

source

pub fn is_weak_set(&self) -> bool

Returns true if this value is a WeakSet.

source

pub fn is_array_buffer(&self) -> bool

Returns true if this value is an ArrayBuffer.

source

pub fn is_array_buffer_view(&self) -> bool

Returns true if this value is an ArrayBufferView.

source

pub fn is_typed_array(&self) -> bool

Returns true if this value is one of TypedArrays.

source

pub fn is_uint8_array(&self) -> bool

Returns true if this value is an Uint8Array.

source

pub fn is_uint8_clamped_array(&self) -> bool

Returns true if this value is an Uint8ClampedArray.

source

pub fn is_int8_array(&self) -> bool

Returns true if this value is an Int8Array.

source

pub fn is_uint16_array(&self) -> bool

Returns true if this value is an Uint16Array.

source

pub fn is_int16_array(&self) -> bool

Returns true if this value is an Int16Array.

source

pub fn is_uint32_array(&self) -> bool

Returns true if this value is an Uint32Array.

source

pub fn is_int32_array(&self) -> bool

Returns true if this value is an Int32Array.

source

pub fn is_float32_array(&self) -> bool

Returns true if this value is a Float32Array.

source

pub fn is_float64_array(&self) -> bool

Returns true if this value is a Float64Array.

source

pub fn is_big_int64_array(&self) -> bool

Returns true if this value is a BigInt64Array.

source

pub fn is_big_uint64_array(&self) -> bool

Returns true if this value is a BigUint64Array.

source

pub fn is_data_view(&self) -> bool

Returns true if this value is a DataView.

source

pub fn is_shared_array_buffer(&self) -> bool

Returns true if this value is a SharedArrayBuffer. This is an experimental feature.

source

pub fn is_proxy(&self) -> bool

Returns true if this value is a JavaScript Proxy.

source

pub fn is_wasm_memory_object(&self) -> bool

Returns true if this value is a WasmMemoryObject.

source

pub fn is_wasm_module_object(&self) -> bool

Returns true if this value is a WasmModuleObject.

source

pub fn is_module_namespace_object(&self) -> bool

Returns true if the value is a Module Namespace Object.

source

pub fn strict_equals(&self, that: Local<'_, Value>) -> bool

source

pub fn same_value(&self, that: Local<'_, Value>) -> bool

source

pub fn same_value_zero(&self, that: Local<'_, Value>) -> bool

Implements the the abstract operation SameValueZero, which is defined in ECMA-262 6th edition § 7.2.10 (http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero).

This operation is used to compare values for the purpose of insertion into a Set, or determining whether Map keys are equivalent. Its semantics are almost the same as strict_equals() and same_value(), with the following important distinctions:

  • It considers NaN equal to NaN (unlike strict_equals()).
  • It considers -0 equal to 0 (unlike same_value()).
source

pub fn to_big_int<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, BigInt>>

source

pub fn to_number<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Number>>

source

pub fn to_string<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, String>>

source

pub fn to_rust_string_lossy(&self, scope: &mut HandleScope<'_>) -> String

Convenience function not present in the original V8 API.

source

pub fn to_detail_string<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, String>>

source

pub fn to_object<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Object>>

source

pub fn to_integer<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Integer>>

source

pub fn to_uint32<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Uint32>>

source

pub fn to_int32<'s>( &self, scope: &mut HandleScope<'s> ) -> Option<Local<'s, Int32>>

source

pub fn to_boolean<'s>( &self, scope: &mut HandleScope<'s, ()> ) -> Local<'s, Boolean>

Perform the equivalent of Boolean(value) in JS. This can never fail.

source

pub fn instance_of( &self, scope: &mut HandleScope<'_>, object: Local<'_, Object> ) -> Option<bool>

source

pub fn number_value(&self, scope: &mut HandleScope<'_>) -> Option<f64>

source

pub fn integer_value(&self, scope: &mut HandleScope<'_>) -> Option<i64>

source

pub fn uint32_value(&self, scope: &mut HandleScope<'_>) -> Option<u32>

source

pub fn int32_value(&self, scope: &mut HandleScope<'_>) -> Option<i32>

source

pub fn boolean_value(&self, scope: &mut HandleScope<'_, ()>) -> bool

source

pub fn get_hash(&self) -> NonZeroI32

Returns the V8 hash value for this value. The current implementation uses a hidden property to store the identity hash on some object types.

The return value will never be 0. Also, it is not guaranteed to be unique.

source

pub fn type_of<'s>(&self, scope: &mut HandleScope<'s, ()>) -> Local<'s, String>

source

pub fn type_repr(&self) -> &'static str

Utility method that returns human readable representation of the underlying value.

Methods from Deref<Target = Data>§

source

pub fn is_big_int(&self) -> bool

Returns true if this data is a BigInt.

source

pub fn is_boolean(&self) -> bool

Returns true if this data is a Boolean.

source

pub fn is_context(&self) -> bool

Returns true if this data is a Context.

source

pub fn is_fixed_array(&self) -> bool

Returns true if this data is a FixedArray.

source

pub fn is_function_template(&self) -> bool

Returns true if this data is a FunctionTemplate.

source

pub fn is_module(&self) -> bool

Returns true if this data is a Module.

source

pub fn is_module_request(&self) -> bool

Returns true if this data is a ModuleRequest.

source

pub fn is_name(&self) -> bool

Returns true if this data is a Name.

source

pub fn is_number(&self) -> bool

Returns true if this data is a Number.

source

pub fn is_object_template(&self) -> bool

Returns true if this data is a ObjectTemplate.

source

pub fn is_primitive(&self) -> bool

Returns true if this data is a Primitive.

source

pub fn is_private(&self) -> bool

Returns true if this data is a Private.

source

pub fn is_string(&self) -> bool

Returns true if this data is a String.

source

pub fn is_symbol(&self) -> bool

Returns true if this data is a Symbol.

source

pub fn is_value(&self) -> bool

Returns true if this data is a Value.

Trait Implementations§

source§

impl Debug for NumberObject

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for NumberObject

§

type Target = Object

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Hash for NumberObject

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'s> PartialEq<Data> for NumberObject

source§

fn eq(&self, other: &Data) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq<NumberObject> for Data

source§

fn eq(&self, other: &NumberObject) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq<NumberObject> for Object

source§

fn eq(&self, other: &NumberObject) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq<NumberObject> for Value

source§

fn eq(&self, other: &NumberObject) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq<Object> for NumberObject

source§

fn eq(&self, other: &Object) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq<Value> for NumberObject

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'s> PartialEq for NumberObject

source§

fn eq(&self, other: &NumberObject) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for NumberObject

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.