@@ -16,15 +16,18 @@ abstract class NetworkBoundResources {
1616 Future Function (RequestType ? item)? saveCallResult,
1717 }) {
1818 assert (
19- RequestType == ResultType || (! (RequestType == ResultType ) && processResponse != null ),
19+ RequestType == ResultType ||
20+ (! (RequestType == ResultType ) && processResponse != null ),
2021 'You need to specify the `processResponse` when the types are different' ,
2122 );
2223 processResponse ?? = (value) => value as ResultType ;
2324 return Resource .asFuture <ResultType >(() async {
2425 final value = loadFromDb == null ? null : await loadFromDb ();
2526 final _shouldFetch = shouldFetch == null ? true : shouldFetch (value);
2627 return processResponse !(
27- _shouldFetch ? await _fetchFromNetwork (createCall, saveCallResult, value) : value,
28+ _shouldFetch
29+ ? await _fetchFromNetwork (createCall, saveCallResult, value)
30+ : value,
2831 );
2932 });
3033 }
@@ -34,34 +37,39 @@ abstract class NetworkBoundResources {
3437 FutureOr <ResultType > Function (RequestType result)? processResponse,
3538 }) async * {
3639 assert (
37- RequestType == ResultType || (! (RequestType == ResultType ) && processResponse != null ),
40+ RequestType == ResultType ||
41+ (! (RequestType == ResultType ) && processResponse != null ),
3842 'You need to specify the `processResponse` when the types are different' ,
3943 );
4044 processResponse ?? = (value) => value as ResultType ;
4145 var lastResult = Resource <ResultType >.loading ();
4246 yield lastResult;
4347 yield * createCall ().asyncMap (
4448 (event) async {
45- lastResult = lastResult.addData (Status .success, await processResponse !(event));
49+ lastResult =
50+ lastResult.addData (Status .success, await processResponse !(event));
4651 return lastResult;
4752 },
4853 );
4954 }
5055
51- static Stream <Resource <ResultType >> asResourceStream <ResultType , RequestType >({
56+ static Stream <Resource <ResultType >>
57+ asResourceStream <ResultType , RequestType >({
5258 required Stream <Resource <RequestType >> Function () createCall,
5359 FutureOr <ResultType > Function (RequestType ? result)? processResponse,
5460 }) async * {
5561 assert (
56- RequestType == ResultType || (! (RequestType == ResultType ) && processResponse != null ),
62+ RequestType == ResultType ||
63+ (! (RequestType == ResultType ) && processResponse != null ),
5764 'You need to specify the `processResponse` when the types are different' ,
5865 );
5966 processResponse ?? = (value) => value as ResultType ;
6067 var lastResult = Resource <ResultType >.loading ();
6168 yield lastResult;
6269 yield * createCall ().asyncMap (
6370 (event) async {
64- lastResult = lastResult.addData (event.status, await processResponse !(event.data),
71+ lastResult = lastResult.addData (
72+ event.status, await processResponse !(event.data),
6573 error: event.error);
6674 return lastResult;
6775 },
@@ -77,7 +85,8 @@ abstract class NetworkBoundResources {
7785 Future Function (RequestType item)? saveCallResult,
7886 }) {
7987 assert (
80- RequestType == ResultType || (! (RequestType == ResultType ) && processResponse != null ),
88+ RequestType == ResultType ||
89+ (! (RequestType == ResultType ) && processResponse != null ),
8190 'You need to specify the `processResponse` when the types are different' ,
8291 );
8392 assert (
@@ -104,8 +113,8 @@ abstract class NetworkBoundResources {
104113
105114 _sinkAdd (_result.sink, Resource .loading (), _resultIsClosed);
106115
107- Future <void > _fetchData (
108- Future < RequestType > Function () event, Sink <Resource <ResultType >> sink) async {
116+ Future <void > _fetchData (Future < RequestType > Function () event,
117+ Sink <Resource <ResultType >> sink) async {
109118 RequestType ? _event;
110119 Future <ResultType > proccessEvent () async {
111120 try {
@@ -133,13 +142,14 @@ abstract class NetworkBoundResources {
133142 try {
134143 var result = await _fetchFromNetwork (createCall, saveCallResult);
135144 // print("Fetching success");
136- fetchNetworkResource =
137- Resource < ResultType >. success ( data: await processResponse !(result));
145+ fetchNetworkResource = Resource < ResultType >. success (
146+ data: await processResponse !(result));
138147 _sinkAdd (sink, fetchNetworkResource, _resultIsClosed);
139148 // ignore: avoid_catches_without_on_clauses
140149 } catch (e) {
141150 // print("Fetching failed");
142- fetchNetworkResource = Resource <ResultType >.failed (data: null , error: e);
151+ fetchNetworkResource =
152+ Resource <ResultType >.failed (data: null , error: e);
143153 _sinkAdd (sink, fetchNetworkResource, _resultIsClosed);
144154 }
145155 }),
@@ -150,20 +160,26 @@ abstract class NetworkBoundResources {
150160 final eventResult = await proccessEvent ();
151161 if (shouldFetch (_event)) {
152162 // print("Fetch data and call loading");
153- _sinkAdd (sink, Resource <ResultType >.loading (data: eventResult), _resultIsClosed);
163+ _sinkAdd (sink, Resource <ResultType >.loading (data: eventResult),
164+ _resultIsClosed);
154165 try {
155166 var result = await _fetchFromNetwork (createCall, saveCallResult);
156167 // print("Fetching success");
157- _sinkAdd (sink, Resource <ResultType >.success (data: await processResponse !(result)),
168+ _sinkAdd (
169+ sink,
170+ Resource <ResultType >.success (
171+ data: await processResponse !(result)),
158172 _resultIsClosed);
159173 // ignore: avoid_catches_without_on_clauses
160174 } catch (e) {
161175 // print("Fetching failed");
162- _sinkAdd (sink, Resource <ResultType >.failed (data: null , error: e), _resultIsClosed);
176+ _sinkAdd (sink, Resource <ResultType >.failed (data: null , error: e),
177+ _resultIsClosed);
163178 }
164179 } else {
165180 // print("Fetching data its not necessary");
166- _sinkAdd (sink, Resource <ResultType >.success (data: eventResult), _resultIsClosed);
181+ _sinkAdd (sink, Resource <ResultType >.success (data: eventResult),
182+ _resultIsClosed);
167183 }
168184 }
169185 }
@@ -175,9 +191,11 @@ abstract class NetworkBoundResources {
175191 ),
176192 );
177193
178- localListener = localStream.listen ((value) => _sinkAdd (_result.sink, value, _resultIsClosed));
194+ localListener = localStream
195+ .listen ((value) => _sinkAdd (_result.sink, value, _resultIsClosed));
179196 } else if (loadFromDbFuture != null ) {
180- _fetchData (loadFromDbFuture, _result.sink).then ((value) => _result.close ());
197+ _fetchData (loadFromDbFuture, _result.sink)
198+ .then ((value) => _result.close ());
181199 }
182200
183201 // print("Call loading...");
@@ -188,7 +206,8 @@ abstract class NetworkBoundResources {
188206 if (lastResult == null ) {
189207 lastResult = event;
190208 } else {
191- lastResult = lastResult! .addData (event.status, event.data, error: event.error);
209+ lastResult =
210+ lastResult! .addData (event.status, event.data, error: event.error);
192211 }
193212 return lastResult! ;
194213 });
@@ -204,7 +223,8 @@ abstract class NetworkBoundResources {
204223 }
205224
206225 static Future <RequestType > _fetchFromNetwork <ResultType , RequestType >(
207- Future <RequestType > Function () createCall, Future Function (RequestType item)? saveCallResult,
226+ Future <RequestType > Function () createCall,
227+ Future Function (RequestType item)? saveCallResult,
208228 [RequestType ? unconfirmedResult]) async {
209229 if (saveCallResult != null && unconfirmedResult != null ) {
210230 await saveCallResult (unconfirmedResult);
0 commit comments