loadSetting<T> function

Future<T?> loadSetting<T>(
  1. String name,
  2. T setting
)

Implementation

Future<T?> loadSetting<T>(String name, T setting) async{
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  String? settingJson = prefs.getString(name);
  if(settingJson == null){
    return null;
  }
  if(setting is Record){
    return setting.fromMap(JsonDecoder().convert(settingJson)) as T;
  }else if(setting is RecordList){
    return setting.fromMap(JsonDecoder().convert(settingJson)) as T;
  }else if(setting is DataSet){
    return setting.fromMap(JsonDecoder().convert(settingJson)) as T;
  }else{
    return JsonDecoder().convert(settingJson);
  }
}