@@ -9,9 +9,36 @@ import '../api/model/model.dart';
9
9
///
10
10
/// The data structures described here are implemented at [ChannelStoreImpl] .
11
11
mixin ChannelStore {
12
+ /// All known channels/streams, indexed by [ZulipStream.streamId] .
13
+ ///
14
+ /// The same [ZulipStream] objects also appear in [streamsByName] .
15
+ ///
16
+ /// For channels the self-user is subscribed to, the value is in fact
17
+ /// a [Subscription] object and also appears in [subscriptions] .
12
18
Map <int , ZulipStream > get streams;
19
+
20
+ /// All known channels/streams, indexed by [ZulipStream.name] .
21
+ ///
22
+ /// The same [ZulipStream] objects also appear in [streams] .
23
+ ///
24
+ /// For channels the self-user is subscribed to, the value is in fact
25
+ /// a [Subscription] object and also appears in [subscriptions] .
13
26
Map <String , ZulipStream > get streamsByName;
27
+
28
+ /// All the channels the self-user is subscribed to, indexed by
29
+ /// [Subscription.streamId] , with subscription details.
30
+ ///
31
+ /// The same [Subscription] objects are among the values in [streams]
32
+ /// and [streamsByName] .
14
33
Map <int , Subscription > get subscriptions;
34
+
35
+ /// The visibility policy that the self-user has for the given topic.
36
+ ///
37
+ /// This does not incorporate the user's channel-level policy,
38
+ /// and is mainly used in the implementation of other [ChannelStore] methods.
39
+ ///
40
+ /// For policies directly applicable in the UI, see
41
+ /// [isTopicVisibleInStream] and [isTopicVisible] .
15
42
UserTopicVisibilityPolicy topicVisibilityPolicy (int streamId, String topic);
16
43
17
44
/// Whether this topic should appear when already focusing on its stream.
0 commit comments