feat: worker-relay: add logging to interface

This commit is contained in:
kieran 2024-12-21 13:41:55 +00:00
parent 201f194f02
commit 609361d40c
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941

View File

@ -1,4 +1,5 @@
import { EventMetadata, NostrEvent, OkResponse, ReqCommand, WorkerMessage, WorkerMessageCommand } from "./types";
import { debugLog, setLogging } from "./debug";
import { EventMetadata, NostrEvent, OkResponse, ReqCommand, WorkerMessage, WorkerMessageCommand, unixNowMs } from "./types";
import { v4 as uuid } from "uuid";
export interface InitAargs {
@ -92,6 +93,7 @@ export class WorkerRelayInterface {
}
async debug(v: string) {
setLogging(true);
return await this.#workerRpc<string, boolean>("debug", v);
}
@ -102,6 +104,7 @@ export class WorkerRelayInterface {
cmd,
args,
} as WorkerMessage<T>;
const start = unixNowMs();
return await new Promise<R>((resolve, reject) => {
this.#worker.postMessage(msg);
const t = setTimeout(() => {
@ -115,6 +118,7 @@ export class WorkerRelayInterface {
reject(cmdReply.args.error);
return;
}
debugLog("interface", `${cmd} took ${(unixNowMs() - start).toFixed(1)}ms`, args);
resolve(cmdReply.args);
});
});