simplified call site usage of NostrFilter
This commit is contained in:
committed by
William Casarin
parent
6804fbb607
commit
fe4277e817
@@ -9,15 +9,15 @@ import Foundation
|
||||
|
||||
struct NostrFilter: Codable, Equatable {
|
||||
var ids: [String]?
|
||||
var kinds: [Int]?
|
||||
var kinds: [NostrKind]?
|
||||
var referenced_ids: [String]?
|
||||
var pubkeys: [String]?
|
||||
var since: Int64?
|
||||
var until: Int64?
|
||||
var limit: UInt32?
|
||||
var authors: [String]?
|
||||
var hashtag: [String]? = nil
|
||||
var parameter: [String]? = nil
|
||||
var hashtag: [String]?
|
||||
var parameter: [String]?
|
||||
|
||||
private enum CodingKeys : String, CodingKey {
|
||||
case ids
|
||||
@@ -32,31 +32,23 @@ struct NostrFilter: Codable, Equatable {
|
||||
case limit
|
||||
}
|
||||
|
||||
init(ids: [String]? = nil, kinds: [NostrKind]? = nil, referenced_ids: [String]? = nil, pubkeys: [String]? = nil, since: Int64? = nil, until: Int64? = nil, limit: UInt32? = nil, authors: [String]? = nil, hashtag: [String]? = nil) {
|
||||
self.ids = ids
|
||||
self.kinds = kinds
|
||||
self.referenced_ids = referenced_ids
|
||||
self.pubkeys = pubkeys
|
||||
self.since = since
|
||||
self.until = until
|
||||
self.limit = limit
|
||||
self.authors = authors
|
||||
self.hashtag = hashtag
|
||||
}
|
||||
|
||||
public static func copy(from: NostrFilter) -> NostrFilter {
|
||||
return NostrFilter(ids: from.ids, kinds: from.kinds, referenced_ids: from.referenced_ids, pubkeys: from.pubkeys, since: from.since, until: from.until, authors: from.authors, hashtag: from.hashtag)
|
||||
NostrFilter(ids: from.ids, kinds: from.kinds, referenced_ids: from.referenced_ids, pubkeys: from.pubkeys, since: from.since, until: from.until, authors: from.authors, hashtag: from.hashtag)
|
||||
}
|
||||
|
||||
public static func filter_hashtag(_ htags: [String]) -> NostrFilter {
|
||||
return NostrFilter(ids: nil, kinds: nil, referenced_ids: nil, pubkeys: nil, since: nil, until: nil, authors: nil, hashtag: htags.map { $0.lowercased() })
|
||||
}
|
||||
|
||||
public static func filter_ids(_ ids: [String]) -> NostrFilter {
|
||||
return NostrFilter(ids: ids, kinds: nil, referenced_ids: nil, pubkeys: nil, since: nil, until: nil, authors: nil, hashtag: nil)
|
||||
}
|
||||
|
||||
public static var filter_profiles: NostrFilter {
|
||||
return filter_kinds([NostrKind.metadata.rawValue])
|
||||
}
|
||||
|
||||
public static var filter_contacts: NostrFilter {
|
||||
return filter_kinds([NostrKind.contacts.rawValue])
|
||||
}
|
||||
|
||||
public static func filter_authors(_ authors: [String]) -> NostrFilter {
|
||||
return NostrFilter(ids: nil, kinds: nil, referenced_ids: nil, pubkeys: nil, since: nil, until: nil, authors: authors)
|
||||
}
|
||||
|
||||
public static func filter_kinds(_ kinds: [Int]) -> NostrFilter {
|
||||
return NostrFilter(ids: nil, kinds: kinds, referenced_ids: nil, pubkeys: nil, since: nil, until: nil, authors: nil)
|
||||
NostrFilter(hashtag: htags.map { $0.lowercased() })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import Foundation
|
||||
|
||||
|
||||
enum NostrKind: Int {
|
||||
enum NostrKind: Int, Codable {
|
||||
case metadata = 0
|
||||
case text = 1
|
||||
case contacts = 3
|
||||
|
||||
@@ -140,7 +140,7 @@ func decode_nostr_uri(_ s: String) -> NostrLink? {
|
||||
}
|
||||
|
||||
if tag_is_hashtag(parts) {
|
||||
return .filter(NostrFilter.filter_hashtag([parts[1]]))
|
||||
return .filter(NostrFilter(hashtag: [parts[1].lowercased()]))
|
||||
}
|
||||
|
||||
if let rid = tag_to_refid(parts) {
|
||||
|
||||
Reference in New Issue
Block a user