map<TResult extends Object?> method

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

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

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

Implementation

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