Merge pull request #5 from huage2580/master

add sync eval method,update cmakelist for ios
This commit is contained in:
ekibun
2020-12-29 18:21:02 +08:00
committed by GitHub
2 changed files with 18 additions and 1 deletions

View File

@@ -15,7 +15,10 @@ set_target_properties(ffiquickjs PROPERTIES
VERSION 1.0.0
# "compatibility version" in semantic format in Mach-O binary file
SOVERSION 1.0.0
MACOSX_FRAMEWORK_BUNDLE_VERSION 100
MACOSX_FRAMEWORK_SHORT_VERSION_STRING 100
XCODE_ATTRIBUTE_DYLIB_INSTALL_NAME_BASE "@rpath"
PUBLIC_HEADER ffi.h
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development"
# RESOURCE "${RESOURCE_FILES}"
)
)

View File

@@ -128,4 +128,18 @@ class FlutterQjs {
jsFreeValue(_ctx, jsval);
return ret;
}
/// Evaluate js script (Sync).
dynamic evaluateSync(String command, {String name, int evalFlags}) {
_ensureEngine();
var jsval =
jsEval(_ctx, command, name ?? "<eval>", evalFlags ?? JSEvalType.GLOBAL);
if (jsIsException(jsval) != 0) {
jsFreeValue(_ctx, jsval);
throw Exception(parseJSException(_ctx));
}
var result = jsToDart(_ctx, jsval);
jsFreeValue(_ctx, jsval);
return result;
}
}