Skip to content

Commit 40b6b86

Browse files
committed
feat: add error helper method
1 parent 2e1cb0a commit 40b6b86

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

lib/src/mime_media_provider.dart

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:enough_mail/enough_mail.dart';
22
import 'package:enough_media/enough_media.dart';
3+
import 'package:flutter/foundation.dart';
34

45
/// Provides a simple way to generate a media provider from a mime message
56
class MimeMediaProviderFactory {
@@ -14,13 +15,26 @@ class MimeMediaProviderFactory {
1415
name.isNotEmpty) {
1516
mediaType = MediaType.guessFromFileName(name);
1617
}
17-
if (mediaType.isText) {
18-
return TextMediaProvider(
19-
name, mediaType.text, mimePart.decodeContentText()!);
20-
} else {
21-
return MemoryMediaProvider(
22-
name, mediaType.text, mimePart.decodeContentBinary()!,
23-
description: mimeMessage.decodeSubject());
24-
}
18+
return mediaType.isText
19+
? TextMediaProvider(
20+
name, mediaType.text, mimePart.decodeContentText() ?? '')
21+
: MemoryMediaProvider(
22+
name,
23+
mediaType.text,
24+
mimePart.decodeContentBinary() ?? Uint8List(0),
25+
description: mimeMessage.decodeSubject(),
26+
);
2527
}
28+
29+
/// Creates a new [TextMediaProvider] or [MemoryMediaProvider] from
30+
/// the given [title] and [text].
31+
static MediaProvider fromError({
32+
required String title,
33+
required String text,
34+
}) =>
35+
TextMediaProvider(
36+
title,
37+
MediaType.textPlain.text,
38+
text,
39+
);
2640
}

0 commit comments

Comments
 (0)