Sort extensions by target

This commit is contained in:
kageru 2019-11-12 22:10:26 +01:00
parent 69c3ae80b8
commit ccf76e7c64
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2
9 changed files with 11 additions and 14 deletions

View File

@ -46,12 +46,8 @@ object Util {
fun findUser(idOrName: String): Option<User> { fun findUser(idOrName: String): Option<User> {
return when { return when {
idOrName.isEntityId() -> server.getMemberById(idOrName).asOption() idOrName.isEntityId() -> server.getMemberById(idOrName).asOption()
else -> { idOrName.contains('#') -> server.getMemberByDiscriminatedNameIgnoreCase(idOrName).asOption()
when { else -> server.membersByName(idOrName).firstOrNone()
idOrName.contains('#') -> server.getMemberByDiscriminatedNameIgnoreCase(idOrName).asOption()
else -> server.membersByName(idOrName).firstOrNone()
}
}
} }
} }
@ -63,8 +59,6 @@ object Util {
} }
} }
fun <T> Either<*, T>.unwrap(): T = this.getOrElse { error("Attempted to unwrap Either.left") }
fun <T> CompletableFuture<T>.failed(): Boolean { fun <T> CompletableFuture<T>.failed(): Boolean {
try { try {
join() join()

View File

@ -5,9 +5,9 @@ import moe.kageru.kagebot.MessageUtil
import moe.kageru.kagebot.Util import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.applyIf import moe.kageru.kagebot.Util.applyIf
import moe.kageru.kagebot.Util.failed import moe.kageru.kagebot.Util.failed
import moe.kageru.kagebot.Util.unwrap
import moe.kageru.kagebot.config.Config import moe.kageru.kagebot.config.Config
import moe.kageru.kagebot.config.LocalizationSpec import moe.kageru.kagebot.config.LocalizationSpec
import moe.kageru.kagebot.extensions.unwrap
import org.javacord.api.entity.channel.TextChannel import org.javacord.api.entity.channel.TextChannel
import org.javacord.api.event.message.MessageCreateEvent import org.javacord.api.event.message.MessageCreateEvent

View File

@ -2,7 +2,7 @@ package moe.kageru.kagebot.command
import arrow.core.Option import arrow.core.Option
import moe.kageru.kagebot.Util import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.unwrap import moe.kageru.kagebot.extensions.unwrap
import org.javacord.api.entity.permission.Role import org.javacord.api.entity.permission.Role
import org.javacord.api.event.message.MessageCreateEvent import org.javacord.api.event.message.MessageCreateEvent

View File

@ -3,8 +3,8 @@ package moe.kageru.kagebot.command
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty
import moe.kageru.kagebot.Log import moe.kageru.kagebot.Log
import moe.kageru.kagebot.Util import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.unwrap
import moe.kageru.kagebot.extensions.getUser import moe.kageru.kagebot.extensions.getUser
import moe.kageru.kagebot.extensions.unwrap
import org.javacord.api.event.message.MessageCreateEvent import org.javacord.api.event.message.MessageCreateEvent
class RoleAssignment(@JsonProperty("role") role: String) { class RoleAssignment(@JsonProperty("role") role: String) {

View File

@ -1,8 +1,11 @@
package moe.kageru.kagebot.extensions package moe.kageru.kagebot.extensions
import arrow.core.Either import arrow.core.Either
import arrow.core.getOrElse
fun <L, R> Either<L, R>.on(op: (R) -> Unit): Either<L, R> { fun <L, R> Either<L, R>.on(op: (R) -> Unit): Either<L, R> {
this.map { op(it) } this.map { op(it) }
return this return this
} }
fun <T> Either<*, T>.unwrap(): T = getOrElse { error("Attempted to unwrap Either.left") }

View File

@ -9,12 +9,12 @@ import moe.kageru.kagebot.Log
import moe.kageru.kagebot.MessageUtil.sendEmbed import moe.kageru.kagebot.MessageUtil.sendEmbed
import moe.kageru.kagebot.Util.findRole import moe.kageru.kagebot.Util.findRole
import moe.kageru.kagebot.Util.findUser import moe.kageru.kagebot.Util.findUser
import moe.kageru.kagebot.Util.unwrap
import moe.kageru.kagebot.config.Config import moe.kageru.kagebot.config.Config
import moe.kageru.kagebot.config.LocalizationSpec import moe.kageru.kagebot.config.LocalizationSpec
import moe.kageru.kagebot.extensions.memberById import moe.kageru.kagebot.extensions.memberById
import moe.kageru.kagebot.extensions.on import moe.kageru.kagebot.extensions.on
import moe.kageru.kagebot.extensions.roles import moe.kageru.kagebot.extensions.roles
import moe.kageru.kagebot.extensions.unwrap
import moe.kageru.kagebot.persistence.Dao import moe.kageru.kagebot.persistence.Dao
import org.javacord.api.entity.permission.Role import org.javacord.api.entity.permission.Role
import org.javacord.api.entity.user.User import org.javacord.api.entity.user.User

View File

@ -5,7 +5,7 @@ import moe.kageru.kagebot.MessageUtil
import moe.kageru.kagebot.Util import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.checked import moe.kageru.kagebot.Util.checked
import moe.kageru.kagebot.Util.failed import moe.kageru.kagebot.Util.failed
import moe.kageru.kagebot.Util.unwrap import moe.kageru.kagebot.extensions.unwrap
import org.javacord.api.DiscordApi import org.javacord.api.DiscordApi
import org.javacord.api.entity.channel.TextChannel import org.javacord.api.entity.channel.TextChannel
import org.javacord.api.entity.message.embed.EmbedBuilder import org.javacord.api.entity.message.embed.EmbedBuilder

View File

@ -16,10 +16,10 @@ import moe.kageru.kagebot.TestUtil.prepareTestEnvironment
import moe.kageru.kagebot.TestUtil.testMessageSuccess import moe.kageru.kagebot.TestUtil.testMessageSuccess
import moe.kageru.kagebot.TestUtil.withCommands import moe.kageru.kagebot.TestUtil.withCommands
import moe.kageru.kagebot.Util import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.unwrap
import moe.kageru.kagebot.config.Config import moe.kageru.kagebot.config.Config
import moe.kageru.kagebot.extensions.roles import moe.kageru.kagebot.extensions.roles
import moe.kageru.kagebot.extensions.rolesByName import moe.kageru.kagebot.extensions.rolesByName
import moe.kageru.kagebot.extensions.unwrap
import moe.kageru.kagebot.persistence.Dao import moe.kageru.kagebot.persistence.Dao
import org.javacord.api.entity.message.embed.EmbedBuilder import org.javacord.api.entity.message.embed.EmbedBuilder
import org.javacord.api.entity.permission.Role import org.javacord.api.entity.permission.Role