callAsFunctionCallbackDartToNativeConverter function
NativeCallable<JSObjectCallAsFunctionCallback_>
callAsFunctionCallbackDartToNativeConverter(
- JSObjectCallAsFunctionCallback? callAsFunction
Implementation
NativeCallable<JSObjectCallAsFunctionCallback_>
callAsFunctionCallbackDartToNativeConverter(
JSObjectCallAsFunctionCallback? callAsFunction,
) {
return NativeCallable.isolateLocal((
JSContextRef ctx1,
JSObjectRef function,
JSObjectRef thiz,
int argc,
Pointer<JSValueRef> argv,
Pointer<JSValueRef> exception,
) {
final ctxw = JSContext(ctx1);
final jsfunc = JSObject(ctxw, function);
final jsthiz = JSObject(ctxw, thiz);
final argvlist = <JSValue>[];
for (int i = 0; i < argc; i++) {
argvlist.add(JSValue(ctxw, argv[i]));
}
final jsexc = JSException(ctxw, exception);
return callAsFunction
?.call(ctxw, jsfunc, jsthiz, argc, argvlist, jsexc)
.ref ??
nullptr;
});
}