summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt
index 7a2504d..877d1cc 100644
--- a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt
+++ b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt
@@ -4,14 +4,20 @@ import io.dico.parcels2.logger
import java.io.File
fun File.tryCreate(): Boolean {
+ if (exists()) {
+ return !isDirectory
+ }
val parent = parentFile
if (parent == null || !(parent.exists() || parent.mkdirs()) || !createNewFile()) {
- logger.warn("Failed to create file ${canonicalPath}")
+ logger.warn("Failed to create file $canonicalPath")
return false
}
return true
}
+inline fun Boolean.alsoIfTrue(block: () -> Unit): Boolean = also { if (it) block() }
+inline fun Boolean.alsoIfFalse(block: () -> Unit): Boolean = also { if (!it) block() }
+
inline fun <R> Any.synchronized(block: () -> R): R = synchronized(this, block)
inline fun <T> T?.isNullOr(condition: T.() -> Boolean): Boolean = this == null || condition()