make enums fall back to unknown or null where possible
Futureproofing.
This commit is contained in:
parent
401b527714
commit
53d9c2b1e6
4 changed files with 28 additions and 6 deletions
|
|
@ -8,6 +8,7 @@ sealed class HistoryVisibilityContent extends Content
|
|||
with _$HistoryVisibilityContent {
|
||||
HistoryVisibilityContent._();
|
||||
factory HistoryVisibilityContent({
|
||||
@JsonKey(unknownEnumValue: HistoryVisibility.unknown)
|
||||
required HistoryVisibility historyVisibility,
|
||||
}) = _HistoryVisibilityContent;
|
||||
|
||||
|
|
@ -16,4 +17,4 @@ sealed class HistoryVisibilityContent extends Content
|
|||
}
|
||||
|
||||
@JsonEnum(fieldRename: FieldRename.snake)
|
||||
enum HistoryVisibility { invited, joined, shared, worldReadable }
|
||||
enum HistoryVisibility { invited, joined, shared, worldReadable, unknown }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ part "join_rules.g.dart";
|
|||
sealed class JoinRulesContent extends Content with _$JoinRulesContent {
|
||||
JoinRulesContent._();
|
||||
factory JoinRulesContent({
|
||||
required JoinRule joinRule,
|
||||
@JsonKey(unknownEnumValue: JoinRule.unknown) required JoinRule joinRule,
|
||||
@Default(ISet.empty()) ISet<AllowCondition> allow,
|
||||
}) = _JoinRulesContent;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ sealed class MembershipContent extends Content with _$MembershipContent {
|
|||
fromJson: MembershipContent.displaynameFromJson,
|
||||
)
|
||||
required String? displayName,
|
||||
@JsonKey(name: "membership") required MembershipStatus status,
|
||||
@JsonKey(name: "membership", unknownEnumValue: MembershipStatus.unknown)
|
||||
required MembershipStatus status,
|
||||
Uri? avatarUrl,
|
||||
String? reason,
|
||||
@Default(false) bool isDirect,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.text")
|
||||
factory MessageContent.text({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
}) = TextMessageContent;
|
||||
|
|
@ -27,6 +28,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.notice")
|
||||
factory MessageContent.notice({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
}) = NoticeMessageContent;
|
||||
|
|
@ -34,6 +36,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.emote")
|
||||
factory MessageContent.emote({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
}) = EmoteMessageContent;
|
||||
|
|
@ -41,6 +44,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.image")
|
||||
factory MessageContent.image({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
EncryptedFile? file,
|
||||
|
|
@ -52,6 +56,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.file")
|
||||
factory MessageContent.file({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
EncryptedFile? file,
|
||||
|
|
@ -63,6 +68,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.audio")
|
||||
factory MessageContent.audio({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
EncryptedFile? file,
|
||||
|
|
@ -74,6 +80,7 @@ sealed class MessageContent extends Content with _$MessageContent {
|
|||
@FreezedUnionValue("m.video")
|
||||
factory MessageContent.video({
|
||||
required String body,
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
MessageFormat? format,
|
||||
String? formattedBody,
|
||||
EncryptedFile? file,
|
||||
|
|
|
|||
Loading…
Reference in a new issue