PostView constructor

  1. @JsonSerializable(includeIfNull: false)
const PostView({
  1. @Default(appBskyFeedDefsPostView) @JsonKey(name: r'$type') String $type,
  2. @AtUriConverter() required AtUri uri,
  3. required String cid,
  4. @ProfileViewBasicConverter() required ProfileViewBasic author,
  5. @PostRecordConverter() required PostRecord record,
  6. @UPostViewEmbedConverter() UPostViewEmbed? embed,
  7. @Default(0) int replyCount,
  8. @Default(0) int repostCount,
  9. @Default(0) int likeCount,
  10. @Default(0) int quoteCount,
  11. required DateTime indexedAt,
  12. @ViewerStateConverter() @Default(ViewerState()) ViewerState viewer,
  13. @LabelConverter() List<Label>? labels,
  14. @ThreadgateViewConverter() @Default(ThreadgateView()) ThreadgateView threadgate,
  15. @JsonKey(name: r'$unknown') Map<String, dynamic>? $unknown,
})

Implementation

@JsonSerializable(includeIfNull: false)
const factory PostView({
  /// The unique namespace for this lex object.
  ///
  /// `app.bsky.feed.defs#postView`
  @Default(appBskyFeedDefsPostView) @JsonKey(name: r'$type') String $type,
  @AtUriConverter() required AtUri uri,
  required String cid,
  @ProfileViewBasicConverter() required ProfileViewBasic author,
  @PostRecordConverter() required PostRecord record,
  @UPostViewEmbedConverter() UPostViewEmbed? embed,
  @Default(0) int replyCount,
  @Default(0) int repostCount,
  @Default(0) int likeCount,
  @Default(0) int quoteCount,
  required DateTime indexedAt,
  @ViewerStateConverter() @Default(ViewerState()) ViewerState viewer,
  @LabelConverter() List<Label>? labels,
  @ThreadgateViewConverter()
  @Default(ThreadgateView())
  ThreadgateView threadgate,

  /// Contains unknown objects not defined in Lexicon.
  @JsonKey(name: r'$unknown') Map<String, dynamic>? $unknown,
}) = _PostView;