KStarbound/src/main/kotlin/ru/dbotthepony/kstarbound/util/Ext.kt

17 lines
975 B
Kotlin

package ru.dbotthepony.kstarbound.util
import com.google.gson.JsonElement
import com.google.gson.JsonNull
import com.google.gson.JsonObject
import com.google.gson.JsonPrimitive
import ru.dbotthepony.kstarbound.io.json.InternedJsonElementAdapter
operator fun JsonObject.set(key: String, value: JsonElement) { add(key, value) }
operator fun JsonObject.set(key: String, value: String) { add(key, JsonPrimitive(value)) }
operator fun JsonObject.set(key: String, value: Int) { add(key, JsonPrimitive(value)) }
operator fun JsonObject.set(key: String, value: Long) { add(key, JsonPrimitive(value)) }
operator fun JsonObject.set(key: String, value: Float) { add(key, JsonPrimitive(value)) }
operator fun JsonObject.set(key: String, value: Double) { add(key, JsonPrimitive(value)) }
operator fun JsonObject.set(key: String, value: Boolean) { add(key, InternedJsonElementAdapter.of(value)) }
operator fun JsonObject.set(key: String, value: Nothing?) { add(key, JsonNull.INSTANCE) }