maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult dataField(
    1. PassportElementErrorDataField value
    )?,
  2. TResult frontSide(
    1. PassportElementErrorFrontSide value
    )?,
  3. TResult reverseSide(
    1. PassportElementErrorReverseSide value
    )?,
  4. TResult selfie(
    1. PassportElementErrorSelfie value
    )?,
  5. TResult file(
    1. PassportElementErrorFile value
    )?,
  6. TResult files(
    1. PassportElementErrorFiles value
    )?,
  7. TResult translationFile(
    1. PassportElementErrorTranslationFile value
    )?,
  8. TResult translationFiles(
    1. PassportElementErrorTranslationFiles value
    )?,
  9. TResult unspecified(
    1. PassportElementErrorUnspecified value
    )?,
  10. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  TResult Function(PassportElementErrorDataField value)? dataField,
  TResult Function(PassportElementErrorFrontSide value)? frontSide,
  TResult Function(PassportElementErrorReverseSide value)? reverseSide,
  TResult Function(PassportElementErrorSelfie value)? selfie,
  TResult Function(PassportElementErrorFile value)? file,
  TResult Function(PassportElementErrorFiles value)? files,
  TResult Function(PassportElementErrorTranslationFile value)?
  translationFile,
  TResult Function(PassportElementErrorTranslationFiles value)?
  translationFiles,
  TResult Function(PassportElementErrorUnspecified value)? unspecified,
  required TResult orElse(),
}) {
  final _that = this;
  switch (_that) {
    case PassportElementErrorDataField() when dataField != null:
      return dataField(_that);
    case PassportElementErrorFrontSide() when frontSide != null:
      return frontSide(_that);
    case PassportElementErrorReverseSide() when reverseSide != null:
      return reverseSide(_that);
    case PassportElementErrorSelfie() when selfie != null:
      return selfie(_that);
    case PassportElementErrorFile() when file != null:
      return file(_that);
    case PassportElementErrorFiles() when files != null:
      return files(_that);
    case PassportElementErrorTranslationFile() when translationFile != null:
      return translationFile(_that);
    case PassportElementErrorTranslationFiles() when translationFiles != null:
      return translationFiles(_that);
    case PassportElementErrorUnspecified() when unspecified != null:
      return unspecified(_that);
    case _:
      return orElse();
  }
}