From 25a1d0ded41d279cc3973e1e2cc28ab9ba1ef7cf Mon Sep 17 00:00:00 2001 From: Felipe Date: Tue, 10 Dec 2024 13:07:52 -0300 Subject: [PATCH 1/2] chore: refactor hive base --- lib/core/source/common/hive_base_source.dart | 14 +++++++------- lib/core/source/project_local_source.dart | 6 ++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/core/source/common/hive_base_source.dart b/lib/core/source/common/hive_base_source.dart index d53dac6..6a70564 100644 --- a/lib/core/source/common/hive_base_source.dart +++ b/lib/core/source/common/hive_base_source.dart @@ -8,8 +8,8 @@ import 'package:mutex/mutex.dart'; import 'package:rxdart/rxdart.dart'; abstract class HiveBaseSource implements LocalStorage { - final Map Function(Model) dbParser; - final Model Function(Map) modelParser; + final String Function(Model) dbParser; + final Model Function(String) modelParser; final Mutex _mutex = Mutex(); Box? _box; @@ -35,7 +35,7 @@ abstract class HiveBaseSource implements LocalStorage { withBox((box) async { await box.put( key, - jsonEncode(dbParser(response)), + dbParser(response), ); return response; }); @@ -45,7 +45,7 @@ abstract class HiveBaseSource implements LocalStorage { withBox((box) async { await box.putAll( entries.mapValues( - (entry) => jsonEncode(dbParser(entry.value)), + (entry) => dbParser(entry.value), ), ); return getElements(); @@ -63,7 +63,7 @@ abstract class HiveBaseSource implements LocalStorage { ) => withBox((box) async { final data = box.get(key); - return data == null ? null : modelParser(jsonDecode(data)); + return data == null ? null : modelParser(data); }); @override @@ -73,14 +73,14 @@ abstract class HiveBaseSource implements LocalStorage { final box = await getBox(); yield await getElement(key); yield* box.watch(key: key).map( - (event) => modelParser(jsonDecode(event.value)), + (event) => modelParser(event.value), ); } @override Future> getElements() => withBox( (box) => Future.value( - box.values.map((e) => modelParser(jsonDecode(e))).toList(), + box.values.map((e) => modelParser(e)).toList(), ), ); diff --git a/lib/core/source/project_local_source.dart b/lib/core/source/project_local_source.dart index 76aabb7..c4ee51b 100644 --- a/lib/core/source/project_local_source.dart +++ b/lib/core/source/project_local_source.dart @@ -1,11 +1,13 @@ +import 'dart:convert'; + import 'package:flutter_template/core/model/project.dart'; import 'package:flutter_template/core/source/common/hive_base_source.dart'; class ProjectLocalSource extends HiveBaseSource { ProjectLocalSource() : super( - dbParser: (project) => project.toJson(), - modelParser: (project) => Project.fromJson(project), + dbParser: (project) => jsonEncode(project.toJson()), + modelParser: (project) => Project.fromJson(jsonDecode(project)), ); Future> replaceProjects(List elements) async { From c51ed06d56292ad561bd0de637b75f66c48c31d1 Mon Sep 17 00:00:00 2001 From: Felipe Date: Thu, 19 Dec 2024 15:42:27 -0300 Subject: [PATCH 2/2] fix: fvm --- .fvmrc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.fvmrc b/.fvmrc index 062f393..4efffa7 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,3 @@ { - "flutter": "3.22.1", - "flavors": {} + "flutter": "3.22.1" } \ No newline at end of file