Interface: QuickJSAsyncFFI
February 16, 2026 ยท View on GitHub
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
- Properties
- DEBUG
- QTS_ArgvGetJSValueConstPointer()
- QTS_bjson_decode()
- QTS_bjson_encode()
- QTS_BuildIsAsyncify()
- QTS_BuildIsDebug()
- QTS_BuildIsSanitizeLeak()
- QTS_Call()
- QTS_Call_MaybeAsync()
- QTS_DefineProp()
- QTS_Dump()
- QTS_Dump_MaybeAsync()
- QTS_DupValuePointer()
- QTS_Eval()
- QTS_Eval_MaybeAsync()
- QTS_ExecutePendingJob()
- QTS_ExecutePendingJob_MaybeAsync()
- QTS_FreeContext()
- QTS_FreeCString()
- QTS_FreeRuntime()
- QTS_FreeValuePointer()
- QTS_FreeValuePointerRuntime()
- QTS_FreeVoidPointer()
- QTS_GetArrayBuffer()
- QTS_GetArrayBufferLength()
- QTS_GetDebugLogEnabled()
- QTS_GetFalse()
- QTS_GetFloat64()
- QTS_GetGlobalObject()
- QTS_GetHostRefId()
- QTS_GetLength()
- QTS_GetModuleNamespace()
- QTS_GetNull()
- QTS_GetOwnPropertyNames()
- QTS_GetOwnPropertyNames_MaybeAsync()
- QTS_GetProp()
- QTS_GetProp_MaybeAsync()
- QTS_GetPropNumber()
- QTS_GetPropNumber_MaybeAsync()
- QTS_GetString()
- QTS_GetSymbolDescriptionOrKey()
- QTS_GetSymbolDescriptionOrKey_MaybeAsync()
- QTS_GetTrue()
- QTS_GetUndefined()
- QTS_IsEqual()
- QTS_IsGlobalSymbol()
- QTS_IsJobPending()
- QTS_NewArray()
- QTS_NewArrayBuffer()
- QTS_NewContext()
- QTS_NewError()
- QTS_NewFloat64()
- QTS_NewFunction()
- QTS_NewHostRef()
- QTS_NewObject()
- QTS_NewObjectProto()
- QTS_NewPromiseCapability()
- QTS_NewRuntime()
- QTS_NewString()
- QTS_NewSymbol()
- QTS_PromiseResult()
- QTS_PromiseState()
- QTS_RecoverableLeakCheck()
- QTS_ResolveException()
- QTS_RuntimeComputeMemoryUsage()
- QTS_RuntimeDisableInterruptHandler()
- QTS_RuntimeDisableModuleLoader()
- QTS_RuntimeDumpMemoryUsage()
- QTS_RuntimeEnableInterruptHandler()
- QTS_RuntimeEnableModuleLoader()
- QTS_RuntimeSetMaxStackSize()
- QTS_RuntimeSetMemoryLimit()
- QTS_SetDebugLogEnabled()
- QTS_SetProp()
- QTS_SetProp_MaybeAsync()
- QTS_TestStringArg()
- QTS_Throw()
- QTS_Typeof()
Unstable
The FFI interface is considered private and may change.
Properties
DEBUG
readonlyDEBUG: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
QTS_bjson_decode()
QTS_bjson_decode: (
ctx,data) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:271
Parameters
ctx
data
JSValuePointer | JSValueConstPointer
Returns
QTS_bjson_encode()
QTS_bjson_encode: (
ctx,val) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:267
Parameters
ctx
val
JSValuePointer | JSValueConstPointer
Returns
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
func_obj
JSValuePointer | JSValueConstPointer
this_obj
JSValuePointer | JSValueConstPointer
argc
number
argv_ptrs
Returns
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
func_obj
JSValuePointer | JSValueConstPointer
this_obj
JSValuePointer | JSValueConstPointer
argc
number
argv_ptrs
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
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
obj
JSValuePointer | JSValueConstPointer
Returns
QTS_Dump_MaybeAsync()
QTS_Dump_MaybeAsync: (
ctx,obj) =>JSBorrowedCharPointer|Promise<JSBorrowedCharPointer>
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:195
Parameters
ctx
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
val
JSValuePointer | JSValueConstPointer
Returns
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
js_code
js_code_length
number
filename
string
detectModule
EvalDetectModule
evalFlags
Returns
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
js_code
js_code_length
number
filename
string
detectModule
EvalDetectModule
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
maxJobsToExecute
number
lastJobContext
Returns
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
maxJobsToExecute
number
lastJobContext
Returns
JSValuePointer | Promise<JSValuePointer>
QTS_FreeContext()
QTS_FreeContext: (
ctx) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:59
Parameters
ctx
Returns
void
QTS_FreeCString()
QTS_FreeCString: (
ctx,str) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:63
Parameters
ctx
str
Returns
void
QTS_FreeRuntime()
QTS_FreeRuntime: (
rt) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:57
Parameters
rt
Returns
void
QTS_FreeValuePointer()
QTS_FreeValuePointer: (
ctx,value) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:60
Parameters
ctx
value
Returns
void
QTS_FreeValuePointerRuntime()
QTS_FreeValuePointerRuntime: (
rt,value) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:61
Parameters
rt
value
Returns
void
QTS_FreeVoidPointer()
QTS_FreeVoidPointer: (
ctx,ptr) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:62
Parameters
ctx
ptr
Returns
void
QTS_GetArrayBuffer()
QTS_GetArrayBuffer: (
ctx,data) =>JSVoidPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:86
Parameters
ctx
data
JSValuePointer | JSValueConstPointer
Returns
QTS_GetArrayBufferLength()
QTS_GetArrayBufferLength: (
ctx,data) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:90
Parameters
ctx
data
JSValuePointer | JSValueConstPointer
Returns
number
QTS_GetDebugLogEnabled()
QTS_GetDebugLogEnabled: (
rt) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:248
Parameters
rt
Returns
number
QTS_GetFalse()
QTS_GetFalse: () =>
JSValueConstPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:52
Returns
QTS_GetFloat64()
QTS_GetFloat64: (
ctx,value) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:80
Parameters
ctx
value
JSValuePointer | JSValueConstPointer
Returns
number
QTS_GetGlobalObject()
QTS_GetGlobalObject: (
ctx) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:234
Parameters
ctx
Returns
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
out_len
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
module_func_obj
JSValuePointer | JSValueConstPointer
Returns
QTS_GetNull()
QTS_GetNull: () =>
JSValueConstPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:51
Returns
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
out_ptrs
out_len
obj
JSValuePointer | JSValueConstPointer
flags
number
Returns
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
out_ptrs
out_len
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
this_val
JSValuePointer | JSValueConstPointer
prop_name
JSValuePointer | JSValueConstPointer
Returns
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
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
this_val
JSValuePointer | JSValueConstPointer
prop_name
number
Returns
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
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
value
JSValuePointer | JSValueConstPointer
Returns
QTS_GetSymbolDescriptionOrKey()
QTS_GetSymbolDescriptionOrKey: (
ctx,value) =>JSBorrowedCharPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:99
Parameters
ctx
value
JSValuePointer | JSValueConstPointer
Returns
QTS_GetSymbolDescriptionOrKey_MaybeAsync()
QTS_GetSymbolDescriptionOrKey_MaybeAsync: (
ctx,value) =>JSBorrowedCharPointer|Promise<JSBorrowedCharPointer>
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:103
Parameters
ctx
value
JSValuePointer | JSValueConstPointer
Returns
JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>
QTS_GetTrue()
QTS_GetTrue: () =>
JSValueConstPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:53
Returns
QTS_GetUndefined()
QTS_GetUndefined: () =>
JSValueConstPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:50
Returns
QTS_IsEqual()
QTS_IsEqual: (
ctx,a,b,op) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:228
Parameters
ctx
a
JSValuePointer | JSValueConstPointer
b
JSValuePointer | JSValueConstPointer
op
Returns
number
QTS_IsGlobalSymbol()
QTS_IsGlobalSymbol: (
ctx,value) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:107
Parameters
ctx
value
JSValuePointer | JSValueConstPointer
Returns
number
QTS_IsJobPending()
QTS_IsJobPending: (
rt) =>number
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:108
Parameters
rt
Returns
number
QTS_NewArray()
QTS_NewArray: (
ctx) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:73
Parameters
ctx
Returns
QTS_NewArrayBuffer()
QTS_NewArrayBuffer: (
ctx,buffer,length) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:74
Parameters
ctx
buffer
length
number
Returns
QTS_NewContext()
QTS_NewContext: (
rt,intrinsics) =>JSContextPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:58
Parameters
rt
intrinsics
Returns
QTS_NewError()
QTS_NewError: (
ctx) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:43
Parameters
ctx
Returns
QTS_NewFloat64()
QTS_NewFloat64: (
ctx,num) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:79
Parameters
ctx
num
number
Returns
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
name
string
arg_length
number
is_constructor
boolean
host_ref_id
HostRefId
Returns
QTS_NewHostRef()
QTS_NewHostRef: (
ctx,id) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:54
Parameters
ctx
id
HostRefId
Returns
QTS_NewObject()
QTS_NewObject: (
ctx) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:68
Parameters
ctx
Returns
QTS_NewObjectProto()
QTS_NewObjectProto: (
ctx,proto) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:69
Parameters
ctx
proto
JSValuePointer | JSValueConstPointer
Returns
QTS_NewPromiseCapability()
QTS_NewPromiseCapability: (
ctx,resolve_funcs_out) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:235
Parameters
ctx
resolve_funcs_out
Returns
QTS_NewRuntime()
QTS_NewRuntime: () =>
JSRuntimePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:56
Returns
QTS_NewString()
QTS_NewString: (
ctx,string) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:81
Parameters
ctx
string
Returns
QTS_NewSymbol()
QTS_NewSymbol: (
ctx,description,isGlobal) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:94
Parameters
ctx
description
isGlobal
number
Returns
QTS_PromiseResult()
QTS_PromiseResult: (
ctx,promise) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:243
Parameters
ctx
promise
JSValuePointer | JSValueConstPointer
Returns
QTS_PromiseState()
QTS_PromiseState: (
ctx,promise) =>JSPromiseStateEnum
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:239
Parameters
ctx
promise
JSValuePointer | JSValueConstPointer
Returns
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
maybe_exception
Returns
QTS_RuntimeComputeMemoryUsage()
QTS_RuntimeComputeMemoryUsage: (
rt,ctx) =>JSValuePointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:45
Parameters
rt
ctx
Returns
QTS_RuntimeDisableInterruptHandler()
QTS_RuntimeDisableInterruptHandler: (
rt) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:264
Parameters
rt
Returns
void
QTS_RuntimeDisableModuleLoader()
QTS_RuntimeDisableModuleLoader: (
rt) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:266
Parameters
rt
Returns
void
QTS_RuntimeDumpMemoryUsage()
QTS_RuntimeDumpMemoryUsage: (
rt) =>OwnedHeapCharPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:46
Parameters
rt
Returns
QTS_RuntimeEnableInterruptHandler()
QTS_RuntimeEnableInterruptHandler: (
rt) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:263
Parameters
rt
Returns
void
QTS_RuntimeEnableModuleLoader()
QTS_RuntimeEnableModuleLoader: (
rt,use_custom_normalize) =>void
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:265
Parameters
rt
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
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
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
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
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
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
error
JSValuePointer | JSValueConstPointer
Returns
QTS_Typeof()
QTS_Typeof: (
ctx,value) =>OwnedHeapCharPointer
Defined in: packages/quickjs-ffi-types/src/ffi-async.ts:219
Parameters
ctx
value
JSValuePointer | JSValueConstPointer