Skip to main content

Set

Struct Set 

Source
#[repr(transparent)]
pub struct Set<T = JsValue> { pub obj: Object, pub generics: PhantomData<fn() -> (T,)>, }

Fields§

§obj: Object§generics: PhantomData<fn() -> (T,)>

Implementations§

Source§

impl Set

Source

pub fn new(init: &JsValue) -> Set

The Set object lets you store unique values of any type, whether primitive values or object references.

Note: Consider using Set::new_typed to support typing.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn new_typed() -> Set<T>
where Set<T>: ErasableGenericOwn<Set<JsValue>> + EncodeTypeDef + BatchableResult,

The Set object lets you store unique values of any type, whether primitive values or object references.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn new_empty() -> Set<T>
where Set<T>: ErasableGenericOwn<Set<JsValue>> + EncodeTypeDef + BatchableResult,

The Set object lets you store unique values of any type, whether primitive values or object references.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn new_from_items(items: &[T]) -> Set<T>
where [T]: ErasableGenericBorrow<[JsValue]>, T: EncodeTypeDef + JsGeneric, Set<T>: ErasableGenericOwn<Set<JsValue>> + EncodeTypeDef + BatchableResult,

The Set object lets you store unique values of any type, whether primitive values or object references.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn new_from_iterable<I>(iterable: I) -> Result<Set<T>, JsValue>
where I: ErasableGenericOwn<JsValue> + EncodeTypeDef + BinaryEncode + Iterable<Item = T>, Result<Set<T>, JsValue>: ErasableGenericOwn<Result<Set<JsValue>, JsValue>> + EncodeTypeDef + BatchableResult,

The Set object lets you store unique values of any type, whether primitive values or object references.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn add(&self, value: &T) -> Set<T>
where T: ErasableGenericBorrow<JsValue> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen T: BinaryEncode, Set<T>: ErasableGenericOwn<Set<JsValue>> + EncodeTypeDef + BatchableResult,

The add() method appends a new element with a specified value to the end of a Set object.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn clear(&self)

The clear() method removes all elements from a Set object.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn delete(&self, value: &T) -> bool
where T: ErasableGenericBorrow<JsValue> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen T: BinaryEncode,

The delete() method removes the specified element from a Set object.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn for_each(&self, callback: &mut dyn FnMut(T, T, Set<T>))
where dyn FnMut(T, T, Set<T>): ErasableGenericBorrowMut<dyn FnMut(JsValue, JsValue, Set<JsValue>)>, for<'__wry_bindgen> &'__wry_bindgen mut dyn FnMut(T, T, Set<T>): EncodeTypeDef + BinaryEncode,

The forEach() method executes a provided function once for each value in the Set object, in insertion order.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn try_for_each( &self, callback: &mut dyn FnMut(T) -> Result<(), JsError>, ) -> Result<(), JsValue>
where dyn FnMut(T) -> Result<(), JsError>: ErasableGenericBorrowMut<dyn FnMut(JsValue) -> Result<(), JsError>>, for<'__wry_bindgen> &'__wry_bindgen mut dyn FnMut(T) -> Result<(), JsError>: EncodeTypeDef + BinaryEncode,

The forEach() method executes a provided function once for each value in the Set object, in insertion order.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn has(&self, value: &T) -> bool
where T: ErasableGenericBorrow<JsValue> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen T: BinaryEncode,

The has() method returns a boolean indicating whether an element with the specified value exists in a Set object or not.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn size(&self) -> u32

The size accessor property returns the number of elements in a Set object.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn union(&self, other: &Set<T>) -> Set<T>
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef + ErasableGenericOwn<Set<JsValue>> + BatchableResult, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The union() method returns a new set containing elements which are in either or both of this set and the given set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn intersection(&self, other: &Set<T>) -> Set<T>
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef + ErasableGenericOwn<Set<JsValue>> + BatchableResult, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The intersection() method returns a new set containing elements which are in both this set and the given set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn difference(&self, other: &Set<T>) -> Set<T>
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef + ErasableGenericOwn<Set<JsValue>> + BatchableResult, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The difference() method returns a new set containing elements which are in this set but not in the given set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn symmetric_difference(&self, other: &Set<T>) -> Set<T>
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef + ErasableGenericOwn<Set<JsValue>> + BatchableResult, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The symmetricDifference() method returns a new set containing elements which are in either this set or the given set, but not in both.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn is_subset_of(&self, other: &Set<T>) -> bool
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The isSubsetOf() method returns a boolean indicating whether all elements of this set are in the given set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn is_superset_of(&self, other: &Set<T>) -> bool
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The isSupersetOf() method returns a boolean indicating whether all elements of the given set are in this set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn is_disjoint_from(&self, other: &Set<T>) -> bool
where Set<T>: ErasableGenericBorrow<Set<JsValue>> + EncodeTypeDef, for<'__wry_bindgen> &'__wry_bindgen Set<T>: BinaryEncode,

The isDisjointFrom() method returns a boolean indicating whether this set has no elements in common with the given set.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn entries(&self) -> Iterator

The entries() method returns a new Iterator object that contains an array of [value, value] for each element in the Set object, in insertion order. For Set objects there is no key like in Map objects. However, to keep the API similar to the Map object, each entry has the same value for its key and value here, so that an array [value, value] is returned.

MDN documentation

Source§

impl<T: JsGeneric> Set<T>

Source

pub fn entries_typed(&self) -> Iterator<ArrayTuple<(T, T)>>

The entries() method returns a new Iterator object that contains an array of [value, value] for each element in the Set object, in insertion order. For Set objects there is no key like in Map objects. However, to keep the API similar to the Map object, each entry has the same value for its key and value here, so that an array [value, value] is returned.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn keys(&self) -> Iterator<T>
where Iterator<T>: ErasableGenericOwn<Iterator<JsValue>> + EncodeTypeDef + BatchableResult,

The keys() method is an alias for this method (for similarity with Map objects); it behaves exactly the same and returns values of Set elements.

MDN documentation

Source§

impl<T> Set<T>

Source

pub fn values(&self) -> Iterator<T>
where Iterator<T>: ErasableGenericOwn<Iterator<JsValue>> + EncodeTypeDef + BatchableResult,

The values() method returns a new Iterator object that contains the values for each element in the Set object in insertion order.

MDN documentation

Methods from Deref<Target = Object>§

Source

pub fn constructor(&self) -> Function

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

MDN documentation

Source

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

👎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).

MDN documentation

Source

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

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

MDN documentation

Source

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

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

MDN documentation

Source

pub fn to_locale_string(&self) -> JsString

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

Source

pub fn to_string(&self) -> JsString

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

MDN documentation

Source

pub fn to_js_string(&self) -> JsString

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

MDN documentation

Source

pub fn value_of(&self) -> Object

The valueOf() method returns the primitive value of the specified 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<T> AsRef<JsValue> for Set<T>

Source§

fn as_ref(&self) -> &JsValue

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

impl<T> AsRef<Object> for Set<T>

Source§

fn as_ref(&self) -> &Object

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

impl<T> AsRef<Set<T>> for Set<T>

Source§

fn as_ref(&self) -> &Set<T>

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

impl<T> BatchableResult for Set<T>

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<T> BinaryDecode for Set<T>

Source§

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

Source§

impl<T> BinaryEncode for Set<T>

Source§

fn encode(self, encoder: &mut EncodedData)

Source§

impl<T: Clone> Clone for Set<T>

Source§

fn clone(&self) -> Set<T>

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<T: Debug> Debug for Set<T>

Source§

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

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

impl Default for Set<JsValue>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T> Deref for Set<T>

Source§

type Target = Object

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Object

Dereferences the value.
Source§

impl<T> EncodeTypeDef for Set<T>

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<T> ErasableGeneric for Set<T>

Source§

impl<T> From<JsValue> for Set<T>

Source§

fn from(val: JsValue) -> Self

Converts to this type from the input type.
Source§

impl<T> From<Set<T>> for JsValue

Source§

fn from(val: Set<T>) -> Self

Converts to this type from the input type.
Source§

impl<T> From<Set<T>> for Object

Source§

fn from(val: Set<T>) -> Object

Converts to this type from the input type.
Source§

impl<T: 'static> IntoJsGeneric for Set<T>
where Set<T>: JsGeneric,

Source§

type JsCanon = Set<T>

Source§

fn to_js(self) -> Self::JsCanon

Source§

impl<T> Iterable for Set<T>

Source§

type Item = T

The type of values yielded by this iterable.
Source§

impl<T> JsCast for Set<T>

Source§

fn instanceof(__val: &JsValue) -> bool

Check if a JsValue is an instance 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 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 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<T: PartialEq> PartialEq for Set<T>

Source§

fn eq(&self, other: &Set<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> Promising for Set<T>

Source§

impl<T: Eq> Eq for Set<T>

Source§

impl<T> StructuralPartialEq for Set<T>

Source§

impl<T> UpcastFrom<Set<T>> for JsOption<JsValue>

Source§

impl<T> UpcastFrom<Set<T>> for JsOption<Object>

Source§

impl<T, __WryUpcastTarget0> UpcastFrom<Set<T>> for JsOption<Set<__WryUpcastTarget0>>
where __WryUpcastTarget0: UpcastFrom<T>,

Source§

impl<T> UpcastFrom<Set<T>> for JsValue

Source§

impl<T> UpcastFrom<Set<T>> for Object

Source§

impl<T, __WryUpcastTarget0> UpcastFrom<Set<T>> for Set<__WryUpcastTarget0>
where __WryUpcastTarget0: UpcastFrom<T>,

Auto Trait Implementations§

§

impl<T> Freeze for Set<T>

§

impl<T> RefUnwindSafe for Set<T>

§

impl<T> Send for Set<T>

§

impl<T> Sync for Set<T>

§

impl<T> Unpin for Set<T>

§

impl<T> UnsafeUnpin for Set<T>

§

impl<T> UnwindSafe for Set<T>

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,