Class: QuickJSWASMModule
February 16, 2026 ยท View on GitHub
quickjs-emscripten / quickjs-emscripten-core / QuickJSWASMModule
Class: QuickJSWASMModule
Defined in: packages/quickjs-emscripten-core/src/module.ts:326
This class presents a Javascript interface to QuickJS, a Javascript interpreter that supports EcmaScript 2020 (ES2020).
It wraps a single WebAssembly module containing the QuickJS library and associated helper C code. WebAssembly modules are completely isolated from each other by the host's WebAssembly runtime. Separate WebAssembly modules have the most isolation guarantees possible with this library.
The simplest way to start running code is evalCode. This shortcut method will evaluate Javascript safely and return the result as a native Javascript value.
For more control over the execution environment, or to interact with values inside QuickJS, create a context with newContext or a runtime with newRuntime.
Contents
Extended by
Methods
evalCode()
evalCode(
code,options?):unknown
Defined in: packages/quickjs-emscripten-core/src/module.ts:410
One-off evaluate code without needing to create a QuickJSRuntime or QuickJSContext explicitly.
To protect against infinite loops, use the shouldInterrupt option. The
shouldInterruptAfterDeadline function will create a time-based deadline.
If you need more control over how the code executes, create a QuickJSRuntime (with newRuntime) or a QuickJSContext (with newContext or QuickJSRuntime#newContext), and use its QuickJSContext#evalCode method.
Asynchronous callbacks may not run during the first call to evalCode. If
you need to work with async code inside QuickJS, create a runtime and use
QuickJSRuntime#executePendingJobs.
Parameters
code
string
options?
ModuleEvalOptions = {}
Returns
unknown
The result is coerced to a native Javascript value using JSON serialization, so properties and values unsupported by JSON will be dropped.
Throws
If code throws during evaluation, the exception will be
converted into a native Javascript value and thrown.
Throws
if options.shouldInterrupt interrupted execution, will throw a Error
with name "InternalError" and message "interrupted".
getWasmMemory()
getWasmMemory():
Memory
Defined in: packages/quickjs-emscripten-core/src/module.ts:441
Experimental
Retrieve the WebAssembly memory used by this QuickJS module. Use this access very carefully - you are responsible for safe interaction with the memory.
To supply a custom, pre-initialized memory to QuickJS, create a new variant and provide the CustomizeVariantOptions#wasmMemory option.
Returns
Memory
newContext()
newContext(
options?):QuickJSContext
Defined in: packages/quickjs-emscripten-core/src/module.ts:375
A simplified API to create a new QuickJSRuntime and a QuickJSContext inside that runtime at the same time. The runtime will be disposed when the context is disposed.
Parameters
options?
ContextOptions = {}
Returns
newRuntime()
newRuntime(
options?):QuickJSRuntime
Defined in: packages/quickjs-emscripten-core/src/module.ts:346
Create a runtime. Use the runtime to set limits on CPU and memory usage and configure module loading for one or more QuickJSContexts inside the runtime.
Parameters
options?
RuntimeOptions = {}