Line data Source code
1 : import 'package:equatable/equatable.dart'; 2 : import 'package:json_annotation/json_annotation.dart'; 3 : import 'package:stream_feed_dart/src/core/models/reaction.dart'; 4 : 5 : import 'package:stream_feed_dart/src/core/models/enriched_activity.dart'; 6 : 7 : part 'paginated.g.dart'; 8 : 9 : /// 10 : class _Paginated<T> extends Equatable { 11 : /// 12 3 : const _Paginated(this.next, this.results, this.duration); 13 : 14 : /// 15 : final String? next; 16 : 17 : /// 18 : final List<T>? results; 19 : 20 : /// 21 : final String? duration; 22 : 23 1 : @override 24 4 : List<Object?> get props => [next, results, duration]; 25 : } 26 : 27 : /// 28 : @JsonSerializable(createToJson: true) 29 : class PaginatedReactions extends _Paginated<Reaction> { 30 : /// 31 3 : const PaginatedReactions( 32 : String? next, List<Reaction>? results, this.activity, String? duration) 33 3 : : super(next, results, duration); 34 : 35 : /// 36 2 : factory PaginatedReactions.fromJson(Map<String, dynamic> json) => 37 2 : _$PaginatedReactionsFromJson(json); 38 : 39 1 : @override 40 3 : List<Object?> get props => [...super.props, activity]; 41 : 42 : /// 43 : final EnrichedActivity? activity; 44 : 45 : /// Serialize to json 46 2 : Map<String, dynamic> toJson() => _$PaginatedReactionsToJson(this); 47 : }