map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult basicGroup(
    1. ChatTypeBasicGroup value
    ),
  2. required TResult private(
    1. ChatTypePrivate value
    ),
  3. required TResult secret(
    1. ChatTypeSecret value
    ),
  4. required TResult supergroup(
    1. ChatTypeSupergroup value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(ChatTypeBasicGroup value) basicGroup,
  required TResult Function(ChatTypePrivate value) private,
  required TResult Function(ChatTypeSecret value) secret,
  required TResult Function(ChatTypeSupergroup value) supergroup,
}) {
  switch (getConstructor()) {
    case ChatTypeBasicGroup.constructor:
      return basicGroup.call(this as ChatTypeBasicGroup);
    case ChatTypePrivate.constructor:
      return private.call(this as ChatTypePrivate);
    case ChatTypeSecret.constructor:
      return secret.call(this as ChatTypeSecret);
    case ChatTypeSupergroup.constructor:
      return supergroup.call(this as ChatTypeSupergroup);
  }
  throw StateError('not handled type Generator');
}