JSFContextQJSImpl class

Inheritance

Constructors

JSFContextQJSImpl.create(JSFRuntime rt)
JSFContextQJSImpl.from(JSContext ctx)

Properties

ctx JSContext
真正的 JSContext 对象实现
getter/setter pairinherited
extension ↔ JSFExtension?
扩展
getter/setter pairinherited
globalObject → JSFValue
获取当前引擎的全局对象
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isJSC bool
当前 js 引擎是否是 JavaScriptCore
getter/setter pairinherited
isQJS bool
当前 js 引擎是否是 QuickJS
getter/setter pairinherited-setteroverride-getter
rtName String
获取当前引擎名称
no setterinherited
runtime → JSFRuntime
获取当前引擎实例
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addInterface(String funcName, dynamic func(dynamic args)) bool
在 JSContext 中添加一个 dart bridge 函数 func 支持异步函数, 对应 js 中返回 promise
override
dynamicToJSFValue(dynamic v) → JSFValue
将 dart 中的值转为 js 中的值 当前支持 Null、num、String、bool 类型 其他类型会被转为 String 类型
inherited
eval(String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1}) → JSFValue
执行 js 代码
override
evalAsync(String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1, Duration timeout = const Duration(seconds: 16)}) Future<JSFValue>
执行 js 代码,如果返回值是 promise,则返回一个 future 如果返回值不是 promise,则直接返回 future.value(返回值)
inherited
evalIsolate(String script, {JSFValue? thiz, String? sourceURL, int startingLineNumber = 1}) Future<JSFValue?>
在新的 isolate 中执行 js 代码
inherited
free() → void
释放 JSContext
override
loadExtension({bool console = true, bool xhr = true, bool fetch = true, bool timeout = true, bool interval = true, bool promise = true}) → JSFExtension?
加载扩展 默认加载 console, xhr, fetch, timeout, interval, promise 扩展 如果需要加载其他扩展,请使用 context.extension?.chain(XXXExtension(context))
inherited
makeBoolean(bool v) → JSFValue
在 dart 中创建一个 js 的 Boolean 对象
override
makeError(String errorStr) → JSFValue
在 dart 中创建一个 js 的 Error 对象
override
makeJsonString(String jsonStr) → JSFValue
在 dart 中创建一个 js 的 JSON 对象
override
makeNull() → JSFValue
在 dart 中创建一个 js 的 undefined 对象
override
makeNumber(int number) → JSFValue
在 dart 中创建一个 js 的 Number 对象
override
makeString(String str) → JSFValue
在 dart 中创建一个 js 的 String 对象
override
makeUndefined() → JSFValue
在 dart 中创建一个 js 的 undefined 对象
override
nativeFutureToPromise(Future fut) → JSFValue?
将 dart 中的 Future 转为 js 中的 promise
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeInterface(String funcName) bool
移除 JSContext 中添加的 dart bridge 函数
override
runPromise(JSFValue promise, {Duration timeout = const Duration(days: 1)}) Future<JSFValue>
手动执行一个 js promise 函数,返回 future
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited