quickjs-emscripten › Globals › LowLevelJavascriptVm
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/
▪ VmHandle
- LowLevelJavascriptVm
- callFunction
- defineProp
- evalCode
- getNumber
- getProp
- getString
- newFunction
- newNumber
- newObject
- newString
- setProp
- typeof
• global: VmHandle
Defined in vm-interface.ts:46
• undefined: VmHandle
Defined in vm-interface.ts:47
▸ callFunction(func
: VmHandle, thisVal
: VmHandle, ...args
: VmHandle[]): VmCallResult‹VmHandle›
Defined in vm-interface.ts:68
Parameters:
Name | Type |
---|---|
func |
VmHandle |
thisVal |
VmHandle |
...args |
VmHandle[] |
Returns: VmCallResult‹VmHandle›
▸ defineProp(handle
: VmHandle, key
: string | VmHandle, descriptor
: VmPropertyDescriptor‹VmHandle›): void
Defined in vm-interface.ts:62
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
key |
string | VmHandle |
descriptor |
VmPropertyDescriptor‹VmHandle› |
Returns: void
▸ evalCode(code
: string): VmCallResult‹VmHandle›
Defined in vm-interface.ts:69
Parameters:
Name | Type |
---|---|
code |
string |
Returns: VmCallResult‹VmHandle›
▸ getNumber(handle
: VmHandle): number
Defined in vm-interface.ts:51
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
Returns: number
▸ getProp(handle
: VmHandle, key
: string | VmHandle): VmHandle
Defined in vm-interface.ts:60
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
key |
string | VmHandle |
Returns: VmHandle
▸ getString(handle
: VmHandle): string
Defined in vm-interface.ts:52
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
Returns: string
▸ newFunction(name
: string, value
: VmFunctionImplementation‹VmHandle›): VmHandle
Defined in vm-interface.ts:57
Parameters:
Name | Type |
---|---|
name |
string |
value |
VmFunctionImplementation‹VmHandle› |
Returns: VmHandle
▸ newNumber(value
: number): VmHandle
Defined in vm-interface.ts:54
Parameters:
Name | Type |
---|---|
value |
number |
Returns: VmHandle
▸ newObject(prototype?
: VmHandle): VmHandle
Defined in vm-interface.ts:56
Parameters:
Name | Type |
---|---|
prototype? |
VmHandle |
Returns: VmHandle
▸ newString(value
: string): VmHandle
Defined in vm-interface.ts:55
Parameters:
Name | Type |
---|---|
value |
string |
Returns: VmHandle
▸ setProp(handle
: VmHandle, key
: string | VmHandle, value
: VmHandle): void
Defined in vm-interface.ts:61
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
key |
string | VmHandle |
value |
VmHandle |
Returns: void
▸ typeof(handle
: VmHandle): string
Defined in vm-interface.ts:49
Parameters:
Name | Type |
---|---|
handle |
VmHandle |
Returns: string