mirror of
https://github.com/InsanusMokrassar/krontab.git
synced 2024-09-20 17:46:16 +00:00
15 lines
517 B
Kotlin
15 lines
517 B
Kotlin
package com.insanusmokrassar.krontab
|
|
|
|
import com.insanusmokrassar.krontab.internal.CronDateTime
|
|
import com.insanusmokrassar.krontab.internal.toNearDateTime
|
|
import com.soywiz.klock.DateTime
|
|
|
|
internal data class CronDateTimeScheduler internal constructor(
|
|
internal val cronDateTimes: List<CronDateTime>
|
|
) : KronScheduler {
|
|
override suspend fun next(relatively: DateTime): DateTime {
|
|
return cronDateTimes.map { it.toNearDateTime(relatively) }.min() ?: anyCronDateTime.toNearDateTime(relatively)
|
|
}
|
|
}
|
|
|