bee8f24269
Changelog: Restores never apply halfway
58 lines
1.3 KiB
Dart
58 lines
1.3 KiB
Dart
part of 'database.dart';
|
|
|
|
class StringMapConverter extends TypeConverter<Map<String, String>, String> {
|
|
const StringMapConverter();
|
|
|
|
@override
|
|
Map<String, String> fromSql(String fromDb) {
|
|
return Map<String, String>.from(json.decode(fromDb));
|
|
}
|
|
|
|
@override
|
|
String toSql(Map<String, String> value) {
|
|
return json.encode(value);
|
|
}
|
|
}
|
|
|
|
class StringListConverter extends TypeConverter<List<String>, String> {
|
|
const StringListConverter();
|
|
|
|
@override
|
|
List<String> fromSql(String fromDb) {
|
|
return List<String>.from(json.decode(fromDb));
|
|
}
|
|
|
|
@override
|
|
String toSql(List<String> value) {
|
|
return json.encode(value.toList());
|
|
}
|
|
}
|
|
|
|
class StringSetConverter extends TypeConverter<Set<String>, String> {
|
|
const StringSetConverter();
|
|
|
|
@override
|
|
Set<String> fromSql(String fromDb) {
|
|
return Set<String>.from(json.decode(fromDb));
|
|
}
|
|
|
|
@override
|
|
String toSql(Set<String> value) {
|
|
return json.encode(value.toList());
|
|
}
|
|
}
|
|
|
|
class JsonMapConverter extends TypeConverter<Map<String, dynamic>, String> {
|
|
const JsonMapConverter();
|
|
|
|
@override
|
|
Map<String, dynamic> fromSql(String fromDb) {
|
|
return Map<String, dynamic>.from(json.decode(fromDb));
|
|
}
|
|
|
|
@override
|
|
String toSql(Map<String, dynamic> value) {
|
|
return json.encode(value);
|
|
}
|
|
}
|