fix json serialization nnbd

This commit is contained in:
Salvatore Giordano
2021-04-14 15:34:52 +02:00
parent 45c1e31509
commit 2d11e32700
9 changed files with 24 additions and 23 deletions
@@ -237,7 +237,7 @@ abstract class ChatPersistenceClient {
final updateMembersFuture = channelStates.map((it) {
final cid = it.channel!.cid;
final members = it.members.where((it) => it != null);
final members = it.members;
return updateMembers(cid, members.toList(growable: false));
}).toList(growable: false);
@@ -49,12 +49,12 @@ class Attachment extends Equatable {
/// Create a new instance from a json
factory Attachment.fromJson(Map<String, dynamic> json) =>
_$AttachmentFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
Serialization.moveToExtraDataFromRoot(json, topLevelFields));
/// Create a new instance from a db data
factory Attachment.fromData(Map<String, dynamic> json) =>
_$AttachmentFromJson(Serialization.moveToExtraDataFromRoot(
json, topLevelFields + dbSpecificTopLevelFields)!);
json, topLevelFields + dbSpecificTopLevelFields));
///The attachment type based on the URL resource. This can be: audio,
///image or video
@@ -28,9 +28,9 @@ class ChannelModel {
updatedAt = updatedAt ?? DateTime.now();
/// Create a new instance from a json
factory ChannelModel.fromJson(Map<String, dynamic>? json) =>
factory ChannelModel.fromJson(Map<String, dynamic> json) =>
_$ChannelModelFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
Serialization.moveToExtraDataFromRoot(json, topLevelFields));
/// The id of this channel
final String? id;
@@ -31,11 +31,11 @@ class Event {
}) : isLocal = true;
/// Create a new instance from a json
factory Event.fromJson(Map<String, dynamic>? json) =>
factory Event.fromJson(Map<String, dynamic> json) =>
_$EventFromJson(Serialization.moveToExtraDataFromRoot(
json,
topLevelFields,
)!)
))
..isLocal = false;
/// The type of the event
@@ -197,11 +197,11 @@ class EventChannel extends ChannelModel {
);
/// Create a new instance from a json
factory EventChannel.fromJson(Map<String, dynamic>? json) =>
factory EventChannel.fromJson(Map<String, dynamic> json) =>
_$EventChannelFromJson(Serialization.moveToExtraDataFromRoot(
json,
topLevelFields,
)!);
));
/// A paginated list of channel members
final List<Member>? members;
@@ -80,8 +80,8 @@ class Message extends Equatable {
updatedAt = updatedAt ?? DateTime.now();
/// Create a new instance from a json
factory Message.fromJson(Map<String, dynamic>? json) => _$MessageFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
factory Message.fromJson(Map<String, dynamic> json) => _$MessageFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields));
/// The message ID. This is either created by Stream or set client side when
/// the message is added.
@@ -389,9 +389,9 @@ class TranslatedMessage extends Message {
TranslatedMessage(this.i18n) : super();
/// Create a new instance from a json
factory TranslatedMessage.fromJson(Map<String, dynamic>? json) =>
factory TranslatedMessage.fromJson(Map<String, dynamic> json) =>
_$TranslatedMessageFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!,
Serialization.moveToExtraDataFromRoot(json, topLevelFields),
);
/// A Map of
@@ -37,8 +37,8 @@ class OwnUser extends User {
);
/// Create a new instance from a json
factory OwnUser.fromJson(Map<String, dynamic>? json) => _$OwnUserFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
factory OwnUser.fromJson(Map<String, dynamic> json) => _$OwnUserFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields));
/// List of user devices
@JsonKey(
@@ -19,8 +19,11 @@ class Reaction {
}) : userId = userId ?? user.id;
/// Create a new instance from a json
factory Reaction.fromJson(Map<String, dynamic>? json) => _$ReactionFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
factory Reaction.fromJson(Map<String, dynamic> json) =>
_$ReactionFromJson(Serialization.moveToExtraDataFromRoot(
json,
topLevelFields,
));
/// The messageId to which the reaction belongs
final String? messageId;
@@ -14,12 +14,10 @@ class Serialization {
users?.map((u) => u.id).toList();
/// Takes unknown json keys and puts them in the `extra_data` key
static Map<String, dynamic>? moveToExtraDataFromRoot(
Map<String, dynamic>? json,
static Map<String, dynamic> moveToExtraDataFromRoot(
Map<String, dynamic> json,
List<String> topLevelFields,
) {
if (json == null) return null;
final jsonClone = Map<String, dynamic>.from(json);
final extraDataMap = Map<String, dynamic>.from(json)
@@ -21,8 +21,8 @@ class User {
updatedAt = updatedAt ?? DateTime.now();
/// Create a new instance from a json
factory User.fromJson(Map<String, dynamic>? json) => _$UserFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields)!);
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(
Serialization.moveToExtraDataFromRoot(json, topLevelFields));
/// Use this named constructor to create a new user instance
User.init(