io.github.freya022.botcommands.api.ReceiverConsumer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of BotCommands Show documentation
Show all versions of BotCommands Show documentation
A Kotlin-first (and Java) framework that makes creating Discord bots a piece of cake, using the JDA library.
package io.github.freya022.botcommands.api
fun interface ReceiverConsumer : (T) -> Unit {
fun T.accept()
override fun invoke(p1: T) {
with(p1) { accept() }
}
fun applyTo(receiver: T): T {
with(this) { receiver.accept() }
return receiver
}
companion object {
private val NOOP = ReceiverConsumer { }
@Suppress("UNCHECKED_CAST")
fun noop(): ReceiverConsumer = NOOP as ReceiverConsumer
}
}