Reaction.fromJson constructor

Reaction.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory Reaction.fromJson(Map<String, dynamic> json) {
  final reactionsData = json['reactions'];
  final reactionsList =
      reactionsData is List<dynamic> ? reactionsData : <dynamic>[];

  final reactionsListLength = reactionsList.length;
  final reactions = <String>[
    for (var i = 0; i < reactionsListLength; i++)
      if (reactionsList[i]?.toString() case final reaction?) reaction,
  ];

  final reactedUserIdsData = json['reactedUserIds'];
  final reactedUserIdList =
      reactedUserIdsData is List<dynamic> ? reactedUserIdsData : <dynamic>[];

  final reactedUserIdListLength = reactedUserIdList.length;
  final reactedUserIds = <String>[
    for (var i = 0; i < reactedUserIdListLength; i++)
      if (reactedUserIdList[i]?.toString() case final reactedUserId?)
        reactedUserId,
  ];

  return Reaction(
    reactions: reactions,
    reactedUserIds: reactedUserIds,
  );
}