mercuryjs library

Classes

AddEventListenerOptions
AssetsBundle
AsyncBindingObjectMethod
BaseModule
BindingBridge
BindingContext
BindingObject<T>
BindingObjectMethod
BindingObjectMethodSync
BindingObjectProperty
CloseEvent
reference: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/CloseEvent
CustomEvent
reference: http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#interface-CustomEvent Attention: Detail now only can be a string.
DartContext
DataBundle
DevToolsService
Dimension
DummyObject
Event
reference: https://developer.mozilla.org/zh-CN/docs/Web/API/Event
EventDispatchResult
EventListenerOptions
EventTarget
FetchModule
FileBundle
The bundle that source from local io.
Global
HttpCacheController
HttpCacheObject
HttpCacheObjectBlob
HttpClientCachedResponse
The HttpClientResponse that hits http cache.
HttpClientInterceptor
HttpClientStreamResponse
IsolateCommand
IsolateCommandItem
Mercury
MercuryBundle
MercuryContextController
MercuryController
MercuryDispatcher
MercuryDynamicLibrary
MercuryHttpOverrides
MercuryInfo
MercuryJavaScriptChannel
MercuryMethodChannel
MercuryModuleController
MessageEvent
reference: https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent
MethodChannelModule
ModuleManager
NativeBindingObject
NativeMercuryInfo
NativePerformanceEntry
NativePerformanceEntryList
NativeString
NativeTouch
NativeTouchList
NativeValue
NetworkBundle
PausablePeriodicTimer
A Timer that can be paused, resumed.
ProxyHttpClient
ProxyHttpClientRequest
QuickJSByteCodeCache
This is a bytecode cache class that caches bytecodes generated during JavaScript parsing. Use bytecode instead of JavaScript code string can result in a 58.1% reduction in loading time, particularly for larger JavaScript files (>= 1MB).
QuickJSByteCodeCacheObject
RawEvent
ScriptByteCode
UriParser

Mixins

TimerMixin

Properties

bindingCallMethodDispatchTable List<BindingCallFunc>
getter/setter pair
dartContext DartContext
getter/setter pair
EMPTY_STRING String
getter/setter pair
htmlContentType ContentType
final
isEnabledLog bool
final
javascriptContentType ContentType
final
mercuryBc1ContentType ContentType
final

Functions

allocateNewBindingObject() Pointer<NativeBindingObject>
allocateNewMercuryIsolate(int targetContextId) → void
castToType<T>(dynamic value) → T
clearIsolateCommand(int contextId) → void
createHttpHeaders({Map<String, List<String>>? initialHeaders}) HttpHeaders
createScreen(double width, double height) Pointer<Void>
defineDispatcher() → void
deleteFile(File file) Future<void>
dispatchIsolateTask(int contextId, Pointer<Void> context, Pointer<Void> callback) → void
disposeMercuryIsolate(int contextId) → void
doubleToInt64(double value) int
doubleToUint64(double value) int
emitModuleEvent(int contextId, String moduleName, Event? event, dynamic extra) → dynamic
evaluateQuickjsByteCode(int contextId, Uint8List bytes) bool
evaluateScripts(int contextId, String code, {String? url, int line = 0}) Future<bool>
flushIsolateCommand(MercuryContextController context) → void
flushIsolateCommandWithContextId(int contextId) → void
freeNativeString(Pointer<NativeString> pointer) → void
fromNativeValue(MercuryContextController view, Pointer<NativeValue> nativeValue) → dynamic
getAllocatedMercuryIsolate(int contextId) Pointer<Void>?
getEntrypointUri(int? contextId) Uri
getMercuryInfo() MercuryInfo
getMercuryMethodChannel() MethodChannel
getMercuryTemporaryPath() Future<String>
getOrigin(Uri uri) String
getPropertyNamesBindingCall(BindingObject bindingObject, List args) → dynamic
getterBindingCall(BindingObject bindingObject, List args) → dynamic
initBridge(MercuryContextController view) int
Init bridge
initDartDynamicLinking() → void
initDartIsolateContext(List<int> dartMethods) Pointer<Void>
invokeBindingMethodAsync(BindingObject bindingObject, List args) → dynamic
invokeBindingMethodFromNativeImpl(int contextId, Pointer<NativeBindingObject> nativeBindingObject, Pointer<NativeValue> returnValue, Pointer<NativeValue> nativeMethod, int argc, Pointer<NativeValue> argv) → void
invokeBindingMethodSync(BindingObject bindingObject, List args) → dynamic
invokeModule(Pointer<Void> callbackContext, MercuryController controller, String moduleName, String method, dynamic params, DartAsyncModuleCallback callback) → dynamic
invokeModuleEvent(int contextId, String moduleName, Event? event, dynamic extra) → dynamic
isGzip(List<int> data) bool
makeDartMethodsData() List<int>
makeNativeValueArguments(BindingObject ownerBindingObject, List args) Pointer<NativeValue>
nativeStringToString(Pointer<NativeString> pointer) String
newMercuryIsolateId() int
parseHTML(int contextId, String code) → void
readNativeIsolateCommandToDart(Pointer<Uint64> nativeCommandItems, int commandLength, int contextId) List<IsolateCommand>
registerDartContextFinalizer(DartContext dartContext) → void
registerPluginByteCode(Uint8List bytecode, String name) → void
resolveStringFromData(List<int> data, {Codec codec = utf8, bool preferSync = false}) FutureOr<String>
setTargetPlatformForDesktop() → void
If the current platform is a desktop platform that isn't yet supported by TargetPlatform, override the default platform to one that is. Otherwise, do nothing. No need to handle macOS, as it has now been added to TargetPlatform.
setterBindingCall(BindingObject bindingObject, List args) → dynamic
setupHttpOverrides(HttpClientInterceptor? httpClientInterceptor, {required int contextId}) MercuryHttpOverrides
stringToNativeString(String string) Pointer<NativeString>
toNativeValue(Pointer<NativeValue> target, dynamic value, [BindingObject? ownerBindingObject]) → void
tryParseHttpDate(String input) DateTime?
uint16ToString(Pointer<Uint16> pointer, int length) String
uInt64ToDouble(int value) double

Typedefs

AnonymousNativeFunction = dynamic Function(List args)
AsyncAnonymousNativeFunction = Future Function(List args)
AsyncBindingMethodCallback = Future Function(List args)
BindingCallFunc = dynamic Function(BindingObject bindingObject, List args)
BindingMethodCallback = dynamic Function(List args)
BindingObjectOperation = void Function(MercuryContextController? context, BindingObject bindingObject)
BindingPropertyGetter = dynamic Function()
BindingPropertySetter = void Function(dynamic value)
DartAllocateNewMercuryIsolate = Pointer<Void> Function(Pointer<Void>, int)
DartAsyncAnonymousFunctionCallback = void Function(Pointer<Void> callbackContext, Pointer<NativeValue> nativeValue, int contextId, Pointer<Utf8> errmsg)
DartAsyncCallback = void Function(Pointer<Void> callbackContext, int contextId, Pointer<Utf8> errmsg)
DartAsyncModuleCallback = Pointer<NativeValue> Function(Pointer<Void> callbackContext, int contextId, Pointer<Utf8> errmsg, Pointer<NativeValue> ptr)
DartClearIsolateCommandItems = void Function(Pointer<Void>)
DartCreateBindingObject = void Function(int contextId, Pointer<NativeBindingObject> nativeBindingObject, int type, Pointer<NativeValue> args, int argc)
DartCreateScreen = Pointer<Void> Function(double, double)
DartDispatchEvent = int Function(int contextId, Pointer<NativeBindingObject> nativeBindingObject, Pointer<NativeString> eventType, Pointer<Void> nativeEvent, int isCustomEvent)
DartDispatchIsolateTask = void Function(int contextId, Pointer<Void> context, Pointer<Void> callback)
DartDisposeMercuryIsolate = void Function(Pointer<Void>, Pointer<Void> mercuryIsolate)
DartEvaluateQuickjsByteCode = int Function(Pointer<Void>, Pointer<Uint8> bytes, int byteLen)
DartEvaluateScripts = int Function(Pointer<Void>, Pointer<NativeString> code, Pointer<Pointer<Uint8>> parsedBytecodes, Pointer<Uint64> bytecodeLen, Pointer<Utf8> url, int startLine)
DartFlushIsolateCommand = void Function(int contextId)
DartGetIsolateCommandItems = Pointer<Uint64> Function(Pointer<Void>)
DartGetIsolateCommandItemSize = int Function(Pointer<Void>)
DartGetMercuryInfo = Pointer<NativeMercuryInfo> Function()
DartInitDartDynamicLinking = void Function(Pointer<Void> data)
DartInitDartIsolateContext = Pointer<Void> Function(Pointer<Uint64> dartMethods, int methodsLength)
DartInvokeBindingMethodsFromDart = void Function(Pointer<NativeBindingObject> binding_object, Pointer<NativeValue> return_value, Pointer<NativeValue> method, int argc, Pointer<NativeValue> argv, Object bindingDartObject)
DartInvokeEventListener = Pointer<NativeValue> Function(Pointer<Void>, Pointer<NativeString>, Pointer<Utf8> eventType, Pointer<Void> nativeEvent, Pointer<NativeValue>)
DartNewMercuryIsolateId = int Function()
DartParseHTML = void Function(Pointer<Void>, Pointer<Utf8> code, int length)
DartRAFAsyncCallback = void Function(Pointer<Void>, int contextId, double data, Pointer<Utf8> errmsg)
DartRegisterDartContextFinalizer = void Function(Object object, Pointer<Void> dart_context)
DartRegisterPluginByteCode = void Function(Pointer<Uint8> bytes, int length, Pointer<Utf8> pluginName)
EventHandler = void Function(Event event)
EventTargetCreator = EventTarget Function(BindingContext? context)
InvokeBindingMethodsFromDart = Void Function(Pointer<NativeBindingObject> binding_object, Pointer<NativeValue> return_value, Pointer<NativeValue> method, Int32 argc, Pointer<NativeValue> argv, Handle bindingDartObject)
InvokeBindingsMethodsFromNative = Void Function(Int32 contextId, Pointer<NativeBindingObject> binding_object, Pointer<NativeValue> return_value, Pointer<NativeValue> method, Int32 argc, Pointer<NativeValue> argv)
InvokeModuleCallback = Future Function({Object? data, String? error})
JSErrorHandler = void Function(String message)
JSLogHandler = void Function(int level, String message)
LoadErrorHandler = void Function(FlutterError error, StackTrace stack)
LoadHandler = void Function(MercuryController controller)
MethodCallCallback = Future Function(String method, dynamic args)
ModuleCreator = BaseModule Function(ModuleManager? moduleManager)
NativeAllocateNewMercuryIsolate = Pointer<Void> Function(Pointer<Void>, Int32)
NativeAsyncAnonymousFunctionCallback = Void Function(Pointer<Void> callbackContext, Pointer<NativeValue> nativeValue, Int32 contextId, Pointer<Utf8> errmsg)
NativeAsyncCallback = Void Function(Pointer<Void> callbackContext, Int32 contextId, Pointer<Utf8> errmsg)
NativeAsyncModuleCallback = Pointer<NativeValue> Function(Pointer<Void> callbackContext, Int32 contextId, Pointer<Utf8> errmsg, Pointer<NativeValue> ptr)
NativeClearIsolateCommandItems = Void Function(Pointer<Void>)
NativeClearTimeout = Void Function(Int32 contextId, Int32)
NativeCreateBindingObject = Void Function(Int32 contextId, Pointer<NativeBindingObject> nativeBindingObject, Int32 type, Pointer<NativeValue> args, Int32 argc)
NativeCreateScreen = Pointer<Void> Function(Double, Double)
NativeDispatchIsolateTask = Void Function(Int32 contextId, Pointer<Void> context, Pointer<Void> callback)
NativeDisposeMercuryIsolate = Void Function(Pointer<Void>, Pointer<Void> mercuryIsolate)
NativeEvaluateQuickjsByteCode = Int8 Function(Pointer<Void>, Pointer<Uint8> bytes, Int32 byteLen)
NativeEvaluateScripts = Int8 Function(Pointer<Void>, Pointer<NativeString> code, Pointer<Pointer<Uint8>> parsedBytecodes, Pointer<Uint64> bytecodeLen, Pointer<Utf8> url, Int32 startLine)
NativeFlushIsolateCommand = Void Function(Int32 contextId)
NativeGetIsolateCommandItems = Pointer<Uint64> Function(Pointer<Void>)
NativeGetIsolateCommandItemSize = Int64 Function(Pointer<Void>)
NativeGetMercuryInfo = Pointer<NativeMercuryInfo> Function()
NativeInitDartDynamicLinking = Void Function(Pointer<Void> data)
NativeInitDartIsolateContext = Pointer<Void> Function(Pointer<Uint64> dartMethods, Int32 methodsLength)
NativeInvokeEventListener = Pointer<NativeValue> Function(Pointer<Void>, Pointer<NativeString>, Pointer<Utf8> eventType, Pointer<Void> nativeEvent, Pointer<NativeValue>)
NativeInvokeModule = Pointer<NativeValue> Function(Pointer<Void> callbackContext, Int32 contextId, Pointer<NativeString> module, Pointer<NativeString> method, Pointer<NativeValue> params, Pointer<NativeFunction<NativeAsyncModuleCallback>>)
NativeJSError = Void Function(Int32 contextId, Pointer<Utf8>)
NativeJSLog = Void Function(Int32 contextId, Int32 level, Pointer<Utf8>)
NativeNewMercuryIsolateId = Int64 Function()
NativeParseHTML = Void Function(Pointer<Void>, Pointer<Utf8> code, Int32 length)
NativeRAFAsyncCallback = Void Function(Pointer<Void> callbackContext, Int32 contextId, Double data, Pointer<Utf8> errmsg)
NativeRegisterDartContextFinalizer = Void Function(Handle object, Pointer<Void> dart_context)
NativeRegisterPluginByteCode = Void Function(Pointer<Uint8> bytes, Int32 length, Pointer<Utf8> pluginName)
NativeReloadApp = Void Function(Int32 contextId)
NativeSetInterval = Int32 Function(Pointer<Void> callbackContext, Int32 contextId, Pointer<NativeFunction<NativeAsyncCallback>>, Int32)
NativeSetTimeout = Int32 Function(Pointer<Void> callbackContext, Int32 contextId, Pointer<NativeFunction<NativeAsyncCallback>>, Int32)
NewModuleCreator = BaseModule Function(ModuleManager)
OnControllerCreated = void Function(MercuryController controller)
PendingCallback = void Function()
TitleChangedHandler = void Function(String title)