From 097e118e5dd009985caed4097a55a00e2686ef2a Mon Sep 17 00:00:00 2001 From: ekibun Date: Sun, 27 Sep 2020 01:28:02 +0800 Subject: [PATCH] dart format --- example/test/widget_test.dart | 4 +-- lib/ffi.dart | 62 ++++++++++++++++++++++------------- lib/flutter_qjs.dart | 21 +++++++++--- lib/wrapper.dart | 15 ++++++--- pubspec.yaml | 2 +- 5 files changed, 71 insertions(+), 33 deletions(-) diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart index a335416..05bf9bc 100644 --- a/example/test/widget_test.dart +++ b/example/test/widget_test.dart @@ -18,8 +18,8 @@ void main() { // Verify that platform version is retrieved. expect( find.byWidgetPredicate( - (Widget widget) => widget is Text && - widget.data.startsWith('Running on:'), + (Widget widget) => + widget is Text && widget.data.startsWith('Running on:'), ), findsOneWidget, ); diff --git a/lib/ffi.dart b/lib/ffi.dart index e11e0bf..7b15966 100644 --- a/lib/ffi.dart +++ b/lib/ffi.dart @@ -3,7 +3,7 @@ * @Author: ekibun * @Date: 2020-09-19 10:29:04 * @LastEditors: ekibun - * @LastEditTime: 2020-09-24 23:25:32 + * @LastEditTime: 2020-09-27 01:12:16 */ import 'dart:ffi'; import 'dart:io'; @@ -84,16 +84,20 @@ Pointer jsThrowInternalError(Pointer ctx, String message) { } /// JSValue *jsEXCEPTION() -final Pointer Function() jsEXCEPTION = - qjsLib.lookup>("jsEXCEPTION").asFunction(); +final Pointer Function() jsEXCEPTION = qjsLib + .lookup>("jsEXCEPTION") + .asFunction(); /// JSValue *jsUNDEFINED() -final Pointer Function() jsUNDEFINED = - qjsLib.lookup>("jsUNDEFINED").asFunction(); +final Pointer Function() jsUNDEFINED = qjsLib + .lookup>("jsUNDEFINED") + .asFunction(); /// JSRuntime *jsNewRuntime(JSChannel channel) final Pointer Function( - Pointer>, + Pointer< + NativeFunction< + Pointer Function(Pointer ctx, Pointer method, Pointer argv)>>, ) _jsNewRuntime = qjsLib .lookup< NativeFunction< @@ -209,7 +213,13 @@ Pointer jsEval( ) { var utf8input = Utf8.toUtf8(input); var utf8filename = Utf8.toUtf8(filename); - var val = _jsEval(ctx, utf8input, Utf8.strlen(utf8input), utf8filename, evalFlags); + var val = _jsEval( + ctx, + utf8input, + Utf8.strlen(utf8input), + utf8filename, + evalFlags, + ); free(utf8input); free(utf8filename); runtimeOpaques[jsGetRuntime(ctx)].port.sendPort.send('eval'); @@ -532,18 +542,23 @@ final Pointer Function( /// int jsDefinePropertyValue(JSContext *ctx, JSValueConst *this_obj, /// JSAtom prop, JSValue *val, int flags) -final int Function(Pointer ctx, Pointer thisObj, int prop, Pointer val, int flag) - jsDefinePropertyValue = qjsLib - .lookup< - NativeFunction< - Int32 Function( - Pointer, - Pointer, - Uint32, - Pointer, - Int32, - )>>("jsDefinePropertyValue") - .asFunction(); +final int Function( + Pointer ctx, + Pointer thisObj, + int prop, + Pointer val, + int flag, +) jsDefinePropertyValue = qjsLib + .lookup< + NativeFunction< + Int32 Function( + Pointer, + Pointer, + Uint32, + Pointer, + Int32, + )>>("jsDefinePropertyValue") + .asFunction(); /// void jsFreeAtom(JSContext *ctx, JSAtom v) final Pointer Function( @@ -618,8 +633,9 @@ final int Function( .asFunction(); /// uint32_t sizeOfJSValue() -final int Function() _sizeOfJSValue = - qjsLib.lookup>("sizeOfJSValue").asFunction(); +final int Function() _sizeOfJSValue = qjsLib + .lookup>("sizeOfJSValue") + .asFunction(); final sizeOfJSValue = _sizeOfJSValue(); @@ -664,7 +680,9 @@ Pointer jsCall( Pointer thisObj, List argv, ) { - Pointer jsArgs = allocate(count: argv.length > 0 ? sizeOfJSValue * argv.length : 1); + Pointer jsArgs = allocate( + count: argv.length > 0 ? sizeOfJSValue * argv.length : 1, + ); for (int i = 0; i < argv.length; ++i) { Pointer jsArg = argv[i]; setJSValueList(jsArgs, i, jsArg); diff --git a/lib/flutter_qjs.dart b/lib/flutter_qjs.dart index 4cb27aa..757799d 100644 --- a/lib/flutter_qjs.dart +++ b/lib/flutter_qjs.dart @@ -3,7 +3,7 @@ * @Author: ekibun * @Date: 2020-08-08 08:29:09 * @LastEditors: ekibun - * @LastEditTime: 2020-09-21 23:59:40 + * @LastEditTime: 2020-09-27 01:08:14 */ import 'dart:async'; import 'dart:ffi'; @@ -33,7 +33,12 @@ class FlutterQjs { if (method.address != 0) { if (methodHandler == null) throw Exception("No MethodHandler"); var argvs = jsToDart(ctx, argv); - return dartToJs(ctx, methodHandler(Utf8.fromUtf8(method.cast()), argvs)); + return dartToJs( + ctx, + methodHandler( + Utf8.fromUtf8(method.cast()), + argvs, + )); } if (moduleHandler == null) throw Exception("No ModuleHandler"); var ret = Utf8.toUtf8(moduleHandler(Utf8.fromUtf8(argv.cast()))); @@ -42,7 +47,10 @@ class FlutterQjs { }); return ret; } catch (e, stack) { - var err = jsThrowInternalError(ctx, e.toString() + "\n" + stack.toString()); + var err = jsThrowInternalError( + ctx, + e.toString() + "\n" + stack.toString(), + ); if (method.address == 0) { jsFreeValue(ctx, err); return Pointer.fromAddress(0); @@ -92,7 +100,12 @@ class FlutterQjs { break; } } - List jsPromises = runtimeOpaques[_rt].ref.where((v) => v is JSPromise).toList(); + List jsPromises = runtimeOpaques[_rt] + .ref + .where( + (v) => v is JSPromise, + ) + .toList(); for (JSPromise jsPromise in jsPromises) { if (jsPromise.checkResolveReject()) { jsPromise.release(); diff --git a/lib/wrapper.dart b/lib/wrapper.dart index 8fe8357..9b91977 100644 --- a/lib/wrapper.dart +++ b/lib/wrapper.dart @@ -68,7 +68,11 @@ class JSFunction extends JSRefValue { @override noSuchMethod(Invocation invocation) { if (val == null) return; - List args = invocation.positionalArguments.map((e) => dartToJs(ctx, e)).toList(); + List args = invocation.positionalArguments + .map( + (e) => dartToJs(ctx, e), + ) + .toList(); Pointer jsRet = jsCall(ctx, val, null, args); for (Pointer jsArg in args) { jsFreeValue(ctx, jsArg); @@ -109,7 +113,8 @@ String parseJSException(Pointer ctx, {Pointer e}) { Pointer dartToJs(Pointer ctx, dynamic val, {Map cache}) { if (val is Future) { var resolvingFunc = allocate(count: sizeOfJSValue * 2); - var resolvingFunc2 = Pointer.fromAddress(resolvingFunc.address + sizeOfJSValue); + var resolvingFunc2 = + Pointer.fromAddress(resolvingFunc.address + sizeOfJSValue); var ret = jsNewPromiseCapability(ctx, resolvingFunc); var res = jsToDart(ctx, resolvingFunc); var rej = jsToDart(ctx, resolvingFunc2); @@ -235,7 +240,8 @@ dynamic jsToDart(Pointer ctx, Pointer val, {Map cache}) { var jsAtom = jsPropertyEnumGetAtom(ptab.value, i); var jsAtomValue = jsAtomToValue(ctx, jsAtom); var jsProp = jsGetProperty(ctx, val, jsAtom); - ret[jsToDart(ctx, jsAtomValue, cache: cache)] = jsToDart(ctx, jsProp, cache: cache); + ret[jsToDart(ctx, jsAtomValue, cache: cache)] = + jsToDart(ctx, jsProp, cache: cache); jsFreeValue(ctx, jsAtomValue); jsFreeValue(ctx, jsProp); jsFreeAtom(ctx, jsAtom); @@ -273,7 +279,8 @@ Pointer jsNewContextWithPromsieWrapper(Pointer rt) { runtimeOpaques[rt].promsieToFuture = (promise) { var completer = Completer(); var wrapper = promiseWrapper.val; - if (wrapper == null) completer.completeError(Exception("Runtime has been released!")); + if (wrapper == null) + completer.completeError(Exception("Runtime has been released!")); var jsPromise = jsCall(ctx, wrapper, null, [promise]); runtimeOpaques[rt].ref.add(JSPromise(ctx, jsPromise, completer)); jsFreeValue(ctx, jsPromise); diff --git a/pubspec.yaml b/pubspec.yaml index 50e6b6d..1fe098b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - ffi: 0.1.3 + ffi: ^0.1.3 dev_dependencies: flutter_test: