#[repr(C)]pub struct String(_);Expand description
A JavaScript string value (ECMA-262, 4.3.17).
Implementations§
source§impl 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.
sourcepub fn write_utf8_uninit(
    &self,
    scope: &mut Isolate,
    buffer: &mut [MaybeUninit<u8>],
    nchars_ref: Option<&mut usize>,
    options: WriteOptions
) -> usize
 
pub fn write_utf8_uninit( &self, scope: &mut Isolate, buffer: &mut [MaybeUninit<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 NaNequal toNaN(unlikestrict_equals()).
- It considers -0equal 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.
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.