Skip to main content

Object

Struct Object 

Source
pub struct Object<'ducc>(/* private fields */);
Expand description

Reference to a JavaScript object (guaranteed to not be an array or function).

Implementations§

Source§

impl<'ducc> Object<'ducc>

Source

pub fn get<K: ToValue<'ducc>, V: FromValue<'ducc>>(&self, key: K) -> Result<V>

Get an object property value using the given key. Returns Value::Undefined if no property with the key exists.

§Errors

This function returns an error if:

  • ToValue::to_value fails for the key
  • The ToPropertyKey implementation for the key fails
Source

pub fn set<K: ToValue<'ducc>, V: ToValue<'ducc>>( &self, key: K, value: V, ) -> Result<()>

Sets an object property using the given key and value.

§Errors

This function returns an error if:

  • ToValue::to_value fails for either the key or the value
  • The ToPropertyKey implementation for the key fails
Source

pub fn remove<K: ToValue<'ducc>>(&self, key: K) -> Result<()>

Removes the given key from the object. This function does nothing if the property does not exist.

§Errors

This function returns an error if:

  • ToValue::to_value fails for the key
  • The ToPropertyKey implementation for the key fails
Source

pub fn contains_key<K: ToValue<'ducc>>(&self, key: K) -> Result<bool>

Returns true if the given key is a property of the object, false otherwise.

§Errors

This function returns an error if:

  • ToValue::to_value fails for the key
  • The ToPropertyKey implementation for the key fails
Source

pub fn len(&self) -> Result<usize>

Returns the number of elements in the object using the calculation Math.floor(ToNumber(obj.length)). This function can return an error if the ToNumber implementation fails or if the length getter fails. Returns Ok(0) if the calculation returns a number (a floating point in JavaScript land) outside of the range of usize.

Source

pub fn call_prop<K, A, R>(&self, key: K, args: A) -> Result<R>
where K: ToValue<'ducc>, A: ToValues<'ducc>, R: FromValue<'ducc>,

Calls the function at the key with the given arguments, with this set to the object. Returns an error if the value at the key is not a function.

Source

pub fn properties<K: FromValue<'ducc>, V: FromValue<'ducc>>( self, ) -> Properties<'ducc, K, V>

Returns an iterator over the object’s keys and values, acting like a for-in loop: own and inherited enumerable properties are included, and enumeration order follows the ES2015 OwnPropertyKeys enumeration order, applied for each inheritance level.

Trait Implementations§

Source§

impl<'ducc> Clone for Object<'ducc>

Source§

fn clone(&self) -> Object<'ducc>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'ducc> Debug for Object<'ducc>

Source§

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

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

impl<'ducc> FromValue<'ducc> for Object<'ducc>

Source§

fn from_value(value: Value<'ducc>, _ducc: &'ducc Ducc) -> Result<Object<'ducc>>

Performs the conversion.
Source§

impl<'ducc> ToValue<'ducc> for Object<'ducc>

Source§

fn to_value(self, _ducc: &'ducc Ducc) -> Result<Value<'ducc>>

Performs the conversion.

Auto Trait Implementations§

§

impl<'ducc> Freeze for Object<'ducc>

§

impl<'ducc> RefUnwindSafe for Object<'ducc>

§

impl<'ducc> !Send for Object<'ducc>

§

impl<'ducc> !Sync for Object<'ducc>

§

impl<'ducc> Unpin for Object<'ducc>

§

impl<'ducc> UnsafeUnpin for Object<'ducc>

§

impl<'ducc> UnwindSafe for Object<'ducc>

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, 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> 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, 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.