fix(llc): don't return cid in case name is null, minor improvements
Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
@@ -303,37 +303,17 @@ class Channel {
|
|||||||
|
|
||||||
/// Shortcut to get channel name.
|
/// Shortcut to get channel name.
|
||||||
///
|
///
|
||||||
/// If no name is set this returns the channel cid, else null.
|
|
||||||
///
|
|
||||||
/// {@macro name}
|
/// {@macro name}
|
||||||
String? get name {
|
String? get name => extraData['name'] as String?;
|
||||||
if (extraData.containsKey('name')) {
|
|
||||||
final name = extraData['name']! as String;
|
|
||||||
if (name.isNotEmpty) return name;
|
|
||||||
}
|
|
||||||
return cid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Channel [name] as a stream.
|
/// Channel [name] as a stream.
|
||||||
///
|
///
|
||||||
/// If no name is set the stream returns the channel cid.
|
|
||||||
///
|
|
||||||
/// The channel needs to be initialized.
|
/// The channel needs to be initialized.
|
||||||
///
|
///
|
||||||
/// {@macro name}
|
/// {@macro name}
|
||||||
Stream<String> get nameStream {
|
Stream<String?> get nameStream {
|
||||||
_checkInitialized();
|
_checkInitialized();
|
||||||
return state!.channelStateStream.map(
|
return extraDataStream.map((it) => it['name'] as String?);
|
||||||
(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!;
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Shortcut to get channel image.
|
/// Shortcut to get channel image.
|
||||||
@@ -348,9 +328,7 @@ class Channel {
|
|||||||
/// {@macro image}
|
/// {@macro image}
|
||||||
Stream<String?> get imageStream {
|
Stream<String?> get imageStream {
|
||||||
_checkInitialized();
|
_checkInitialized();
|
||||||
return state!.channelStateStream.map(
|
return extraDataStream.map((it) => it['image'] as String?);
|
||||||
(cs) => (cs.channel?.extraData['image'] as String?) ?? image,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The main Stream chat client.
|
/// The main Stream chat client.
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ void main() {
|
|||||||
late final client = MockStreamChatClient();
|
late final client = MockStreamChatClient();
|
||||||
const channelId = 'test-channel-id';
|
const channelId = 'test-channel-id';
|
||||||
const channelType = 'test-channel-type';
|
const channelType = 'test-channel-type';
|
||||||
const channelCid = '$channelType:$channelId';
|
|
||||||
late Channel channel;
|
late Channel channel;
|
||||||
|
|
||||||
setUpAll(() {
|
setUpAll(() {
|
||||||
@@ -93,11 +92,6 @@ void main() {
|
|||||||
|
|
||||||
test('should be able to get and set `name`', () {
|
test('should be able to get and set `name`', () {
|
||||||
expect(channel.extraData.isEmpty, isTrue);
|
expect(channel.extraData.isEmpty, isTrue);
|
||||||
expect(
|
|
||||||
channel.name,
|
|
||||||
channelCid,
|
|
||||||
reason: 'if name is not set then use channel id',
|
|
||||||
);
|
|
||||||
|
|
||||||
const name = 'Channel name';
|
const name = 'Channel name';
|
||||||
channel.name = name;
|
channel.name = name;
|
||||||
|
|||||||
Reference in New Issue
Block a user