fromJson method

  1. @override
UFeedThreadgateAllow fromJson(
  1. Map<String, dynamic> json
)

Implementation

@override
UFeedThreadgateAllow fromJson(Map<String, dynamic> json) {
  try {
    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),
      );
    }

    return UFeedThreadgateAllow.unknown(data: json);
  } catch (_) {
    return UFeedThreadgateAllow.unknown(data: json);
  }
}