You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

EventUtils.kt 543B

1234567891011121314
  1. package com.dmdirc.ktirc.events
  2. import com.dmdirc.ktirc.IrcClient
  3. import com.dmdirc.ktirc.model.ServerFeature
  4. import com.dmdirc.ktirc.model.asUser
  5. internal fun ChannelNamesReceived.toModesAndUsers(client: IrcClient) = sequence {
  6. val modePrefixes = client.serverState.features[ServerFeature.ModePrefixes]!!
  7. for (user in names) {
  8. user.takeWhile { modePrefixes.isPrefix(it) }.let { prefix ->
  9. yield(Pair(modePrefixes.getModes(prefix), user.substring(prefix.length).asUser()))
  10. }
  11. }
  12. }.toList()