mirror of
https://github.com/InsanusMokrassar/krontab.git
synced 2025-10-24 16:10:23 +00:00
CronDateTimeScheduler adding
This commit is contained in:
@@ -17,7 +17,7 @@ import dev.inmo.krontab.anyCronDateTime
|
||||
* @see dev.inmo.krontab.builder.buildSchedule
|
||||
* @see dev.inmo.krontab.builder.SchedulerBuilder
|
||||
*/
|
||||
internal data class CronDateTimeScheduler internal constructor(
|
||||
data class CronDateTimeScheduler internal constructor(
|
||||
internal val cronDateTimes: List<CronDateTime>
|
||||
) : KronScheduler {
|
||||
/**
|
||||
@@ -35,6 +35,17 @@ internal data class CronDateTimeScheduler internal constructor(
|
||||
* [kronDateTimeSchedulers] included
|
||||
*/
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
internal inline fun merge(kronDateTimeSchedulers: List<CronDateTimeScheduler>) = CronDateTimeScheduler(
|
||||
fun merge(kronDateTimeSchedulers: List<CronDateTimeScheduler>) = CronDateTimeScheduler(
|
||||
kronDateTimeSchedulers.flatMap { it.cronDateTimes }.distinct()
|
||||
)
|
||||
|
||||
/**
|
||||
* @return Vararg shortcyut for [merge]
|
||||
*/
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun merge(vararg kronDateTimeSchedulers: CronDateTimeScheduler) = merge(kronDateTimeSchedulers.toList())
|
||||
/**
|
||||
* Use [merge] operation to internalcreate new [CronDateTimeScheduler] with all [CronDateTimeScheduler.cronDateTimes]
|
||||
*/
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun CronDateTimeScheduler.plus(other: CronDateTimeScheduler) = merge(this, other)
|
||||
|
||||
Reference in New Issue
Block a user