Crate wasm_bindgen

Source
Expand description

Runtime support for the wasm-bindgen tool

This crate contains the runtime support necessary for wasm-bindgen the attribute and tool. Crates pull in the #[wasm_bindgen] attribute through this crate and this crate also provides JS bindings through the JsValue interface.

§Features

§enable-interning

Enables the internal cache for [wasm_bindgen::intern].

This feature currently enables the std feature, meaning that it is not compatible with no_std environments.

§msrv (default)

Enables Rust language features that require a higher MSRV. Enabling this feature on older compilers will NOT result in a compilation error, the newer language features will simply not be used.

When compiling with Rust v1.78 or later, this feature enables better error messages for invalid methods on structs and enums.

§std (default)

Enabling this feature will make the crate depend on the Rust standard library.

Disable this feature to use this crate in no_std environments.

§strict-macro

All warnings the #[wasm_bindgen] macro emits are turned into hard errors. This mainly affects unused attribute options.

§Deprecated features

§serde-serialize

Deprecated: Use the serde-wasm-bindgen crate instead.

Enables the JsValue::from_serde and JsValue::into_serde methods for serializing and deserializing Rust types to and from JavaScript.

§spans

Deprecated: This feature became a no-op in wasm-bindgen v0.2.20 (Sep 7, 2018).

Re-exports§

pub use crate::cast::JsObject;

Modules§

closure
Support for long-lived closures in wasm-bindgen
convert
⚠️ Unstable
prelude
A module which is typically glob imported.

Macros§

link_to
This macro takes a JS module as input and returns a URL that can be used to access it at runtime.

Structs§

Clamped
A wrapper type around slices and vectors for binding the Uint8ClampedArray array in JS.
JsError
Convenience type for use on exported fn() -> Result<T, JsError> functions, where you wish to throw a JavaScript Error object.
JsStaticDeprecated
Wrapper type for imported statics.
JsThreadLocal
Wrapper type for imported statics.
JsValue
Representation of an object owned by JS.

Traits§

JsCast
A trait for checked and unchecked casting between JS types.
UnwrapThrowExt
An extension trait for Option<T> and Result<T, E> for unwrapping the T value, or throwing a JS error if it is not available.

Functions§

exports
Returns a handle to this Wasm instance’s WebAssembly.Instance.prototype.exports
externref_heap_live_count
Get the count of live externrefs / JsValues in wasm-bindgen’s heap.
function_table
Returns a handle to this Wasm instance’s WebAssembly.Table which is the indirect function table used by Rust
intern
Interns Rust strings so that it’s much faster to send them to JS.
memory
Returns a handle to this Wasm instance’s WebAssembly.Memory
module
Returns a handle to this Wasm instance’s WebAssembly.Module. This is only available when the final Wasm app is built with --target no-modules or --target web.
throw_str
Throws a JS exception.
throw_val
Rethrow a JS exception
unintern
Removes a Rust string from the intern cache.