getAll method

Future<List> getAll()

A list of dynamic which contains all objects in the database

Implementation

Future<List<dynamic>> getAll() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();

  if (prefs.getString(name) == null) return [];

  String? jsonString = prefs.getString(name);

  if (jsonString == null) return [];

  List<dynamic>? mapList = json.decode(jsonString);
  List<dynamic> objList = [];

  if (mapList == null) return [];

  for (dynamic object in mapList) {
    //Attempt to use the user provided fromJson function to rebuild an object
    try {
      objList.add(fromJson!(object));
    } catch (error) {
      objList.add(object);
    }
  }

  return objList;
}