From 76c6ac0f0b4163c4b0e7ec483cd6571689cb728e Mon Sep 17 00:00:00 2001 From: William Casarin Date: Fri, 28 Apr 2023 17:42:32 -0700 Subject: [PATCH] Add referencedid helpers --- damus/Nostr/NostrEvent.swift | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/damus/Nostr/NostrEvent.swift b/damus/Nostr/NostrEvent.swift index 244da223..50f398d2 100644 --- a/damus/Nostr/NostrEvent.swift +++ b/damus/Nostr/NostrEvent.swift @@ -42,6 +42,18 @@ struct ReferencedId: Identifiable, Hashable, Equatable { var id: String { return ref_id } + + static func q(_ id: String, relay_id: String? = nil) -> ReferencedId { + return ReferencedId(ref_id: id, relay_id: relay_id, key: "q") + } + + static func e(_ id: String, relay_id: String? = nil) -> ReferencedId { + return ReferencedId(ref_id: id, relay_id: relay_id, key: "e") + } + + static func p(_ id: String, relay_id: String? = nil) -> ReferencedId { + return ReferencedId(ref_id: id, relay_id: relay_id, key: "p") + } } struct EventId: Identifiable, CustomStringConvertible { @@ -746,7 +758,7 @@ func uniq(_ xs: [T]) -> [T] { func gather_reply_ids(our_pubkey: String, from: NostrEvent) -> [ReferencedId] { var ids = get_referenced_ids(tags: from.tags, key: "e").first.map { [$0] } ?? [] - ids.append(ReferencedId(ref_id: from.id, relay_id: nil, key: "e")) + ids.append(.e(from.id)) ids.append(contentsOf: uniq(from.referenced_pubkeys.filter { $0.ref_id != our_pubkey })) if from.pubkey != our_pubkey { ids.append(ReferencedId(ref_id: from.pubkey, relay_id: nil, key: "p"))