getObject<T> method
T
getObject<
T>( - String key, {
- required T defaultValue,
})
Implementation
T getObject<T>(String key, {required T defaultValue}) {
if (T == String) {
return getString(key, defaultValue: defaultValue as String) as T;
} else if (T == bool) {
return getBoolean(key, defaultValue: defaultValue as bool) as T;
} else if (T == int) {
return getInt(key, defaultValue: defaultValue as int) as T;
} else if (T == double) {
return getDouble(key, defaultValue: defaultValue as double) as T;
} else if (T == List<String>) {
return getStringList(key, defaultValue: defaultValue as List<String>)
as T;
} else {
// Try to deserialize from JSON
final jsonStr = getString(key, defaultValue: '');
if (jsonStr.isEmpty) return defaultValue;
try {
final decoded = jsonDecode(jsonStr);
return decoded as T? ?? defaultValue;
} catch (e) {
debugPrint('Cannot deserialize object of type $T');
return defaultValue;
}
}
}