mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-11-10 06:47:20 +01:00
Adds search of events and addresses in the Deletion Event
This commit is contained in:
@@ -66,6 +66,11 @@ data class ETag(
|
||||
eventId: HexKey,
|
||||
) = tag.has(1) && tag[0] == TAG_NAME && tag[1] == eventId
|
||||
|
||||
fun isTagged(
|
||||
tag: Array<String>,
|
||||
eventIds: Set<HexKey>,
|
||||
) = tag.has(1) && tag[0] == TAG_NAME && tag[1] in eventIds
|
||||
|
||||
fun parse(tag: Array<String>): ETag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
|
||||
@@ -34,3 +34,5 @@ fun Event.taggedEventIds() = tags.taggedEventIds()
|
||||
fun Event.firstTaggedEvent() = tags.firstTaggedEvent()
|
||||
|
||||
fun Event.isTaggedEvent(idHex: String) = tags.isTaggedEvent(idHex)
|
||||
|
||||
fun Event.isTaggedEvents(idHexes: Set<HexKey>) = tags.isTaggedEvents(idHexes)
|
||||
|
||||
@@ -36,4 +36,6 @@ fun TagArray.taggedEventIds() = this.mapNotNull(ETag::parseId)
|
||||
|
||||
fun TagArray.firstTaggedEvent() = this.firstNotNullOfOrNull(ETag::parse)
|
||||
|
||||
fun TagArray.isTaggedEvent(idHex: String) = this.any(ETag::isTagged, idHex)
|
||||
fun TagArray.isTaggedEvent(idHex: HexKey) = this.any(ETag::isTagged, idHex)
|
||||
|
||||
fun TagArray.isTaggedEvents(idHexes: Set<HexKey>) = this.any(ETag::isTagged, idHexes)
|
||||
|
||||
@@ -30,9 +30,11 @@ import com.vitorpamplona.quartz.nip01Core.hints.EventHintProvider
|
||||
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.aTag.ATag
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.aTag.aTag
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.aTag.isTaggedAddressableKind
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.aTag.taggedAddresses
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.ETag
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.eTag
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.isTaggedEvents
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.taggedEventIds
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.taggedEvents
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.kinds.kinds
|
||||
@@ -65,6 +67,10 @@ class DeletionEvent(
|
||||
|
||||
fun deleteEventIds() = taggedEventIds()
|
||||
|
||||
fun deletesAnyEventIn(eventIds: Set<HexKey>) = isTaggedEvents(eventIds)
|
||||
|
||||
fun deleteAddressesWithKind(kind: Int) = isTaggedAddressableKind(kind)
|
||||
|
||||
fun deleteAddresses() = taggedAddresses()
|
||||
|
||||
fun deleteAddressIds() = tags.mapNotNull(ATag::parseAddressId)
|
||||
|
||||
Reference in New Issue
Block a user