callFunction method
JsEvalResult
callFunction(
- dynamic function,
- dynamic argument
)
override
Implementation
@override
JsEvalResult callFunction(
dynamic function,
dynamic argument,
) {
// Cast to Pointer for native implementation
final fnPtr = function as Pointer<JSValueConst>;
final argPtr = argument as Pointer<JSValueConst>;
Pointer result = calloc<JSValueConst>();
Pointer<Pointer<Utf8NullTerminated>> stringResult =
calloc<Pointer<Utf8NullTerminated>>();
int operationResult = _callJsFunction1Arg(
_context,
fnPtr,
argPtr,
result as Pointer<JSValueConst>,
stringResult);
String resultStr = Utf8NullTerminated.fromUtf8(stringResult.value);
return JsEvalResult(
resultStr,
result,
isError: operationResult == 0,
isPromise: resultStr == '[object Promise]',
);
}