map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult approved(
    1. ChatJoinRequestResultApproved value
    ),
  2. required TResult declined(
    1. ChatJoinRequestResultDeclined value
    ),
  3. required TResult queued(
    1. ChatJoinRequestResultQueued value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(ChatJoinRequestResultApproved value) approved,
  required TResult Function(ChatJoinRequestResultDeclined value) declined,
  required TResult Function(ChatJoinRequestResultQueued value) queued,
}) {
  switch (getConstructor()) {
    case ChatJoinRequestResultApproved.constructor:
      return approved.call(this as ChatJoinRequestResultApproved);
    case ChatJoinRequestResultDeclined.constructor:
      return declined.call(this as ChatJoinRequestResultDeclined);
    case ChatJoinRequestResultQueued.constructor:
      return queued.call(this as ChatJoinRequestResultQueued);
  }
  throw StateError('not handled type Generator');
}