copyWith method

ChannelState copyWith(
  1. {ChannelModel? channel,
  2. List<Message>? messages,
  3. List<Member>? members,
  4. List<Message> pinnedMessages = _emptyPinnedMessages,
  5. int? watcherCount,
  6. List<User>? watchers,
  7. List<Read>? read}
)

Creates a copy of ChannelState with specified attributes overridden.

Implementation

ChannelState copyWith({
  ChannelModel? channel,
  List<Message>? messages,
  List<Member>? members,
  List<Message> pinnedMessages = _emptyPinnedMessages,
  int? watcherCount,
  List<User>? watchers,
  List<Read>? read,
}) =>
    ChannelState(
      channel: channel ?? this.channel,
      messages: messages ?? this.messages,
      members: members ?? this.members,
      // Hack to avoid using the default value in case nothing is provided.
      // FIXME: Use non-nullable by default instead of empty list.
      pinnedMessages: pinnedMessages == _emptyPinnedMessages
          ? this.pinnedMessages
          : pinnedMessages,
      watcherCount: watcherCount ?? this.watcherCount,
      watchers: watchers ?? this.watchers,
      read: read ?? this.read,
    );