Add serialise list
This commit is contained in:
@@ -205,7 +205,7 @@ class Connection(
|
|||||||
|
|
||||||
private fun compileArgs(values: List<Any?>): List<Any?> {
|
private fun compileArgs(values: List<Any?>): List<Any?> {
|
||||||
return values.map {
|
return values.map {
|
||||||
if (it is Serializable) {
|
if (it is Serializable || (it is List<*> && it.firstOrNull() is Serializable)) {
|
||||||
serializer.serialize(it)
|
serializer.serialize(it)
|
||||||
} else {
|
} else {
|
||||||
it
|
it
|
||||||
|
|||||||
@@ -49,5 +49,6 @@ class Serializer(val mapper: ObjectMapper = jacksonObjectMapper()) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun Serializable.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
fun Serializable.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
||||||
|
fun List<Serializable>.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
||||||
inline fun <reified E : Serializable> E.deserialize(json: String) = Serializer().deserialize(json, this)
|
inline fun <reified E : Serializable> E.deserialize(json: String) = Serializer().deserialize(json, this)
|
||||||
inline fun <reified E : Serializable> String.deserialize() = Serializer().deserialize<E>(this)
|
inline fun <reified E : Serializable> String.deserialize() = Serializer().deserialize<E>(this)
|
||||||
@@ -41,6 +41,14 @@ internal class SerializerTest {
|
|||||||
assertTrue(json.contains(""""val1":"plop","val2":123"""))
|
assertTrue(json.contains(""""val1":"plop","val2":123"""))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun serializeList() {
|
||||||
|
val list = listOf(ObjTest("one", 1), ObjTest("two", 2))
|
||||||
|
val json = list.serialize()
|
||||||
|
assertTrue(json.contains(""""val1":"one","val2":1"""))
|
||||||
|
assertTrue(json.contains(""""val1":"two","val2":2"""))
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun serializeDate() {
|
fun serializeDate() {
|
||||||
val objDate = ObjTestDate(DateTime.parse("2019-07-30T14:08:51.420108+04:00"))
|
val objDate = ObjTestDate(DateTime.parse("2019-07-30T14:08:51.420108+04:00"))
|
||||||
|
|||||||
Reference in New Issue
Block a user