projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
🔖 Set version to 81
[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
index
5f53ed0
..
326db9d
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/utils/Optionals.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/utils/Optionals.kt
@@
-3,6
+3,9
@@
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
import com.google.common.base.Optional
fun <T, R> Optional<T>.let(block: (T) -> R): R? = if (isPresent) block(get()) else null
-fun <T> Optional<T>.also(block: (T) -> Unit)
= if (isPresent) block(get()) else Unit
+fun <T> Optional<T>.also(block: (T) -> Unit)
: Optional<T> { if (isPresent) block(get()); return this }
fun <T> T?.asOptional(): Optional<T> = this?.let { Optional.of(it) } ?: Optional.absent<T>()
fun <T> T?.asOptional(): Optional<T> = this?.let { Optional.of(it) } ?: Optional.absent<T>()
+
+fun <T, R> Iterable<T>.mapPresent(transform: (T) -> Optional<R>): List<R> =
+ map(transform).filter { it.isPresent }.map { it.get() }