diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip19Bech32/Nip19Parser.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip19Bech32/Nip19Parser.kt index fdea6b724..4310d65b9 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip19Bech32/Nip19Parser.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip19Bech32/Nip19Parser.kt @@ -89,10 +89,7 @@ object Nip19Parser { if (uri == null) return null try { - val matcher = nip19PlusNip46regex.find(uri) - if (matcher == null) { - return null - } + val matcher = nip19PlusNip46regex.find(uri) ?: return null val type = matcher.groups[3]?.value ?: matcher.groups[5]?.value // npub1 val key = matcher.groups[4]?.value ?: matcher.groups[6]?.value // bech32 diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/IMetaTag.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/IMetaTag.kt index 237b11d6b..dc8884856 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/IMetaTag.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/IMetaTag.kt @@ -42,18 +42,14 @@ class IMetaTag( const val TAG_NAME = "imeta" const val ANCHOR_PROPERTY = "url" - fun parse(tag: Array): IMetaTag? { + fun parse(tag: Array): List? { ensure(tag.has(1)) { return null } ensure(tag[0] == TAG_NAME) { return null } ensure(tag[1].isNotEmpty()) { return null } val allTags = parseIMeta(tag) - val url = allTags[ANCHOR_PROPERTY]?.firstOrNull() - - return if (url != null) { - IMetaTag(url, allTags.minus(ANCHOR_PROPERTY)) - } else { - null + return allTags[ANCHOR_PROPERTY]?.map { + IMetaTag(it, allTags.minus(ANCHOR_PROPERTY)) } } diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/TagArrayExt.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/TagArrayExt.kt index eaee8e5c3..8166224ad 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/TagArrayExt.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip92IMeta/TagArrayExt.kt @@ -22,6 +22,6 @@ package com.vitorpamplona.quartz.nip92IMeta import com.vitorpamplona.quartz.nip01Core.core.TagArray -fun TagArray.imetas() = this.mapNotNull(IMetaTag::parse) +fun TagArray.imetas() = this.mapNotNull(IMetaTag::parse).flatten() fun TagArray.imetasByUrl() = this.imetas().associateBy { it.url }