// ignore_for_file: public_member_api_docs, sort_constructors_first import 'dart:convert'; import 'package:absensi_qr/models/class_model.dart'; import 'package:absensi_qr/models/user/student.dart'; class ClassInfoItem { ClassModel classModel; List students; ClassInfoItem({ required this.classModel, required this.students, }); Map toMap() { return { 'class': classModel.toMap(), 'students': students.map((x) => x.toMap()).toList(), }; } factory ClassInfoItem.fromMap(Map map) { return ClassInfoItem( classModel: ClassModel.fromMap((map['class'] ?? map) as Map), students: List.from( (map['students'] as List?) ?.map((x) => Student.fromMap(x as Map)) .toList() ?? [], ), ); } String toJson() => json.encode(toMap()); factory ClassInfoItem.fromJson(String source) => ClassInfoItem.fromMap(json.decode(source) as Map); }