From 702f7ee9379f20e6e9b5bb6069aac4ddec31b70d Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 11 Aug 2021 15:00:05 +0530 Subject: [PATCH] fix(llc): don't return `cid` in case `name` is null, minor improvements Signed-off-by: xsahil03x --- .../stream_chat/lib/src/client/channel.dart | 30 +++---------------- .../test/src/api/channel_test.dart | 6 ---- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 5eee8060..b22a57cc 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -303,37 +303,17 @@ class Channel { /// Shortcut to get channel name. /// - /// If no name is set this returns the channel cid, else null. - /// /// {@macro name} - String? get name { - if (extraData.containsKey('name')) { - final name = extraData['name']! as String; - if (name.isNotEmpty) return name; - } - return cid; - } + String? get name => extraData['name'] as String?; /// Channel [name] as a stream. /// - /// If no name is set the stream returns the channel cid. - /// /// The channel needs to be initialized. /// /// {@macro name} - Stream get nameStream { + Stream get nameStream { _checkInitialized(); - return state!.channelStateStream.map( - (cs) { - final extraData = cs.channel?.extraData; - if (extraData != null && extraData.containsKey('name')) { - final name = extraData['name']! as String; - if (name.isNotEmpty) return name; - } - // this can never be null once the channel is initialized - return name!; - }, - ); + return extraDataStream.map((it) => it['name'] as String?); } /// Shortcut to get channel image. @@ -348,9 +328,7 @@ class Channel { /// {@macro image} Stream get imageStream { _checkInitialized(); - return state!.channelStateStream.map( - (cs) => (cs.channel?.extraData['image'] as String?) ?? image, - ); + return extraDataStream.map((it) => it['image'] as String?); } /// The main Stream chat client. diff --git a/packages/stream_chat/test/src/api/channel_test.dart b/packages/stream_chat/test/src/api/channel_test.dart index 6b3dfda2..7c5386c6 100644 --- a/packages/stream_chat/test/src/api/channel_test.dart +++ b/packages/stream_chat/test/src/api/channel_test.dart @@ -39,7 +39,6 @@ void main() { late final client = MockStreamChatClient(); const channelId = 'test-channel-id'; const channelType = 'test-channel-type'; - const channelCid = '$channelType:$channelId'; late Channel channel; setUpAll(() { @@ -93,11 +92,6 @@ void main() { test('should be able to get and set `name`', () { expect(channel.extraData.isEmpty, isTrue); - expect( - channel.name, - channelCid, - reason: 'if name is not set then use channel id', - ); const name = 'Channel name'; channel.name = name;