maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult phoneNumber(
    1. CollectibleItemTypePhoneNumber value
    )?,
  2. TResult username(
    1. CollectibleItemTypeUsername value
    )?,
  3. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(CollectibleItemTypePhoneNumber value)? phoneNumber,
  TResult Function(CollectibleItemTypeUsername value)? username,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case CollectibleItemTypePhoneNumber.constructor:
      if (phoneNumber != null) {
        return phoneNumber.call(this as CollectibleItemTypePhoneNumber);
      }
      break;
    case CollectibleItemTypeUsername.constructor:
      if (username != null) {
        return username.call(this as CollectibleItemTypeUsername);
      }
      break;
  }
  return orElse.call();
}