1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 21:23:55 +08:00

[Review] Deprecate:

- Message.isContentNotEmpty
- Message.isPlain
- Message.isNotPlain
This commit is contained in:
Him188 2021-01-07 21:39:37 +08:00
parent f7a6289d34
commit 3cda506c46
2 changed files with 45 additions and 26 deletions
mirai-core-api/src/commonMain/kotlin/message/data

View File

@ -24,7 +24,6 @@ import net.mamoe.mirai.contact.Contact
import net.mamoe.mirai.event.events.MessageEvent
import net.mamoe.mirai.message.MessageReceipt
import net.mamoe.mirai.utils.safeCast
import kotlin.contracts.contract
import kotlin.internal.LowPriorityInOverloadResolution
/**
@ -306,30 +305,6 @@ public fun Message.isContentEmpty(): Boolean {
}
}
public inline fun Message.isContentNotEmpty(): Boolean = !this.isContentEmpty()
/**
* [this] [PlainText] 时返回 `true`.
*/
public inline fun Message.isPlain(): Boolean {
contract {
returns(true) implies (this@isPlain is PlainText)
returns(false) implies (this@isPlain !is PlainText)
}
return this is PlainText
}
/**
* [this] 不为 [PlainText] 时返回 `true`.
*/
public inline fun Message.isNotPlain(): Boolean {
contract {
returns(false) implies (this@isNotPlain is PlainText)
returns(true) implies (this@isNotPlain !is PlainText)
}
return this !is PlainText
}
/**
* 将此消息元素按顺序重复 [count] .
*/

View File

@ -15,11 +15,55 @@ package net.mamoe.mirai.message.data
import net.mamoe.mirai.utils.PlannedRemoval
import kotlin.DeprecationLevel.ERROR
import kotlin.contracts.contract
import kotlin.js.JsName
///////////////////////////////////////////////////////////////////////////
// Message
///////////////////////////////////////////////////////////////////////////
/**
* [this] [PlainText] 时返回 `true`.
*/
@Deprecated(
"Message.isPlain is ambiguous when used on a MessageChain containing single element PlainText. Use is PlainText by yourself.",
ReplaceWith("this is PlainText", "net.mamoe.mirai.message.data.PlainText"),
ERROR
)
public inline fun Message.isPlain(): Boolean {
contract {
returns(true) implies (this@isPlain is PlainText)
returns(false) implies (this@isPlain !is PlainText)
}
return this is PlainText
}
/**
* [this] 不为 [PlainText] 时返回 `true`.
*/
@Deprecated(
"Message.isNotPlain is ambiguous when used on a MessageChain containing single element PlainText. Use is PlainText by yourself.",
ReplaceWith("this is PlainText", "net.mamoe.mirai.message.data.PlainText"),
ERROR
)
public inline fun Message.isNotPlain(): Boolean {
contract {
returns(false) implies (this@isNotPlain is PlainText)
returns(true) implies (this@isNotPlain !is PlainText)
}
return this !is PlainText
}
@Deprecated(
"To simplify, use !isContentEmpty",
ReplaceWith("!this.isContentEmpty()", "net.mamoe.mirai.message.data.isContentNotEmpty"),
ERROR
)
public inline fun Message.isContentNotEmpty(): Boolean = !this.isContentEmpty()
///////////////////////////////////////////////////////////////////////////
// Deprecated
// MessageChain
///////////////////////////////////////////////////////////////////////////
/**