pub struct Instance { /* private fields */ }
dep_web_sys
only.Expand description
A WebAssembly.Instance
object is a stateful, executable instance
of a WebAssembly.Module
. Instance objects contain all the exported
WebAssembly functions that allow calling into WebAssembly code from
JavaScript.
Implementations§
Source§impl Instance
impl Instance
Sourcepub fn new(module: &Module, imports: &Object) -> Result<Instance, JsValue> ⓘ
Available on crate feature dep_js_sys
only.
pub fn new(module: &Module, imports: &Object) -> Result<Instance, JsValue> ⓘ
dep_js_sys
only.The WebAssembly.Instance()
constructor function can be called to
synchronously instantiate a given WebAssembly.Module
object. However, the primary way to get an Instance
is through the
asynchronous WebAssembly.instantiateStreaming()
function.
Source§impl Instance
impl Instance
Sourcepub fn exports(&self) -> Object
Available on crate feature dep_js_sys
only.
pub fn exports(&self) -> Object
dep_js_sys
only.The exports
readonly property of the WebAssembly.Instance
object
prototype returns an object containing as its members all the
functions exported from the WebAssembly module instance, to allow
them to be accessed and used by JavaScript.
Methods from Deref<Target = Object>§
Sourcepub fn constructor(&self) -> Function
Available on crate feature dep_js_sys
only.
pub fn constructor(&self) -> Function
dep_js_sys
only.The constructor property returns a reference to the Object
constructor
function that created the instance object.
Sourcepub fn has_own_property(&self, property: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn has_own_property(&self, property: &JsValue) -> bool
dep_js_sys
only.The hasOwnProperty()
method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
Sourcepub fn is_prototype_of(&self, value: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_prototype_of(&self, value: &JsValue) -> bool
dep_js_sys
only.The isPrototypeOf()
method checks if an object exists in another
object’s prototype chain.
Sourcepub fn property_is_enumerable(&self, property: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn property_is_enumerable(&self, property: &JsValue) -> bool
dep_js_sys
only.The propertyIsEnumerable()
method returns a Boolean indicating
whether the specified property is enumerable.
Sourcepub fn to_locale_string(&self) -> JsString
Available on crate feature dep_js_sys
only.
pub fn to_locale_string(&self) -> JsString
dep_js_sys
only.The toLocaleString()
method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
Sourcepub fn to_string(&self) -> JsString
Available on crate feature dep_js_sys
only.
pub fn to_string(&self) -> JsString
dep_js_sys
only.The toString()
method returns a string representing the object.
Methods from Deref<Target = JsValue>§
pub const NULL: JsValue
pub const UNDEFINED: JsValue
pub const TRUE: JsValue
pub const FALSE: JsValue
Sourcepub fn as_f64(&self) -> Option<f64> ⓘ
Available on crate feature dep_js_sys
only.
pub fn as_f64(&self) -> Option<f64> ⓘ
dep_js_sys
only.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
.
Sourcepub fn is_string(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_string(&self) -> bool
dep_js_sys
only.Tests whether this JS value is a JS string.
Sourcepub fn as_string(&self) -> Option<String> ⓘ
Available on crate feature dep_js_sys
only.
pub fn as_string(&self) -> Option<String> ⓘ
dep_js_sys
only.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.
Sourcepub fn as_bool(&self) -> Option<bool> ⓘ
Available on crate feature dep_js_sys
only.
pub fn as_bool(&self) -> Option<bool> ⓘ
dep_js_sys
only.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
.
Sourcepub fn is_null(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_null(&self) -> bool
dep_js_sys
only.Tests whether this JS value is null
Sourcepub fn is_undefined(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_undefined(&self) -> bool
dep_js_sys
only.Tests whether this JS value is undefined
Sourcepub fn is_symbol(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_symbol(&self) -> bool
dep_js_sys
only.Tests whether the type of this JS value is symbol
Sourcepub fn is_object(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_object(&self) -> bool
dep_js_sys
only.Tests whether typeof self == "object" && self !== null
.
Sourcepub fn is_array(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_array(&self) -> bool
dep_js_sys
only.Tests whether this JS value is an instance of Array.
Sourcepub fn is_function(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_function(&self) -> bool
dep_js_sys
only.Tests whether the type of this JS value is function
.
Sourcepub fn is_bigint(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_bigint(&self) -> bool
dep_js_sys
only.Tests whether the type of this JS value is bigint
.
Sourcepub fn js_typeof(&self) -> JsValue
Available on crate feature dep_js_sys
only.
pub fn js_typeof(&self) -> JsValue
dep_js_sys
only.Applies the unary typeof
JS operator on a JsValue
.
Sourcepub fn js_in(&self, obj: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn js_in(&self, obj: &JsValue) -> bool
dep_js_sys
only.Applies the binary in
JS operator on the two JsValue
s.
Sourcepub fn is_truthy(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_truthy(&self) -> bool
dep_js_sys
only.Tests whether the value is “truthy”.
Sourcepub fn is_falsy(&self) -> bool
Available on crate feature dep_js_sys
only.
pub fn is_falsy(&self) -> bool
dep_js_sys
only.Tests whether the value is “falsy”.
Sourcepub fn loose_eq(&self, other: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn loose_eq(&self, other: &JsValue) -> bool
dep_js_sys
only.Compare two JsValue
s for equality, using the ==
operator in JS.
Sourcepub fn bit_not(&self) -> JsValue
Available on crate feature dep_js_sys
only.
pub fn bit_not(&self) -> JsValue
dep_js_sys
only.Applies the unary ~
JS operator on a JsValue
.
Sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32 ⓘ
Available on crate feature dep_js_sys
only.
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32 ⓘ
dep_js_sys
only.Applies the binary >>>
JS operator on the two JsValue
s.
Sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
Available on crate feature dep_js_sys
only.
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
dep_js_sys
only.Applies the binary /
JS operator on two JsValue
s, catching and returning any RangeError
thrown.
Sourcepub fn pow(&self, rhs: &JsValue) -> JsValue
Available on crate feature dep_js_sys
only.
pub fn pow(&self, rhs: &JsValue) -> JsValue
dep_js_sys
only.Applies the binary **
JS operator on the two JsValue
s.
Sourcepub fn lt(&self, other: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn lt(&self, other: &JsValue) -> bool
dep_js_sys
only.Applies the binary <
JS operator on the two JsValue
s.
Sourcepub fn le(&self, other: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn le(&self, other: &JsValue) -> bool
dep_js_sys
only.Applies the binary <=
JS operator on the two JsValue
s.
Sourcepub fn ge(&self, other: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn ge(&self, other: &JsValue) -> bool
dep_js_sys
only.Applies the binary >=
JS operator on the two JsValue
s.
Sourcepub fn gt(&self, other: &JsValue) -> bool
Available on crate feature dep_js_sys
only.
pub fn gt(&self, other: &JsValue) -> bool
dep_js_sys
only.Applies the binary >
JS operator on the two JsValue
s.
Sourcepub fn unchecked_into_f64(&self) -> f64 ⓘ
Available on crate feature dep_js_sys
only.
pub fn unchecked_into_f64(&self) -> f64 ⓘ
dep_js_sys
only.Applies the unary +
JS operator on a JsValue
. Can throw.
Trait Implementations§
Source§impl FromWasmAbi for Instance
impl FromWasmAbi for Instance
Source§impl<'a> IntoWasmAbi for &'a Instance
impl<'a> IntoWasmAbi for &'a Instance
Source§impl IntoWasmAbi for Instance
impl IntoWasmAbi for Instance
Source§impl JsCast for Instance
impl JsCast for Instance
Source§fn instanceof(val: &JsValue) -> bool
fn instanceof(val: &JsValue) -> bool
instanceof
check to see whether the JsValue
provided is an instance of this type. Read moreSource§fn unchecked_from_js(val: JsValue) -> Instance
fn unchecked_from_js(val: JsValue) -> Instance
Source§fn unchecked_from_js_ref(val: &JsValue) -> &Instance
fn unchecked_from_js_ref(val: &JsValue) -> &Instance
Source§fn has_type<T>(&self) -> boolwhere
T: JsCast,
fn has_type<T>(&self) -> boolwhere
T: JsCast,
T
. Read moreSource§fn dyn_into<T>(self) -> Result<T, Self> ⓘwhere
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self> ⓘwhere
T: JsCast,
T
. Read moreSource§fn dyn_ref<T>(&self) -> Option<&T> ⓘwhere
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T> ⓘwhere
T: JsCast,
T
. Read moreSource§fn unchecked_into<T>(self) -> Twhere
T: JsCast,
fn unchecked_into<T>(self) -> Twhere
T: JsCast,
Source§fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
Source§impl LongRefFromWasmAbi for Instance
impl LongRefFromWasmAbi for Instance
Source§unsafe fn long_ref_from_abi(
js: <Instance as LongRefFromWasmAbi>::Abi,
) -> <Instance as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <Instance as LongRefFromWasmAbi>::Abi, ) -> <Instance as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abi
Source§impl OptionFromWasmAbi for Instance
impl OptionFromWasmAbi for Instance
Source§impl<'a> OptionIntoWasmAbi for &'a Instance
impl<'a> OptionIntoWasmAbi for &'a Instance
Source§impl OptionIntoWasmAbi for Instance
impl OptionIntoWasmAbi for Instance
Source§impl RefFromWasmAbi for Instance
impl RefFromWasmAbi for Instance
Source§type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self
are recovered from.Source§type Anchor = ManuallyDrop<Instance>
type Anchor = ManuallyDrop<Instance>
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.Source§unsafe fn ref_from_abi(
js: <Instance as RefFromWasmAbi>::Abi,
) -> <Instance as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <Instance as RefFromWasmAbi>::Abi, ) -> <Instance as RefFromWasmAbi>::Anchor
impl Eq for Instance
impl StructuralPartialEq for Instance
Auto Trait Implementations§
impl Freeze for Instance
impl RefUnwindSafe for Instance
impl !Send for Instance
impl !Sync for Instance
impl Unpin for Instance
impl UnwindSafe for Instance
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::Abi
Source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.