@@ -50,80 +50,84 @@ class UserRepositoryImpl implements UserRepository {
5050 }) {
5151 return _execute (() => _remoteDataSource.loginUser (email, password))
5252 .flatMapResult ((result) {
53- final token = result! .token! ;
54- return _execute (() => _remoteDataSource
55- .getUserProfile (email, token)
56- .then ((user) => Tuple2 (user, token)));
57- }). flatMapResult (
58- (tuple) => _execute (
59- ( ) => _localDataSource
60- .saveUserAndToken (
53+ final token = result.token! ;
54+ return _execute (() => _remoteDataSource
55+ .getUserProfile (email, token)
56+ .then ((user) => Tuple2 (user, token)));
57+ })
58+ . flatMapResult (
59+ (tuple ) => _execute (
60+ () => _localDataSource .saveUserAndToken (
6161 _Mappers .userResponseToUserAndTokenEntity (
62- tuple! .item1,
62+ tuple.item1,
6363 tuple.item2,
6464 ),
65- )
66- . then ((value) => unit ),
67- ),
68- );
65+ ),
66+ ),
67+ )
68+ . asUnit ( );
6969 }
7070
7171 @override
72- Stream < Result < void >> registerUser ({
72+ Single_Result_Unit registerUser ({
7373 required String name,
7474 required String email,
7575 required String password,
7676 }) =>
77- _execute (() => _remoteDataSource.registerUser (name, email, password));
77+ _execute (() => _remoteDataSource.registerUser (name, email, password))
78+ .asUnit ();
7879
7980 @override
80- Stream < Result < void >> logout () =>
81- _execute <void >(() => _localDataSource.removeUserAndToken ());
81+ Single_Result_Unit logout () =>
82+ _execute <void >(() => _localDataSource.removeUserAndToken ()). asUnit () ;
8283
8384 @override
84- Stream <Result <void >> uploadImage (File image) {
85- return _userAndToken.flatMapResult ((userAndToken) {
86- if (userAndToken == null ) {
87- return Stream .value (
88- Failure (
89- (b) => b
90- ..message = 'Require login!'
91- ..error = 'Email or token is null' ,
92- ),
93- );
94- }
95-
96- return _execute (
97- () => _remoteDataSource.uploadImage (
98- image,
99- userAndToken.user.email,
100- userAndToken.token,
101- ),
102- ).flatMapResult (
103- (user) => _execute (
104- () => _localDataSource.saveUserAndToken (
105- _Mappers .userResponseToUserAndTokenEntity (
106- user! ,
107- userAndToken.token,
85+ Single_Result_Unit uploadImage (File image) {
86+ return _userAndToken
87+ .flatMapResult ((userAndToken) {
88+ if (userAndToken == null ) {
89+ return Single .value (
90+ Failure (
91+ message: 'Require login!' ,
92+ error: 'Email or token is null' ,
93+ ),
94+ );
95+ }
96+
97+ return _execute (
98+ () => _remoteDataSource
99+ .uploadImage (
100+ image,
101+ userAndToken.user.email,
102+ userAndToken.token,
103+ )
104+ .then ((user) => Tuple2 (user, userAndToken.token)),
105+ );
106+ })
107+ .flatMapResult (
108+ (tuple) => _execute (
109+ () => _localDataSource.saveUserAndToken (
110+ _Mappers .userResponseToUserAndTokenEntity (
111+ tuple.item1,
112+ tuple.item2,
113+ ),
108114 ),
109115 ),
110- ),
111- );
112- });
116+ )
117+ .asUnit ();
113118 }
114119
115120 @override
116- Stream < Result < void >> changePassword ({
121+ Single_Result_Unit changePassword ({
117122 required String password,
118123 required String newPassword,
119124 }) {
120125 return _userAndToken.flatMapResult ((userAndToken) {
121126 if (userAndToken == null ) {
122- return Stream .value (
127+ return Single .value (
123128 Failure (
124- (b) => b
125- ..message = 'Require login!'
126- ..error = 'Email or token is null' ,
129+ message: 'Require login!' ,
130+ error: 'Email or token is null' ,
127131 ),
128132 );
129133 }
@@ -135,12 +139,12 @@ class UserRepositoryImpl implements UserRepository {
135139 newPassword,
136140 userAndToken.token,
137141 ),
138- );
142+ ). asUnit () ;
139143 });
140144 }
141145
142146 @override
143- Stream < Result < void >> resetPassword ({
147+ Single_Result_Unit resetPassword ({
144148 required String email,
145149 required String token,
146150 required String newPassword,
@@ -151,17 +155,17 @@ class UserRepositoryImpl implements UserRepository {
151155 token: token,
152156 newPassword: newPassword,
153157 ),
154- );
158+ ). asUnit () ;
155159
156160 @override
157- Stream < Result < void >> sendResetPasswordEmail (String email) =>
158- _execute (() => _remoteDataSource.resetPassword (email));
161+ Single_Result_Unit sendResetPasswordEmail (String email) =>
162+ _execute (() => _remoteDataSource.resetPassword (email)). asUnit () ;
159163
160164 ///
161165 /// Helpers functions
162166 ///
163167
164- Stream <Result <UserAndTokenEntity ?>> get _userAndToken =>
168+ Single <Result <UserAndTokenEntity ?>> get _userAndToken =>
165169 _execute (() => _localDataSource.userAndToken);
166170
167171 ///
@@ -174,7 +178,7 @@ class UserRepositoryImpl implements UserRepository {
174178 .doOnError (
175179 _handleUnauthenticatedError) // TODO(single): remove singleOrError
176180 .singleOrError ()
177- .map <Result <T >>((value) => Success <T >. of (value : value))
181+ .map <Result <T >>((value) => Success <T >( value))
178182 .onErrorReturnWith (_errorToResult);
179183
180184 ///
@@ -192,14 +196,14 @@ class UserRepositoryImpl implements UserRepository {
192196 ///
193197 /// Convert error to [Failure]
194198 ///
195- static Failure < T > _errorToResult < T extends Object > (Object e, StackTrace s) {
199+ static Failure _errorToResult (Object e, StackTrace s) {
196200 if (e is RemoteDataSourceException ) {
197- return Failure . of (message: e.message, error: e);
201+ return Failure (message: e.message, error: e);
198202 }
199203 if (e is LocalDataSourceException ) {
200- return Failure . of (message: e.message, error: e);
204+ return Failure (message: e.message, error: e);
201205 }
202- return Failure . of (message: e.toString (), error: e);
206+ return Failure (message: e.toString (), error: e);
203207 }
204208
205209 ///
0 commit comments