diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt index 877d1cc..24f9401 100644 --- a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt +++ b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt @@ -22,6 +22,10 @@ inline fun <R> Any.synchronized(block: () -> R): R = synchronized(this, block) inline fun <T> T?.isNullOr(condition: T.() -> Boolean): Boolean = this == null || condition() inline fun <T> T?.isPresentAnd(condition: T.() -> Boolean): Boolean = this != null && condition() +inline fun <T> T?.ifNullRun(block: () -> Unit): T? { + if (this == null) block() + return this +} inline fun <T, U> MutableMap<T, U>.editLoop(block: EditLoopScope<T, U>.(T, U) -> Unit) { return EditLoopScope(this).doEditLoop(block) |