system.HandleEvent -> querymanager -> matching queries
This commit is contained in:
@ -8,6 +8,7 @@ import { trimFilters } from "./request-trim";
|
||||
interface QueryManagerEvents {
|
||||
change: () => void;
|
||||
trace: (report: TraceReport) => void;
|
||||
filters: (req: BuiltRawReqFilter) => void;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -58,6 +59,7 @@ export class QueryManager extends EventEmitter<QueryManagerEvents> {
|
||||
q.on("trace", r => this.emit("trace", r));
|
||||
q.on("filters", fx => {
|
||||
this.#send(q, fx);
|
||||
this.emit("filters", fx);
|
||||
});
|
||||
|
||||
this.#queries.set(req.id, q);
|
||||
@ -66,6 +68,10 @@ export class QueryManager extends EventEmitter<QueryManagerEvents> {
|
||||
}
|
||||
}
|
||||
|
||||
handleEvent(ev: TaggedNostrEvent) {
|
||||
this.#queries.forEach(q => q.handleEvent("*", ev));
|
||||
}
|
||||
|
||||
/**
|
||||
* Async fetch results
|
||||
*/
|
||||
|
Reference in New Issue
Block a user