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) {
|
export function matchFilter(filter, event) {
|
||||||
if (filter.id && event.id !== filter.id) return false
|
if (filter.ids && filter.ids.indexOf(event.id) !== -1) return false
|
||||||
if (typeof filter.kind === 'number' && event.kind !== filter.kind) return false
|
if (filter.kinds && filter.kinds.indexOf(event.kind) !== -1) return false
|
||||||
if (filter.authors && filter.authors.indexOf(event.pubkey) === -1)
|
if (filter.authors && filter.authors.indexOf(event.pubkey) === -1)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
for (let f in filter) {
|
||||||
|
if (f[0] === '#') {
|
||||||
if (
|
if (
|
||||||
filter['#e'] &&
|
filter[f] &&
|
||||||
!event.tags.find(([t, v]) => t === 'e' && v === filter['#e'])
|
!event.tags.find(([t, v]) => t === f.slice(1) && v === filter[f])
|
||||||
)
|
)
|
||||||
return false
|
return false
|
||||||
if (
|
}
|
||||||
filter['#p'] &&
|
}
|
||||||
!event.tags.find(([t, v]) => t === 'p' && v === filter['#p'])
|
|
||||||
)
|
if (filter.since && event.created_at < filter.since) return false
|
||||||
return false
|
if (filter.until && event.created_at >= filter.until) return false
|
||||||
if (filter.since && event.created_at <= filter.since) return false
|
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nostr-tools",
|
"name": "nostr-tools",
|
||||||
"version": "0.15.1",
|
"version": "0.16.0",
|
||||||
"description": "Tools for making a Nostr client.",
|
"description": "Tools for making a Nostr client.",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
Reference in New Issue
Block a user