From 2d11e32700272627261b5a8a17d9f73f46cc3382 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Wed, 14 Apr 2021 15:34:52 +0200 Subject: [PATCH] fix json serialization nnbd --- .../stream_chat/lib/src/db/chat_persistence_client.dart | 2 +- packages/stream_chat/lib/src/models/attachment.dart | 4 ++-- packages/stream_chat/lib/src/models/channel_model.dart | 4 ++-- packages/stream_chat/lib/src/models/event.dart | 8 ++++---- packages/stream_chat/lib/src/models/message.dart | 8 ++++---- packages/stream_chat/lib/src/models/own_user.dart | 4 ++-- packages/stream_chat/lib/src/models/reaction.dart | 7 +++++-- packages/stream_chat/lib/src/models/serialization.dart | 6 ++---- packages/stream_chat/lib/src/models/user.dart | 4 ++-- 9 files changed, 24 insertions(+), 23 deletions(-) diff --git a/packages/stream_chat/lib/src/db/chat_persistence_client.dart b/packages/stream_chat/lib/src/db/chat_persistence_client.dart index 2646665a..3f999ed8 100644 --- a/packages/stream_chat/lib/src/db/chat_persistence_client.dart +++ b/packages/stream_chat/lib/src/db/chat_persistence_client.dart @@ -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); diff --git a/packages/stream_chat/lib/src/models/attachment.dart b/packages/stream_chat/lib/src/models/attachment.dart index 7a302447..877c292d 100644 --- a/packages/stream_chat/lib/src/models/attachment.dart +++ b/packages/stream_chat/lib/src/models/attachment.dart @@ -49,12 +49,12 @@ class Attachment extends Equatable { /// Create a new instance from a json factory Attachment.fromJson(Map json) => _$AttachmentFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + Serialization.moveToExtraDataFromRoot(json, topLevelFields)); /// Create a new instance from a db data factory Attachment.fromData(Map 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 diff --git a/packages/stream_chat/lib/src/models/channel_model.dart b/packages/stream_chat/lib/src/models/channel_model.dart index 5a45f48d..edd373ae 100644 --- a/packages/stream_chat/lib/src/models/channel_model.dart +++ b/packages/stream_chat/lib/src/models/channel_model.dart @@ -28,9 +28,9 @@ class ChannelModel { updatedAt = updatedAt ?? DateTime.now(); /// Create a new instance from a json - factory ChannelModel.fromJson(Map? json) => + factory ChannelModel.fromJson(Map json) => _$ChannelModelFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + Serialization.moveToExtraDataFromRoot(json, topLevelFields)); /// The id of this channel final String? id; diff --git a/packages/stream_chat/lib/src/models/event.dart b/packages/stream_chat/lib/src/models/event.dart index 295d6d8d..621464b6 100644 --- a/packages/stream_chat/lib/src/models/event.dart +++ b/packages/stream_chat/lib/src/models/event.dart @@ -31,11 +31,11 @@ class Event { }) : isLocal = true; /// Create a new instance from a json - factory Event.fromJson(Map? json) => + factory Event.fromJson(Map 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? json) => + factory EventChannel.fromJson(Map json) => _$EventChannelFromJson(Serialization.moveToExtraDataFromRoot( json, topLevelFields, - )!); + )); /// A paginated list of channel members final List? members; diff --git a/packages/stream_chat/lib/src/models/message.dart b/packages/stream_chat/lib/src/models/message.dart index f7fcfbf1..b25662c0 100644 --- a/packages/stream_chat/lib/src/models/message.dart +++ b/packages/stream_chat/lib/src/models/message.dart @@ -80,8 +80,8 @@ class Message extends Equatable { updatedAt = updatedAt ?? DateTime.now(); /// Create a new instance from a json - factory Message.fromJson(Map? json) => _$MessageFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + factory Message.fromJson(Map 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? json) => + factory TranslatedMessage.fromJson(Map json) => _$TranslatedMessageFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!, + Serialization.moveToExtraDataFromRoot(json, topLevelFields), ); /// A Map of diff --git a/packages/stream_chat/lib/src/models/own_user.dart b/packages/stream_chat/lib/src/models/own_user.dart index 2ba29aa0..d22f706e 100644 --- a/packages/stream_chat/lib/src/models/own_user.dart +++ b/packages/stream_chat/lib/src/models/own_user.dart @@ -37,8 +37,8 @@ class OwnUser extends User { ); /// Create a new instance from a json - factory OwnUser.fromJson(Map? json) => _$OwnUserFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + factory OwnUser.fromJson(Map json) => _$OwnUserFromJson( + Serialization.moveToExtraDataFromRoot(json, topLevelFields)); /// List of user devices @JsonKey( diff --git a/packages/stream_chat/lib/src/models/reaction.dart b/packages/stream_chat/lib/src/models/reaction.dart index cea2eaef..5bbd8944 100644 --- a/packages/stream_chat/lib/src/models/reaction.dart +++ b/packages/stream_chat/lib/src/models/reaction.dart @@ -19,8 +19,11 @@ class Reaction { }) : userId = userId ?? user.id; /// Create a new instance from a json - factory Reaction.fromJson(Map? json) => _$ReactionFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + factory Reaction.fromJson(Map json) => + _$ReactionFromJson(Serialization.moveToExtraDataFromRoot( + json, + topLevelFields, + )); /// The messageId to which the reaction belongs final String? messageId; diff --git a/packages/stream_chat/lib/src/models/serialization.dart b/packages/stream_chat/lib/src/models/serialization.dart index d7cb0ad8..6cd4cfbd 100644 --- a/packages/stream_chat/lib/src/models/serialization.dart +++ b/packages/stream_chat/lib/src/models/serialization.dart @@ -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? moveToExtraDataFromRoot( - Map? json, + static Map moveToExtraDataFromRoot( + Map json, List topLevelFields, ) { - if (json == null) return null; - final jsonClone = Map.from(json); final extraDataMap = Map.from(json) diff --git a/packages/stream_chat/lib/src/models/user.dart b/packages/stream_chat/lib/src/models/user.dart index ab690e8f..224e0f20 100644 --- a/packages/stream_chat/lib/src/models/user.dart +++ b/packages/stream_chat/lib/src/models/user.dart @@ -21,8 +21,8 @@ class User { updatedAt = updatedAt ?? DateTime.now(); /// Create a new instance from a json - factory User.fromJson(Map? json) => _$UserFromJson( - Serialization.moveToExtraDataFromRoot(json, topLevelFields)!); + factory User.fromJson(Map json) => _$UserFromJson( + Serialization.moveToExtraDataFromRoot(json, topLevelFields)); /// Use this named constructor to create a new user instance User.init(