mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? fragment(
    1. TransactionPartnerFragment value
    )?,
  2. TResult? user(
    1. TransactionPartnerUser value
    )?,
  3. TResult? telegramAds(
    1. TransactionPartnerTelegramAds value
    )?,
  4. TResult? telegramApi(
    1. TransactionPartnerTelegramApi value
    )?,
  5. TResult? other(
    1. TransactionPartnerOther value
    )?,
  6. TResult? affiliateProgram(
    1. TransactionPartnerAffiliateProgram value
    )?,
  7. TResult? chat(
    1. TransactionPartnerChat value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return null;
}

Implementation

@optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  TResult? Function(TransactionPartnerFragment value)? fragment,
  TResult? Function(TransactionPartnerUser value)? user,
  TResult? Function(TransactionPartnerTelegramAds value)? telegramAds,
  TResult? Function(TransactionPartnerTelegramApi value)? telegramApi,
  TResult? Function(TransactionPartnerOther value)? other,
  TResult? Function(TransactionPartnerAffiliateProgram value)?
  affiliateProgram,
  TResult? Function(TransactionPartnerChat value)? chat,
}) {
  final _that = this;
  switch (_that) {
    case TransactionPartnerFragment() when fragment != null:
      return fragment(_that);
    case TransactionPartnerUser() when user != null:
      return user(_that);
    case TransactionPartnerTelegramAds() when telegramAds != null:
      return telegramAds(_that);
    case TransactionPartnerTelegramApi() when telegramApi != null:
      return telegramApi(_that);
    case TransactionPartnerOther() when other != null:
      return other(_that);
    case TransactionPartnerAffiliateProgram() when affiliateProgram != null:
      return affiliateProgram(_that);
    case TransactionPartnerChat() when chat != null:
      return chat(_that);
    case _:
      return null;
  }
}