Update GeneralExtensions.kt

This commit is contained in:
bluefireoly
2020-10-12 16:34:58 +02:00
parent 5cf2637ea2
commit d562646ee0

View File

@@ -1,11 +1,14 @@
package net.axay.kspigot.kotlinextensions
inline fun <T, R> Lazy<T>.ifInitialized(block: (T) -> R) = if (isInitialized()) block(value) else null
val <T> Lazy<T>.valueIfInitialized get() = ifInitialized { value }
import java.io.File
fun Lazy<AutoCloseable>.closeIfInitialized() = ifInitialized { value.close() }
internal inline fun <T, R> Lazy<T>.ifInitialized(block: (T) -> R) = if (isInitialized()) block(value) else null
class MinMaxPair<T : Comparable<T>>(a: T, b: T) {
internal val <T> Lazy<T>.valueIfInitialized get() = ifInitialized { value }
internal fun Lazy<AutoCloseable>.closeIfInitialized() = ifInitialized { value.close() }
internal class MinMaxPair<T : Comparable<T>>(a: T, b: T) {
val min: T; val max: T
init {
if (a >= b) { min = b; max = a }
@@ -17,4 +20,12 @@ internal fun <T> T.apply(block: (T.() -> Unit)?): T {
if (block != null)
apply(block)
return this
}
}
internal fun File.createIfNotExists(): Boolean {
return if (!exists()) {
if (!parentFile.exists())
parentFile.mkdirs()
createNewFile()
} else true
}