rusty_v8

Struct Proxy

Source
#[repr(C)]
pub struct Proxy(/* private fields */);
Expand description

An instance of the built-in Proxy constructor (ECMA-262, 6th Edition, 26.2.1).

Implementations§

Source§

impl Proxy

Source

pub fn new<'s>( scope: &mut HandleScope<'s>, target: Local<'_, Object>, handler: Local<'_, Object>, ) -> Option<Local<'s, Proxy>>

Source

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

Source

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

Source

pub fn is_revoked(&self) -> bool

Source

pub fn revoke(&self)

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 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 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 creation_context<'s>( &self, scope: &mut HandleScope<'s>, ) -> 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>, ) -> 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>, ) -> 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<'s>( &self, scope: &mut HandleScope<'s>, key: Local<'_, Value>, ) -> Option<bool>

Source

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

Source

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

Source

pub fn delete_index<'s>( &self, scope: &mut HandleScope<'s>, 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, Value>>

Gets the value from an internal field.

Source

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

Sets the value 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<'s>( &self, scope: &mut HandleScope<'s>, 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<'s>( &self, scope: &mut HandleScope<'s>, 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<'s>( &self, scope: &mut HandleScope<'s>, 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.

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_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_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<'s>(&self, scope: &mut HandleScope<'s>) -> 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 number_value<'s>(&self, scope: &mut HandleScope<'s>) -> Option<f64>

Source

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

Source

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

Source

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

Source

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

Methods from Deref<Target = Data>§

Source

pub fn get_hash(&self) -> int

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 is_value(&self) -> bool

Returns true if this data is a Value.

Source

pub fn is_module(&self) -> bool

Returns true if this data is a Module.

Source

pub fn is_private(&self) -> bool

Returns true if this data is a Private.

Source

pub fn is_object_template(&self) -> bool

Returns true if this data is an ObjectTemplate

Source

pub fn is_function_template(&self) -> bool

Returns true if this data is a FunctionTemplate.

Trait Implementations§

Source§

impl Debug for Proxy

Source§

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

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

impl Hash for Proxy

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 Proxy

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq<Object> for Proxy

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq<Proxy> for Data

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq<Proxy> for Object

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq<Proxy> for Value

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq<Value> for Proxy

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'s> PartialEq for Proxy

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Deref for Proxy

Source§

type Target = Object

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Eq for Proxy

Auto Trait Implementations§

§

impl Freeze for Proxy

§

impl RefUnwindSafe for Proxy

§

impl Send for Proxy

§

impl Sync for Proxy

§

impl Unpin for Proxy

§

impl UnwindSafe for Proxy

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

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

Source§

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>,

Source§

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.