map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult directMessages(
    1. MessageTopicDirectMessages value
    ),
  2. required TResult forum(
    1. MessageTopicForum value
    ),
  3. required TResult savedMessages(
    1. MessageTopicSavedMessages value
    ),
  4. required TResult thread(
    1. MessageTopicThread value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(MessageTopicDirectMessages value) directMessages,
  required TResult Function(MessageTopicForum value) forum,
  required TResult Function(MessageTopicSavedMessages value) savedMessages,
  required TResult Function(MessageTopicThread value) thread,
}) {
  switch (getConstructor()) {
    case MessageTopicDirectMessages.constructor:
      return directMessages.call(this as MessageTopicDirectMessages);
    case MessageTopicForum.constructor:
      return forum.call(this as MessageTopicForum);
    case MessageTopicSavedMessages.constructor:
      return savedMessages.call(this as MessageTopicSavedMessages);
    case MessageTopicThread.constructor:
      return thread.call(this as MessageTopicThread);
  }
  throw StateError('not handled type Generator');
}