mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-08 16:28:49 +00:00
Add an option to disable seenOn
This commit is contained in:
17
pool.test.ts
17
pool.test.ts
@@ -121,3 +121,20 @@ test('list()', async () => {
|
|||||||
.reduce((acc, n) => acc.concat(n), [])
|
.reduce((acc, n) => acc.concat(n), [])
|
||||||
expect(relaysForAllEvents.length).toBeGreaterThanOrEqual(events.length)
|
expect(relaysForAllEvents.length).toBeGreaterThanOrEqual(events.length)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('seenOnEnabled: false', async () => {
|
||||||
|
const poolWithoutSeenOn = new SimplePool({seenOnEnabled: false})
|
||||||
|
|
||||||
|
const event = await poolWithoutSeenOn.get(relays, {
|
||||||
|
ids: ['d7dd5eb3ab747e16f8d0212d53032ea2a7cadef53837e5a6c66d42849fcb9027']
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(event).toHaveProperty(
|
||||||
|
'id',
|
||||||
|
'd7dd5eb3ab747e16f8d0212d53032ea2a7cadef53837e5a6c66d42849fcb9027'
|
||||||
|
)
|
||||||
|
|
||||||
|
const relaysForEvent = poolWithoutSeenOn.seenOn(event!.id)
|
||||||
|
|
||||||
|
expect(relaysForEvent).toHaveLength(0)
|
||||||
|
})
|
||||||
|
|||||||
12
pool.ts
12
pool.ts
@@ -15,11 +15,13 @@ export class SimplePool {
|
|||||||
|
|
||||||
private eoseSubTimeout: number
|
private eoseSubTimeout: number
|
||||||
private getTimeout: number
|
private getTimeout: number
|
||||||
|
private seenOnEnabled: boolean = true
|
||||||
|
|
||||||
constructor(options: {eoseSubTimeout?: number; getTimeout?: number} = {}) {
|
constructor(options: {eoseSubTimeout?: number; getTimeout?: number; seenOnEnabled?: boolean} = {}) {
|
||||||
this._conn = {}
|
this._conn = {}
|
||||||
this.eoseSubTimeout = options.eoseSubTimeout || 3400
|
this.eoseSubTimeout = options.eoseSubTimeout || 3400
|
||||||
this.getTimeout = options.getTimeout || 3400
|
this.getTimeout = options.getTimeout || 3400
|
||||||
|
this.seenOnEnabled = options.seenOnEnabled !== false
|
||||||
}
|
}
|
||||||
|
|
||||||
close(relays: string[]): void {
|
close(relays: string[]): void {
|
||||||
@@ -51,9 +53,11 @@ export class SimplePool {
|
|||||||
if (opts?.alreadyHaveEvent?.(id, url)) {
|
if (opts?.alreadyHaveEvent?.(id, url)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
let set = this._seenOn[id] || new Set()
|
if (this.seenOnEnabled) {
|
||||||
set.add(url)
|
let set = this._seenOn[id] || new Set()
|
||||||
this._seenOn[id] = set
|
set.add(url)
|
||||||
|
this._seenOn[id] = set
|
||||||
|
}
|
||||||
return _knownIds.has(id)
|
return _knownIds.has(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user