@@ -11,10 +11,10 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
1111 /// ref.books.watchAll();
1212 /// ```
1313 DataState <List <T >> watchAll ({
14- bool ? remote,
14+ bool remote = false ,
1515 Map <String , dynamic >? params,
1616 Map <String , String >? headers,
17- bool ? syncLocal,
17+ bool syncLocal = false ,
1818 String ? finder,
1919 DataRequestLabel ? label,
2020 }) {
@@ -42,7 +42,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
4242 /// ```
4343 DataState <T ?> watchOne (
4444 Object model, {
45- bool ? remote,
45+ bool remote = false ,
4646 Map <String , dynamic >? params,
4747 Map <String , String >? headers,
4848 AlsoWatch <T >? alsoWatch,
@@ -64,10 +64,10 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
6464 // notifiers
6565
6666 DataStateNotifier <List <T >> watchAllNotifier (
67- {bool ? remote,
67+ {bool remote = false ,
6868 Map <String , dynamic >? params,
6969 Map <String , String >? headers,
70- bool ? syncLocal,
70+ bool syncLocal = false ,
7171 String ? finder,
7272 DataRequestLabel ? label}) {
7373 final provider = watchAllProvider (
@@ -82,7 +82,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
8282 }
8383
8484 DataStateNotifier <T ?> watchOneNotifier (Object model,
85- {bool ? remote,
85+ {bool remote = false ,
8686 Map <String , dynamic >? params,
8787 Map <String , String >? headers,
8888 AlsoWatch <T >? alsoWatch,
@@ -103,16 +103,13 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
103103
104104 @protected
105105 DataStateNotifier <List <T >> _watchAllNotifier ({
106- bool ? remote,
106+ bool remote = false ,
107107 Map <String , dynamic >? params,
108108 Map <String , String >? headers,
109- bool ? syncLocal,
109+ bool syncLocal = false ,
110110 String ? finder,
111111 DataRequestLabel ? label,
112112 }) {
113- remote ?? = _remote;
114- syncLocal ?? = false ;
115-
116113 final maybeFinder = _internalHolder? .finders[finder]? .call (this );
117114 final finderFn = maybeFinder is DataFinderAll <T > ? maybeFinder : findAll;
118115
@@ -128,15 +125,15 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
128125 }
129126
130127 final notifier = DataStateNotifier <List <T >>(
131- data: DataState (_getUpdatedModels (), isLoading: remote! ),
128+ data: DataState (_getUpdatedModels (), isLoading: remote),
132129 );
133130
134131 notifier._reloadFn = () async {
135132 if (! notifier.mounted) {
136133 return ;
137134 }
138135
139- if (remote! ) {
136+ if (remote) {
140137 notifier.updateWith (isLoading: true );
141138 }
142139
@@ -146,6 +143,11 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
146143 headers: headers,
147144 syncLocal: syncLocal,
148145 label: label,
146+ // onSuccess: (response, label, _) async {
147+ // response;
148+ // print('got $response');
149+ // return [];
150+ // },
149151 onError: (e, label, _) async {
150152 try {
151153 await onError <List <T >>(e, label);
@@ -221,7 +223,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
221223 @protected
222224 DataStateNotifier <T ?> _watchOneNotifier (
223225 String key, {
224- bool ? remote,
226+ bool remote = false ,
225227 Map <String , dynamic >? params,
226228 Map <String , String >? headers,
227229 AlsoWatch <T >? alsoWatch,
@@ -230,7 +232,6 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
230232 }) {
231233 final id = core.getIdForKey (key);
232234
233- remote ?? = _remote;
234235 final maybeFinder = _internalHolder? .finders[finder]? .call (this );
235236 final finderFn = maybeFinder is DataFinderOne <T > ? maybeFinder : findOne;
236237
@@ -243,33 +244,30 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
243244
244245 // closure to get latest model and watchable relationship pairs
245246 T ? _getUpdatedModel () {
246- // return localAdapter.storage.readTxn(() {
247- // final model = findOneLocal(key);
248- // if (model != null) {
249- // // get all metas provided via `alsoWatch`
250- // final metas = alsoWatch
251- // ?.call(RelationshipGraphNode<T>())
252- // .whereType<RelationshipMeta>();
253-
254- // // recursively get applicable watch key pairs for each meta -
255- // // from top to bottom (e.g. `p`, `p.familia`, `p.familia.cottage`)
256- // alsoWatchPairs = {
257- // ...?metas
258- // ?.map((meta) => _getPairsForMeta(meta._top, model._key!))
259- // .nonNulls
260- // .expand((_) => _)
261- // };
262- // } else {
263- // // if there is no model nothing should be watched, reset pairs
264- // alsoWatchPairs = {};
265- // }
266- // return model;
267- // });
268- // TODO restore
247+ final model = findOneLocal (key);
248+ if (model != null ) {
249+ // get all metas provided via `alsoWatch`
250+ final metas = alsoWatch
251+ ? .call (RelationshipGraphNode <T >())
252+ .whereType <RelationshipMeta >();
253+
254+ // recursively get applicable watch key pairs for each meta -
255+ // from top to bottom (e.g. `p`, `p.familia`, `p.familia.cottage`)
256+ alsoWatchPairs = {
257+ ...? metas
258+ ? .map ((meta) => _getPairsForMeta (meta._top, model._key! ))
259+ .nonNulls
260+ .expand ((_) => _)
261+ };
262+ } else {
263+ // if there is no model nothing should be watched, reset pairs
264+ alsoWatchPairs = {};
265+ }
266+ return model;
269267 }
270268
271269 final notifier = DataStateNotifier <T ?>(
272- data: DataState (_getUpdatedModel (), isLoading: remote! ),
270+ data: DataState (_getUpdatedModel (), isLoading: remote),
273271 );
274272
275273 final alsoWatchNames = alsoWatch
@@ -283,7 +281,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
283281 notifier._reloadFn = () async {
284282 if (! notifier.mounted || id == null ) return ;
285283
286- if (remote! ) {
284+ if (remote) {
287285 notifier.updateWith (isLoading: true );
288286 }
289287
@@ -442,11 +440,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
442440 if (meta == null ) return {};
443441 print ('--- [read] _getPairsForMeta' );
444442
445- // TODO restore
446- final edges = []; // storage.edgesFor([(ownerKey, meta.name)]);
447- final relationshipKeys = {
448- for (final e in edges) e.from == ownerKey ? e.to : e.from
449- };
443+ final relationshipKeys = _edgesFor (ownerKey, meta.name);
450444
451445 return {
452446 // include key pairs of (owner, key)
@@ -462,14 +456,13 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
462456
463457 AutoDisposeStateNotifierProvider <DataStateNotifier <List <T >>,
464458 DataState <List <T >>> watchAllProvider ({
465- bool ? remote,
459+ bool remote = false ,
466460 Map <String , dynamic >? params,
467461 Map <String , String >? headers,
468- bool ? syncLocal,
462+ bool syncLocal = false ,
469463 String ? finder,
470464 DataRequestLabel ? label,
471465 }) {
472- remote ?? = _remote;
473466 return _watchAllProvider (
474467 WatchArgs (
475468 remote: remote,
@@ -498,7 +491,7 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
498491 AutoDisposeStateNotifierProvider <DataStateNotifier <T ?>, DataState <T ?>>
499492 watchOneProvider (
500493 Object model, {
501- bool ? remote,
494+ bool remote = false ,
502495 Map <String , dynamic >? params,
503496 Map <String , String >? headers,
504497 AlsoWatch <T >? alsoWatch,
@@ -507,7 +500,6 @@ mixin _WatchAdapter<T extends DataModelMixin<T>> on _RemoteAdapter<T> {
507500 }) {
508501 final key = core.getKeyForModelOrId (internalType, model);
509502
510- remote ?? = _remote;
511503 final relationshipMetas = alsoWatch
512504 ? .call (RelationshipGraphNode <T >())
513505 .whereType <RelationshipMeta >()
0 commit comments