map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult data(
    1. CallbackQueryPayloadData value
    ),
  2. required TResult dataWithPassword(
    1. CallbackQueryPayloadDataWithPassword value
    ),
  3. required TResult game(
    1. CallbackQueryPayloadGame value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(CallbackQueryPayloadData value) data,
  required TResult Function(CallbackQueryPayloadDataWithPassword value)
  dataWithPassword,
  required TResult Function(CallbackQueryPayloadGame value) game,
}) {
  switch (getConstructor()) {
    case CallbackQueryPayloadData.constructor:
      return data.call(this as CallbackQueryPayloadData);
    case CallbackQueryPayloadDataWithPassword.constructor:
      return dataWithPassword.call(
        this as CallbackQueryPayloadDataWithPassword,
      );
    case CallbackQueryPayloadGame.constructor:
      return game.call(this as CallbackQueryPayloadGame);
  }
  throw StateError('not handled type Generator');
}