From d562646ee0e5384974f7d85c76eb4f40b139b321 Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Mon, 12 Oct 2020 16:34:58 +0200 Subject: [PATCH] Update GeneralExtensions.kt --- .../kotlinextensions/GeneralExtensions.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/kotlinextensions/GeneralExtensions.kt b/src/main/kotlin/net/axay/kspigot/kotlinextensions/GeneralExtensions.kt index 47f66f11..762c4d86 100644 --- a/src/main/kotlin/net/axay/kspigot/kotlinextensions/GeneralExtensions.kt +++ b/src/main/kotlin/net/axay/kspigot/kotlinextensions/GeneralExtensions.kt @@ -1,11 +1,14 @@ package net.axay.kspigot.kotlinextensions -inline fun Lazy.ifInitialized(block: (T) -> R) = if (isInitialized()) block(value) else null -val Lazy.valueIfInitialized get() = ifInitialized { value } +import java.io.File -fun Lazy.closeIfInitialized() = ifInitialized { value.close() } +internal inline fun Lazy.ifInitialized(block: (T) -> R) = if (isInitialized()) block(value) else null -class MinMaxPair>(a: T, b: T) { +internal val Lazy.valueIfInitialized get() = ifInitialized { value } + +internal fun Lazy.closeIfInitialized() = ifInitialized { value.close() } + +internal class MinMaxPair>(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.apply(block: (T.() -> Unit)?): T { if (block != null) apply(block) return this -} \ No newline at end of file +} + +internal fun File.createIfNotExists(): Boolean { + return if (!exists()) { + if (!parentFile.exists()) + parentFile.mkdirs() + createNewFile() + } else true +}