fromJson static method

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

Implementation

static Story? fromJson(Map<String, dynamic>? json) {
  if (json == null) {
    return null;
  }

  return Story(
    id: (json['id'] as int?) ?? 0,
    posterChatId: (json['poster_chat_id'] as int?) ?? 0,
    posterId: MessageSender.fromJson(tdMapFromJson(json['poster_id'])),
    date: (json['date'] as int?) ?? 0,
    isBeingPosted: (json['is_being_posted'] as bool?) ?? false,
    isBeingEdited: (json['is_being_edited'] as bool?) ?? false,
    isEdited: (json['is_edited'] as bool?) ?? false,
    isPostedToChatPage: (json['is_posted_to_chat_page'] as bool?) ?? false,
    isVisibleOnlyForSelf:
        (json['is_visible_only_for_self'] as bool?) ?? false,
    canBeAddedToAlbum: (json['can_be_added_to_album'] as bool?) ?? false,
    canBeDeleted: (json['can_be_deleted'] as bool?) ?? false,
    canBeEdited: (json['can_be_edited'] as bool?) ?? false,
    canBeForwarded: (json['can_be_forwarded'] as bool?) ?? false,
    canBeReplied: (json['can_be_replied'] as bool?) ?? false,
    canSetPrivacySettings:
        (json['can_set_privacy_settings'] as bool?) ?? false,
    canToggleIsPostedToChatPage:
        (json['can_toggle_is_posted_to_chat_page'] as bool?) ?? false,
    canGetStatistics: (json['can_get_statistics'] as bool?) ?? false,
    canGetInteractions: (json['can_get_interactions'] as bool?) ?? false,
    hasExpiredViewers: (json['has_expired_viewers'] as bool?) ?? false,
    repostInfo: StoryRepostInfo.fromJson(tdMapFromJson(json['repost_info'])),
    interactionInfo: StoryInteractionInfo.fromJson(
      tdMapFromJson(json['interaction_info']),
    ),
    chosenReactionType: ReactionType.fromJson(
      tdMapFromJson(json['chosen_reaction_type']),
    ),
    privacySettings: StoryPrivacySettings.fromJson(
      tdMapFromJson(json['privacy_settings']),
    ),
    content: StoryContent.fromJson(tdMapFromJson(json['content'])),
    areas: List<StoryArea>.from(
      tdListFromJson(json['areas'])
          .map((item) => StoryArea.fromJson(tdMapFromJson(item)))
          .whereType<StoryArea>(),
    ),
    caption: FormattedText.fromJson(tdMapFromJson(json['caption'])),
    albumIds: List<int>.from(
      tdListFromJson(
        json['album_ids'],
      ).map((item) => int.tryParse((item as dynamic)?.toString() ?? '') ?? 0),
    ),
  );
}