[][src]Struct ducc::Object

pub struct Object<'ducc>(_);

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

Methods

impl<'ducc> Object<'ducc>[src]

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

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

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

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

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

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

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

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

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

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.

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

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.

Important traits for Properties<'ducc, K, V>
pub fn properties<K: FromValue<'ducc>, V: FromValue<'ducc>>(
    self
) -> Properties<'ducc, K, V>
[src]

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

impl<'ducc> ToValue<'ducc> for Object<'ducc>[src]

impl<'ducc> FromValue<'ducc> for Object<'ducc>[src]

impl<'ducc> Clone for Object<'ducc>[src]

impl<'ducc> Debug for Object<'ducc>[src]

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

type Owned = T

The resulting type after obtaining ownership.

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

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

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.

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

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

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