package agzam.vyatsu.data.local import agzam.vyatsu.domain.model.LessonType import androidx.room.TypeConverter import java.time.LocalDate import java.time.LocalTime class Converters { @TypeConverter fun localDateToEpochDay(date: LocalDate?): Long? = date?.toEpochDay() @TypeConverter fun epochDayToLocalDate(epochDay: Long?): LocalDate? = epochDay?.let(LocalDate::ofEpochDay) @TypeConverter fun localTimeToMinutes(time: LocalTime?): Int? = time?.let { it.hour * 60 + it.minute } @TypeConverter fun minutesToLocalTime(minutes: Int?): LocalTime? = minutes?.let { LocalTime.of(it / 60, it % 60) } @TypeConverter fun lessonTypeToString(type: LessonType): String = type.name @TypeConverter fun stringToLessonType(value: String): LessonType = runCatching { LessonType.valueOf(value) }.getOrDefault(LessonType.OTHER) }