maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult http(
    1. ProxyTypeHttp value
    )?,
  2. TResult mtproto(
    1. ProxyTypeMtproto value
    )?,
  3. TResult socks5(
    1. ProxyTypeSocks5 value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ProxyTypeHttp value)? http,
  TResult Function(ProxyTypeMtproto value)? mtproto,
  TResult Function(ProxyTypeSocks5 value)? socks5,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ProxyTypeHttp.constructor:
      if (http != null) {
        return http.call(this as ProxyTypeHttp);
      }
      break;
    case ProxyTypeMtproto.constructor:
      if (mtproto != null) {
        return mtproto.call(this as ProxyTypeMtproto);
      }
      break;
    case ProxyTypeSocks5.constructor:
      if (socks5 != null) {
        return socks5.call(this as ProxyTypeSocks5);
      }
      break;
  }
  return orElse.call();
}