#[repr(C)]pub struct Symbol(/* private fields */);
Expand description
A JavaScript symbol (ECMA-262 edition 6)
Implementations§
Source§impl Symbol
impl Symbol
Sourcepub fn new<'s>(
scope: &mut HandleScope<'s, ()>,
description: Option<Local<'_, String>>,
) -> Local<'s, Symbol>
pub fn new<'s>( scope: &mut HandleScope<'s, ()>, description: Option<Local<'_, String>>, ) -> Local<'s, Symbol>
Create a symbol. If description is not empty, it will be used as the description.
Sourcepub fn for_key<'s>(
scope: &mut HandleScope<'s, ()>,
description: Local<'_, String>,
) -> Local<'s, Symbol>
pub fn for_key<'s>( scope: &mut HandleScope<'s, ()>, description: Local<'_, String>, ) -> Local<'s, Symbol>
Access global symbol registry. Note that symbols created this way are never collected, so they should only be used for statically fixed properties. Also, there is only one global description space for the descriptions used as keys. To minimize the potential for clashes, use qualified descriptions as keys. Corresponds to v8::Symbol::For() in C++.
Sourcepub fn for_api<'s>(
scope: &mut HandleScope<'s, ()>,
description: Local<'_, String>,
) -> Local<'s, Symbol>
pub fn for_api<'s>( scope: &mut HandleScope<'s, ()>, description: Local<'_, String>, ) -> Local<'s, Symbol>
Retrieve a global symbol. Similar to for_key
, but using a separate
registry that is not accessible by (and cannot clash with) JavaScript code.
Corresponds to v8::Symbol::ForApi() in C++.
pub fn for_global<'s>( scope: &mut HandleScope<'s, ()>, description: Local<'_, String>, ) -> Local<'s, Symbol>
for_key
but implemented as for_api
Sourcepub fn description<'s>(
&self,
scope: &mut HandleScope<'s, ()>,
) -> Local<'s, Value>
pub fn description<'s>( &self, scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Value>
Returns the description string of the symbol, or undefined if none.
pub fn get_async_iterator<'s>( scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Symbol>
pub fn get_has_instance<'s>( scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Symbol>
pub fn get_is_concat_spreadable<'s>( scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Symbol>
pub fn get_iterator<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
pub fn get_match<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
pub fn get_replace<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
pub fn get_search<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
pub fn get_split<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
pub fn get_to_primitive<'s>( scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Symbol>
pub fn get_to_string_tag<'s>( scope: &mut HandleScope<'s, ()>, ) -> Local<'s, Symbol>
pub fn get_unscopables<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, Symbol>
Methods from Deref<Target = Name>§
Sourcepub fn get_identity_hash(&self) -> NonZeroI32
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.
Methods from Deref<Target = Value>§
Sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Returns true if this value is the undefined value. See ECMA-262 4.3.10.
Sourcepub fn is_null(&self) -> bool
pub fn is_null(&self) -> bool
Returns true if this value is the null value. See ECMA-262 4.3.11.
Sourcepub fn is_null_or_undefined(&self) -> bool
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
Sourcepub fn is_true(&self) -> bool
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
.
Sourcepub fn is_false(&self) -> bool
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
.
Sourcepub fn is_name(&self) -> bool
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.
Sourcepub fn is_string(&self) -> bool
pub fn is_string(&self) -> bool
Returns true if this value is an instance of the String type. See ECMA-262 8.4.
Sourcepub fn is_symbol(&self) -> bool
pub fn is_symbol(&self) -> bool
Returns true if this value is a symbol.
This is equivalent to typeof value === 'symbol'
in JS.
Sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Returns true if this value is a function.
Sourcepub fn is_array(&self) -> bool
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.
Sourcepub fn is_big_int(&self) -> bool
pub fn is_big_int(&self) -> bool
Returns true if this value is a bigint.
This is equivalent to typeof value === 'bigint'
in JS.
Sourcepub fn is_boolean(&self) -> bool
pub fn is_boolean(&self) -> bool
Returns true if this value is boolean.
This is equivalent to typeof value === 'boolean'
in JS.
Sourcepub fn is_external(&self) -> bool
pub fn is_external(&self) -> bool
Returns true if this value is an External
object.
Sourcepub fn is_arguments_object(&self) -> bool
pub fn is_arguments_object(&self) -> bool
Returns true if this value is an Arguments object.
Sourcepub fn is_big_int_object(&self) -> bool
pub fn is_big_int_object(&self) -> bool
Returns true if this value is a BigInt object.
Sourcepub fn is_boolean_object(&self) -> bool
pub fn is_boolean_object(&self) -> bool
Returns true if this value is a Boolean object.
Sourcepub fn is_number_object(&self) -> bool
pub fn is_number_object(&self) -> bool
Returns true if this value is a Number object.
Sourcepub fn is_string_object(&self) -> bool
pub fn is_string_object(&self) -> bool
Returns true if this value is a String object.
Sourcepub fn is_symbol_object(&self) -> bool
pub fn is_symbol_object(&self) -> bool
Returns true if this value is a Symbol object.
Sourcepub fn is_native_error(&self) -> bool
pub fn is_native_error(&self) -> bool
Returns true if this value is a NativeError.
Sourcepub fn is_reg_exp(&self) -> bool
pub fn is_reg_exp(&self) -> bool
Returns true if this value is a RegExp.
Sourcepub fn is_async_function(&self) -> bool
pub fn is_async_function(&self) -> bool
Returns true if this value is an async function.
Sourcepub fn is_generator_function(&self) -> bool
pub fn is_generator_function(&self) -> bool
Returns true if this value is a Generator function.
Sourcepub fn is_promise(&self) -> bool
pub fn is_promise(&self) -> bool
Returns true if this value is a Promise.
Sourcepub fn is_map_iterator(&self) -> bool
pub fn is_map_iterator(&self) -> bool
Returns true if this value is a Map Iterator.
Sourcepub fn is_set_iterator(&self) -> bool
pub fn is_set_iterator(&self) -> bool
Returns true if this value is a Set Iterator.
Sourcepub fn is_generator_object(&self) -> bool
pub fn is_generator_object(&self) -> bool
Returns true if this value is a Generator Object.
Sourcepub fn is_weak_map(&self) -> bool
pub fn is_weak_map(&self) -> bool
Returns true if this value is a WeakMap.
Sourcepub fn is_weak_set(&self) -> bool
pub fn is_weak_set(&self) -> bool
Returns true if this value is a WeakSet.
Sourcepub fn is_array_buffer(&self) -> bool
pub fn is_array_buffer(&self) -> bool
Returns true if this value is an ArrayBuffer.
Sourcepub fn is_array_buffer_view(&self) -> bool
pub fn is_array_buffer_view(&self) -> bool
Returns true if this value is an ArrayBufferView.
Sourcepub fn is_typed_array(&self) -> bool
pub fn is_typed_array(&self) -> bool
Returns true if this value is one of TypedArrays.
Sourcepub fn is_uint8_array(&self) -> bool
pub fn is_uint8_array(&self) -> bool
Returns true if this value is an Uint8Array.
Sourcepub fn is_uint8_clamped_array(&self) -> bool
pub fn is_uint8_clamped_array(&self) -> bool
Returns true if this value is an Uint8ClampedArray.
Sourcepub fn is_int8_array(&self) -> bool
pub fn is_int8_array(&self) -> bool
Returns true if this value is an Int8Array.
Sourcepub fn is_uint16_array(&self) -> bool
pub fn is_uint16_array(&self) -> bool
Returns true if this value is an Uint16Array.
Sourcepub fn is_int16_array(&self) -> bool
pub fn is_int16_array(&self) -> bool
Returns true if this value is an Int16Array.
Sourcepub fn is_uint32_array(&self) -> bool
pub fn is_uint32_array(&self) -> bool
Returns true if this value is an Uint32Array.
Sourcepub fn is_int32_array(&self) -> bool
pub fn is_int32_array(&self) -> bool
Returns true if this value is an Int32Array.
Sourcepub fn is_float32_array(&self) -> bool
pub fn is_float32_array(&self) -> bool
Returns true if this value is a Float32Array.
Sourcepub fn is_float64_array(&self) -> bool
pub fn is_float64_array(&self) -> bool
Returns true if this value is a Float64Array.
Sourcepub fn is_big_int64_array(&self) -> bool
pub fn is_big_int64_array(&self) -> bool
Returns true if this value is a BigInt64Array.
Sourcepub fn is_big_uint64_array(&self) -> bool
pub fn is_big_uint64_array(&self) -> bool
Returns true if this value is a BigUint64Array.
Sourcepub fn is_data_view(&self) -> bool
pub fn is_data_view(&self) -> bool
Returns true if this value is a DataView.
Returns true if this value is a SharedArrayBuffer. This is an experimental feature.
Sourcepub fn is_wasm_memory_object(&self) -> bool
pub fn is_wasm_memory_object(&self) -> bool
Returns true if this value is a WasmMemoryObject.
Sourcepub fn is_wasm_module_object(&self) -> bool
pub fn is_wasm_module_object(&self) -> bool
Returns true if this value is a WasmModuleObject.
Sourcepub fn is_module_namespace_object(&self) -> bool
pub fn is_module_namespace_object(&self) -> bool
Returns true if the value is a Module Namespace Object.
pub fn strict_equals(&self, that: Local<'_, Value>) -> bool
pub fn same_value(&self, that: Local<'_, Value>) -> bool
Sourcepub fn same_value_zero(&self, that: Local<'_, Value>) -> bool
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 toNaN
(unlikestrict_equals()
). - It considers
-0
equal to0
(unlikesame_value()
).
pub fn to_big_int<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, BigInt>>
pub fn to_number<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, Number>>
pub fn to_string<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, String>>
Sourcepub fn to_rust_string_lossy(&self, scope: &mut HandleScope<'_>) -> String
pub fn to_rust_string_lossy(&self, scope: &mut HandleScope<'_>) -> String
Convenience function not present in the original V8 API.
pub fn to_detail_string<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, String>>
pub fn to_object<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, Object>>
pub fn to_integer<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, Integer>>
pub fn to_uint32<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, Uint32>>
pub fn to_int32<'s>( &self, scope: &mut HandleScope<'s>, ) -> Option<Local<'s, Int32>>
Sourcepub fn to_boolean<'s>(
&self,
scope: &mut HandleScope<'s, ()>,
) -> Local<'s, Boolean>
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.
pub fn instance_of( &self, scope: &mut HandleScope<'_>, object: Local<'_, Object>, ) -> Option<bool>
pub fn number_value(&self, scope: &mut HandleScope<'_>) -> Option<f64>
pub fn integer_value(&self, scope: &mut HandleScope<'_>) -> Option<i64>
pub fn uint32_value(&self, scope: &mut HandleScope<'_>) -> Option<u32>
pub fn int32_value(&self, scope: &mut HandleScope<'_>) -> Option<i32>
pub fn boolean_value(&self, scope: &mut HandleScope<'_, ()>) -> bool
Sourcepub fn get_hash(&self) -> NonZeroI32
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.
pub fn type_of<'s>(&self, scope: &mut HandleScope<'s, ()>) -> Local<'s, String>
Methods from Deref<Target = Data>§
Sourcepub fn is_big_int(&self) -> bool
pub fn is_big_int(&self) -> bool
Returns true if this data is a BigInt
.
Sourcepub fn is_boolean(&self) -> bool
pub fn is_boolean(&self) -> bool
Returns true if this data is a Boolean
.
Sourcepub fn is_context(&self) -> bool
pub fn is_context(&self) -> bool
Returns true if this data is a Context
.
Sourcepub fn is_fixed_array(&self) -> bool
pub fn is_fixed_array(&self) -> bool
Returns true if this data is a FixedArray
.
Sourcepub fn is_function_template(&self) -> bool
pub fn is_function_template(&self) -> bool
Returns true if this data is a FunctionTemplate
.
Sourcepub fn is_module_request(&self) -> bool
pub fn is_module_request(&self) -> bool
Returns true if this data is a ModuleRequest
.
Sourcepub fn is_object_template(&self) -> bool
pub fn is_object_template(&self) -> bool
Returns true if this data is a ObjectTemplate
.
Sourcepub fn is_primitive(&self) -> bool
pub fn is_primitive(&self) -> bool
Returns true if this data is a Primitive
.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Returns true if this data is a Private
.