X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FObjects.kt;h=d9ec162e8348b8ecfaf65f9adc231f0f682318be;hp=cd36ec945c582fbcec60b67d6e452aa5c2232547;hb=HEAD;hpb=9fc45be4cce92e2d960395a35d046b2c5808a0bb diff --git a/src/main/kotlin/net/pterodactylus/sone/utils/Objects.kt b/src/main/kotlin/net/pterodactylus/sone/utils/Objects.kt index cd36ec9..d9ec162 100644 --- a/src/main/kotlin/net/pterodactylus/sone/utils/Objects.kt +++ b/src/main/kotlin/net/pterodactylus/sone/utils/Objects.kt @@ -1,4 +1,13 @@ package net.pterodactylus.sone.utils -fun T?.asList() = this?.let(::listOf) ?: emptyList() +fun T?.asList() = this?.let(::listOf) ?: emptyList() val Any?.unit get() = Unit + +fun T?.throwOnNullIf(throwCondition: Boolean, exception: () -> Throwable) = + if (this == null && throwCondition) throw exception() else this + +fun T?.onNull(block: () -> Unit) = this.also { + if (this == null) { + block() + } +}