evaluateQuickjsByteCode function
Future<bool>
evaluateQuickjsByteCode(
- double contextId,
- Uint8List bytes, {
- ScriptElement? scriptElement,
Implementation
Future<bool> evaluateQuickjsByteCode(double contextId, Uint8List bytes, {ScriptElement? scriptElement}) async {
if (WebFController.getControllerOfJSContextId(contextId) == null) {
return false;
}
Completer<bool> completer = Completer();
Pointer<Uint8> byteData = malloc.allocate(sizeOf<Uint8>() * bytes.length);
byteData.asTypedList(bytes.length).setAll(0, bytes);
assert(_allocatedPages.containsKey(contextId));
_EvaluateQuickjsByteCodeContext context = _EvaluateQuickjsByteCodeContext(completer, byteData);
Pointer<NativeFunction<NativeEvaluateQuickjsByteCodeCallback>> nativeCallback =
Pointer.fromFunction(handleEvaluateQuickjsByteCodeResult);
Pointer<NativeBindingObject> scriptElementPtr = scriptElement?.pointer! ?? nullptr;
_evaluateQuickjsByteCode(
_allocatedPages[contextId]!, byteData, bytes.length, scriptElementPtr, context, nativeCallback);
return completer.future;
}