Skip to main content

Symbol

Struct Symbol 

Source
#[repr(transparent)]
pub struct Symbol { pub obj: JsValue, }

Fields§

§obj: JsValue

Implementations§

Source§

impl Symbol

Source

pub fn has_instance() -> Symbol

The Symbol.hasInstance well-known symbol is used to determine if a constructor object recognizes an object as its instance. The instanceof operator’s behavior can be customized by this symbol.

MDN documentation

Source§

impl Symbol

Source

pub fn is_concat_spreadable() -> Symbol

The Symbol.isConcatSpreadable well-known symbol is used to configure if an object should be flattened to its array elements when using the Array.prototype.concat() method.

MDN documentation

Source§

impl Symbol

Source

pub fn async_iterator() -> Symbol

The Symbol.asyncIterator well-known symbol specifies the default AsyncIterator for an object. If this property is set on an object, it is an async iterable and can be used in a for await...of loop.

MDN documentation

Source§

impl Symbol

Source

pub fn iterator() -> Symbol

The Symbol.iterator well-known symbol specifies the default iterator for an object. Used by for...of.

MDN documentation

Source§

impl Symbol

Source

pub fn match_() -> Symbol

The Symbol.match well-known symbol specifies the matching of a regular expression against a string. This function is called by the String.prototype.match() method.

MDN documentation

Source§

impl Symbol

Source

pub fn replace() -> Symbol

The Symbol.replace well-known symbol specifies the method that replaces matched substrings of a string. This function is called by the String.prototype.replace() method.

For more information, see RegExp.prototype[@@replace]() and String.prototype.replace().

MDN documentation

Source§

impl Symbol

Source

pub fn search() -> Symbol

The Symbol.search well-known symbol specifies the method that returns the index within a string that matches the regular expression. This function is called by the String.prototype.search() method.

For more information, see RegExp.prototype[@@search]() and String.prototype.search().

MDN documentation

Source§

impl Symbol

Source

pub fn species() -> Symbol

The well-known symbol Symbol.species specifies a function-valued property that the constructor function uses to create derived objects.

MDN documentation

Source§

impl Symbol

Source

pub fn split() -> Symbol

The Symbol.split well-known symbol specifies the method that splits a string at the indices that match a regular expression. This function is called by the String.prototype.split() method.

For more information, see RegExp.prototype[@@split]() and String.prototype.split(). MDN documentation

Source§

impl Symbol

Source

pub fn to_primitive() -> Symbol

The Symbol.toPrimitive is a symbol that specifies a function valued property that is called to convert an object to a corresponding primitive value.

MDN documentation

Source§

impl Symbol

Source

pub fn to_string_tag() -> Symbol

The Symbol.toStringTag well-known symbol is a string valued property that is used in the creation of the default string description of an object. It is accessed internally by the Object.prototype.toString() method.

MDN documentation

Source§

impl Symbol

Source

pub fn for_(key: &str) -> Symbol

The Symbol.for(key) method searches for existing symbols in a runtime-wide symbol registry with the given key and returns it if found. Otherwise a new symbol gets created in the global symbol registry with this key.

MDN documentation

Source§

impl Symbol

Source

pub fn key_for(sym: &Symbol) -> JsValue

The Symbol.keyFor(sym) method retrieves a shared symbol key from the global symbol registry for the given symbol.

MDN documentation

Source§

impl Symbol

Source

pub fn to_string(&self) -> JsString

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

MDN documentation

Source§

impl Symbol

Source

pub fn to_js_string(&self) -> JsString

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

MDN documentation

Source§

impl Symbol

Source

pub fn unscopables() -> Symbol

The Symbol.unscopables well-known symbol is used to specify an object value of whose own and inherited property names are excluded from the with environment bindings of the associated object.

MDN documentation

Source§

impl Symbol

Source

pub fn value_of(&self) -> Symbol

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

MDN documentation

Methods from Deref<Target = JsValue>§

Source

pub const NULL: JsValue

Source

pub const UNDEFINED: JsValue

Source

pub const TRUE: JsValue

Source

pub const FALSE: JsValue

Source

pub fn id(&self) -> u64

Get the heap ID for this value.

This is used internally for encoding values to send to JS.

Source

pub fn unchecked_into_f64(&self) -> f64

Returns the value as f64 without type checking. Used by serde-wasm-bindgen for numeric conversions.

Source

pub fn has_type<T>(&self) -> bool
where T: JsCast,

Check if this value is an instance of a specific JS type.

Source

pub fn checked_div(&self, rhs: &JsValue) -> JsValue

Checked division.

Source

pub fn pow(&self, rhs: &JsValue) -> JsValue

Power operation.

Source

pub fn bit_and(&self, rhs: &JsValue) -> JsValue

Bitwise AND.

Source

pub fn bit_or(&self, rhs: &JsValue) -> JsValue

Bitwise OR.

Source

pub fn bit_xor(&self, rhs: &JsValue) -> JsValue

Bitwise XOR.

Source

pub fn bit_not(&self) -> JsValue

Bitwise NOT.

Source

pub fn shl(&self, rhs: &JsValue) -> JsValue

Left shift.

Source

pub fn shr(&self, rhs: &JsValue) -> JsValue

Signed right shift.

Source

pub fn unsigned_shr(&self, rhs: &JsValue) -> u32

Unsigned right shift.

Source

pub fn add(&self, rhs: &JsValue) -> JsValue

Add.

Source

pub fn sub(&self, rhs: &JsValue) -> JsValue

Subtract.

Source

pub fn mul(&self, rhs: &JsValue) -> JsValue

Multiply.

Source

pub fn div(&self, rhs: &JsValue) -> JsValue

Divide.

Source

pub fn rem(&self, rhs: &JsValue) -> JsValue

Remainder.

Source

pub fn neg(&self) -> JsValue

Negate.

Source

pub fn lt(&self, other: &JsValue) -> bool

Less than comparison.

Source

pub fn le(&self, other: &JsValue) -> bool

Less than or equal comparison.

Source

pub fn gt(&self, other: &JsValue) -> bool

Greater than comparison.

Source

pub fn ge(&self, other: &JsValue) -> bool

Greater than or equal comparison.

Source

pub fn loose_eq(&self, other: &JsValue) -> bool

Loose equality (==).

Source

pub fn is_falsy(&self) -> bool

Check if this value is a falsy value in JavaScript.

Source

pub fn is_truthy(&self) -> bool

Check if this value is a truthy value in JavaScript.

Source

pub fn is_object(&self) -> bool

Check if this value is an object.

Source

pub fn is_function(&self) -> bool

Check if this value is a function.

Source

pub fn is_string(&self) -> bool

Check if this value is a string.

Source

pub fn is_symbol(&self) -> bool

Check if this value is a symbol.

Source

pub fn is_bigint(&self) -> bool

Check if this value is a bigint.

Source

pub fn is_array(&self) -> bool

Check if this value is an Array.

Source

pub fn is_undefined(&self) -> bool

Check if this value is undefined.

Source

pub fn is_null(&self) -> bool

Check if this value is null.

Source

pub fn is_null_or_undefined(&self) -> bool

Check if this value is null or undefined.

Source

pub fn js_typeof(&self) -> JsValue

Get the typeof this value as a string.

Source

pub fn js_in(&self, obj: &JsValue) -> bool

Check if this value has a property with the given name.

Source

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

Get the value as a bool.

Source

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

Get the value as an f64.

Source

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

Get the value as a string.

Source

pub fn as_debug_string(&self) -> String

Get a debug string representation of the value.

Trait Implementations§

Source§

impl AsRef<JsValue> for Symbol

Source§

fn as_ref(&self) -> &JsValue

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<Symbol> for Symbol

Source§

fn as_ref(&self) -> &Symbol

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl BatchableResult for Symbol

Source§

fn try_placeholder(batch: &mut Runtime) -> Option<Self>

Returns Some(placeholder) for opaque types that can be batched, None for types that require flushing to get the actual value. Read more
Source§

impl BinaryDecode for Symbol

Source§

fn decode(decoder: &mut DecodedData<'_>) -> Result<Self, DecodeError>

Source§

impl BinaryEncode for Symbol

Source§

fn encode(self, encoder: &mut EncodedData)

Source§

impl Clone for Symbol

Source§

fn clone(&self) -> Symbol

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Symbol

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Symbol

Source§

type Target = JsValue

The resulting type after dereferencing.
Source§

fn deref(&self) -> &JsValue

Dereferences the value.
Source§

impl EncodeTypeDef for Symbol

Source§

fn encode_type_def(buf: &mut Vec<u8>)

Encode this type’s definition into the buffer. For primitives, this is just the TypeTag byte. For callbacks, this includes param count, param types, and return type.
Source§

impl ErasableGeneric for Symbol

Source§

impl From<JsValue> for Symbol

Source§

fn from(val: JsValue) -> Self

Converts to this type from the input type.
Source§

impl From<Symbol> for JsValue

Source§

fn from(val: Symbol) -> Self

Converts to this type from the input type.
Source§

impl IntoJsGeneric for Symbol

Source§

impl JsCast for Symbol

Source§

fn instanceof(__val: &JsValue) -> bool

Check if a JsValue is an instance of this type. Read more
Source§

fn is_type_of(__val: &JsValue) -> bool

Performs a dynamic type check to see whether the JsValue provided is a value of this type. Read more
Source§

fn unchecked_from_js(val: JsValue) -> Self

Unchecked cast from JsValue to this type. Read more
Source§

fn unchecked_from_js_ref(val: &JsValue) -> &Self

Unchecked cast from a JsValue reference to a reference of this type. Read more
Source§

fn has_type<T>(&self) -> bool
where T: JsCast,

Test whether this JS value has a type T. Read more
Source§

fn dyn_into<T>(self) -> Result<T, Self>
where T: JsCast,

Try to cast this value to type T. Read more
Source§

fn dyn_ref<T>(&self) -> Option<&T>
where T: JsCast,

Try to get a reference to type T from this value. Read more
Source§

fn is_instance_of<T>(&self) -> bool
where T: JsCast,

Test whether this JS value is an instance of the type T. Read more
Source§

fn unchecked_into<T>(self) -> T
where T: JsCast,

Unchecked cast to another type.
Source§

fn unchecked_ref<T>(&self) -> &T
where T: JsCast,

Unchecked cast to a reference of another type.
Source§

impl Promising for Symbol

Source§

impl UpcastFrom<Symbol> for JsOption<JsValue>

Source§

impl UpcastFrom<Symbol> for JsOption<Symbol>

Source§

impl UpcastFrom<Symbol> for JsValue

Source§

impl UpcastFrom<Symbol> for Symbol

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromWasmAbi for T

Source§

unsafe fn from_abi(js: u32) -> Self
where Self: Sized + FromAbiId,

Recreate a JS-reference-like value from a heap id. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoWasmAbi for T

Source§

fn into_abi(self) -> u32
where Self: Sized + IntoAbiId,

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> RefFromBinaryDecode for T
where T: JsCast + 'static,

Source§

type Anchor = JsCastAnchor<T>

The anchor type that keeps the decoded reference valid.
Source§

fn ref_decode( _decoder: &mut DecodedData<'_>, ) -> Result<<T as RefFromBinaryDecode>::Anchor, DecodeError>

Decode a reference anchor from binary data.
Source§

impl<T> RefFromWasmAbi for T
where T: ?Sized,

Source§

unsafe fn ref_from_abi(js: u32) -> AbiRef<Self>
where Self: Sized + FromAbiId,

Recreate a non-dropping reference anchor from a heap id. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T> TryFromJsValue for T
where T: JsCast,

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Source§

impl<T> JsGeneric for T

Source§

impl<T> OptionFromWasmAbi for T
where T: FromWasmAbi,

Source§

impl<T> OptionIntoWasmAbi for T
where T: IntoWasmAbi,

Source§

impl<T> WasmAbi for T
where T: ?Sized,