@@ -5,7 +5,7 @@ import 'package:node_auth/data/exception/local_data_source_exception.dart';
5
5
import 'package:node_auth/data/local/entities/user_and_token_entity.dart' ;
6
6
import 'package:node_auth/data/local/local_data_source.dart' ;
7
7
import 'package:rx_shared_preferences/rx_shared_preferences.dart' ;
8
- import 'package:rxdart/rxdart .dart' ;
8
+ import 'package:rxdart_ext/rxdart_ext .dart' ;
9
9
10
10
class SharedPrefUtil implements LocalDataSource {
11
11
static const _kUserTokenKey = 'com.hoc.node_auth_flutter.user_and_token' ;
@@ -15,23 +15,28 @@ class SharedPrefUtil implements LocalDataSource {
15
15
const SharedPrefUtil (this ._rxPrefs, this ._crypto);
16
16
17
17
@override
18
- Future <void > removeUserAndToken () =>
19
- _rxPrefs.remove (_kUserTokenKey).onError <Object >((e, s) =>
20
- throw LocalDataSourceException ('Cannot delete user and token' , e, s));
18
+ Single <void > removeUserAndToken () => Single .fromCallable (
19
+ () => _rxPrefs.remove (_kUserTokenKey).onError <Object >((e, s) =>
20
+ throw LocalDataSourceException (
21
+ 'Cannot delete user and token' , e, s)),
22
+ );
21
23
22
24
@override
23
- Future <void > saveUserAndToken (UserAndTokenEntity userAndToken) {
24
- return _rxPrefs
25
- .write <UserAndTokenEntity >(_kUserTokenKey, userAndToken, _toString)
26
- .onError <Object >((e, s) =>
27
- throw LocalDataSourceException ('Cannot save user and token' , e, s));
28
- }
25
+ Single <void > saveUserAndToken (UserAndTokenEntity userAndToken) =>
26
+ Single .fromCallable (
27
+ () => _rxPrefs
28
+ .write <UserAndTokenEntity >(_kUserTokenKey, userAndToken, _toString)
29
+ .onError <Object >((e, s) => throw LocalDataSourceException (
30
+ 'Cannot save user and token' , e, s)),
31
+ );
29
32
30
33
@override
31
- Future <UserAndTokenEntity ?> get userAndToken => _rxPrefs
32
- .read <UserAndTokenEntity >(_kUserTokenKey, _toEntity)
33
- .onError <Object >((e, s) =>
34
- throw LocalDataSourceException ('Cannot read user and token' , e, s));
34
+ Single <UserAndTokenEntity ?> get userAndToken => Single .fromCallable (
35
+ () => _rxPrefs
36
+ .read <UserAndTokenEntity >(_kUserTokenKey, _toEntity)
37
+ .onError <Object >((e, s) => throw LocalDataSourceException (
38
+ 'Cannot read user and token' , e, s)),
39
+ );
35
40
36
41
@override
37
42
Stream <UserAndTokenEntity ?> get userAndToken$ => _rxPrefs
0 commit comments