Create Guava optional utility collection
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / utils / Optionals.kt
diff --git a/src/main/kotlin/net/pterodactylus/sone/utils/Optionals.kt b/src/main/kotlin/net/pterodactylus/sone/utils/Optionals.kt
new file mode 100644 (file)
index 0000000..35487ed
--- /dev/null
@@ -0,0 +1,7 @@
+package net.pterodactylus.sone.utils
+
+import com.google.common.base.Optional
+
+fun <T, R> Optional<T>.let(block: (T) -> R): R? = if (isPresent) block(get()) else null
+
+fun <T> T?.asOptional(): Optional<T> = this?.let { Optional.of(it) } ?: Optional.absent<T>()