fromJson static method

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

Implementation

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

  return InputMessagePoll(
    question: FormattedText.fromJson(tdMapFromJson(json['question'])),
    options: List<InputPollOption>.from(
      tdListFromJson(json['options'])
          .map((item) => InputPollOption.fromJson(tdMapFromJson(item)))
          .whereType<InputPollOption>(),
    ),
    description: FormattedText.fromJson(tdMapFromJson(json['description'])),
    media: InputPollMedia.fromJson(tdMapFromJson(json['media'])),
    isAnonymous: (json['is_anonymous'] as bool?) ?? false,
    allowsMultipleAnswers:
        (json['allows_multiple_answers'] as bool?) ?? false,
    allowsRevoting: (json['allows_revoting'] as bool?) ?? false,
    membersOnly: (json['members_only'] as bool?) ?? false,
    countryCodes: List<String>.from(
      tdListFromJson(
        json['country_codes'],
      ).map((item) => (item as dynamic)?.toString() ?? ''),
    ),
    shuffleOptions: (json['shuffle_options'] as bool?) ?? false,
    hideResultsUntilCloses:
        (json['hide_results_until_closes'] as bool?) ?? false,
    type: InputPollType.fromJson(tdMapFromJson(json['type'])),
    openPeriod: (json['open_period'] as int?) ?? 0,
    closeDate: (json['close_date'] as int?) ?? 0,
    isClosed: (json['is_closed'] as bool?),
  );
}