JsString in js_sys - Rust (original) (raw)
pub struct JsString { /* private fields */ }
The length property of a String object indicates the length of a string, in UTF-16 code units.
The ‘at()’ method returns a new string consisting of the single UTF-16 code unit located at the specified offset into the string, counting from the end if it’s negative.
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.
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.
The codePointAt() method returns a non-negative integer that is the Unicode code point value.
The codePointAt() method returns a non-negative integer that is the Unicode code point value.
The concat() method concatenates the string arguments to the calling string and returns a new string.
The concat() method concatenates the string arguments to the calling string and returns a new string.
The endsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.
The static String.fromCharCode() method returns a string created from the specified sequence of UTF-16 code units.
§Notes
There are a few bindings to from_char_code in js-sys: from_char_code1, from_char_code2, etc… with different arities.
The static String.fromCodePoint() method returns a string created by using the specified sequence of code points.
§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.
The includes() method determines whether one string may be found within another string, returning true or false as appropriate.
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.
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.
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.
The match() method retrieves the matches when matching a string against a regular expression.
The match_all() method is similar to match(), but gives an iterator of exec() arrays, which preserve capture groups.
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).
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.
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.
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.
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.
The replace_all() method returns a new string with all matches of a pattern replaced by a replacement. The pattern can be a string or a global RegExp, and the replacement can be a string or a function to be called for each match.
Note: The original string will remain unchanged.
The search() method executes a search for a match between a regular expression and this String object.
The slice() method extracts a section of a string and returns it as a new string, without modifying the original string.
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.
The startsWith() method determines whether a string begins with the characters of a specified string, returning true or false as appropriate.
The substring() method returns the part of the string between the start and end indexes, or to the end of the string.
The substr() method returns the part of a string between the start index and a number of characters after it.
The toLocaleLowerCase() method returns the calling string value converted to lower case, according to any locale-specific case mappings.
The toLocaleUpperCase() method returns the calling string value converted to upper case, according to any locale-specific case mappings.
The toUpperCase() method returns the calling string value converted to uppercase (the value will be converted to a string if it isn’t one).
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.).
The trimEnd() method removes whitespace from the end of a string.trimRight() is an alias of this method.
The trimEnd() method removes whitespace from the end of a string.trimRight() is an alias of this method.
The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.
The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.
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.
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.
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.
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.
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.
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.
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.
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.
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.
👎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 returnsNone.
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 thechar_code_at accessor) to view the raw character codes.
For more information, see the documentation on JS strings vs Rust strings
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.
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 ‘𐐷’.
The constructor property returns a reference to the Object constructor function that created the instance object.
👎Deprecated: Use Object::hasOwn instead.
The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).
The isPrototypeOf() method checks if an object exists in another object’s prototype chain.
The propertyIsEnumerable() method returns a Boolean indicating whether the specified property is enumerable.
The toLocaleString() method returns a string representing the object. This method is meant to be overridden by derived objects for locale-specific purposes.
The valueOf() method returns the primitive value of the specified object.
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 returnsNone.
Tests whether this JS value is a JS string.
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 theJsString::try_from() function from js-sysinstead.
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 thedocumentation about the str type which contains a few caveats about the encodings.
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 returnsNone.
Tests whether this JS value is null
Tests whether this JS value is undefined
Tests whether this JS value is null or undefined
Tests whether the type of this JS value is symbol
Tests whether typeof self == "object" && self !== null.
Tests whether this JS value is an instance of Array.
Tests whether the type of this JS value is function.
Tests whether the type of this JS value is bigint.
Tests whether the value is “truthy”.
Tests whether the value is “falsy”.
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
Converts this type into a shared reference of the (usually inferred) input type.
Converts this type into a shared reference of the (usually inferred) input type.
Converts this type into a shared reference of the (usually inferred) input type.
The resulting type after dereferencing.
Dereferences the value.
The singular concrete type that all generic variants can be transmuted on
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Recover a Self from Self::Abi. Read more
The Wasm ABI type that this converts into when crossing the ABI boundary.
Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
The Wasm ABI type that this converts into when crossing the ABI boundary.
Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Performs a dynamic instanceof check to see whether the JsValueprovided is an instance of this type. Read more
Performs a dynamic check to see whether the JsValue provided is a value of this type. Read more
Performs a zero-cost unchecked conversion from a JsValue into an instance of Self Read more
Performs a zero-cost unchecked conversion from a &JsValue into an instance of &Self. Read more
Test whether this JS value has a type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more
Performs a zero-cost unchecked cast into the specified type. Read more
Performs a zero-cost unchecked cast into a reference to the specified type. Read more
Test whether this JS value is an instance of the type T. Read more
Same as RefFromWasmAbi::Abi
Same as RefFromWasmAbi::Anchor
Same as RefFromWasmAbi::ref_from_abi
Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed toFromWasmAbi.
Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
Tests less than (for self and other) and is used by the < operator. Read more
Tests less than or equal to (for self and other) and is used by the<= operator. Read more
Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Tests greater than (for self and other) and is used by the >operator. Read more
The type that this value resolves to.
The Wasm ABI type references to Self are recovered from.
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.
Recover a Self::Anchor from Self::Abi. Read more