nip-01 update: everything as arrays on filters.

This commit is contained in:
fiatjaf
2022-01-01 20:49:05 -03:00
parent 2230f32d11
commit 1b5c314436
2 changed files with 16 additions and 14 deletions

View File

@@ -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
} }

View File

@@ -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",