mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-08 16:28:49 +00:00
nip-01 update: everything as arrays on filters.
This commit is contained in:
22
filter.js
22
filter.js
@@ -1,19 +1,21 @@
|
||||
export function matchFilter(filter, event) {
|
||||
if (filter.id && event.id !== filter.id) return false
|
||||
if (typeof filter.kind === 'number' && event.kind !== filter.kind) return false
|
||||
if (filter.ids && filter.ids.indexOf(event.id) !== -1) return false
|
||||
if (filter.kinds && filter.kinds.indexOf(event.kind) !== -1) return false
|
||||
if (filter.authors && filter.authors.indexOf(event.pubkey) === -1)
|
||||
return false
|
||||
|
||||
for (let f in filter) {
|
||||
if (f[0] === '#') {
|
||||
if (
|
||||
filter['#e'] &&
|
||||
!event.tags.find(([t, v]) => t === 'e' && v === filter['#e'])
|
||||
filter[f] &&
|
||||
!event.tags.find(([t, v]) => t === f.slice(1) && v === filter[f])
|
||||
)
|
||||
return false
|
||||
if (
|
||||
filter['#p'] &&
|
||||
!event.tags.find(([t, v]) => t === 'p' && v === filter['#p'])
|
||||
)
|
||||
return false
|
||||
if (filter.since && event.created_at <= filter.since) return false
|
||||
}
|
||||
}
|
||||
|
||||
if (filter.since && event.created_at < filter.since) return false
|
||||
if (filter.until && event.created_at >= filter.until) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nostr-tools",
|
||||
"version": "0.15.1",
|
||||
"version": "0.16.0",
|
||||
"description": "Tools for making a Nostr client.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
Reference in New Issue
Block a user