#[repr(C)]pub struct String(_);
Expand description
A JavaScript string value (ECMA-262, 4.3.17).
Implementations
sourceimpl String
impl String
sourcepub fn max_length() -> usize
pub fn max_length() -> usize
The maximum length (in bytes) of a buffer that a v8::String can be built from. Attempting to create a v8::String from a larger buffer will result in None being returned.
pub fn empty<'s>(scope: &mut HandleScope<'s, ()>) -> Local<'s, String>
sourcepub fn new_from_utf8<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u8],
new_type: NewStringType
) -> Option<Local<'s, String>>
pub fn new_from_utf8<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u8],
new_type: NewStringType
) -> Option<Local<'s, String>>
Allocates a new string from UTF-8 data. Only returns an empty value when length > kMaxLength
sourcepub fn new_from_one_byte<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u8],
new_type: NewStringType
) -> Option<Local<'s, String>>
pub fn new_from_one_byte<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u8],
new_type: NewStringType
) -> Option<Local<'s, String>>
Allocates a new string from Latin-1 data. Only returns an empty value when length > kMaxLength.
sourcepub fn new_from_two_byte<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u16],
new_type: NewStringType
) -> Option<Local<'s, String>>
pub fn new_from_two_byte<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &[u16],
new_type: NewStringType
) -> Option<Local<'s, String>>
Allocates a new string from UTF-16 data. Only returns an empty value when length > kMaxLength.
sourcepub fn length(&self) -> usize
pub fn length(&self) -> usize
Returns the number of characters (UTF-16 code units) in this string.
sourcepub fn utf8_length(&self, scope: &mut Isolate) -> usize
pub fn utf8_length(&self, scope: &mut Isolate) -> usize
Returns the number of bytes in the UTF-8 encoded representation of this string.
sourcepub fn write(
&self,
scope: &mut Isolate,
buffer: &mut [u16],
start: usize,
options: WriteOptions
) -> usize
pub fn write(
&self,
scope: &mut Isolate,
buffer: &mut [u16],
start: usize,
options: WriteOptions
) -> usize
Writes the contents of the string to an external buffer, as 16-bit (UTF-16) character codes.
sourcepub fn write_one_byte(
&self,
scope: &mut Isolate,
buffer: &mut [u8],
start: usize,
options: WriteOptions
) -> usize
pub fn write_one_byte(
&self,
scope: &mut Isolate,
buffer: &mut [u8],
start: usize,
options: WriteOptions
) -> usize
Writes the contents of the string to an external buffer, as one-byte (Latin-1) characters.
sourcepub fn write_utf8(
&self,
scope: &mut Isolate,
buffer: &mut [u8],
nchars_ref: Option<&mut usize>,
options: WriteOptions
) -> usize
pub fn write_utf8(
&self,
scope: &mut Isolate,
buffer: &mut [u8],
nchars_ref: Option<&mut usize>,
options: WriteOptions
) -> usize
Writes the contents of the string to an external buffer, as UTF-8.
pub fn new<'s>(
scope: &mut HandleScope<'s, ()>,
value: &str
) -> Option<Local<'s, String>>
pub fn new_external_onebyte_static<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &'static [u8]
) -> Option<Local<'s, String>>
pub fn new_external_twobyte_static<'s>(
scope: &mut HandleScope<'s, ()>,
buffer: &'static [u16]
) -> Option<Local<'s, String>>
sourcepub fn is_external(&self) -> bool
pub fn is_external(&self) -> bool
True if string is external
sourcepub fn is_external_onebyte(&self) -> bool
pub fn is_external_onebyte(&self) -> bool
True if string is external & one-byte (e.g: created with new_external_onebyte_static)
sourcepub fn is_external_twobyte(&self) -> bool
pub fn is_external_twobyte(&self) -> bool
True if string is external & two-byte (e.g: created with new_external_twobyte_static)
sourcepub fn is_onebyte(&self) -> bool
pub fn is_onebyte(&self) -> bool
True if string is known to contain only one-byte data. Doesn’t read the string so can return false positives.
For a method that will not return false positives at the cost of
potentially reading the entire string, use contains_only_onebyte()
.
sourcepub fn contains_only_onebyte(&self) -> bool
pub fn contains_only_onebyte(&self) -> bool
True if the string contains only one-byte data. Will read the entire string in some cases.
sourcepub fn to_rust_string_lossy(&self, scope: &mut Isolate) -> String
pub fn to_rust_string_lossy(&self, scope: &mut Isolate) -> String
Convenience function not present in the original V8 API.
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_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<'s>(&self, scope: &mut HandleScope<'s>) -> String
pub fn to_rust_string_lossy<'s>(&self, scope: &mut HandleScope<'s>) -> 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<'s>(
&self,
scope: &mut HandleScope<'s>,
object: Local<'_, Object>
) -> Option<bool>
pub fn number_value<'s>(&self, scope: &mut HandleScope<'s>) -> Option<f64>
pub fn integer_value<'s>(&self, scope: &mut HandleScope<'s>) -> Option<i64>
pub fn uint32_value<'s>(&self, scope: &mut HandleScope<'s>) -> Option<u32>
pub fn int32_value<'s>(&self, scope: &mut HandleScope<'s>) -> Option<i32>
pub fn boolean_value<'s>(&self, scope: &mut HandleScope<'s, ()>) -> 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.
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
.
Trait Implementations
sourceimpl<'s> PartialEq<Name> for String
impl<'s> PartialEq<Name> for String
sourceimpl<'s> PartialEq<Primitive> for String
impl<'s> PartialEq<Primitive> for String
sourceimpl<'s> PartialEq<String> for Name
impl<'s> PartialEq<String> for Name
sourceimpl<'s> PartialEq<String> for Primitive
impl<'s> PartialEq<String> for Primitive
sourceimpl<'s> PartialEq<String> for String
impl<'s> PartialEq<String> for String
sourceimpl<'s> PartialEq<String> for Value
impl<'s> PartialEq<String> for Value
sourceimpl<'s> PartialEq<Value> for String
impl<'s> PartialEq<Value> for String
impl Eq for String
Auto Trait Implementations
impl RefUnwindSafe for String
impl Send for String
impl Sync for String
impl Unpin for String
impl UnwindSafe for String
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more