| 123456789101112131415161718192021222324252627282930313233343536 |
- class PaginatedData<T> {
- final List<T> list;
- final int page;
- final int size;
- final int total;
- final int totalPages;
- final bool hasNext;
- final bool hasPrevious;
- const PaginatedData({
- required this.list,
- required this.page,
- required this.size,
- required this.total,
- this.totalPages = 0,
- this.hasNext = false,
- this.hasPrevious = false,
- });
- factory PaginatedData.fromJson(
- Map<String, dynamic> json,
- T Function(Map<String, dynamic>) fromJsonT,
- ) {
- return PaginatedData(
- list: (json['list'] as List<dynamic>)
- .map((e) => fromJsonT(e as Map<String, dynamic>))
- .toList(),
- page: json['page'] as int,
- size: json['size'] as int,
- total: json['total'] as int,
- totalPages: json['totalPages'] as int? ?? 0,
- hasNext: json['hasNext'] as bool? ?? false,
- hasPrevious: json['hasPrevious'] as bool? ?? false,
- );
- }
- }
|