map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult hasUsername(
    1. PublicChatTypeHasUsername value
    ),
  2. required TResult isLocationBased(
    1. PublicChatTypeIsLocationBased value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(PublicChatTypeHasUsername value) hasUsername,
  required TResult Function(PublicChatTypeIsLocationBased value)
  isLocationBased,
}) {
  switch (getConstructor()) {
    case PublicChatTypeHasUsername.constructor:
      return hasUsername.call(this as PublicChatTypeHasUsername);
    case PublicChatTypeIsLocationBased.constructor:
      return isLocationBased.call(this as PublicChatTypeIsLocationBased);
  }
  throw StateError('not handled type Generator');
}