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