@@ -6,7 +6,21 @@ import 'package:drift/drift.dart';
|
||||
/// by the sqlite backend.
|
||||
class ListConverter<T> extends TypeConverter<List<T>, String> {
|
||||
@override
|
||||
List<T>? mapToDart(String? fromDb) {
|
||||
List<T> fromSql(String fromDb) {
|
||||
return List<T>.from(jsonDecode(fromDb) ?? []);
|
||||
}
|
||||
|
||||
@override
|
||||
String toSql(List<T> value) {
|
||||
return jsonEncode(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// Maps a nullable [List] of type [T] into a nullable [String] understood
|
||||
/// by the sqlite backend.
|
||||
class NullableListConverter<T> extends TypeConverter<List<T>?, String?> {
|
||||
@override
|
||||
List<T>? fromSql(String? fromDb) {
|
||||
if (fromDb == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -14,7 +28,7 @@ class ListConverter<T> extends TypeConverter<List<T>, String> {
|
||||
}
|
||||
|
||||
@override
|
||||
String? mapToSql(List<T>? value) {
|
||||
String? toSql(List<T>? value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,21 @@ import 'package:drift/drift.dart';
|
||||
/// by the sqlite backend.
|
||||
class MapConverter<T> extends TypeConverter<Map<String, T>, String> {
|
||||
@override
|
||||
Map<String, T>? mapToDart(String? fromDb) {
|
||||
Map<String, T> fromSql(String fromDb) {
|
||||
return Map<String, T>.from(jsonDecode(fromDb) ?? {});
|
||||
}
|
||||
|
||||
@override
|
||||
String toSql(Map<String, T> value) {
|
||||
return jsonEncode(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// Maps a nullable [Map] of type [String], [T] into a nullable [String]
|
||||
/// understood by the sqlite backend.
|
||||
class NullableMapConverter<T> extends TypeConverter<Map<String, T>?, String?> {
|
||||
@override
|
||||
Map<String, T>? fromSql(String? fromDb) {
|
||||
if (fromDb == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -14,7 +28,7 @@ class MapConverter<T> extends TypeConverter<Map<String, T>, String> {
|
||||
}
|
||||
|
||||
@override
|
||||
String? mapToSql(Map<String, T>? value) {
|
||||
String? toSql(Map<String, T>? value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+3
-6
@@ -6,7 +6,7 @@ import 'package:stream_chat/stream_chat.dart';
|
||||
class MessageSendingStatusConverter
|
||||
extends TypeConverter<MessageSendingStatus, int> {
|
||||
@override
|
||||
MessageSendingStatus? mapToDart(int? fromDb) {
|
||||
MessageSendingStatus fromSql(int fromDb) {
|
||||
switch (fromDb) {
|
||||
case 0:
|
||||
return MessageSendingStatus.sending;
|
||||
@@ -22,13 +22,12 @@ class MessageSendingStatusConverter
|
||||
return MessageSendingStatus.deleting;
|
||||
case 6:
|
||||
return MessageSendingStatus.failed_delete;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return MessageSendingStatus.sending;
|
||||
}
|
||||
|
||||
@override
|
||||
int? mapToSql(MessageSendingStatus? value) {
|
||||
int toSql(MessageSendingStatus value) {
|
||||
switch (value) {
|
||||
case MessageSendingStatus.sending:
|
||||
return 0;
|
||||
@@ -44,8 +43,6 @@ class MessageSendingStatusConverter
|
||||
return 5;
|
||||
case MessageSendingStatus.failed_delete:
|
||||
return 6;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user