callAsConstructorCallbackDartToNativeConverter function

NativeCallable<JSObjectCallAsConstructorCallback_> callAsConstructorCallbackDartToNativeConverter(
  1. JSObjectCallAsConstructorCallback? callAsConstructor
)

Implementation

NativeCallable<JSObjectCallAsConstructorCallback_>
callAsConstructorCallbackDartToNativeConverter(
  JSObjectCallAsConstructorCallback? callAsConstructor,
) {
  return NativeCallable.isolateLocal((
    JSContextRef ctx1,
    JSObjectRef constructor,
    int argc,
    Pointer<JSValueRef> argv,
    Pointer<JSValueRef> exception,
  ) {
    final ctxw = JSContext(ctx1);
    final jscons = JSObject(ctxw, constructor);
    final argvlist = <JSValue>[];
    for (int i = 0; i < argc; i++) {
      argvlist[i] = JSValue(ctxw, argv[i]);
    }
    final jsexc = JSException(ctxw, exception);
    return callAsConstructor?.call(ctxw, jscons, argc, argvlist, jsexc).ref ??
        nullptr;
  });
}