Merge pull request #67 from InsanusMokrassar/2.1.2

2.1.2
This commit is contained in:
InsanusMokrassar 2023-07-05 20:07:15 +06:00 committed by GitHub
commit 1be8d947f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 15 deletions

View File

@ -1,5 +1,11 @@
# Changelog # Changelog
## 2.1.2
* Versions
* `Coroutines`: `1.7.2`
* All callbacks for standard extensions like `doInfinity` now fully inline
## 2.1.1 ## 2.1.1
* `asFlowWithoutDelays` and `asTzFlowWithoutDelays` will have nullable `since` parameters with default to `null` * `asFlowWithoutDelays` and `asTzFlowWithoutDelays` will have nullable `since` parameters with default to `null`

View File

@ -10,7 +10,7 @@ android.enableJetifier=false
kotlin_version=1.8.22 kotlin_version=1.8.22
kotlin_coroutines_version=1.6.4 kotlin_coroutines_version=1.7.2
kotlin_serialization_version=1.5.1 kotlin_serialization_version=1.5.1
dokka_version=1.8.20 dokka_version=1.8.20
@ -36,5 +36,5 @@ androidx_work_version=2.8.1
## Common ## Common
version=2.1.1 version=2.1.2
android_code_version=28 android_code_version=29

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip

View File

@ -14,7 +14,7 @@ import kotlin.coroutines.coroutineContext
* *
* WARNING!!! In case if [KronScheduler.next] of [this] instance will return null, [block] will be called immediately * WARNING!!! In case if [KronScheduler.next] of [this] instance will return null, [block] will be called immediately
*/ */
suspend inline fun <T> KronScheduler.doOnce(noinline block: suspend (DateTime) -> T): T { suspend inline fun <T> KronScheduler.doOnce(block: (DateTime) -> T): T {
val time = nextOrNow().also { val time = nextOrNow().also {
delay((it - DateTime.now()).millisecondsLong) delay((it - DateTime.now()).millisecondsLong)
} }
@ -29,7 +29,7 @@ suspend inline fun <T> KronScheduler.doOnce(noinline block: suspend (DateTime) -
* WARNING!!! In case if [KronScheduler.next] of [this] instance will return null, [block] will be called immediately * WARNING!!! In case if [KronScheduler.next] of [this] instance will return null, [block] will be called immediately
*/ */
@Deprecated("Replaceable", ReplaceWith("doOnce", "dev.inmo.krontab.doOnce")) @Deprecated("Replaceable", ReplaceWith("doOnce", "dev.inmo.krontab.doOnce"))
suspend inline fun <T> KronScheduler.doOnceLocal(noinline block: suspend (DateTime) -> T): T = doOnce(block) suspend inline fun <T> KronScheduler.doOnceLocal(block: (DateTime) -> T): T = doOnce(block)
/** /**
* Execute [block] once at the [KronScheduler.next] time and return result of [block] calculation. * Execute [block] once at the [KronScheduler.next] time and return result of [block] calculation.
@ -53,7 +53,7 @@ suspend inline fun <T> KronScheduler.doOnceTz(noinline block: suspend (DateTimeT
*/ */
suspend inline fun <T> doOnce( suspend inline fun <T> doOnce(
scheduleConfig: String, scheduleConfig: String,
noinline block: suspend (DateTime) -> T block: (DateTime) -> T
) = buildSchedule(scheduleConfig).doOnce(block) ) = buildSchedule(scheduleConfig).doOnce(block)
/** /**
@ -69,7 +69,7 @@ suspend inline fun <T> doOnceTz(
/** /**
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
*/ */
suspend inline fun KronScheduler.doWhile(noinline block: suspend (DateTime) -> Boolean) { suspend inline fun KronScheduler.doWhile(block: (DateTime) -> Boolean) {
do { do {
delay(1L) delay(1L)
} while (doOnce(block)) } while (doOnce(block))
@ -78,7 +78,7 @@ suspend inline fun KronScheduler.doWhile(noinline block: suspend (DateTime) -> B
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
*/ */
@Deprecated("Replaceable", ReplaceWith("doWhile", "dev.inmo.krontab.doWhile")) @Deprecated("Replaceable", ReplaceWith("doWhile", "dev.inmo.krontab.doWhile"))
suspend inline fun KronScheduler.doWhileLocal(noinline block: suspend (DateTime) -> Boolean) = doWhile(block) suspend inline fun KronScheduler.doWhileLocal(block: (DateTime) -> Boolean) = doWhile(block)
/** /**
* Will execute [block] while it will return true as a result of its calculation * Will execute [block] while it will return true as a result of its calculation
@ -96,7 +96,7 @@ suspend inline fun KronScheduler.doWhileTz(noinline block: suspend (DateTimeTz)
*/ */
suspend inline fun doWhile( suspend inline fun doWhile(
scheduleConfig: String, scheduleConfig: String,
noinline block: suspend (DateTime) -> Boolean block: (DateTime) -> Boolean
) = buildSchedule(scheduleConfig).doWhile(block) ) = buildSchedule(scheduleConfig).doWhile(block)
/** /**
@ -107,7 +107,7 @@ suspend inline fun doWhile(
@Deprecated("Replaceable", ReplaceWith("doWhile", "dev.inmo.krontab.doWhile")) @Deprecated("Replaceable", ReplaceWith("doWhile", "dev.inmo.krontab.doWhile"))
suspend inline fun doWhileLocal( suspend inline fun doWhileLocal(
scheduleConfig: String, scheduleConfig: String,
noinline block: suspend (DateTime) -> Boolean block: (DateTime) -> Boolean
) = doWhile(scheduleConfig, block) ) = doWhile(scheduleConfig, block)
/** /**
@ -124,7 +124,7 @@ suspend inline fun doWhileTz(
/** /**
* Will execute [block] without any checking of result * Will execute [block] without any checking of result
*/ */
suspend inline fun KronScheduler.doInfinity(noinline block: suspend (DateTime) -> Unit) = doWhile { suspend inline fun KronScheduler.doInfinity(block: (DateTime) -> Unit) = doWhile {
block(it) block(it)
coroutineContext.isActive coroutineContext.isActive
} }
@ -132,7 +132,7 @@ suspend inline fun KronScheduler.doInfinity(noinline block: suspend (DateTime) -
* Will execute [block] without any checking of result * Will execute [block] without any checking of result
*/ */
@Deprecated("Replaceable", ReplaceWith("doInfinity", "dev.inmo.krontab.doInfinity")) @Deprecated("Replaceable", ReplaceWith("doInfinity", "dev.inmo.krontab.doInfinity"))
suspend inline fun KronScheduler.doInfinityLocal(noinline block: suspend (DateTime) -> Unit) = doInfinity(block) suspend inline fun KronScheduler.doInfinityLocal(block: (DateTime) -> Unit) = doInfinity(block)
/** /**
* Will execute [block] without any checking of result * Will execute [block] without any checking of result
@ -149,7 +149,7 @@ suspend inline fun KronScheduler.doInfinityTz(noinline block: suspend (DateTimeT
*/ */
suspend inline fun doInfinity( suspend inline fun doInfinity(
scheduleConfig: String, scheduleConfig: String,
noinline block: suspend (DateTime) -> Unit block: (DateTime) -> Unit
) = buildSchedule(scheduleConfig).doInfinity(block) ) = buildSchedule(scheduleConfig).doInfinity(block)
/** /**
@ -160,7 +160,7 @@ suspend inline fun doInfinity(
@Deprecated("Replaceable", ReplaceWith("doInfinity", "dev.inmo.krontab.doInfinity")) @Deprecated("Replaceable", ReplaceWith("doInfinity", "dev.inmo.krontab.doInfinity"))
suspend inline fun doInfinityLocal( suspend inline fun doInfinityLocal(
scheduleConfig: String, scheduleConfig: String,
noinline block: suspend (DateTime) -> Unit block: (DateTime) -> Unit
) = doInfinity(scheduleConfig, block) ) = doInfinity(scheduleConfig, block)
/** /**