forked from Kieran/snort
fix: events
This commit is contained in:
parent
0e202b12d9
commit
2d4d9117bd
@ -1,14 +1,14 @@
|
||||
import { v4 as uuid } from "uuid";
|
||||
import debug from "debug";
|
||||
import WebSocket from "isomorphic-ws";
|
||||
import { ExternalStore, unixNowMs, dedupe } from "@snort/shared";
|
||||
import { unixNowMs, dedupe } from "@snort/shared";
|
||||
import EventEmitter from "eventemitter3";
|
||||
|
||||
import { DefaultConnectTimeout } from "./const";
|
||||
import { ConnectionStats } from "./connection-stats";
|
||||
import { NostrEvent, ReqCommand, ReqFilter, TaggedNostrEvent, u256 } from "./nostr";
|
||||
import { RelayInfo } from "./relay-info";
|
||||
import EventKind from "./event-kind";
|
||||
import EventEmitter from "events";
|
||||
|
||||
/**
|
||||
* Relay settings
|
||||
@ -55,12 +55,7 @@ interface ConnectionEvents {
|
||||
notice: (msg: string) => void;
|
||||
}
|
||||
|
||||
export declare interface Connection {
|
||||
on<U extends keyof ConnectionEvents>(event: U, listener: ConnectionEvents[U]): this;
|
||||
once<U extends keyof ConnectionEvents>(event: U, listener: ConnectionEvents[U]): this;
|
||||
}
|
||||
|
||||
export class Connection extends EventEmitter {
|
||||
export class Connection extends EventEmitter<ConnectionEvents> {
|
||||
#log: debug.Debugger;
|
||||
#ephemeralCheck?: ReturnType<typeof setInterval>;
|
||||
#activity: number = unixNowMs();
|
||||
@ -243,7 +238,7 @@ export class Connection extends EventEmitter {
|
||||
break;
|
||||
}
|
||||
case "NOTICE": {
|
||||
this.emit("notice", msg[1]);
|
||||
this.emit("notice", msg[1] as string);
|
||||
this.#log(`NOTICE: ${msg[1]}`);
|
||||
break;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import debug from "debug";
|
||||
import EventEmitter from "events";
|
||||
import EventEmitter from "eventemitter3";
|
||||
|
||||
import { unwrap, sanitizeRelayUrl, FeedCache, removeUndefined } from "@snort/shared";
|
||||
import { NostrEvent, TaggedNostrEvent } from "./nostr";
|
||||
@ -32,15 +32,10 @@ interface NostrSystemEvents {
|
||||
event: (ev: TaggedNostrEvent) => void;
|
||||
}
|
||||
|
||||
export declare interface NostrSystem {
|
||||
on<U extends keyof NostrSystemEvents>(event: U, listener: NostrSystemEvents[U]): this;
|
||||
once<U extends keyof NostrSystemEvents>(event: U, listener: NostrSystemEvents[U]): this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Manages nostr content retrieval system
|
||||
*/
|
||||
export class NostrSystem extends EventEmitter implements SystemInterface {
|
||||
export class NostrSystem extends EventEmitter<NostrSystemEvents> implements SystemInterface {
|
||||
#log = debug("System");
|
||||
|
||||
/**
|
||||
|
@ -1,12 +1,12 @@
|
||||
import { v4 as uuid } from "uuid";
|
||||
import debug from "debug";
|
||||
import EventEmitter from "eventemitter3";
|
||||
import { unixNowMs, unwrap } from "@snort/shared";
|
||||
|
||||
import { Connection, ReqFilter, Nips, TaggedNostrEvent } from ".";
|
||||
import { NoteStore } from "./note-collection";
|
||||
import { BuiltRawReqFilter } from "./request-builder";
|
||||
import { eventMatchesFilter } from "./request-matcher";
|
||||
import EventEmitter from "events";
|
||||
|
||||
interface QueryTraceEvents {
|
||||
change: () => void;
|
||||
@ -14,15 +14,10 @@ interface QueryTraceEvents {
|
||||
eose: (id: string, connId: string, wasForced: boolean) => void;
|
||||
}
|
||||
|
||||
export declare interface QueryTrace {
|
||||
on<U extends keyof QueryTraceEvents>(event: U, listener: QueryTraceEvents[U]): this;
|
||||
once<U extends keyof QueryTraceEvents>(event: U, listener: QueryTraceEvents[U]): this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tracing for relay query status
|
||||
*/
|
||||
export class QueryTrace extends EventEmitter {
|
||||
export class QueryTrace extends EventEmitter<QueryTraceEvents> {
|
||||
readonly id: string;
|
||||
readonly start: number;
|
||||
sent?: number;
|
||||
@ -122,15 +117,10 @@ interface QueryEvents {
|
||||
trace: (report: TraceReport) => void;
|
||||
}
|
||||
|
||||
export declare interface Query {
|
||||
on<U extends keyof QueryEvents>(event: U, listener: QueryEvents[U]): this;
|
||||
once<U extends keyof QueryEvents>(event: U, listener: QueryEvents[U]): this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Active or queued query on the system
|
||||
*/
|
||||
export class Query extends EventEmitter implements QueryBase {
|
||||
export class Query extends EventEmitter<QueryEvents> implements QueryBase {
|
||||
/**
|
||||
* Uniquie ID of this query
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user