fix: events

This commit is contained in:
Kieran 2023-11-08 15:17:37 +00:00
parent 0e202b12d9
commit 2d4d9117bd
Signed by: Kieran
GPG Key ID: DE71CEB3925BE941
3 changed files with 9 additions and 29 deletions

View File

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

View File

@ -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");
/**

View File

@ -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
*/