refactor: JsonObjectBuilder 现在可以安全接收 Null.

当传值为 null 时, 将不会抛出 NPE, 而是插入 JsonNull.
This commit is contained in:
LamGC 2022-04-24 13:14:04 +08:00
parent 32c6dfd349
commit c59cfd939d
Signed by: LamGC
GPG Key ID: 6C5AE2A913941E1D

View File

@ -407,28 +407,28 @@ fun getProfileByCallback(callback: InlineKeyboardCallback): OracleAccountProfile
class JsonObjectBuilder(private val jsonObject: JsonObject) {
operator fun String.plusAssign(json: JsonElement) {
operator fun String.plusAssign(json: JsonElement?) {
jsonObject.add(this, json)
}
operator fun String.plusAssign(value: String) {
operator fun String.plusAssign(value: String?) {
jsonObject.addProperty(this, value)
}
operator fun String.plusAssign(value: Boolean) {
operator fun String.plusAssign(value: Boolean?) {
jsonObject.addProperty(this, value)
}
operator fun String.plusAssign(value: Char) {
operator fun String.plusAssign(value: Char?) {
jsonObject.addProperty(this, value)
}
operator fun String.plusAssign(value: Number) {
operator fun String.plusAssign(value: Number?) {
jsonObject.addProperty(this, value)
}
operator fun String.plusAssign(value: Any) {
jsonObject.add(this, gson.toJsonTree(value))
operator fun String.plusAssign(value: Any?) {
jsonObject.add(this, if (value == null) JsonNull.INSTANCE else gson.toJsonTree(value))
}
fun String.delete(setNull: Boolean = false) {