From 0705ee958136fb81490e124c84e9d8616cba42ef Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 28 Oct 2025 13:05:57 -0400 Subject: [PATCH] Unifying the parser for the tag array --- .../quartz/nip01Core/jackson/EventManualDeserializer.kt | 5 +---- .../nip01Core/signers/EventTemplateManualDeserializer.kt | 7 ++----- .../nip59Giftwrap/rumors/jackson/RumorDeserializer.kt | 7 ++----- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/jackson/EventManualDeserializer.kt b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/jackson/EventManualDeserializer.kt index ec704d356..adcc10e8c 100644 --- a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/jackson/EventManualDeserializer.kt +++ b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/jackson/EventManualDeserializer.kt @@ -32,10 +32,7 @@ class EventManualDeserializer { pubKey = jsonObject.get("pubkey").asText().intern(), createdAt = jsonObject.get("created_at").asLong(), kind = jsonObject.get("kind").asInt(), - tags = - jsonObject.get("tags").toTypedArray { - it.toTypedArray { s -> if (s.isNull) "" else s.asText().intern() } - }, + tags = TagArrayManualDeserializer.fromJson(jsonObject.get("tags")), content = jsonObject.get("content").asText(), sig = jsonObject.get("sig").asText(), ) diff --git a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/signers/EventTemplateManualDeserializer.kt b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/signers/EventTemplateManualDeserializer.kt index abdded6bd..614e9db4b 100644 --- a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/signers/EventTemplateManualDeserializer.kt +++ b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip01Core/signers/EventTemplateManualDeserializer.kt @@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.signers import com.fasterxml.jackson.databind.JsonNode import com.vitorpamplona.quartz.nip01Core.core.Event -import com.vitorpamplona.quartz.nip01Core.jackson.toTypedArray +import com.vitorpamplona.quartz.nip01Core.jackson.TagArrayManualDeserializer class EventTemplateManualDeserializer { companion object { @@ -30,10 +30,7 @@ class EventTemplateManualDeserializer { EventTemplate( createdAt = jsonObject.get("created_at").asLong(), kind = jsonObject.get("kind").asInt(), - tags = - jsonObject.get("tags").toTypedArray { - it.toTypedArray { s -> if (s.isNull) "" else s.asText().intern() } - }, + tags = TagArrayManualDeserializer.fromJson(jsonObject.get("tags")), content = jsonObject.get("content").asText(), ) } diff --git a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip59Giftwrap/rumors/jackson/RumorDeserializer.kt b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip59Giftwrap/rumors/jackson/RumorDeserializer.kt index 0d5056230..cfccb3fc8 100644 --- a/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip59Giftwrap/rumors/jackson/RumorDeserializer.kt +++ b/quartz/src/jvmAndroid/kotlin/com/vitorpamplona/quartz/nip59Giftwrap/rumors/jackson/RumorDeserializer.kt @@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonParser import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.databind.deser.std.StdDeserializer -import com.vitorpamplona.quartz.nip01Core.jackson.toTypedArray +import com.vitorpamplona.quartz.nip01Core.jackson.TagArrayManualDeserializer import com.vitorpamplona.quartz.nip59Giftwrap.rumors.Rumor class RumorDeserializer : StdDeserializer(Rumor::class.java) { @@ -38,10 +38,7 @@ class RumorDeserializer : StdDeserializer(Rumor::class.java) { pubKey = jsonObject.get("pubkey")?.asText()?.intern(), createdAt = jsonObject.get("created_at")?.asLong(), kind = jsonObject.get("kind")?.asInt(), - tags = - jsonObject.get("tags").toTypedArray { - it.toTypedArray { s -> if (s.isNull) "" else s.asText().intern() } - }, + tags = TagArrayManualDeserializer.fromJson(jsonObject.get("tags")), content = jsonObject.get("content")?.asText(), ) }