jsCall function
Implementation
Pointer<JSValue> jsCall(
Pointer<JSContext> ctx,
Pointer<JSValue> funcObj,
Pointer<JSValue> thisObj,
List<Pointer<JSValue>> argv,
) {
final jsArgs = calloc<Uint8>(
argv.length > 0 ? sizeOfJSValue * argv.length : 1,
).cast<JSValue>();
for (int i = 0; i < argv.length; ++i) {
Pointer<JSValue> jsArg = argv[i];
setJSValueList(jsArgs, i, jsArg);
}
final func1 = jsDupValue(ctx, funcObj);
final _thisObj = thisObj;
final jsRet = _jsCall(ctx, funcObj, _thisObj, argv.length, jsArgs);
jsFreeValue(ctx, func1);
malloc.free(jsArgs);
runtimeOpaques[jsGetRuntime(ctx)]?._port.sendPort.send(#call);
return jsRet;
}