maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult array(
    1. JsonValueArray value
    )?,
  2. TResult $boolean(
    1. JsonValueBoolean value
    )?,
  3. TResult $null(
    1. JsonValueNull value
    )?,
  4. TResult number(
    1. JsonValueNumber value
    )?,
  5. TResult $object(
    1. JsonValueObject value
    )?,
  6. TResult $string(
    1. JsonValueString value
    )?,
  7. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(JsonValueArray value)? array,
  TResult Function(JsonValueBoolean value)? $boolean,
  TResult Function(JsonValueNull value)? $null,
  TResult Function(JsonValueNumber value)? number,
  TResult Function(JsonValueObject value)? $object,
  TResult Function(JsonValueString value)? $string,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case JsonValueArray.constructor:
      if (array != null) {
        return array.call(this as JsonValueArray);
      }
      break;
    case JsonValueBoolean.constructor:
      if ($boolean != null) {
        return $boolean.call(this as JsonValueBoolean);
      }
      break;
    case JsonValueNull.constructor:
      if ($null != null) {
        return $null.call(this as JsonValueNull);
      }
      break;
    case JsonValueNumber.constructor:
      if (number != null) {
        return number.call(this as JsonValueNumber);
      }
      break;
    case JsonValueObject.constructor:
      if ($object != null) {
        return $object.call(this as JsonValueObject);
      }
      break;
    case JsonValueString.constructor:
      if ($string != null) {
        return $string.call(this as JsonValueString);
      }
      break;
  }
  return orElse.call();
}