Interface: LowLevelJavascriptVm\

February 16, 2026 ยท View on GitHub

quickjs-emscripten


quickjs-emscripten / quickjs-emscripten-core / LowLevelJavascriptVm

Interface: LowLevelJavascriptVm<VmHandle>

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:53

A minimal interface to a Javascript execution environment.

Higher-level tools should build over the LowLevelJavascriptVm interface to share as much as possible between executors.

From https://www.figma.com/blog/how-we-built-the-figma-plugin-system/

Contents

Type Parameters

VmHandle

VmHandle

Properties

global

global: VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:54


undefined

undefined: VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:55

Methods

callFunction()

callFunction(func, thisVal, ...args): VmCallResult<VmHandle>

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:76

Parameters

func

VmHandle

thisVal

VmHandle

args

...VmHandle[]

Returns

VmCallResult<VmHandle>


defineProp()

defineProp(handle, key, descriptor): void

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:70

Parameters

handle

VmHandle

key

string | VmHandle

descriptor

VmPropertyDescriptor<VmHandle>

Returns

void


evalCode()

evalCode(code, filename?): VmCallResult<VmHandle>

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:77

Parameters

code

string

filename?

string

Returns

VmCallResult<VmHandle>


getNumber()

getNumber(handle): number

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:59

Parameters

handle

VmHandle

Returns

number


getProp()

getProp(handle, key): VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:68

Parameters

handle

VmHandle

key

string | VmHandle

Returns

VmHandle


getString()

getString(handle): string

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:60

Parameters

handle

VmHandle

Returns

string


newFunction()

newFunction(name, value): VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:65

Parameters

name

string

value

VmFunctionImplementation<VmHandle>

Returns

VmHandle


newNumber()

newNumber(value): VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:62

Parameters

value

number

Returns

VmHandle


newObject()

newObject(prototype?): VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:64

Parameters

prototype?

VmHandle

Returns

VmHandle


newString()

newString(value): VmHandle

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:63

Parameters

value

string

Returns

VmHandle


setProp()

setProp(handle, key, value): void

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:69

Parameters

handle

VmHandle

key

string | VmHandle

value

VmHandle

Returns

void


typeof()

typeof(handle): string

Defined in: packages/quickjs-emscripten-core/src/vm-interface.ts:57

Parameters

handle

VmHandle

Returns

string