Interface: QuickJSAsyncFFI

February 16, 2026 ยท View on GitHub

quickjs-emscripten


quickjs-emscripten / quickjs-emscripten-core / QuickJSAsyncFFI

Interface: QuickJSAsyncFFI

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:38

Low-level FFI bindings to QuickJS's Emscripten module. See instead QuickJSContext, the public Javascript interface exposed by this library.

Contents

Unstable

The FFI interface is considered private and may change.

Properties

DEBUG

readonly DEBUG: boolean

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:40

Set at compile time.


QTS_ArgvGetJSValueConstPointer()

QTS_ArgvGetJSValueConstPointer: (argv, index) => JSValueConstPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:259

Parameters

argv

JSValuePointer | JSValueConstPointer

index

number

Returns

JSValueConstPointer


QTS_bjson_decode()

QTS_bjson_decode: (ctx, data) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:271

Parameters

ctx

JSContextPointer

data

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_bjson_encode()

QTS_bjson_encode: (ctx, val) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:267

Parameters

ctx

JSContextPointer

val

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_BuildIsAsyncify()

QTS_BuildIsAsyncify: () => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:251

Returns

number


QTS_BuildIsDebug()

QTS_BuildIsDebug: () => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:250

Returns

number


QTS_BuildIsSanitizeLeak()

QTS_BuildIsSanitizeLeak: () => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:48

Returns

number


QTS_Call()

QTS_Call: (ctx, func_obj, this_obj, argc, argv_ptrs) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:176

Parameters

ctx

JSContextPointer

func_obj

JSValuePointer | JSValueConstPointer

this_obj

JSValuePointer | JSValueConstPointer

argc

number

argv_ptrs

JSValueConstPointerPointer

Returns

JSValuePointer


QTS_Call_MaybeAsync()

QTS_Call_MaybeAsync: (ctx, func_obj, this_obj, argc, argv_ptrs) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:183

Parameters

ctx

JSContextPointer

func_obj

JSValuePointer | JSValueConstPointer

this_obj

JSValuePointer | JSValueConstPointer

argc

number

argv_ptrs

JSValueConstPointerPointer

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_DefineProp()

QTS_DefineProp: (ctx, this_val, prop_name, prop_value, get, set, configurable, enumerable, has_value) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:151

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

JSValuePointer | JSValueConstPointer

prop_value

JSValuePointer | JSValueConstPointer

get

JSValuePointer | JSValueConstPointer

set

JSValuePointer | JSValueConstPointer

configurable

boolean

enumerable

boolean

has_value

boolean

Returns

void


QTS_Dump()

QTS_Dump: (ctx, obj) => JSBorrowedCharPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:191

Parameters

ctx

JSContextPointer

obj

JSValuePointer | JSValueConstPointer

Returns

JSBorrowedCharPointer


QTS_Dump_MaybeAsync()

QTS_Dump_MaybeAsync: (ctx, obj) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:195

Parameters

ctx

JSContextPointer

obj

JSValuePointer | JSValueConstPointer

Returns

JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>


QTS_DupValuePointer()

QTS_DupValuePointer: (ctx, val) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:64

Parameters

ctx

JSContextPointer

val

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_Eval()

QTS_Eval: (ctx, js_code, js_code_length, filename, detectModule, evalFlags) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:199

Parameters

ctx

JSContextPointer

js_code

BorrowedHeapCharPointer

js_code_length

number

filename

string

detectModule

EvalDetectModule

evalFlags

EvalFlags

Returns

JSValuePointer


QTS_Eval_MaybeAsync()

QTS_Eval_MaybeAsync: (ctx, js_code, js_code_length, filename, detectModule, evalFlags) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:207

Parameters

ctx

JSContextPointer

js_code

BorrowedHeapCharPointer

js_code_length

number

filename

string

detectModule

EvalDetectModule

evalFlags

EvalFlags

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_ExecutePendingJob()

QTS_ExecutePendingJob: (rt, maxJobsToExecute, lastJobContext) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:109

Parameters

rt

JSRuntimePointer

maxJobsToExecute

number

lastJobContext

JSContextPointerPointer

Returns

JSValuePointer


QTS_ExecutePendingJob_MaybeAsync()

QTS_ExecutePendingJob_MaybeAsync: (rt, maxJobsToExecute, lastJobContext) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:114

Parameters

rt

JSRuntimePointer

maxJobsToExecute

number

lastJobContext

JSContextPointerPointer

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_FreeContext()

QTS_FreeContext: (ctx) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:59

Parameters

ctx

JSContextPointer

Returns

void


QTS_FreeCString()

QTS_FreeCString: (ctx, str) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:63

Parameters

ctx

JSContextPointer

str

JSBorrowedCharPointer

Returns

void


QTS_FreeRuntime()

QTS_FreeRuntime: (rt) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:57

Parameters

rt

JSRuntimePointer

Returns

void


QTS_FreeValuePointer()

QTS_FreeValuePointer: (ctx, value) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:60

Parameters

ctx

JSContextPointer

value

JSValuePointer

Returns

void


QTS_FreeValuePointerRuntime()

QTS_FreeValuePointerRuntime: (rt, value) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:61

Parameters

rt

JSRuntimePointer

value

JSValuePointer

Returns

void


QTS_FreeVoidPointer()

QTS_FreeVoidPointer: (ctx, ptr) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:62

Parameters

ctx

JSContextPointer

ptr

JSVoidPointer

Returns

void


QTS_GetArrayBuffer()

QTS_GetArrayBuffer: (ctx, data) => JSVoidPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:86

Parameters

ctx

JSContextPointer

data

JSValuePointer | JSValueConstPointer

Returns

JSVoidPointer


QTS_GetArrayBufferLength()

QTS_GetArrayBufferLength: (ctx, data) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:90

Parameters

ctx

JSContextPointer

data

JSValuePointer | JSValueConstPointer

Returns

number


QTS_GetDebugLogEnabled()

QTS_GetDebugLogEnabled: (rt) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:248

Parameters

rt

JSRuntimePointer

Returns

number


QTS_GetFalse()

QTS_GetFalse: () => JSValueConstPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:52

Returns

JSValueConstPointer


QTS_GetFloat64()

QTS_GetFloat64: (ctx, value) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:80

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

number


QTS_GetGlobalObject()

QTS_GetGlobalObject: (ctx) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:234

Parameters

ctx

JSContextPointer

Returns

JSValuePointer


QTS_GetHostRefId()

QTS_GetHostRefId: (value) => HostRefId

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:55

Parameters

value

JSValuePointer | JSValueConstPointer

Returns

HostRefId


QTS_GetLength()

QTS_GetLength: (ctx, out_len, value) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:223

Parameters

ctx

JSContextPointer

out_len

UInt32Pointer

value

JSValuePointer | JSValueConstPointer

Returns

number


QTS_GetModuleNamespace()

QTS_GetModuleNamespace: (ctx, module_func_obj) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:215

Parameters

ctx

JSContextPointer

module_func_obj

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_GetNull()

QTS_GetNull: () => JSValueConstPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:51

Returns

JSValueConstPointer


QTS_GetOwnPropertyNames()

QTS_GetOwnPropertyNames: (ctx, out_ptrs, out_len, obj, flags) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:162

Parameters

ctx

JSContextPointer

out_ptrs

JSValuePointerPointerPointer

out_len

UInt32Pointer

obj

JSValuePointer | JSValueConstPointer

flags

number

Returns

JSValuePointer


QTS_GetOwnPropertyNames_MaybeAsync()

QTS_GetOwnPropertyNames_MaybeAsync: (ctx, out_ptrs, out_len, obj, flags) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:169

Parameters

ctx

JSContextPointer

out_ptrs

JSValuePointerPointerPointer

out_len

UInt32Pointer

obj

JSValuePointer | JSValueConstPointer

flags

number

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_GetProp()

QTS_GetProp: (ctx, this_val, prop_name) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:119

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_GetProp_MaybeAsync()

QTS_GetProp_MaybeAsync: (ctx, this_val, prop_name) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:124

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_GetPropNumber()

QTS_GetPropNumber: (ctx, this_val, prop_name) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:129

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

number

Returns

JSValuePointer


QTS_GetPropNumber_MaybeAsync()

QTS_GetPropNumber_MaybeAsync: (ctx, this_val, prop_name) => JSValuePointer | Promise<JSValuePointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:134

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

number

Returns

JSValuePointer | Promise<JSValuePointer>


QTS_GetString()

QTS_GetString: (ctx, value) => JSBorrowedCharPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:82

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

JSBorrowedCharPointer


QTS_GetSymbolDescriptionOrKey()

QTS_GetSymbolDescriptionOrKey: (ctx, value) => JSBorrowedCharPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:99

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

JSBorrowedCharPointer


QTS_GetSymbolDescriptionOrKey_MaybeAsync()

QTS_GetSymbolDescriptionOrKey_MaybeAsync: (ctx, value) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:103

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>


QTS_GetTrue()

QTS_GetTrue: () => JSValueConstPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:53

Returns

JSValueConstPointer


QTS_GetUndefined()

QTS_GetUndefined: () => JSValueConstPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:50

Returns

JSValueConstPointer


QTS_IsEqual()

QTS_IsEqual: (ctx, a, b, op) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:228

Parameters

ctx

JSContextPointer

a

JSValuePointer | JSValueConstPointer

b

JSValuePointer | JSValueConstPointer

op

IsEqualOp

Returns

number


QTS_IsGlobalSymbol()

QTS_IsGlobalSymbol: (ctx, value) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:107

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

number


QTS_IsJobPending()

QTS_IsJobPending: (rt) => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:108

Parameters

rt

JSRuntimePointer

Returns

number


QTS_NewArray()

QTS_NewArray: (ctx) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:73

Parameters

ctx

JSContextPointer

Returns

JSValuePointer


QTS_NewArrayBuffer()

QTS_NewArrayBuffer: (ctx, buffer, length) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:74

Parameters

ctx

JSContextPointer

buffer

JSVoidPointer

length

number

Returns

JSValuePointer


QTS_NewContext()

QTS_NewContext: (rt, intrinsics) => JSContextPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:58

Parameters

rt

JSRuntimePointer

intrinsics

IntrinsicsFlags

Returns

JSContextPointer


QTS_NewError()

QTS_NewError: (ctx) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:43

Parameters

ctx

JSContextPointer

Returns

JSValuePointer


QTS_NewFloat64()

QTS_NewFloat64: (ctx, num) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:79

Parameters

ctx

JSContextPointer

num

number

Returns

JSValuePointer


QTS_NewFunction()

QTS_NewFunction: (ctx, name, arg_length, is_constructor, host_ref_id) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:252

Parameters

ctx

JSContextPointer

name

string

arg_length

number

is_constructor

boolean

host_ref_id

HostRefId

Returns

JSValuePointer


QTS_NewHostRef()

QTS_NewHostRef: (ctx, id) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:54

Parameters

ctx

JSContextPointer

id

HostRefId

Returns

JSValuePointer


QTS_NewObject()

QTS_NewObject: (ctx) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:68

Parameters

ctx

JSContextPointer

Returns

JSValuePointer


QTS_NewObjectProto()

QTS_NewObjectProto: (ctx, proto) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:69

Parameters

ctx

JSContextPointer

proto

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_NewPromiseCapability()

QTS_NewPromiseCapability: (ctx, resolve_funcs_out) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:235

Parameters

ctx

JSContextPointer

resolve_funcs_out

JSValuePointerPointer

Returns

JSValuePointer


QTS_NewRuntime()

QTS_NewRuntime: () => JSRuntimePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:56

Returns

JSRuntimePointer


QTS_NewString()

QTS_NewString: (ctx, string) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:81

Parameters

ctx

JSContextPointer

string

BorrowedHeapCharPointer

Returns

JSValuePointer


QTS_NewSymbol()

QTS_NewSymbol: (ctx, description, isGlobal) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:94

Parameters

ctx

JSContextPointer

description

BorrowedHeapCharPointer

isGlobal

number

Returns

JSValuePointer


QTS_PromiseResult()

QTS_PromiseResult: (ctx, promise) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:243

Parameters

ctx

JSContextPointer

promise

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_PromiseState()

QTS_PromiseState: (ctx, promise) => JSPromiseStateEnum

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:239

Parameters

ctx

JSContextPointer

promise

JSValuePointer | JSValueConstPointer

Returns

JSPromiseStateEnum


QTS_RecoverableLeakCheck()

QTS_RecoverableLeakCheck: () => number

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:47

Returns

number


QTS_ResolveException()

QTS_ResolveException: (ctx, maybe_exception) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:190

Parameters

ctx

JSContextPointer

maybe_exception

JSValuePointer

Returns

JSValuePointer


QTS_RuntimeComputeMemoryUsage()

QTS_RuntimeComputeMemoryUsage: (rt, ctx) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:45

Parameters

rt

JSRuntimePointer

ctx

JSContextPointer

Returns

JSValuePointer


QTS_RuntimeDisableInterruptHandler()

QTS_RuntimeDisableInterruptHandler: (rt) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:264

Parameters

rt

JSRuntimePointer

Returns

void


QTS_RuntimeDisableModuleLoader()

QTS_RuntimeDisableModuleLoader: (rt) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:266

Parameters

rt

JSRuntimePointer

Returns

void


QTS_RuntimeDumpMemoryUsage()

QTS_RuntimeDumpMemoryUsage: (rt) => OwnedHeapCharPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:46

Parameters

rt

JSRuntimePointer

Returns

OwnedHeapCharPointer


QTS_RuntimeEnableInterruptHandler()

QTS_RuntimeEnableInterruptHandler: (rt) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:263

Parameters

rt

JSRuntimePointer

Returns

void


QTS_RuntimeEnableModuleLoader()

QTS_RuntimeEnableModuleLoader: (rt, use_custom_normalize) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:265

Parameters

rt

JSRuntimePointer

use_custom_normalize

number

Returns

void


QTS_RuntimeSetMaxStackSize()

QTS_RuntimeSetMaxStackSize: (rt, stack_size) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:49

Parameters

rt

JSRuntimePointer

stack_size

number

Returns

void


QTS_RuntimeSetMemoryLimit()

QTS_RuntimeSetMemoryLimit: (rt, limit) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:44

Parameters

rt

JSRuntimePointer

limit

number

Returns

void


QTS_SetDebugLogEnabled()

QTS_SetDebugLogEnabled: (rt, is_enabled) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:249

Parameters

rt

JSRuntimePointer

is_enabled

number

Returns

void


QTS_SetProp()

QTS_SetProp: (ctx, this_val, prop_name, prop_value) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:139

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

JSValuePointer | JSValueConstPointer

prop_value

JSValuePointer | JSValueConstPointer

Returns

void


QTS_SetProp_MaybeAsync()

QTS_SetProp_MaybeAsync: (ctx, this_val, prop_name, prop_value) => void | Promise<void>

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:145

Parameters

ctx

JSContextPointer

this_val

JSValuePointer | JSValueConstPointer

prop_name

JSValuePointer | JSValueConstPointer

prop_value

JSValuePointer | JSValueConstPointer

Returns

void | Promise<void>


QTS_TestStringArg()

QTS_TestStringArg: (string) => void

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:247

Parameters

string

string

Returns

void


QTS_Throw()

QTS_Throw: (ctx, error) => JSValuePointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:42

Parameters

ctx

JSContextPointer

error

JSValuePointer | JSValueConstPointer

Returns

JSValuePointer


QTS_Typeof()

QTS_Typeof: (ctx, value) => OwnedHeapCharPointer

Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:219

Parameters

ctx

JSContextPointer

value

JSValuePointer | JSValueConstPointer

Returns

OwnedHeapCharPointer