fromJson method
Implementation
@override
UFeedThreadgateAllow fromJson(Map<String, dynamic> json) {
if (MentionRule.validate(json)) {
return UFeedThreadgateAllow.mentionRule(
data: const MentionRuleConverter().fromJson(json),
);
}
if (FollowerRule.validate(json)) {
return UFeedThreadgateAllow.followerRule(
data: const FollowerRuleConverter().fromJson(json),
);
}
if (FollowingRule.validate(json)) {
return UFeedThreadgateAllow.followingRule(
data: const FollowingRuleConverter().fromJson(json),
);
}
if (ListRule.validate(json)) {
return UFeedThreadgateAllow.listRule(
data: const ListRuleConverter().fromJson(json),
);
}
// No known `$type` matched: preserve the payload verbatim as an unknown
// variant. A payload whose `$type` *does* match a known ref but fails to
// convert is intentionally left to throw, so malformed data surfaces
// instead of being silently degraded to `.unknown`.
return UFeedThreadgateAllow.unknown(data: json);
}