Wasm
Efficiently execute computationally intensive tasks. Wasm module compilation, instantiation, memory management, and interaction with imports and exports.
Eg WebAssembly.instantiate, WebAssembly.Module, WebAssembly.Instance
Classes
The WebAssembly.CompileError object indicates an error during WebAssembly decoding or validation.
A WebAssembly.Global object represents a global variable instance, accessible from
both JavaScript and importable/exportable across one or more WebAssembly.Module
instances. This allows dynamic linking of multiple modules.
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.
The WebAssembly.LinkError object indicates an error during module instantiation
(besides traps from the start function).
The WebAssembly.Memory object is a resizable ArrayBuffer or SharedArrayBuffer that
holds the raw bytes of memory accessed by a WebAssembly Instance.
A WebAssembly.Module object contains stateless WebAssembly code that has already been compiled
by the browser — this can be efficiently shared with Workers, and instantiated multiple times.
The WebAssembly.RuntimeError object is the error type that is thrown whenever WebAssembly
specifies a trap.
The WebAssembly.Table() object is a JavaScript wrapper object — an array-like structure
representing a WebAssembly Table, which stores function references. A table created by
JavaScript or in WebAssembly code will be accessible and mutable from both JavaScript
and WebAssembly.
Functions
The WebAssembly.compile() function compiles WebAssembly binary code into a
WebAssembly.Module object. This function is useful if it is necessary to compile
a module before it can be instantiated (otherwise, the WebAssembly.instantiate()
function should be used).
The WebAssembly.compileStreaming() function compiles a WebAssembly.Module
directly from a streamed underlying source. This function is useful if it is
necessary to a compile a module before it can be instantiated (otherwise, the
WebAssembly.instantiateStreaming() function should be used).
The WebAssembly.instantiate() function allows you to compile and instantiate WebAssembly code.
The WebAssembly.instantiateStreaming() function compiles and instantiates a
WebAssembly module directly from a streamed underlying source. This is the most
efficient, optimized way to load wasm code.
The WebAssembly.validate() function validates a given typed array of
WebAssembly binary code, returning whether the bytes form a valid wasm
module (true) or not (false).
Interfaces
The GlobalDescriptor describes the options you can pass to
new WebAssembly.Global().
The MemoryDescriptor describes the options you can pass to
new WebAssembly.Memory().
A ModuleExportDescriptor is the description of a declared export in a
WebAssembly.Module.
A ModuleImportDescriptor is the description of a declared import in a
WebAssembly.Module.
The TableDescriptor describes the options you can pass to
new WebAssembly.Table().
The value returned from WebAssembly.instantiate.
Namespaces
The WebAssembly JavaScript object acts as the namespace for all
WebAssembly-related
functionality. Unlike most global objects, it is not a constructor; it groups
the functions used to compile and instantiate WebAssembly modules together
with the classes (Module, Instance, Memory, Table, Global) and
error types used to work with them.
Type Aliases
The set of values exported by a WebAssembly module instance, keyed by export name.
The import object supplied when instantiating a WebAssembly module, grouping imported values by module name.
class WebAssembly.CompileError
class WebAssembly.Global
A WebAssembly.Global object represents a global variable instance, accessible from
both JavaScript and importable/exportable across one or more WebAssembly.Module
instances. This allows dynamic linking of multiple modules.
Constructors #
#Global(descriptor: GlobalDescriptor,v?: any,) Creates a new Global object.
Properties #
Methods #
class WebAssembly.Instance
class WebAssembly.LinkError
class WebAssembly.Memory
The WebAssembly.Memory object is a resizable ArrayBuffer or SharedArrayBuffer that
holds the raw bytes of memory accessed by a WebAssembly Instance.
A memory created by JavaScript or in WebAssembly code will be accessible and mutable from both JavaScript and WebAssembly.
Constructors #
#Memory(descriptor: MemoryDescriptor) Creates a new Memory object.
Properties #
Methods #
class WebAssembly.Module
A WebAssembly.Module object contains stateless WebAssembly code that has already been compiled
by the browser — this can be efficiently shared with Workers, and instantiated multiple times.
Constructors #
#Module(bytes: BufferSource) Creates a new Module object.
Static Methods #
#customSections(moduleObject: Module,sectionName: string,): ArrayBuffer[] Given a Module and string, returns a copy of the contents of all custom sections in the
module with the given string name.
#exports(moduleObject: Module): ModuleExportDescriptor[] Given a Module, returns an array containing descriptions of all the declared exports.
#imports(moduleObject: Module): ModuleImportDescriptor[] Given a Module, returns an array containing descriptions of all the declared imports.
class WebAssembly.RuntimeError
class WebAssembly.Table
The WebAssembly.Table() object is a JavaScript wrapper object — an array-like structure
representing a WebAssembly Table, which stores function references. A table created by
JavaScript or in WebAssembly code will be accessible and mutable from both JavaScript
and WebAssembly.
Constructors #
#Table(descriptor: TableDescriptor) Creates a new Table object.
Properties #
Methods #
Increases the size of the Table instance by a specified number of elements.
function WebAssembly.compile
#compile(bytes: BufferSource): Promise<Module>The WebAssembly.compile() function compiles WebAssembly binary code into a
WebAssembly.Module object. This function is useful if it is necessary to compile
a module before it can be instantiated (otherwise, the WebAssembly.instantiate()
function should be used).
Parameters #
#bytes: BufferSource Return Type #
Promise<Module> function WebAssembly.compileStreaming
#compileStreaming(source: Response | Promise<Response>): Promise<Module>The WebAssembly.compileStreaming() function compiles a WebAssembly.Module
directly from a streamed underlying source. This function is useful if it is
necessary to a compile a module before it can be instantiated (otherwise, the
WebAssembly.instantiateStreaming() function should be used).
Parameters #
Return Type #
Promise<Module> function WebAssembly.instantiate
Overload 1
#instantiate(bytes: BufferSource,importObject?: Imports,): Promise<WebAssemblyInstantiatedSource>The WebAssembly.instantiate() function allows you to compile and instantiate WebAssembly code.
This overload takes the WebAssembly binary code, in the form of a typed array or ArrayBuffer, and performs both compilation and instantiation in one step. The returned Promise resolves to both a compiled WebAssembly.Module and its first WebAssembly.Instance.
Parameters #
#bytes: BufferSource Return Type #
Promise<WebAssemblyInstantiatedSource> Overload 2
#instantiate(): Promise<Instance>The WebAssembly.instantiate() function allows you to compile and instantiate WebAssembly code.
This overload takes an already-compiled WebAssembly.Module and returns a Promise that resolves to an Instance of that Module. This overload is useful if the Module has already been compiled.
Parameters #
Return Type #
Promise<Instance> function WebAssembly.instantiateStreaming
#instantiateStreaming(): Promise<WebAssemblyInstantiatedSource>The WebAssembly.instantiateStreaming() function compiles and instantiates a
WebAssembly module directly from a streamed underlying source. This is the most
efficient, optimized way to load wasm code.
Parameters #
Return Type #
Promise<WebAssemblyInstantiatedSource> function WebAssembly.validate
#validate(bytes: BufferSource): booleanThe WebAssembly.validate() function validates a given typed array of
WebAssembly binary code, returning whether the bytes form a valid wasm
module (true) or not (false).
Parameters #
#bytes: BufferSource Return Type #
boolean interface WebAssembly.MemoryDescriptor
interface WebAssembly.ModuleExportDescriptor
interface WebAssembly.ModuleImportDescriptor
interface WebAssembly.TableDescriptor
The TableDescriptor describes the options you can pass to
new WebAssembly.Table().
Properties #
interface WebAssembly.WebAssemblyInstantiatedSource
The value returned from WebAssembly.instantiate.
Properties #
namespace WebAssembly
The WebAssembly JavaScript object acts as the namespace for all
WebAssembly-related
functionality. Unlike most global objects, it is not a constructor; it groups
the functions used to compile and instantiate WebAssembly modules together
with the classes (Module, Instance, Memory, Table, Global) and
error types used to work with them.
Classes #
The WebAssembly.CompileError object indicates an error during WebAssembly decoding or validation.
A WebAssembly.Global object represents a global variable instance, accessible from
both JavaScript and importable/exportable across one or more WebAssembly.Module
instances. This allows dynamic linking of multiple modules.
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.
The WebAssembly.LinkError object indicates an error during module instantiation
(besides traps from the start function).
The WebAssembly.Memory object is a resizable ArrayBuffer or SharedArrayBuffer that
holds the raw bytes of memory accessed by a WebAssembly Instance.
A WebAssembly.Module object contains stateless WebAssembly code that has already been compiled
by the browser — this can be efficiently shared with Workers, and instantiated multiple times.
The WebAssembly.RuntimeError object is the error type that is thrown whenever WebAssembly
specifies a trap.
The WebAssembly.Table() object is a JavaScript wrapper object — an array-like structure
representing a WebAssembly Table, which stores function references. A table created by
JavaScript or in WebAssembly code will be accessible and mutable from both JavaScript
and WebAssembly.
Functions #
The WebAssembly.compile() function compiles WebAssembly binary code into a
WebAssembly.Module object. This function is useful if it is necessary to compile
a module before it can be instantiated (otherwise, the WebAssembly.instantiate()
function should be used).
The WebAssembly.compileStreaming() function compiles a WebAssembly.Module
directly from a streamed underlying source. This function is useful if it is
necessary to a compile a module before it can be instantiated (otherwise, the
WebAssembly.instantiateStreaming() function should be used).
The WebAssembly.instantiate() function allows you to compile and instantiate WebAssembly code.
The WebAssembly.instantiateStreaming() function compiles and instantiates a
WebAssembly module directly from a streamed underlying source. This is the most
efficient, optimized way to load wasm code.
The WebAssembly.validate() function validates a given typed array of
WebAssembly binary code, returning whether the bytes form a valid wasm
module (true) or not (false).
Interfaces #
The GlobalDescriptor describes the options you can pass to
new WebAssembly.Global().
The MemoryDescriptor describes the options you can pass to
new WebAssembly.Memory().
A ModuleExportDescriptor is the description of a declared export in a
WebAssembly.Module.
A ModuleImportDescriptor is the description of a declared import in a
WebAssembly.Module.
The TableDescriptor describes the options you can pass to
new WebAssembly.Table().
The value returned from WebAssembly.instantiate.
Type Aliases #
The set of values exported by a WebAssembly module instance, keyed by export name.
The import object supplied when instantiating a WebAssembly module, grouping imported values by module name.
type alias WebAssembly.Exports
The set of values exported by a WebAssembly module instance, keyed by export name.
Definition #
Record<string, ExportValue> type alias WebAssembly.ExportValue
type alias WebAssembly.ImportExportKind
The kind of entity referenced by a module import or export descriptor.
Definition #
"function"
| "global"
| "memory"
| "table" type alias WebAssembly.Imports
The import object supplied when instantiating a WebAssembly module, grouping imported values by module name.
Definition #
Record<string, ModuleImports> type alias WebAssembly.ImportValue
A value that can be supplied to a WebAssembly module as an import.
Definition #
ExportValue | number type alias WebAssembly.ModuleImports
The set of values imported from a single module, keyed by import name.
Definition #
Record<string, ImportValue> type alias WebAssembly.TableKind
The type of value stored in a WebAssembly.Table.
Definition #
"anyfunc" type alias WebAssembly.ValueType
The data type of a WebAssembly value, used to describe globals.
Definition #
"f32"
| "f64"
| "i32"
| "i64"