[][src]Struct sauron::prelude::wasm_bindgen::prelude::JsValue

pub struct JsValue { /* fields omitted */ }

Representation of an object owned by JS.

A JsValue doesn't actually live in Rust right now but actually in a table owned by the wasm-bindgen generated JS glue code. Eventually the ownership will transfer into wasm directly and this will likely become more efficient, but for now it may be slightly slow.

Implementations

impl JsValue[src]

pub const NULL: JsValue[src]

The null JS value constant.

pub const UNDEFINED: JsValue[src]

The undefined JS value constant.

pub const TRUE: JsValue[src]

The true JS value constant.

pub const FALSE: JsValue[src]

The false JS value constant.

pub fn from_str(s: &str) -> JsValue[src]

Creates a new JS value which is a string.

The utf-8 string provided is copied to the JS heap and the string will be owned by the JS garbage collector.

pub fn from_f64(n: f64) -> JsValue[src]

Creates a new JS value which is a number.

This function creates a JS value representing a number (a heap allocated number) and returns a handle to the JS version of it.

pub fn from_bool(b: bool) -> JsValue[src]

Creates a new JS value which is a boolean.

This function creates a JS object representing a boolean (a heap allocated boolean) and returns a handle to the JS version of it.

pub fn undefined() -> JsValue[src]

Creates a new JS value representing undefined.

pub fn null() -> JsValue[src]

Creates a new JS value representing null.

pub fn symbol(description: Option<&str>) -> JsValue[src]

Creates a new JS symbol with the optional description specified.

This function will invoke the Symbol constructor in JS and return the JS object corresponding to the symbol created.

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

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 returns None.

pub fn is_string(&self) -> bool[src]

Tests whether this JS value is a JS string.

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

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 the JsString::try_from() function from js-sys instead.

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 the documentation about the str type which contains a few caveats about the encodings.

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

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 returns None.

pub fn is_null(&self) -> bool[src]

Tests whether this JS value is null

pub fn is_undefined(&self) -> bool[src]

Tests whether this JS value is undefined

pub fn is_symbol(&self) -> bool[src]

Tests whether the type of this JS value is symbol

pub fn is_object(&self) -> bool[src]

Tests whether typeof self == "object" && self !== null.

pub fn is_function(&self) -> bool[src]

Tests whether the type of this JS value is function.

pub fn is_truthy(&self) -> bool[src]

Tests whether the value is "truthy".

pub fn is_falsy(&self) -> bool[src]

Tests whether the value is "falsy".

Trait Implementations

impl AsRef<JsValue> for JsValue[src]

impl<T> AsRef<JsValue> for Closure<T> where
    T: ?Sized
[src]

impl AsRef<JsValue> for Navigator[src]

impl AsRef<JsValue> for Text[src]

impl AsRef<JsValue> for HtmlInputElement[src]

impl AsRef<JsValue> for NodeList[src]

impl AsRef<JsValue> for HtmlHeadElement[src]

impl AsRef<JsValue> for Response[src]

impl AsRef<JsValue> for KeyboardEvent[src]

impl AsRef<JsValue> for Location[src]

impl AsRef<JsValue> for Worker[src]

impl AsRef<JsValue> for Node[src]

impl AsRef<JsValue> for History[src]

impl AsRef<JsValue> for MouseEvent[src]

impl AsRef<JsValue> for ScrollToOptions[src]

impl AsRef<JsValue> for Comment[src]

impl AsRef<JsValue> for UiEvent[src]

impl AsRef<JsValue> for Document[src]

impl AsRef<JsValue> for TransitionEvent[src]

impl AsRef<JsValue> for Event[src]

impl AsRef<JsValue> for Element[src]

impl AsRef<JsValue> for MessageEvent[src]

impl AsRef<JsValue> for InputEvent[src]

impl AsRef<JsValue> for HtmlElement[src]

impl AsRef<JsValue> for HtmlTextAreaElement[src]

impl AsRef<JsValue> for CharacterData[src]

impl AsRef<JsValue> for Generator[src]

impl AsRef<JsValue> for Uint8ClampedArray[src]

impl AsRef<JsValue> for DateTimeFormat[src]

impl AsRef<JsValue> for Error[src]

impl AsRef<JsValue> for WeakMap[src]

impl AsRef<JsValue> for Promise[src]

impl AsRef<JsValue> for Number[src]

impl AsRef<JsValue> for RangeError[src]

impl AsRef<JsValue> for AnimationEvent[src]

impl AsRef<JsValue> for SyntaxError[src]

impl AsRef<JsValue> for Float32Array[src]

impl AsRef<JsValue> for JsString[src]

impl AsRef<JsValue> for RegExp[src]

impl AsRef<JsValue> for RuntimeError[src]

impl AsRef<JsValue> for Iterator[src]

impl AsRef<JsValue> for Collator[src]

impl AsRef<JsValue> for ReferenceError[src]

impl AsRef<JsValue> for SharedArrayBuffer[src]

impl AsRef<JsValue> for ArrayBuffer[src]

impl AsRef<JsValue> for HashChangeEvent[src]

impl AsRef<JsValue> for Map[src]

impl AsRef<JsValue> for Proxy[src]

impl AsRef<JsValue> for Function[src]

impl AsRef<JsValue> for Date[src]

impl AsRef<JsValue> for Int16Array[src]

impl AsRef<JsValue> for Table[src]

impl AsRef<JsValue> for Object[src]

impl AsRef<JsValue> for Array[src]

impl AsRef<JsValue> for Float64Array[src]

impl AsRef<JsValue> for Int32Array[src]

impl AsRef<JsValue> for Performance[src]

impl AsRef<JsValue> for Instance[src]

impl AsRef<JsValue> for PluralRules[src]

impl AsRef<JsValue> for WeakSet[src]

impl AsRef<JsValue> for DataView[src]

impl AsRef<JsValue> for Set[src]

impl AsRef<JsValue> for CompileError[src]

impl AsRef<JsValue> for IteratorNext[src]

impl AsRef<JsValue> for TypeError[src]

impl AsRef<JsValue> for Int8Array[src]

impl AsRef<JsValue> for Module[src]

impl AsRef<JsValue> for HtmlCollection[src]

impl AsRef<JsValue> for UriError[src]

impl AsRef<JsValue> for Symbol[src]

impl AsRef<JsValue> for Memory[src]

impl AsRef<JsValue> for LinkError[src]

impl AsRef<JsValue> for Uint8Array[src]

impl AsRef<JsValue> for Boolean[src]

impl AsRef<JsValue> for Uint32Array[src]

impl AsRef<JsValue> for EvalError[src]

impl AsRef<JsValue> for NumberFormat[src]

impl AsRef<JsValue> for AsyncIterator[src]

impl AsRef<JsValue> for Window[src]

impl AsRef<JsValue> for Uint16Array[src]

impl AsRef<JsValue> for EventTarget[src]

impl Clone for JsValue[src]

impl Debug for JsValue[src]

impl Drop for JsValue[src]

impl<'a> From<&'a String> for JsValue[src]

impl<'a, T> From<&'a T> for JsValue where
    T: JsCast
[src]

impl<'a> From<&'a str> for JsValue[src]

impl From<AnimationEvent> for JsValue[src]

impl From<Array> for JsValue[src]

impl From<ArrayBuffer> for JsValue[src]

impl From<AsyncIterator> for JsValue[src]

impl From<Boolean> for JsValue[src]

impl From<CharacterData> for JsValue[src]

impl From<Collator> for JsValue[src]

impl From<Comment> for JsValue[src]

impl From<CompileError> for JsValue[src]

impl From<DataView> for JsValue[src]

impl From<Date> for JsValue[src]

impl From<DateTimeFormat> for JsValue[src]

impl From<Document> for JsValue[src]

impl From<Element> for JsValue[src]

impl From<Error> for JsValue[src]

impl From<EvalError> for JsValue[src]

impl From<Event> for JsValue[src]

impl From<EventTarget> for JsValue[src]

impl From<Float32Array> for JsValue[src]

impl From<Float64Array> for JsValue[src]

impl From<Function> for JsValue[src]

impl From<Generator> for JsValue[src]

impl From<Global> for JsValue[src]

impl From<HashChangeEvent> for JsValue[src]

impl From<History> for JsValue[src]

impl From<HtmlCollection> for JsValue[src]

impl From<HtmlElement> for JsValue[src]

impl From<HtmlHeadElement> for JsValue[src]

impl From<HtmlInputElement> for JsValue[src]

impl From<HtmlTextAreaElement> for JsValue[src]

impl From<InputEvent> for JsValue[src]

impl From<Instance> for JsValue[src]

impl From<Int16Array> for JsValue[src]

impl From<Int32Array> for JsValue[src]

impl From<Int8Array> for JsValue[src]

impl From<Iterator> for JsValue[src]

impl From<IteratorNext> for JsValue[src]

impl From<JsString> for JsValue[src]

impl From<JsValue> for HtmlHeadElement[src]

impl From<JsValue> for Response[src]

impl From<JsValue> for KeyboardEvent[src]

impl From<JsValue> for Worker[src]

impl From<JsValue> for InputEvent[src]

impl From<JsValue> for Node[src]

impl From<JsValue> for Window[src]

impl From<JsValue> for MouseEvent[src]

impl From<JsValue> for TransitionEvent[src]

impl From<JsValue> for HtmlTextAreaElement[src]

impl From<JsValue> for NodeList[src]

impl From<JsValue> for ScrollToOptions[src]

impl From<JsValue> for EventTarget[src]

impl From<JsValue> for MessageEvent[src]

impl From<JsValue> for History[src]

impl From<JsValue> for AnimationEvent[src]

impl From<JsValue> for Document[src]

impl From<JsValue> for HtmlCollection[src]

impl From<JsValue> for Location[src]

impl From<JsValue> for Navigator[src]

impl From<JsValue> for Event[src]

impl From<JsValue> for CharacterData[src]

impl From<JsValue> for HtmlInputElement[src]

impl From<JsValue> for HashChangeEvent[src]

impl From<JsValue> for WeakSet[src]

impl From<JsValue> for Date[src]

impl From<JsValue> for Int32Array[src]

impl From<JsValue> for EvalError[src]

impl From<JsValue> for Uint16Array[src]

impl From<JsValue> for Generator[src]

impl From<JsValue> for RuntimeError[src]

impl From<JsValue> for Error[src]

impl From<JsValue> for SharedArrayBuffer[src]

impl From<JsValue> for Array[src]

impl From<JsValue> for Text[src]

impl From<JsValue> for Float32Array[src]

impl From<JsValue> for DataView[src]

impl From<JsValue> for IteratorNext[src]

impl From<JsValue> for Boolean[src]

impl From<JsValue> for SyntaxError[src]

impl From<JsValue> for Symbol[src]

impl From<JsValue> for ReferenceError[src]

impl From<JsValue> for Uint32Array[src]

impl From<JsValue> for Number[src]

impl From<JsValue> for Collator[src]

impl From<JsValue> for UiEvent[src]

impl From<JsValue> for Module[src]

impl From<JsValue> for NumberFormat[src]

impl From<JsValue> for UriError[src]

impl From<JsValue> for Uint8ClampedArray[src]

impl From<JsValue> for LinkError[src]

impl From<JsValue> for Proxy[src]

impl From<JsValue> for TypeError[src]

impl From<JsValue> for Iterator[src]

impl From<JsValue> for Int16Array[src]

impl From<JsValue> for Function[src]

impl From<JsValue> for Element[src]

impl From<JsValue> for JsString[src]

impl From<JsValue> for Table[src]

impl From<JsValue> for DateTimeFormat[src]

impl From<JsValue> for Map[src]

impl From<JsValue> for Promise[src]

impl From<JsValue> for WeakMap[src]

impl From<JsValue> for Object[src]

impl From<JsValue> for ArrayBuffer[src]

impl From<JsValue> for AsyncIterator[src]

impl From<JsValue> for CompileError[src]

impl From<JsValue> for Performance[src]

impl From<JsValue> for Float64Array[src]

impl From<JsValue> for Uint8Array[src]

impl From<JsValue> for RegExp[src]

impl From<JsValue> for Set[src]

impl From<JsValue> for Memory[src]

impl From<JsValue> for PluralRules[src]

impl From<JsValue> for RangeError[src]

impl From<JsValue> for Instance[src]

impl From<JsValue> for Int8Array[src]

impl From<JsValue> for HtmlElement[src]

impl From<JsValue> for Comment[src]

impl From<KeyboardEvent> for JsValue[src]

impl From<LinkError> for JsValue[src]

impl From<Location> for JsValue[src]

impl From<Map> for JsValue[src]

impl From<MaybeIterator> for JsValue[src]

impl From<Memory> for JsValue[src]

impl From<MessageEvent> for JsValue[src]

impl From<Module> for JsValue[src]

impl From<MouseEvent> for JsValue[src]

impl From<Navigator> for JsValue[src]

impl From<Node> for JsValue[src]

impl From<NodeList> for JsValue[src]

impl From<Number> for JsValue[src]

impl From<NumberFormat> for JsValue[src]

impl From<Object> for JsValue[src]

impl<T> From<Option<T>> for JsValue where
    JsValue: From<T>, 
[src]

impl From<Performance> for JsValue[src]

impl From<PluralRules> for JsValue[src]

impl From<Promise> for JsValue[src]

impl From<Proxy> for JsValue[src]

impl From<RangeError> for JsValue[src]

impl From<ReferenceError> for JsValue[src]

impl From<RegExp> for JsValue[src]

impl From<Response> for JsValue[src]

impl From<RuntimeError> for JsValue[src]

impl From<ScrollToOptions> for JsValue[src]

impl From<Set> for JsValue[src]

impl From<SharedArrayBuffer> for JsValue[src]

impl From<String> for JsValue[src]

impl From<Symbol> for JsValue[src]

impl From<SyntaxError> for JsValue[src]

impl From<Table> for JsValue[src]

impl From<Text> for JsValue[src]

impl From<TransitionEvent> for JsValue[src]

impl From<TypeError> for JsValue[src]

impl From<UiEvent> for JsValue[src]

impl From<Uint16Array> for JsValue[src]

impl From<Uint32Array> for JsValue[src]

impl From<Uint8Array> for JsValue[src]

impl From<Uint8ClampedArray> for JsValue[src]

impl From<UriError> for JsValue[src]

impl From<WeakMap> for JsValue[src]

impl From<WeakSet> for JsValue[src]

impl From<Window> for JsValue[src]

impl From<Worker> for JsValue[src]

impl From<bool> for JsValue[src]

impl From<f32> for JsValue[src]

impl From<f64> for JsValue[src]

impl From<i16> for JsValue[src]

impl From<i32> for JsValue[src]

impl From<i8> for JsValue[src]

impl From<u16> for JsValue[src]

impl From<u32> for JsValue[src]

impl From<u8> for JsValue[src]

impl FromWasmAbi for JsValue[src]

type Abi = u32

The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more

impl IntoWasmAbi for JsValue[src]

type Abi = u32

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl<'a> IntoWasmAbi for &'a JsValue[src]

type Abi = u32

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl JsCast for JsValue[src]

impl<'a> PartialEq<&'a String> for JsValue[src]

impl<'a> PartialEq<&'a str> for JsValue[src]

impl PartialEq<JsValue> for JsValue[src]

impl PartialEq<String> for JsValue[src]

impl PartialEq<bool> for JsValue[src]

impl PartialEq<f32> for JsValue[src]

impl PartialEq<f64> for JsValue[src]

impl PartialEq<i16> for JsValue[src]

impl PartialEq<i32> for JsValue[src]

impl PartialEq<i8> for JsValue[src]

impl PartialEq<str> for JsValue[src]

impl PartialEq<u16> for JsValue[src]

impl PartialEq<u32> for JsValue[src]

impl PartialEq<u8> for JsValue[src]

impl RefFromWasmAbi for JsValue[src]

type Abi = u32

The wasm ABI type references to Self are recovered from.

type Anchor = ManuallyDrop<JsValue>

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. Read more

Auto Trait Implementations

impl RefUnwindSafe for JsValue

impl !Send for JsValue

impl !Sync for JsValue

impl Unpin for JsValue

impl UnwindSafe for JsValue

Blanket Implementations

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

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

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

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

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

impl<T> ReturnWasmAbi for T where
    T: IntoWasmAbi
[src]

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi

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

type Owned = T

The resulting type after obtaining ownership.

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.