Struct js_sys::JsString[][src]

#[repr(transparent)]pub struct JsString { /* fields omitted */ }

Implementations

impl JsString[src]

pub fn length(&self) -> u32[src]

The length property of a String object indicates the length of a string, in UTF-16 code units.

MDN documentation

impl JsString[src]

pub fn char_at(&self, index: u32) -> JsString[src]

The String object’s charAt() method returns a new string consisting of the single UTF-16 code unit located at the specified offset into the string.

MDN documentation

impl JsString[src]

pub fn char_code_at(&self, index: u32) -> f64[src]

The charCodeAt() method returns an integer between 0 and 65535 representing the UTF-16 code unit at the given index (the UTF-16 code unit matches the Unicode code point for code points representable in a single UTF-16 code unit, but might also be the first code unit of a surrogate pair for code points not representable in a single UTF-16 code unit, e.g. Unicode code points > 0x10000). If you want the entire code point value, use codePointAt().

Returns NaN if index is out of range.

MDN documentation

impl JsString[src]

pub fn code_point_at(&self, pos: u32) -> JsValue[src]

The codePointAt() method returns a non-negative integer that is the Unicode code point value.

MDN documentation

impl JsString[src]

pub fn concat(&self, string_2: &JsValue) -> JsString[src]

The concat() method concatenates the string arguments to the calling string and returns a new string.

MDN documentation

impl JsString[src]

pub fn ends_with(&self, search_string: &str, length: i32) -> bool[src]

The endsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.

MDN documentation

impl JsString[src]

pub fn from_char_code(char_codes: &[u16]) -> JsString[src]

The static String.fromCharCode() method returns a string created from the specified sequence of UTF-16 code units.

MDN documentation

Notes

There are a few bindings to from_char_code in js-sys: from_char_code1, from_char_code2, etc… with different arities.

Additionally, this function accepts u16 for character codes, but fixing others requires a breaking change release (see https://github.com/rustwasm/wasm-bindgen/issues/1460 for details).

impl JsString[src]

pub fn from_char_code1(a: u32) -> JsString[src]

impl JsString[src]

pub fn from_char_code2(a: u32, b: u32) -> JsString[src]

impl JsString[src]

pub fn from_char_code3(a: u32, b: u32, c: u32) -> JsString[src]

impl JsString[src]

pub fn from_char_code4(a: u32, b: u32, c: u32, d: u32) -> JsString[src]

impl JsString[src]

pub fn from_char_code5(a: u32, b: u32, c: u32, d: u32, e: u32) -> JsString[src]

impl JsString[src]

pub fn from_code_point(code_points: &[u32]) -> Result<JsString, JsValue>[src]

The static String.fromCodePoint() method returns a string created by using the specified sequence of code points.

MDN documentation

Exceptions

A RangeError is thrown if an invalid Unicode code point is given

Notes

There are a few bindings to from_code_point in js-sys: from_code_point1, from_code_point2, etc… with different arities.

impl JsString[src]

pub fn from_code_point1(a: u32) -> Result<JsString, JsValue>[src]

impl JsString[src]

pub fn from_code_point2(a: u32, b: u32) -> Result<JsString, JsValue>[src]

impl JsString[src]

pub fn from_code_point3(a: u32, b: u32, c: u32) -> Result<JsString, JsValue>[src]

impl JsString[src]

pub fn from_code_point4(
    a: u32,
    b: u32,
    c: u32,
    d: u32
) -> Result<JsString, JsValue>
[src]

impl JsString[src]

pub fn from_code_point5(
    a: u32,
    b: u32,
    c: u32,
    d: u32,
    e: u32
) -> Result<JsString, JsValue>
[src]

impl JsString[src]

pub fn includes(&self, search_string: &str, position: i32) -> bool[src]

The includes() method determines whether one string may be found within another string, returning true or false as appropriate.

MDN documentation

impl JsString[src]

pub fn index_of(&self, search_value: &str, from_index: i32) -> i32[src]

The indexOf() method returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex. Returns -1 if the value is not found.

MDN documentation

impl JsString[src]

pub fn last_index_of(&self, search_value: &str, from_index: i32) -> i32[src]

The lastIndexOf() method returns the index within the calling String object of the last occurrence of the specified value, searching backwards from fromIndex. Returns -1 if the value is not found.

MDN documentation

impl JsString[src]

pub fn locale_compare(
    &self,
    compare_string: &str,
    locales: &Array,
    options: &Object
) -> i32
[src]

The localeCompare() method returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.

MDN documentation

impl JsString[src]

pub fn match_(&self, pattern: &RegExp) -> Option<Object>[src]

The match() method retrieves the matches when matching a string against a regular expression.

MDN documentation

impl JsString[src]

pub fn normalize(&self, form: &str) -> JsString[src]

The normalize() method returns the Unicode Normalization Form of a given string (if the value isn’t a string, it will be converted to one first).

MDN documentation

impl JsString[src]

pub fn pad_end(&self, target_length: u32, pad_string: &str) -> JsString[src]

The padEnd() method pads the current string with a given string (repeated, if needed) so that the resulting string reaches a given length. The padding is applied from the end (right) of the current string.

MDN documentation

impl JsString[src]

pub fn pad_start(&self, target_length: u32, pad_string: &str) -> JsString[src]

The padStart() method pads the current string with another string (repeated, if needed) so that the resulting string reaches the given length. The padding is applied from the start (left) of the current string.

MDN documentation

impl JsString[src]

pub fn repeat(&self, count: i32) -> JsString[src]

The repeat() method constructs and returns a new string which contains the specified number of copies of the string on which it was called, concatenated together.

MDN documentation

impl JsString[src]

pub fn replace(&self, pattern: &str, replacement: &str) -> JsString[src]

The replace() method returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.

Note: The original string will remain unchanged.

MDN documentation

impl JsString[src]

pub fn replace_with_function(
    &self,
    pattern: &str,
    replacement: &Function
) -> JsString
[src]

impl JsString[src]

pub fn replace_by_pattern(
    &self,
    pattern: &RegExp,
    replacement: &str
) -> JsString
[src]

impl JsString[src]

pub fn replace_by_pattern_with_function(
    &self,
    pattern: &RegExp,
    replacement: &Function
) -> JsString
[src]

impl JsString[src]

pub fn search(&self, pattern: &RegExp) -> i32[src]

The search() method executes a search for a match between a regular expression and this String object.

MDN documentation

impl JsString[src]

pub fn slice(&self, start: u32, end: u32) -> JsString[src]

The slice() method extracts a section of a string and returns it as a new string, without modifying the original string.

MDN documentation

impl JsString[src]

pub fn split(&self, separator: &str) -> Array[src]

The split() method splits a String object into an array of strings by separating the string into substrings, using a specified separator string to determine where to make each split.

MDN documentation

impl JsString[src]

pub fn split_limit(&self, separator: &str, limit: u32) -> Array[src]

impl JsString[src]

pub fn split_by_pattern(&self, pattern: &RegExp) -> Array[src]

impl JsString[src]

pub fn split_by_pattern_limit(&self, pattern: &RegExp, limit: u32) -> Array[src]

impl JsString[src]

pub fn starts_with(&self, search_string: &str, position: u32) -> bool[src]

The startsWith() method determines whether a string begins with the characters of a specified string, returning true or false as appropriate.

MDN documentation

impl JsString[src]

pub fn substring(&self, index_start: u32, index_end: u32) -> JsString[src]

The substring() method returns the part of the string between the start and end indexes, or to the end of the string.

MDN documentation

impl JsString[src]

pub fn substr(&self, start: i32, length: i32) -> JsString[src]

The substr() method returns the part of a string between the start index and a number of characters after it.

MDN documentation

impl JsString[src]

pub fn to_locale_lower_case(&self, locale: Option<&str>) -> JsString[src]

The toLocaleLowerCase() method returns the calling string value converted to lower case, according to any locale-specific case mappings.

MDN documentation

impl JsString[src]

pub fn to_locale_upper_case(&self, locale: Option<&str>) -> JsString[src]

The toLocaleUpperCase() method returns the calling string value converted to upper case, according to any locale-specific case mappings.

MDN documentation

impl JsString[src]

pub fn to_lower_case(&self) -> JsString[src]

The toLowerCase() method returns the calling string value converted to lower case.

MDN documentation

impl JsString[src]

pub fn to_string(&self) -> JsString[src]

The toString() method returns a string representing the specified object.

MDN documentation

impl JsString[src]

pub fn to_upper_case(&self) -> JsString[src]

The toUpperCase() method returns the calling string value converted to uppercase (the value will be converted to a string if it isn’t one).

MDN documentation

impl JsString[src]

pub fn trim(&self) -> JsString[src]

The trim() method removes whitespace from both ends of a string. Whitespace in this context is all the whitespace characters (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).

MDN documentation

impl JsString[src]

pub fn trim_end(&self) -> JsString[src]

The trimEnd() method removes whitespace from the end of a string. trimRight() is an alias of this method.

MDN documentation

impl JsString[src]

pub fn trim_right(&self) -> JsString[src]

The trimEnd() method removes whitespace from the end of a string. trimRight() is an alias of this method.

MDN documentation

impl JsString[src]

pub fn trim_start(&self) -> JsString[src]

The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.

MDN documentation

impl JsString[src]

pub fn trim_left(&self) -> JsString[src]

The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.

MDN documentation

impl JsString[src]

pub fn value_of(&self) -> JsString[src]

The valueOf() method returns the primitive value of a String object.

MDN documentation

impl JsString[src]

pub fn raw(
    call_site: &Object,
    substitutions: &Array
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_0(call_site: &Object) -> Result<JsString, JsValue>[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_1(
    call_site: &Object,
    substitutions_1: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_2(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_3(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str,
    substitutions_3: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_4(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str,
    substitutions_3: &str,
    substitutions_4: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_5(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str,
    substitutions_3: &str,
    substitutions_4: &str,
    substitutions_5: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_6(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str,
    substitutions_3: &str,
    substitutions_4: &str,
    substitutions_5: &str,
    substitutions_6: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn raw_7(
    call_site: &Object,
    substitutions_1: &str,
    substitutions_2: &str,
    substitutions_3: &str,
    substitutions_4: &str,
    substitutions_5: &str,
    substitutions_6: &str,
    substitutions_7: &str
) -> Result<JsString, JsValue>
[src]

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

impl JsString[src]

pub fn try_from(val: &JsValue) -> Option<&JsString>[src]

👎 Deprecated:

recommended to use dyn_ref instead which is now equivalent

Returns the JsString value of this JS value if it’s an instance of a string.

If this JS value is not an instance of a string then this returns None.

pub fn is_valid_utf16(&self) -> bool[src]

Returns whether this string is a valid UTF-16 string.

This is useful for learning whether String::from(..) will return a lossless representation of the JS string. If this string contains unpaired surrogates then String::from will succeed but it will be a lossy representation of the JS string because unpaired surrogates will become replacement characters.

If this function returns false then to get a lossless representation of the string you’ll need to manually use the iter method (or the char_code_at accessor) to view the raw character codes.

For more information, see the documentation on JS strings vs Rust strings

pub fn iter<'a>(
    &'a self
) -> impl ExactSizeIterator<Item = u16> + DoubleEndedIterator<Item = u16> + 'a
[src]

Returns an iterator over the u16 character codes that make up this JS string.

This method will call char_code_at for each code in this JS string, returning an iterator of the codes in sequence.

pub fn as_char(&self) -> Option<char>[src]

If this string consists of a single Unicode code point, then this method converts it into a Rust char without doing any allocations.

If this JS value is not a valid UTF-8 or consists of more than a single codepoint, then this returns None.

Note that a single Unicode code point might be represented as more than one code unit on the JavaScript side. For example, a JavaScript string "\uD801\uDC37" is actually a single Unicode code point U+10437 which corresponds to a character ‘𐐷’.

Methods from Deref<Target = Object>

pub fn constructor(&self) -> Function[src]

The constructor property returns a reference to the Object constructor function that created the instance object.

MDN documentation

pub fn has_own_property(&self, property: &JsValue) -> bool[src]

The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).

MDN documentation

pub fn is_prototype_of(&self, value: &JsValue) -> bool[src]

The isPrototypeOf() method checks if an object exists in another object’s prototype chain.

MDN documentation

pub fn property_is_enumerable(&self, property: &JsValue) -> bool[src]

The propertyIsEnumerable() method returns a Boolean indicating whether the specified property is enumerable.

MDN documentation

pub fn to_locale_string(&self) -> JsString[src]

The toLocaleString() method returns a string representing the object. This method is meant to be overridden by derived objects for locale-specific purposes.

MDN documentation

pub fn to_string(&self) -> JsString[src]

The toString() method returns a string representing the object.

MDN documentation

pub fn value_of(&self) -> Object[src]

The valueOf() method returns the primitive value of the specified object.

MDN documentation

Methods from Deref<Target = JsValue>

pub const NULL: JsValue[src]

pub const UNDEFINED: JsValue[src]

pub const TRUE: JsValue[src]

pub const FALSE: JsValue[src]

pub fn as_f64(&self) -> Option<f64>[src]

Returns the f64 value of this JS value if it’s an instance of a number.

If this JS value is not an instance of a number then this returns None.

pub fn is_string(&self) -> bool[src]

Tests whether this JS value is a JS string.

pub fn as_string(&self) -> Option<String>[src]

If this JS value is a string value, this function copies the JS string value into wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it’s not valid utf-8 then this returns None.

UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

pub fn as_bool(&self) -> Option<bool>[src]

Returns the bool value of this JS value if it’s an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

pub fn is_null(&self) -> bool[src]

Tests whether this JS value is null

pub fn is_undefined(&self) -> bool[src]

Tests whether this JS value is undefined

pub fn is_symbol(&self) -> bool[src]

Tests whether the type of this JS value is symbol

pub fn is_object(&self) -> bool[src]

Tests whether typeof self == "object" && self !== null.

pub fn is_function(&self) -> bool[src]

Tests whether the type of this JS value is function.

pub fn is_truthy(&self) -> bool[src]

Tests whether the value is “truthy”.

pub fn is_falsy(&self) -> bool[src]

Tests whether the value is “falsy”.

Trait Implementations

impl AsRef<JsString> for JsString[src]

impl AsRef<JsValue> for JsString[src]

impl AsRef<Object> for JsString[src]

impl Clone for JsString[src]

impl Debug for JsString[src]

impl Deref for JsString[src]

type Target = Object

The resulting type after dereferencing.

impl Eq for JsString[src]

impl<'a> From<&'a str> for JsString[src]

impl From<JsString> for JsValue[src]

impl From<JsString> for Object[src]

impl From<JsValue> for JsString[src]

impl From<String> for JsString[src]

impl From<char> for JsString[src]

impl FromWasmAbi for JsString[src]

type Abi = <JsValue as FromWasmAbi>::Abi

The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more

impl IntoWasmAbi for JsString[src]

type Abi = <JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl<'a> IntoWasmAbi for &'a JsString[src]

type Abi = <&'a JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl JsCast for JsString[src]

impl OptionFromWasmAbi for JsString[src]

impl OptionIntoWasmAbi for JsString[src]

impl<'a> OptionIntoWasmAbi for &'a JsString[src]

impl<'a> PartialEq<&'a String> for JsString[src]

impl<'a> PartialEq<&'a str> for JsString[src]

impl PartialEq<JsString> for JsString[src]

impl PartialEq<String> for JsString[src]

impl PartialEq<str> for JsString[src]

impl RefFromWasmAbi for JsString[src]

type Abi = <JsValue as RefFromWasmAbi>::Abi

The wasm ABI type references to Self are recovered from.

type Anchor = ManuallyDrop<JsString>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous. Read more

impl StructuralEq for JsString[src]

impl StructuralPartialEq for JsString[src]

impl WasmDescribe for JsString[src]

Auto Trait Implementations

impl RefUnwindSafe for JsString

impl !Send for JsString

impl !Sync for JsString

impl Unpin for JsString

impl UnwindSafe for JsString

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ReturnWasmAbi for T where
    T: IntoWasmAbi
[src]

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.