wasm_bindgen - Rust (original) (raw)

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

§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).

closure

Support for long-lived closures in wasm-bindgen

convert

⚠️ Unstable

prelude

A module which is typically glob imported.

link_to

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

Clamped

A wrapper type around slices and vectors for binding the Uint8ClampedArrayarray 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.

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 Tvalue, or throwing a JS error if it is not available.

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.