From 0afba79021cd602b09c3a4be4f6c96a4fd06153e Mon Sep 17 00:00:00 2001 From: fuwa Date: Wed, 24 Jul 2019 23:40:09 +0800 Subject: [PATCH] make rpc typed --- cyberwow/lib/controller/rpc/rpc.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cyberwow/lib/controller/rpc/rpc.dart b/cyberwow/lib/controller/rpc/rpc.dart index f34bd11..b66b1fa 100644 --- a/cyberwow/lib/controller/rpc/rpc.dart +++ b/cyberwow/lib/controller/rpc/rpc.dart @@ -81,8 +81,8 @@ Future rpcString(String method, {String field}) async { Future syncInfo() => rpc('sync_info'); Future syncInfoString() => rpcString('sync_info'); -Future targetHeight() => rpc('sync_info', field: 'target_height'); -Future height() => rpc('sync_info', field: 'height'); +Future targetHeight() => rpc('sync_info', field: 'target_height').then((x) => x as int); +Future height() => rpc('sync_info', field: 'height').then((x) => x as int); Future getInfo() => rpc('get_info'); @@ -102,10 +102,14 @@ Future> getInfoSimple() async { Future getInfoString() => rpcString('get_info'); -Future offline() => rpc('get_info', field: 'offline'); +Future offline() => rpc('get_info', field: 'offline').then((x) => x as bool); -Future outgoingConnectionsCount() => rpc('get_info', field: 'outgoing_connections_count'); -Future incomingConnectionsCount() => rpc('get_info', field: 'incoming_connections_count'); +Future outgoingConnectionsCount() => + rpc('get_info', field: 'outgoing_connections_count') + .then((x) => x as int); +Future incomingConnectionsCount() => + rpc('get_info', field: 'incoming_connections_count') + .then((x) => x as int); Future> getConnectionsSimple() async { final List _connections = await rpc('get_connections', field: 'connections');